dc42:
You need to design the circuit for lower power consumption. Here are some suggestions, based on what I do in my own battery operated designs:
- Run the atmega328p chip at a lower clock frequency, e.g. 8MHz or 1MHz
- Put the atmega328p chip in sleep mode for most of the time
- Turn off the lcd backlight when it is not in use (it sounds like you are already doing this)
- Power the LCD from an Arduino pin through a 100 ohm resistor, so that you can turn it off completely when it is not required (this saves about 4mA)
- Use a micropower voltage regulator e.g. MCP1702
- Look for anything else that is taking current (the vibration sensor?) and find ways to reduce its power consumption
Using these techniques, I can get the power consumption sufficiently low that I can run an atmega328p-based design from a 9V battery (of course, I don't have a motor in my design) and it doesn't need an on/off switch.
Yes it's possible to generate 9V from 6V, but you need more than just a capacitor. Google for "boost converter".
Thanks for the answer, but I did all that except for the lower clock frequency.
- By watchdog, I meant putting it on sleep mode (noob confusion... =()
- Already powering the LCD from the 328p
- Already changed the LM7805 for a 78L05, but I’m considering changing to LP2950 which is even better
The motor only runs 5 or 6 seconds each day, so it shouldn’t run the batteries dry in 3 days. I think I need to check if there is anything else that’s draining the batteries...
I've been checking the net for boost converter designs. I think I'm going to consider adding this to my design. A 6 volt battery is way better that the 6 AA batteries I'm using right now.