I have set this site up to document the modifications that I made to our Eglu Chicken Coop to add an automatic door open/closer.
Project Goal: The goal of this project was to automate the chicken coop door so that it would automatically open at a set time in the morning and close at a set time at night. In addition, I wanted an email and/or text message sent to my phone to indicate that the door successfully closed or opened. These messages would allow us to know if we needed to call a neighbor to come to the house and manually open/close the coop door if we were out of town and there was some type of failure in the system.
Design Decisions: The first design decision was to determine how to move the door. The Eglu door slides horizontally on a track. The door has a handle that is used to pull/push the door into position. A quick search of the web revealed that most of the automatic door openers, both DIY and commercially produced, were designed for doors that traveled vertically. I decided that I wanted to push the door open/close. I looked online for a linear actuator. I needed about 12" of travel to move the door into position. However, there wasn't enough room in the coop for a commercially available actuator that provided 12" of travel. I decided to use a 6 volt cordless screwdriver to drive a 3/8" threaded rod. A coupling nut, attached to the door, travels on the threaded rod as it is turned moving the door.
Installing some type of clutch mechanism to shut down or disengage the motor in case something (such as a hen) gets in the path of the door as it closes is critical. The motor controller I used had an analog output that I could monitor for the motor current draw. The arduino software monitors the current draw while moving the door. If the current exceeds a preset value, then the motor is stopped and an alarm message is sent via radio back to the home computer. Because the motor will draw more current on startup, the software is written to ignore the current draw for the first few seconds after the motor starts. Even though the door closes pretty slowly, we have had one occasion where a hen decided to roost part way inside the coop. The current monitor software kept the door from closing on this hen. Also, grime builds up on the threaded rod over time and needs to be cleaned off using rubbing alcohol. The current monitor also stopped the door closing when it was starting to bind/drag due to this grime buildup.
I chose magnetic switches to indicate that the door has traveled to the closed or opened position. I had some in my parts bin that I purchased from a surplus electronics company.
The coop is located in the middle of the yard and is wheeled around to different locations. Therefore, all the controls, actuators and power supply need to be standalone and attached to the coop. So, battery power was required. I looked into inexpensive battery powered alarm clocks that could be used for open/close time and the alarm output modified to run the motor. I finally decided that I wanted to use a microcontroller. I have experience using both PICs and the Arduino. The Arduino with a terminal board shield simplifies development time. The only issue with the Arduino is that it is a current hog. For most of the day, the controller can be in a low current sleep mode. The arduino board with its LED's and USB interface draws about 40mA. I could have developed a PIC system that would draw in the microamp range while in low current mode extending battery life drastically. However, I would have had to spend more time putting together the hardware. In addition, I would have had to spend more time writing and debugging the software with the PIC. I needed to get something going pretty quickly, so I decided to use the Arduino. I could always go back and build a stripped down version of an arduino board with just the Atmel Chip and reduce the current draw.
The Arduino board has a power regulator that needs 7-12Volts. My battery is nominally 6 Volts and probably ranges from about 6.5V fully charged to around 5V as it discharges. So, I built a separate power supply for the Arduino based around the Maxim 667 power regulator. This chip can provide 5V regulated output down to 6V input and works in the 5V range. I am feeding the Arduino Board 5V pin directly from this power supply. The older Arduino Boards had a jumper to select External Power or USB power. I have jumped External Power. You may want to be careful on the newer boards not to have the USB and external power connected at the same time. In hind sight, I think I would have gone with a step down voltage regulator that Pololu sells for $15 that will handle input range of 4.5V to 24V with a 5V output. Another alternative would have been to use a boost power supply that will take an input in the 4.5-6.5V range and output in the 7V-12V range and use the power regulator that is on the Arduino board.
Since I would be opening/closing the door at specified times of the day, I would need a real time clock module to keep track of the actual time.
I chose to power the project using a 12aH 6Volt sealed lead acid battery. I decided to used two small solar cells to help offset the current drain from the microcontroller. These solar cells are designed for hunting cameras and readily available.
My wife put together the video below showing the door operation.
Here is another video that is not as fun to watch, but shows the doors operations after installing the mechanics. This video was shot before installing the controller panel with the Arduino microcontroller.