Tips för strömsnål µC applikation

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Magnus Pihl
Inlägg: 401
Blev medlem: 6 maj 2004, 12:22:36
Ort: Stockholm

Tips för strömsnål µC applikation

Inlägg av Magnus Pihl »

Tänkte jag skulle dela med mig av ett tips för applikationer med mycket höga krav på låg strömförbrukning som jag nyss använt mig av.

I power-down läge drar ex. AVR <1uA. Man kan låta den vakna från sleep-läget genom att ställa INT0 ingången till low-level interrupt och låta en kondensator ladda ur. När den sjunkit tillräckligt lågt så att interrupten slår till gör man det man ska. Kollar I/O och om något ska göras. Om inte, eller när det är klart, så ställer man INT0 som en utgång och laddar upp kondensatorn fullt. Sedan sätter man INT0 som en ingång igen och lägger µC i sleepmode igen. På så sätt kan man t.ex. varje sekund väcka µC från sin power-down mode och utföra lite jobb på några µs och sedan somna igen. Strömförbrukningen blir då mycket låg med en sådan duty-cycle.
Bengan
Inlägg: 154
Blev medlem: 28 augusti 2004, 17:54:04
Ort: Mölndal

Inlägg av Bengan »

Underbart! tillsammans med exempelvis en PIC12F635 som drar 8,5µA i drift vid 32kHz(1nA i standby) så lär man kunna dra ner strömförbrukningen något enormt, tack!

Lär använda din lösning till min lilla transponderkrets.
Micke_71
Inlägg: 947
Blev medlem: 18 september 2004, 22:47:23

Inlägg av Micke_71 »

Jag har undrat varför en liten sketen cykeldator klarar sig på ett LR44 batteri ett par år. Nu så börjar det klarna. :roll:

Mikael
Användarvisningsbild
MicaelKarlsson
Inlägg: 4669
Blev medlem: 18 juni 2004, 09:16:07
Ort: Aneby
Kontakt:

Re: Tips för strömsnål µC applikation

Inlägg av MicaelKarlsson »

Magnus Pihl skrev:Tänkte jag skulle dela med mig av ett tips för applikationer med mycket höga krav på låg strömförbrukning som jag nyss använt mig av..
Ahaaaa.....! Klyftigt som en apelsin!

:tumupp: :bravo:
Rymdninja
Inlägg: 330
Blev medlem: 15 december 2003, 13:41:25
Ort: Göteborg

Inlägg av Rymdninja »

ja det var inte illa...nu gäller det bara att hitta ett problem med den lösningen...hmm....undrar var....:)
evert2
Inlägg: 2182
Blev medlem: 18 april 2004, 22:47:56
Ort: Jönköping

Inlägg av evert2 »

.......precis!
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Om inte jag är ute och cyklar (som vanligt) så ska man väl ändå kunna få den att väcka sig själv med hjälp av någon timer eller så? När det gäller x86 finns det en funktion som heter hlt (halt) som fryser processorn, grejen är den att timers/interrupts och liknande drar igång den igen, därför måste man stoppa dessa innan hlt körs. Vad jag vet ska man kunna göra något liknande på AVR. Får väl lusläsa databladen i helgen :)
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

chille:

Från databladet till 2313:
The Idle mode stops the CPU while allowing the SRAM, Timer/Counters, SPI port and interrupt system to continue functioning. The Power-down mode saves the register contents but freezes the Oscillator, disabling all other chip functions until the next external interrupt or Hardware Reset.

"Power-down"-läget drar mycket mindre ström än "idle"-läge. Så var det med det. :)
Michel
Inlägg: 436
Blev medlem: 3 februari 2004, 18:08:04
Ort: Stockholm

Inlägg av Michel »

MSP430 har ochså trevliga power-down lägen (5st).
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Men 2313 är stenålder :lol: Vet iofs inte om de nyare skulle vara bättre. Men det var någon µC, antingen var det en PIC eller så var det en AVR, som klarade det jag sa. Det är jag iofs ganska så säker på. Annars får man ju köra det där med kondensatorn :-D Var ju en väldigt smart ide
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

chille:

Att väcka AVR:en via en timer-interrupt som du beskriver fungerar i "idle mode", men inte i det ännu strömsnålare "power-down mode". Läs mitt citat en gång till så ser du.

Såg precis att Elfa har fått in ATtiny2313. Jippi, den har iaf jag väntat lite på. Trodde inte att den hade börjat säljas än. Den är som gamla AT90S2313, fast modernare, funktionsrikare och billigare!

4 PWM-kanaler, Brown Out Detection, högre hastighet (upp till 20 MIPS@20 MHz!), lågnivå-interrupt på alla pinnar, Reset- och Xtal-pinnarna kan användas som i/o-pinnar, inbyggd oscillator, "Boot loader"-möjlighet, billigare mm...

Hoppas jag fick med det mesta och att det mesta stämmer också... ;)
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Jaha oj, missade andra halvan av citatet :)

hur mycket ström drar den i idle då? Borde väl inte vara så mycket.
Användarvisningsbild
cykze
EF Sponsor
Inlägg: 1539
Blev medlem: 8 april 2004, 10:40:28
Ort: Uppsala

Inlägg av cykze »

Två exempel från databladen till mega32 och 2313:

ATmega32L:
Power Consumption at 1 MHz, 3V, 25°C for ATmega32L
Active: 1.1 mA
Idle Mode: 0.35 mA
Power-down Mode: < 1 µA

AT90S2313:
Power Consumption at 4 MHz, 3V, 25°C
Active: 2.8 mA
Idle Mode: 0.8 mA
Power-down Mode: <1 µA
Användarvisningsbild
chille
Inlägg: 2469
Blev medlem: 25 juni 2003, 20:54:41
Ort: Stockholm
Kontakt:

Inlägg av chille »

Oj då, jo det var ju lite skillnad :lol:
Michel
Inlägg: 436
Blev medlem: 3 februari 2004, 18:08:04
Ort: Stockholm

Inlägg av Michel »

cykze skrev: högre hastighet (upp till 20 MIPS@20 MHz!)
Det tar sig.
:D
Skriv svar