cat feeder hack, suggest a power conserving approach

Go To Last Post
6 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

My cat is basically a gorge and puke kind of cat. We need to smooth his feeding out... to prevent gorging, and it's wearing on us to feed little amounts every 2 hours. But robots are good at this!

So we bought a feeder. It doesn't feed often enough, but with a little "help" I'm sure I could change that.

The problem: cat feeder has modes to advance every 6,12,or24 hours and has 6 feeding compartments (rotates an opening in a lid around a clock of food compartments). What I'd like to do is have finer resolution and more frequent advancements of food. For example, when set to 6 I'd actually like to advance every 2 hours, so the whole tray would be dispensed in 12 hours... (My controller would have the logic to not double dip near the 6 hour mark and just let the base cat feeder do that advancement).

The feeder runs on 9v battery. Its MCU has crystal that looks to be 32K so it's keeping time. It draws 0.1mA on average. There's lots of logic and motor control I want to keep with its native controller. It has a push button for manual advancement, which is going to be the output of my design, I'll push that button. It also has an LED that blips every 4 seconds to say it's alive and battery is fine. It looks stable enough to provide a clocked reference input to my design.

There's enough room inside for me to pack a 1 x 2 inch board... plenty of space. I got a variety of tiny's kicking around and a million tiny12... so that could be the heart. I'm basically going to make a supervisor MCU that counts LED blips to determine when an amount of time has passed, and when a couple hours have gone by, hit the output for a moment to advance the tray, and repeat forever (when switched on). I want LOW POWER consumption. It will share the same 9v battery, I have some great 3v low quiesce current low dropout regulators that can take 9v input, so my design will be 3v.

Here's where I can use your input... I'm thinking I base the design on using the power down sleep mode, MCU configured for internal OSC (1 MHz), hook the LED blip input up to external INT0, wake up on level change for INT, advance a counter & do the math to see if enough time has passed trigger output accordingly, and then re-sleep. Keeping values in registers, not going to EEPROM for anything. I'd like the lowest possible power consumption during the 4 second lull periods, then wake up and do a burst of work at 1MHz that will take a very short time, then... cycle. By the way, the LED looks to have about 100ms "on" time for it's blink, going by eyeball alone, scoping it out will tell me for sure. But that looks to be about what I'd catch on INT pin.

If there are other approaches I'd like to hear.

I considered maybe "sharing" the cat feeder MCU clock osc.. Or having that MCU hold mine in reset... or ... other sleep modes or interfacing ideas to this feeder ??

Other approaches welcome.

Regards,
Scott

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

You can use theLED to interrupt the processor to wake up it up so you don't have to poll the LED. You should easily be able to get the current down to a couple of tens of microamps depending upon whether you have BOD and watchdog timer enabled.

kevin

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Surely a cat is designed to eat infrequently. It may be convenient for you to feed him every 12 hours, 24 hours, 48 hours.

If he is hungry, he can always go and eat a few rabbits.

The feeder robots are handy for feeding a cat over the weekend or some short period when you are away.

A cat will adapt to whatever environment it is in. I definitely would not encourage a complex regime. It will be difficult for both you and your cat.

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

scottm wrote:
It will share the same 9v battery, I have some great 3v low quiesce current low dropout regulators that can take 9v input, so my design will be 3v.
How low is low for quiescent current?
9V batteries don't pack a lot of capacity so make every microA count.
Some buck regulators are miserly.
Though the following is for 3V CR2032 cells the idea is there:
Extending Battery Life by Jack Ganssle (embedded.com; March 17, 2014)

9V battery -
Some are better, or a lot better, than others.
9 Volt transistor radio "snap style" batteries in lithium thionyl chloride chemistry (PowerStream)

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Scott,

Call me "old school" if you wish.

I would use your once per 4 seconds led blip as the clock source into a 12 stage binary counter chip (4040) and send the Q10, Q9, Q8 and Q3 outputs into a 4 input AND gate (4082). These CMOS devices run off your 9 volts down to 3 volts so no need for a regulator. Take the output of the AND gate to drive your manual switch interface and to reset the counter.

Being static counters they draw next to nothing power wise.

Cheers,

Ross

Ross McKenzie ValuSoft Melbourne Australia

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

scottm wrote:
I considered maybe "sharing" the cat feeder MCU clock osc..
You'll want to be careful with this. So long as the feeder's clock is stable, and never stops or changes speed, you'll be fine. An external clock to the AVR must not vary more than 2% from cycle to cycle.
Quote:
Or having that MCU hold mine in reset...
That will greatly increase power consumption. An AVR at 3V held in reset draws at least 50 uA due to the internal pull-up resistor, potentially much more if you use an external clock.

"Experience is what enables you to recognise a mistake the second time you make it."

"Good judgement comes from experience.  Experience comes from bad judgement."

"Wisdom is always wont to arrive late, and to be a little approximate on first possession."

"When you hear hoofbeats, think horses, not unicorns."

"Fast.  Cheap.  Good.  Pick two."

"We see a lot of arses on handlebars around here." - [J Ekdahl]