I have recently built a datalogger using a 328p, RTC, camera, sdcard, capacitive touch sensor and a 1amp Adafruit boost-converter.
Currently the boost converter powers everything. I am concerned because the boost converter is always running even though the arduino is sleeping, and external device power is disabled via one of the arduino's IO pins.
So the only thing pulling any considerable draw on the battery is the boost converter its self.
I was thinking of powering the capacitive touch sensor (in low power mode) straight from the battery and somehow having that "wake" the boost convert when it is touched, followed by holding that signal using a timer after the arduino boots. But that isn't a true sleep mode and the arduino will be fully powered down each time the boost convert turns off. So all volatile memory would be lost.
I am hoping to have the arduino and the boost convert sleep until the cap-touch sensor is pressed. then stay awake for 30 seconds.
Also the arduino takes and saves pictures every time the cap-touch sensor is touched, So it must be wired to one of its IOs (in conjunction with if/how it is wired to the boost converter).
Any suggestions would be awesome!
After looking through datasheets and other’s projects I have decided that using sleep mode with boost convert is difficult, due to minimum load resistance not being met.
So instead of worrying about keeping power applied while sleeping I figured I could just write to the eeprom before powering everything off.
This circuit allows the touch sensor to “wake” the powerBoost which then starts up the arduino who then holds the powerBoost en pin high. also the arduino is able to read the state of the touch sensor.
I’m just not sure what will happen to the touch sensor as the battery voltage drops.
Here’s the sketch to test it all out:
int mainPower = 8;// pin connected to the powerBoost EN pin
int touchPin = 2;// pin connected to the touch sensor
pinMode(touchPin, INPUT); //touch sense in input
pinMode(mainPower, OUTPUT); //output that holds powerBoost's EN pin high
delay(5000); // waits for five seconds
digitalWrite(mainPower,LOW); //remove high signal from powerboost EN pin, remove power.
There are micro-power DC-DC converters. That's probably the sensible route to go, they back off to sporadic
operation at very low current drain, thus scaling their consumption to the load.