Automatic breakfast and dinner for outdoor animals

I originally started this project upon request of a friend, who is managing hunting grounds.
He was looking for a system which would automatically, and within a certain period of time, trigger a food dispenser on a device he had created, just before sunrise and sunset.
When it comes to food, animals in natural environment are indeed dependent on biological cycles and day/night alternation.
The initial device was based on a daily rotating electro mechanical programmer (triggering a monostable relay) which had to be regularly re-programmed so as to take into account the seasonal variations under our latitudes.
The several versions I have created were inspired by different ideas, as well as feedback I could get from the field. I have come up with a finalized version which gives full satisfaction to its users (for now approximately 20 devices, allocated to different sectors in the Alsatian countryside).
I think this device could be used in other situations as well : zoo, barnyard, fish farming… 
The circuit operates with a 12V 20Ah lead battery fueling a electronic card and the distribution engine with a power relay. The motor rotates a plate with blades directly on the axis, and the whole device is installed under a large perforated plastic container which ensures the storage of food (corn kernels).
The card works with a PIC16F microcontroller, a DS1307 RTC for time management and a DS1621 temperature sensor for the heating regulation of the card in case of cold weather.
I had initially found the sunrise and sunset ephemeris of our region on a website, but for the latest version I have written a console program (with Visual C ++) which calculates and directly generates the hours depending on the latitude, longitude and time zone with a sufficient precision.
This program generates tables with sunrise and sunset values, and also creates a .hex file that can be written or rewritten in the microcontroller EEPROM, with a programmer like Pickit2-3, only by selecting the reprogramming of the EEPROM section. A checksum is also stored in EEPROM to enable the verification of the EPROM’s data sustainability each time the card starts.
The configuration and control of the card are done using a computer (laptop) and a terminal software like TeraTerm, thanks to a XBEE-USB module for the computer and a USB-XBEE module plug on the card.
The microcontroller program is written in C language with the CCS compiler.
The modifiable parameters on the card are:
-The time and current date
-The shift in trigger based on sunrise-sunset times
-The minimum and maximum time to trigger the relay
The trigger duration is adjustable between the minimum and maximum with an trimmer on the card, and a test time can be done thanks to a pushbutton.
Using 2 jumpers on the card, it is possible to inhibit the trigger activation at sunrise or sunset (in case a supply problem occurs for example).