Go Down

Topic: Is a DC-DC boost IC worthwhile for a very low power board? (Read 2065 times) previous topic - next topic

smee204

I have created a prototype of a temperature and humidity sensor board. The aim is to make it low cost (<£10) and low power (last at least 1 year on batteries).

The components I am using are:
atmega328 (using internal 8MHz clk)
dht-22
nrf24l01p+ (powered down most of the time)

The biggest difficulty I am having is deciding how to power the device. The dht-22 requires at least 3v. The two options are 3xAA batteries or a DC-DC boost IC and a single AA battery or even two CR2032 batteries.

Has anyone had any luck using a DC-DC boost IC for very low power devices. I imagine they are not very efficient at low currents. Most of the time the atmega will be asleep drawing only 20uA.
Does anyone know of an efficient yet cheap DC-DC boost IC at very low currents. I have found a cheap one but it doesn't look good performance. http://uk.farnell.com/on-semiconductor/ncp1450asn33t1g/boost-ctrlr-pwm-3-3v-sot23-5/dp/1924870

Any advice would be great.

Robin2

All boost devices introduce extra inefficiency so I think they are only justified where it is essential to boost voltage and the wasted energy is less important. Your project seems to put the highest priority on efficiency and AA batteries seem a cheap solution.

...R

CrossRoads

Why not use a 3.7 min voltage LiPo or LiIon battery? And skip the boosting & extra components.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Nick Gammon


Has anyone had any luck using a DC-DC boost IC for very low power devices. I imagine they are not very efficient at low currents. Most of the time the atmega will be asleep drawing only 20uA.


You should be able to get lower than that. On my temperature sensor described here I got it down to 4.2 µA.

Also read the rest of that page: http://www.gammon.com.au/power
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

jerseyguy1996

+1 for Nick Gammon's link.  I am using a single liPo cell on a breadboarded atmega328 and when I put it to sleep using Nick's fantastic instructions, I can go days without the battery voltage dropping by even a tenth of a volt.
Arduino Uno;
Mega328

smee204

Thanks for the advice. Is there a cheap supply of liPo batteries, all the ones I have seen seem quite expensive?

I have found why I am not getting 4.2uA. I have a DHT-22 connected as follows:
DHT22_GND -> GND
DHT22_PWR -> arduino pin 9
DHT22_DATA -> arduino pin 12

I am only powering the DHT22 when it is required using the following code.
Code: [Select]

pinMode(DHT_PWR_PIN,INPUT);
digitalWrite(DHT_PWR_PIN, LOW);
// dht22 powered down
pinMode(DHT_PWR_PIN,OUTPUT);
digitalWrite(DHT_PWR_PIN, HIGH);

I find if I remove the wire DHT_DATA -> arduino pin 12 the current drops to 4.2uA.
If I remove the wire DHT_PWR -> arduino pin 9 there is no change in current.

Am I missing a trick here?

Nick Gammon

Do you have the DHT-22 pull-up resistor installed (10K)? That probably draws a bit.

Oddly enough I am making something similar. I was planning to use 3 x AA batteries. I was also planning to use a transistor (MOSFET) to turn on and off devices between readings, to save power. Your code which turns the power pin on and off should achieve the same result. I was thinking though of turning on and off a SD card.


Just out of curiosity, did you find the DHT-22 read high with its temperature? I found it reading 25 C when other measurements gave 22 C in exactly the same spot.

Quote
I find if I remove the wire DHT_DATA -> arduino pin 12 the current drops to 4.2uA.


Try setting that to input as well when you power the device down.
Please post technical questions on the forum, not by personal message. Thanks!

More info:
http://www.gammon.com.au/electronics

RamJam

I've no idea why you'd want to use this NCP1450 ic to boost a single AA cell to 5v. This appears to require an input of 6v and offers 3.3v out.

The ic I'm considering is LTC3539. This takes in 1.2v min and outs up to 5.25v.  Read the data sheet. It has a high efficiency and a low quiescent drainage.


Try visiting this.

