Automated 5 Gallon Bucket Feeder

by JohnO3 in Circuits > Microcontrollers

5789 Views, 40 Favorites, 0 Comments

Automated 5 Gallon Bucket Feeder

bucket_feeder.jpg
bucket_feeder_3d_model.PNG

This bucket feeder design was motivated by the fact that my wife and I live in different cities and have a cat that hates to ride in the car. The automated feeder makes it possible to be able to leave our cat at one apartment for a weekend without worrying about if she is getting fed or we are leaving too much food out.

This bucket feeder is also good for everyday feeding. Especially, if your cat annoys you early in the morning until you wake up to feed her like ours does. Just set the programmable timer to energize the feeder at whatever time before you wake up and your cat will at least have less of a reason to come annoy you.

This is generally not cheaper than buying an automated feeder, but it has a larger feed capacity than most that are commercially available. The feed capacity is approximately 2.5 gal (9.5 liter).

The feeder with dispense approximately 1/4 to 1/3 cup of feed for every minute that it is energized. For example, if you want to dispense 3/4 to 1 cup of feed, the timer should be set to energize the feeder for three minutes. The amount dispensed may vary depending on the shape and size of feed used.

This feeder has only been tested with cat food but it probably would work for other types of feed like peanut m&m's or chicken feed.

It hasn't been tested outdoors either but if you sealed it up enough I imagine it would work.

Tools required:

  • Wire cutter
  • Wire stripper
  • Small phillups screw driver
  • Chordless drill
  • 1/8 in drill bit
  • 3/4 in hole cutter
  • 2 in hole cutter
  • Wrasp file
  • Utility knife
  • 3D printer (60x60x120 mm minimum print volume)
  • Laser cutter (24x12 in minimun bed size)

Electronic parts (can be bought on Amazon):

Hardware store parts:

  • Qty 1 - 5 gal bucket with lid
  • Qty 1 - 1 1/2 in Sch 40 PVC tee
  • Qty 1 - 3/4 in cable grommet
  • Qty 2 - M3 8 mm long screw
  • Qty 3 - M3 12 mm long screw
  • Qty 4 - M3 lock washer
  • Qty 3 - M3 nut
  • Qty 30 - 4 in cable ties
  • Qty 1 - 75 ml tube of silicone sealant
  • Qty 1 - 100 grit sand paper sheet
  • Qty 1 - thread lock fluid

3D Print the Auger and Motor Mount

auger_3d_print_final.jpg
auger_3d_print.png
auger_3d_model.PNG
motor_mount_3d_model.PNG

The .STL files to 3D print are included below.

Below are the 3D print settings that I used on my HICTOP prusa i3 to print the auger and motor mount. You may need to tweak the settings to get a good print depending on which 3D printer you are using. The print volume of the 3D printer must be at least 60x60x120 mm.

Auger 3D print settings:

  • Material: PLC
  • Wall thickness: 1.5 mm
  • Infill density: 30%
  • No supports
  • Must use a brim to ensure that the part is secured to the bed during printing

Motor mount 3D print settings:

  • Material: PLC
  • Wall thickness: 1.5 mm
  • Infill density: 30%
  • No supports

Use a utility knife to trim off the brim and clean up the parts.

Don't have access to a 3D printer? I have had good luck with getting 3D printed parts through 3dhubs.com. Select a local manufacturer, upload the 3D part files, select the material, and you can pick up the parts or have them mailed to you.

Laser Cut the Feeder Frame and Base

feeder_frame_laser_cut.jpg
base_laser_cut.jpg

The vector graphics .svg files to laser cut are attached. You will need to laser cut one of each file.

Use two 24 in x 12 in pieces of 1/8" birch plywood to laser cut the parts.

Don't have access to a laser cutter? I have had good luck with getting parts laser cut through ponoko.com. Upload the vector files to their site, pick the material, and they will mail the completed parts to you.

Assemble the Base

feeder_base_step_1.jpg
feeder_base_step_2.jpg

All feeder base parts are held together by 4 in cable ties.

When installing the cable ties, ensure that the cable tie heads are on the inside of the base frame.

Use wire cutters to trim off the extra length of each cable tie.

Assemble the Feeder Frame

feeder_frame_3d_model.PNG
feeder_frame_step_1.jpg
feeder_frame_step_2.jpg
feeder_frame_step_3.jpg
feeder_frame_step_4.jpg
feeder_frame_step_5.jpg
feeder_frame_step_6.jpg
feeder_frame_step_7.jpg

Assemble the feeder frame as shown.

All feeder frame parts are held together by 4 in cable ties.

When installing the cable ties, ensure that the cable tie heads are on the bottom side of the frame.

Use wire cutters to trim off the extra length of each cable tie.

Assemble the Auger and Motor Mount

auger_motor_3d_model.PNG
motor_auger_step_1.jpg
motor_auger_step_2.jpg
motor_auger_step_3.jpg
motor_auger_step_4.jpg
motor_auger_step_5.jpg
motor_auger_step_6.jpg
motor_auger_step_7.jpg
motor_auger_step_8.jpg

Assemble the motor and auger assembly as shown.

Secure the 3d printed motor mount part to the stepper motor using two M3 8mm screws and two M3 lock washers.

Place the M3 nut into the slot of the auger base. Apply a liberal amount of thread lock fluid to the M3 12mm screw. Use the M3 12 mm screw to secure the auger to the stepper motor shaft.

