Auger-based Cat Feeder
by kitlaan, published
Using tunell's idea as a starting point, I documented/experimented with different designs. This is the result of many trials...
This is semi-parametric; mostly hardcoded numbers all over the place as I tweaked and got lazier.
Recent Commentsview all
Note you need the screw library by syvwlch found here: http://www.thingiverse.com/thi... if you want to recompile
I uploaded a new arduino sketch (primarily formatted for a digispark, but should work on any) which is massively cleaned-up... Lots of the "planned" features in my original never got done, so code-bloat has been removed.
Thanks a lot for sharing! I like this and I'm in the process of putting one of these together. When I printed the auger I felt like it was going to be a pain to get the two halves completely lined up and get them pressed/glued together. The solution I came up with was to remove a couple of 3mm holes from the bottoms of the two halves, then I printed a couple of 2.9mm dowels to insert into the holes and keep them lined up while gluing them together. Just a tip in case anybody else is feeling the same woes. Thanks again!
Liked Byview all
Give a Shout Out
See the running machine (http://www.youtube.com/watch?v=D2iBL80wffA)!
A simple/slapdash MDF housing to hold it all. The tube is held in by friction at the moment...
This relies on the Thread_Library (http://www.thingiverse.com/thing:8793).
* Continuous-rotation servo (sparkfun ROB-09347).
* 1.5" PVC T-joint tubing (chop ~1cm from one side).
* PVC solvent or acetone.
* Container to hold kibble (currently an old IKEA container).
* Arduino for control logic.
* 12V 0.5A power supply. (0.3A didn't supply enough power to drive both the servo and arduino, so it kept resetting and constantly feeding the cats :)
1. Print the "tubemount". It should be snug, but if it is too tight, sand until it fits the tube.
2. Print "screwplate". Glue the halves together and sand the seams smooth.
3. Check the fit of the "screw", "tubemount", and tubing. The "screw" should be able to rotate freely without binding against the "tubemount" when it is inserted into the tube.
4. If your mounting screws are too long, print the "servoshim".
5. Screw the servo to the "tubemount" (and "servoshim") with the servo rubber grommets and servo brass fitting in place (wide part of fitting flush against the "tubemount"). Make sure the servo is oriented so the axis is centered.
6. Trim/sand the servo horn so that it is flush with the edges of the "screw" base. Attach the servo horn to the servo.
7. Attach the servo horn (X-shaped) to the "screw". If you can't reach the holes, apply power and rotate the servo; there should be enough of a gap in the "tubemount" to reach. (I used #2 brass wood screws.)
8. Programming (see "feeder.ino"). I have it written to feed ~0.5 cup every 8 hours, with a button press allowing intermediate feeding. (Eventually I'll add RFID sensing capability.)
9. Attach kibble container in some manner (tape, platform, print a mount, etc).
10. Make sure everything works! Then if you're adventurous, permanently affix the various pieces.
11. Construct a housing.
12. Get the cats used to it.
* You might be able to combine the two "screw" halves if you have a large print surface.
* The 1.5" T-junction is recommended. The smaller (1.0" junction) type will cause kibble to jam in the container hole. The larger size seems to allow gravity to do its job.
* When driving the servo, you may want to insert reversals at intervals to prevent stressing the servo if kibble gets jammed between the auger and tube.
* Your servo drive rate(s) may be different; I experimented much.
* KillAWatt says it's using 2W (0.14A at idle, 0.16A wile running).
* You may want a spout on the end (http://www.thingiverse.com/thing:28483)
1. Tweak "auger.scad"; yes, it should have been parametric...
2. Export just auger() to "auger.stl".
3. Export auger_import(), drivemount() as "auger_screw.stl".
4. Export tubemount() as "auger_tubemount.stl".
5. Tweak "augerslice.scad" to generate "auger_screwplate.stl".
You must be logged in to post a comment.