http://uk.farnell.com/jsp/search/browse.jsp?N=203947+110164971&No=0&getResults=true&appliedparametrics=true&locale=en_UK&divisionLocale=en_UK&catalogId=&skipManufacturer=false&skipParametricAttributeId=&prevNValues=203947&mm=1002691||,&filtersHidden=false&appliedHidden=false&autoApply=false&originalQueryURL=%2Fjsp%2Fsearch%2Fbrowse.jsp%3FN%3D203947%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Den_UK%26divisionLocale%3Den_UK%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D203947

Robin2

But it's not 100% efficient like AA or LiPo batteries.

...R


Read the data sheet. It has a high efficiency and a low quiescent drainage.

smee204


I've no idea why you'd want to use this NCP1450 ic to boost a single AA cell to 5v. This appears to require an input of 6v and offers 3.3v out.


It requires an input of 0.9-6v.

The one you linked is efficient but only at high currents. At low currents it looks like it is <70% efficient. The main problem with that one is the cost. It would add a considerable amount of cost as I will be making at least 10 of these sensors.

smee204


Do you have the DHT-22 pull-up resistor installed (10K)? That probably draws a bit.

Oddly enough I am making something similar. I was planning to use 3 x AA batteries. I was also planning to use a transistor (MOSFET) to turn on and off devices between readings, to save power. Your code which turns the power pin on and off should achieve the same result. I was thinking though of turning on and off a SD card.


Just out of curiosity, did you find the DHT-22 read high with its temperature? I found it reading 25 C when other measurements gave 22 C in exactly the same spot.

Quote
I find if I remove the wire DHT_DATA -> arduino pin 12 the current drops to 4.2uA.


Try setting that to input as well when you power the device down.


I am not using a pull up resistor and I have tired setting it to input but no success. I will have to investigate more.

I have not found that the DHT-22 reads high. I have compared it to several other thermometers and some of them are 2 degrees high or lower but I think the DHT-22 is the most accurate. Maybe your other measurements were off?

Jack Christensen

A boost regulator can be very worthwhile for a low power board. I use an MCP1640 for a low-power data logger that I designed. The logger runs on two AA cells, yet when actively logging, the regulator provides 3.3V or 5V. The regulator can actually increase usable battery life because it can still produce the regulated voltage even when the batteries have run down. The MCP1640 has a control pin that allows the MCU to enable it, or just to pass the battery voltage straight through. The MCU can control not only the regulator, but also power to the sensors, EEPROM logging memory, and real-time clock. After logging, the MCU powers off the EEPROM, RTC, and sensors, lowers its clock frequency to 1MHz so that it can operate down to 1.8V, disables the regulator and goes to sleep. The RTC provides an interrupt to start the next logging cycle, when the reverse happens: enable the regulator, increase system clock to 8MHz, power up the sensors, memory, RTC. The board consumes less than 5µA while sleeping. For low-rate logging (e.g. once per minute) I think the battery could easily last a year or more. With a few simple sensors, the logging cycle only takes about 10ms, so the duty cycle works out to zero, to three or four decimal places.
MCP79411/12 RTC ... "One Million Ohms" ATtiny kit ... available at http://www.tindie.com/stores/JChristensen/

smee204


A boost regulator can be very worthwhile for a low power board. I use an MCP1640 for a low-power data logger that I designed. The logger runs on two AA cells, yet when actively logging, the regulator provides 3.3V or 5V. The regulator can actually increase usable battery life because it can still produce the regulated voltage even when the batteries have run down. The MCP1640 has a control pin that allows the MCU to enable it, or just to pass the battery voltage straight through. The MCU can control not only the regulator, but also power to the sensors, EEPROM logging memory, and real-time clock. After logging, the MCU powers off the EEPROM, RTC, and sensors, lowers its clock frequency to 1MHz so that it can operate down to 1.8V, disables the regulator and goes to sleep. The RTC provides an interrupt to start the next logging cycle, when the reverse happens: enable the regulator, increase system clock to 8MHz, power up the sensors, memory, RTC. The board consumes less than 5µA while sleeping. For low-rate logging (e.g. once per minute) I think the battery could easily last a year or more. With a few simple sensors, the logging cycle only takes about 10ms, so the duty cycle works out to zero, to three or four decimal places.


That is very interesting! This got me thinking further. Can you get ultra low power external 555 timers that could be used to wake the MCU from deep sleep so we can get even lower than 4uA?

CrossRoads

How often do you want to wake up & sample? There are likely better options than a 555 timer.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


Go Up