Use sandpaper to either sand down the auger or PVC tee in order for the auger to turn freely when installed in the tee.

Drill Holes in the Bucket

bucket_holes.PNG
cut_hole_for_feeder.jpg
feeder_hole.jpg
power_chord_hole.jpg

Use the 2 in hole saw to drill the feeder hole in the side of the bucket right at the top surface of the bottom of the inside of the bucket. Use the rasp file to widen the hole so the 1 1/2" PVC tee will fit when pushed through the hole from the inside of the bucket. Ensure that the PVC tee sits flush with the top of the bottom of the inside of the bucket.

Use the 3/4 in hole saw to drill power chord hole in the side of the bucket directly opposite the 2" feeder hole. Drill this hole about an inch above the top surface of the bottom of the inside of the bucket.

Wire the Electronics

electronics_assembly.jpg
controller_and_driver.jpg
bucket_feeder_bb.jpg

Use wire cutters to cut off the power supply connector. Use wire strippers to strip the power supply wires.

Use the female to female jumpers to connect channels 1, 2, 3, and 4 of the stepper motor driver to 9, 10, 11, and 12 of the Arduino Nano respectively.

Connect the power supply leads to the +12V and GND terminals of the stepper motor driver.

Using the male to male jumpers connect channels A-, A+, B-, and B+ of the stepper driver and to the stepper motor channels per the stepper motor data sheet.

Using the male to female jumpers, connect channels +5V and GND of the stepper motor driver to channels Vin and GND of the Ardunio.

Program the Controller

program_the_controller.jpg

Upload the attached "auto_bucket_feeder" sketch to the Arduino Nano via the Arduino IDE.

Once the sketch has been uploaded, plug in the 12 V power supply into a wall outlet and ensure that the stepper motor is working properly. It should be turning a quarter turn counterclockwise and then an eighth of turn clockwise until it has turned a total of three turns counterclockwise as viewed from the back of the motor. If it is going the opposite direction, just flip the connections between the stepper motor and stepper motor driver.

One of the most important components of this code is that it turns off power to the stepper motor between dispensing intervals. This helps prevent the stepper motor and stepper motor driver from overheating.

/*
Automated Bucket Feeder

This program drives a bipolar stepper motor.

The motor is attached to digital pins 9 - 12 of the Arduino.

The motor will rotate a quarter turn counterclockwise then an eighth turn clockwise until the motor has rotated counterclockwise a total of three turns. This back and forth rotation rattles the feed and ensures that the feed does not clog the auger.

Created 09 Sept. 2017

by John Opsahl

*/

#include

const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution

// for your motor

// initialize the stepper library on pins 9 through 11:

Stepper myStepper(stepsPerRevolution, 9, 10, 11, 12);

void setup() {

// set the speed at 60 rpm:

myStepper.setSpeed(60);

// initialize the serial port:

Serial.begin(9600);

}

void loop(){

for (int i = 0; i < 24; i ++){

//counterclockwise rotation

myStepper.step(-stepsPerRevolution*.25);

//clockwise rotation

myStepper.step(stepsPerRevolution*.125);

}

//turn off power to the stepper motor, to save power and help prevent the stepper motor

//and stepper motor driver from overheating

digitalWrite(8, LOW);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

digitalWrite(11, LOW);

//wait 60 seconds

delay(60000);

}

Put It All Together

mount_electronics_step_1.jpg
mount_electronics_step_2.jpg
mount_electronics_step_3.jpg
final_assembly_step_1.jpg
final_assembly_step_2.jpg
final_assembly_step_3.jpg
final_assembly_step_4.jpg
cut_feeder_frame_hole.jpg
final_assembly_step_5.jpg
inside_feeder_seal.jpg
outside_feeder_seal.jpg

Mount the Arduno Nano and stepper motor driver on the feeder frame as shown. The Arduino Nano is mounted with two zip ties. The stepper motor driver is mounted with two M3 12 mm screws, two M3 lock washers, and two M3 nuts.

Install the 3/4 in cable grommet in the power supply hole that was drilled in the bucket. Push the power supply connection through the grommet.

Set PVC tee, motor, and auger assembly into place at the bottom of the bucket. Orient the motor so two of its sides are vertical. Reconnect the power supply, place the main power supply unit at the bottom of the bucket, and ensure that it will not be in the way of the feeder frame. Place the feeder frame into the bucket and over the PVC tee and ensure that the feet of the feeder base are touching the bottom of the bucket.

Press the top of the feeder frame down and use a 1/8 in drill bit to drill a hole through the side of the bucket bucket using the 1/8 in hole at the top of the feeder frame as a guide. Then drill another 1/8 in hole through the side of the bucket at the top of the feeder frame and directly above the first 1/8 in hole. Install the cable tie through the holes in the bucket and hole in the top of the feeder frame as shown.

Seal the feeder frame to the bucket using the silicone sealant.

Set the Timer

programmable_timer.jpg

Set the timer switch to energize the feeder at the desired time and the desired duration. Refer to the manufacturer's instructions on how to program the timer switch.

The feeder with dispense approximately 1/4 to 1/3 cup of food for every minute that it is energized. The amount dispensed may vary depending on the shape and size of feed used.

Setup the Feeder

bucket_feeder.jpg
Panda_at_feeder.jpg

Ensure that the feeder is installed on a level surface to prevent the feed from collecting on one side of the hopper.

Plug it in and remember to check it every couple of days to ensure that it has enough feed in it.