This is the project page for my automatic cat feeder.

I've been working on this thing since the middle of my last semester at the University of Minnesota. Here's the motivation: My cat is annoying. He'll wake us up at 5am, 6am, 7am. He either wants food or attention. I'm working under the assumption that it's food. We feed our cats dry food, kept in a tin. I'd had the idea of an automatic cat feeder rolling around in my head for a while, but I finally decided to go for it.

The mechanism is similar to a gumball machine, but there are two holes in the bottom instead of one (one for each cat).

The device needed to be set, and left. I decided to use a PIC microcontroller to achieve this. I started out with a PIC18f44j10, until I realized it was a 3.3v microcontroller. I was having crazy bugs with my I/O, until I figured out I had burned out a few ports using 5v. I switched to my old 18f452 I had sitting around instead.

The microcontroller drives an 8 character x 2 row LCD screen, and a power transistor which in turn drives the motor. To sense a half-rotation (one dispensing), I mounted 2 guitar picks on the rotating disc, which press a microswitch.

The software allows for a 24-hour time set (military time), and 4 dispensing times.

I will be including circuit schematics, and source code soon. Let's start off with a couple videos.





The pictures and stuff:


I started with a plastic bucket from a cheap-stuff store.


The bottom wasn't flat, so I couldn't put in the disc mechanism I had envisioned unless I cut the bottom off.


The bottom set on it.


My mess outside, and my "sawhorse", an old folding chair.


I glued on the new bottom with non-toxic adhesive, and weighted it down while it cured.


Another view. You can see Missy's leg behind. She was working on her own project.


Here she is.


This is the plate that will allow for adjustible amounts of food to be dispensed. This will be mounted at a certain rotation to determine portion size.


Bottom side. There's some rust built up.


So I wire brushed it.


The original drive plan was to use a stepper motor, using a certain number of steps to rotate the plate in the bottom a certain amount, but the motor I chose didn't have enough torque, and was not reliable enough to step on every step input. I changed my plan to a windshield wiper motor.


Here is the adjustible plate with angled metal installed, which will set the portion size.


At first, I was going to mount the disc and rotation system under the bottom plate on the bucket, but I couldn't figure out a reliable way to do that.


I replaced the wimpy stepper motor with an antique 24v German windshield wiper motor. Hello torque!


Here is the rotating plate finally mounted on the stationary plate, but still missing the top plate.


I decided the rotating plate and top plate should be mounted inside the bucket. In this picture, I'm just about to glue the rotating plate onto the shaft of the motor, and I put paper under it to prevent the glue from dripping down the motor shaft and siezing up the bearing.


Rotating plate installed.


Here's a few nearly-complete pictures, with everything mounted on the device.




Thanks for looking.