-
Optimize Reading Sensors
01/06/2018 at 14:40 • 0 commentsSince every ADC needs time to sampling analog voltage, most digital sensor need some time after being request for the data somehow, normally a example for Arduino will be something like this:
float temperature = readTemperature();
float humidity = readHumidity();
long pressure....
...
senddata();
And normally the power consumption plot will like:
The peaks is RF transmitting and Sensor sampling data, notice that the high power consumption between these peaks, mostly these are consumption by Arduino, the problem is that most library interface to sensors using delay to wait for the data, by changing it to :
start_temperature_sampling();
start_presssure_sampling();
sleep();
float temperature = readTemperature();
float humidity = readHumidity();
long pressure....
...
senddata();
the power consumption can minimize a lot, power consumption will like this:
Or in real case:
-
Original sensor node
01/06/2018 at 14:00 • 0 commentsSo recently I finally have sometime to write down some previous log.
This is my previous version sensor node, power by Arduino Uno with HDC1000 + BMP085 and Nrf24L01
to minimize the power, CR2032 is connected directly to system power, so I have to clock Uno down to 8Mhz, also you can see that I've added a jumper to disconnect Led after finish develop software.
By using sleep mode and optimize reading, I can reach 27uA at idle, and average 44.6uA.