Loading

Auger-based Cat Feeder

by kitlaan, published

Auger-based Cat Feeder by kitlaan Aug 10, 2012

Featured Thing!

Description

Automated cat feeder.

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 Comments

view all
I printed using ABS plastic, and as such acetone is sufficient to glue the two halves together. If you're using PLA, I believe acrylic cement works pretty well.
Hi,

I'm looking to make this design for my own pet feeder. Could you tell me what material you printed on and how did you glue the two halves of the auger?

Thank you!
I believe I got mine at Lowes; however, I think it does have the ridge too. I believe I sanded the auger very slightly to make it a tight fit... though it sounds like yours is much oversized.

More from Pets

view more

Makes

Liked By

view all

License

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag. Print Thing Tag

Instructions

See the prototype in action (http://www.youtube.com/watch?v=V7uvNemqq40)! 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).

Acquire:

  • 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.
  • Screws/etc.
  • 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 :)

Construction:

  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.

Notes:

  • 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)

To Modify:

  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".
Hi,

I'm looking to make this design for my own pet feeder. Could you tell me what material you printed on and how did you glue the two halves of the auger?

Thank you!
I printed using ABS plastic, and as such acetone is sufficient to glue the two halves together. If you're using PLA, I believe acrylic cement works pretty well.
Hey kitlaan -- I have a question about the pipe used. In one picture, it looks like a regular straight pipe section. In another it's a T connector. I've found T connectors at Home Depot, but they all have a little ridge inside that prevents the screw from fitting in. So, where did you get yours that didn't have the ridge?
I believe I got mine at Lowes; however, I think it does have the ridge too. I believe I sanded the auger very slightly to make it a tight fit... though it sounds like yours is much oversized.
I'd like to build the cat feeder but do you have the parts list and wiring diagram for the Arduino, and what board do you have on top of the setup as seen on the photo.
The board as pictured is a Arduino UNO w/ a protoshield (for testing). The final product ended up with a digispark (as I had one lying around), but I've also gotten it working on an adafruit trinket too. Basically, the code doesn't take up much space, or need many pins...

You'll need:
* servo (sparkfun ROB-09347)
* 12V 5A power supply
* button + resistor
* LED + resistor

wiring:
* servo signal line went to pin-9.
* button (active low) to pin-2.
* led (active high) to pin-13.

Or at least, that's what it looks like (and the code implies). Can't seem to find my notes anymore...
Do you have some close up pictures of the current setup? and what kind of resistors are you using?
I changed to a 12v 5A supply and all seems fine.
finished my build went with an Uno since I had one. everything tested just fine. but then twice after 12 hours or so, (not around when it's happened it just stays running) am just starting to look at the sketch but any thought as to what i am doing wrong? thanks
Are you supplying enough power? On mine, sometimes the servo drew enough power (especially when trying to crank past a jammed piece of kibble) to cause it to self-reset.What symptoms are you seeing?
Power is 12v 7000mA. As far as i can tell it just keeps running. Servo continues to cycle forward the reverse but no end to feed step.
if you're using the original code, delete the RFID handler (given that it's dead code). So that leaves just the timer or button trigger. If your button is acting weird (plus it looks like I never coded proper debounce logic), then it could trigger.I'd suggest taking a look at the digi version of the code, and porting it back to the UNO version. Or writing your own based on the same concept -- the only thing really important is the servo control; everything else is just handling time...
hi, if you don't mind which Arduino board did you use and or shield etc. thanks
It went through iterations, which are all mostly similar. Basic prototyping was on an Uno and Pro Mini 328. The actual board that's been running is a digispark -- small, cheap, and power efficient.If I had to do it again now, probably would have stuck with the Pro Mini, or a trinket.
very useful, thanks! Would you mind posting the trapezoidThread() values of the auger_import();? The default values written in the auger() module in the auger.scad file don't match with the auger_import(). I only want to slightly modify the auger_import();. Thanks in advance.
Hmm... all the copies of the scad file have the same trapezoidThread() values. So if I tweaked them for the publish (which could have happened), I can't find any record of them.

Wonder if the thread library was tweaked at some point? I'll upload the copy I have.
Note you need the screw library by syvwlch found here: thingiverse.com/thing:8793 if you want to recompile
Screw Library
by syvwlch
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!
Great practical use of the auger screw I must say. I do wonder however if it would be possible to make the reservoir of catfood air tight to keep it fresh for a longer amount of time. I know its probably not critical for this application but could you think of an easy placement of some extra plastic that would keep the container airtight when not dispensing? This is yet another reason I need to get myself a 3D printer.
I like this design. I have one comment on how the printer reacts to this particular auger file. The stepsPerTurn is set to 48 in the scad file resulting in a stepping pattern along the face of the auger. This causes the printer to not operate smoothly during the print. I have rendered the print with a stepsPerTurn value of 360 and it came out nice and smooth.
kitlaan - in reply to luwe
I figured smoothness didn't matter in the long-run (over print time).  It's been running for 3+ months now with no issues, but it's still not enough time to say for sure :)
Is auger_screw.stl just a combination of all the screw parts and if so (and we have a good enough printer) can we just print that?
Yup, if you have a good enough printer, then printing auger_screw is the same as gluing together the two pieces in auger_screwplate.
Great idea! My cats would have that food bin lid off it 10 seconds!
Thanks for the original idea!
In a house with 4 cats that like waking us up for food in the early morning, this is definitely something we could use. Thanks for the writeup and posting.
Top