onsdag 27 mars 2013

Strömförbrukning ATtiny85, MSP430 och ATtiny84A

Tanken med ATtiny85 kretsen är att använda den i små sensornoder som drivs med batteri. Därför är det viktigt att strömförbrukningen är så låg som möjligt. En typ av sensornod är en trådlös temperatursensor baserat på en DS18B20 samt en 433 MHz radiosändarmodul. Denna typ av nod kan vara i stand-by läge den mesta delen av tiden och bara vakna t.ex. var femte minut för att göra en temperaturavläsning som skickas via radio. Sedan kan noden gå ned i stand-by läge igen för att spara ström.

För att testa detta skapades ett litet testprogram som sätter MCUn i sleep_mode_pwr_down äge och som sedan väcks av WDT var åttonde sekund. När noden väckts tänds en led i en sekund och så går noden ner i power down läge.

För att mäta strömförbrukningen kopplade jag en multimeter inställd på strömmätning i serie med strömkällan (ett 3.7V, 2400 mAh, 18650 batteri, vilket var laddat till 4.13V).

Strömförbrukning i vaket tillstånd med LED tänd: 4.64 mA
Strömförburkning i vaket tillstånd med LED urkopplad: 1.073 mA
Strömförbrukning sleep_mode_pwr_down: 6 uA

Vissa sensorer kan kräva 5V spänningsmating. I dessa fall kan en step-up modul användas. För att se hur den påverkar strömförbrukningen gjordes samma experiment med en krets som tar 3.7 V från batteriet som input och lämnar ut 5V.

Strömförbrukning i vaket tillstånd med LED tänd: 11 mA
Strömförburkning i vaket tillstånd med LED urkopplad: 2.4 mA
Strömförbrukning sleep_mode_pwr_down: 0.3 mA = 300 uA

En stooor försämring!

Som sista experiment slogs BOD (Brown Out Detection) av vid power_down, det gjorde följande med strömförbrukningen:



Strömförbrukning i sleep_mode_pwr_down: 4-5 uA.

Med en strömförbrukning på 4 uA den mesta delen av tiden borde ett batteri kunna räcka rätt länge. För att veta exakt kan man använda kalkylatorn på: http://oregonembedded.com/batterycalc.htm

Om man i batterikalkylatorn använder ovanstående värden tillsammans med 18650 batteriet (2400 mAh) och väcker MCUn under en sekund 12 ggr i timmen skulle batterierna räcka i 5.39 år!

Test med 3.21V matning (2 x AAA).
Strömförbrukning i vaket tillstånd med LED tänd: 1.503 mA
Strömförburkning i vaket tillstånd med LED urkopplad: 0.748 mA
Strömförbrukning sleep_mode_pwr_down: 3 uA

Test med 3.3V matning.
Strömförbrukning i vaket tillstånd med LED tänd: 1.876 mA
Strömförburkning i vaket tillstånd med LED urkopplad: 0.804 mA
Strömförbrukning sleep_mode_pwr_down: 4 uA


Test med 5V matning.
Strömförbrukning i vaket tillstånd med LED tänd: 6.45  mA
Strömförburkning i vaket tillstånd med LED urkopplad: 1.293 mA
Strömförbrukning sleep_mode_pwr_down: 5 uA

Nästa steg blir att göra samma test med en TI MSP430-G2553 och se hur den står sig med ATtiny85. Kommer även att utvärdera ATtiny84A med ATMELs picopower teknologi.

Uppdattering: MSP430-G2553 med 3.3V störmförsöjning från en Arduino Uno
Strömförbrukning i vaket tillstånd med LED tänd: 1.57 mA
Strömförbrukning i sovande tillstånd med LED tänd: 1.29 mA
Strömförburkning i vaket tillstånd med LED urkopplad: 355 uA
Strömförbrukning LPM3 (Timerinterupt): 1 uA (minsta värde multimetern kan mäta)

Om man i batterikalkylatorn använder dessa värden tillsammans med två AA batterier (1200 mAh) och väcker MCUn under en sekund 12 ggr i timmen skulle batterierna räcka i 10.44 år!

Med två AAA batterier på 3.21 V

Strömförbrukning i vaket tillstånd med LED tänd: 1.411 mA
Strömförbrukning i sovande tillstånd med LED tänd: 1.144 mA
Strömförburkning i vaket tillstånd med LED urkopplad: 345 uA
Strömförbrukning LPM3 (Timerinterupt): 1 uA (minsta värde multimetern kan mäta)

Det verkar som om MSP430 verkligen rockar när det gäller low power! Ska bli kul att se om ATMELs picopower kan rå på TI:s MSP430.

Både 5.39 och 10.44 år är väldigt mycket och det finns anledning att tro att batteriernas självurladdning är det som påverkar tiden mest.

ATtiny84A

För att mäta strömförbrukningen kopplade jag en multimeter inställd på strömmätning i serie med strömkällan (ett 3.7V, 2400 mAh, 18650 batteri, vilket var laddat till 4.13V).
Strömförbrukning i vaket tillstånd med LED tänd: 4.18 mA
Strömförburkning i vaket tillstånd med LED urkopplad: 717 uA
Strömförbrukning sleep_mode_pwr_down: 4 uA


Med två AAA batterier på 3.21 V

Strömförbrukning i vaket tillstånd med LED tänd: 1.5 mA
Strömförburkning i vaket tillstånd med LED urkopplad: 500 uA
Strömförbrukning sleep_mode_pwr_down: 4 uA

Med sleep bod disabled och två AAA batterier:

Strömförbrukning sleep_mode_pwr_down: 3 uA

Sammanfattning

Det verkar som om Atmels picopower inte riktigt rår på TI:s MSP430 serie. Även om ATtiny drar 3 gånger så mycket som MSP430 i standby så är de väldigt strömsnåla. Dock är MSP430 king of low power.


Inga kommentarer:

Skicka en kommentar