Arduino cat feeder

I'm looking for some advice on starting an arduino project. I have a cat feeder/timer which runs on a very inaccurate analog timer and I want to replace that timer with an arduino. Control will be done using push buttons and a small display.

Pictures:
https://plus.google.com/photos/110595658733318063888/albums/5979954623853399425?authkey=CJPO3auo_fLcCw

I have:
Experience with arduino.
Full-time software engineer (me).
A bit of electronics experience (thought unused in the last few years)
A soldering station
Two hungry cats
Two inaccurate cat feeders (see pictures)

The Arduino
I could fit a normal arduino in here, but a smaller one would be nice. I'm pretty good with a soldering iron, so a micro would be my first choice if it fits all the other criteria.

The action
If you look at the photo's you'll see that the feeder uses a spring-loaded central shaft which rotates to open the next feeding bin. There are 5 feeding bins, and four set times so the opening will move from bin 0 to bin 1 at the first set time. The central shaft is manually wound up and released by moving the red arm. This red arm is pushed by the red movable pins on the timer wheel which is driven by the small and large gear. The gears in turn are driven by an analog clock on the back, running on two AA's. I can see several options for replacing parts of this mechanism:

Replace the central shaft with a motor
Pushing against the arm
Replacing the clock driving the gears with a motor

The first option might not be optimal as this requires the motor exerting some force to move the top cover. Also, the top cover wont be locked into place, which knowing the cats might have disaster written all over it.

The second option might be doable, but I can't think of an easy way to accomplish this.

The third option seems simplest, just use the entire mechanism and instead of gradually turning the timer gears, do a 90 deg rotation at the set times.

Any advice on this as well as the motor and driving electronics I could use would be greatly appreciated.

The power
I want to run this project off some simple low-discharge AA's (eneloops). I envision the arduino being in low power mode most of the time, only waking up on timer/button interrupts. How many AA's would I need to run this project for a month before replacing the battery? If I can easily place a basic 1/2/4 AA caddy into the space freed up by removing one of the cooling elements (rounded rectangle spaces on the inside photo).

Any advice on all of the above would be greatly appreciated :slight_smile:

Option four: buy a better cat feeder.
option five: buy a 50lb. bag of kittles, rip the top open and gently lay it down on the floor. (Disaster is in the eye of the beholder) Best solution for fat, happy kitties!

Sorry I cannot offer any real help, I can't tell a thing from those pictures.

That said, AA's will give pretty good service, but you'll need 4, or more, to get enough voltage to run arduino and peripherals. you may want to rething and go with C or D cells.

I'll add some more photos. But after some careful market research all other models of cat feeders have a bonnet-style bin which gets released and opened upwards, but most cats seem to be quite capable of bypassing the mechanism, unlocking the latch holding the lid down and choosing their own feeding times. This cat feeder is superbly tamper-proof but very inaccurate, meaning that setting a time might mean the cat gets it's food somewhere near the set feeding time with a deviation of 4 hours either way. Not really handy for feeding the cats during lunch and then discovering that they actually got the food 5 minutes before I got home.

What do you have against fat, happy kitties?

Hi, what breed is an Arduino Cat? Shouldn't it have a USB port somewhere?
Cats can be very constructive and destructive if food is concerned.

Tom..... :slight_smile:

A wiser man than I would avoid this thread, since I've never driven a motor with an Arduino, and I've never experimented with power reduction with an AVR. But, this project has two of my favorite things: cats and Eneloops. I'm in.

Nick Gammon has posted some excellent-looking information about power conservation with the Arduino. You can see it here: Gammon Forum : Electronics : Microprocessors : Power saving techniques for microprocessors. To get really low power, you'll need to construct something without the power LED, and some of the other stuff. You might be happiest using a through-hole ATMega328P in a socket, because you can remove it and program it in your Arduino.

I think that 3 or 4 AA's might be the right choice. With 4 in series, the output could be 1.4V per cell, or 5.6V, a bit above the recommended operating voltage for the ATMega's, but below the absolute maximum rating of 6.0V. You won't be able to substitute alkalines at nominal 1.5V, though, since fresh batteries will probably exceed 6.0V. With 3 batteries, there's no danger of overvoltage, and you can use alkalines in a pinch, but a low voltage of 3.0 to 3.3 volts with old NiMH's could limit your motor choices.

Four AA's will give you a nominal voltage of 5V, with an end-of-discharge voltage of about 4.0 to 4.4V, depending on where you call them, "dead." You can operate at 16 MHz over that range, but you might want to select something lower for to keep power usage down.

Eneloops are rated at 2000 mA-hours by their manufacturer, whoever that is just now. I'll guess that a geared motor will draw 500 mA for ten seconds for each feed, and that you'll be able to get the average microcontroller current down to, say, 2 mA. The motor will take about 1.4 mAh per day, and the micro will take 48, for about 50 mAh per day, or a life of maybe twenty days. Call it two weeks, conservatively.

For control, I envision a single button that means, "Feed in X hours." X might 24, so you can feed today and get four more feedings at the same time of day, or it might be 4 or 5, so you can start it before work and feed around noon. I don't see a need to debounce it. What's a few milliseconds to a cat? Alternatively, you can add a two-digit display that shows you how many hours until the next feeding, and set it to something between 1 and 24 with a button.

TomGeorge:
... what breed is an Arduino Cat?

A cat that performs directed tasks? Never seen one.

Isn't this to be in the house?

Plug it in with a Plug Pack.

Battery problem solved in one fell swoop.

I was not aware that it was advisable to feed cats more often than twice a day - at most.

Except perhaps the administrative types.