Sleep ATMega

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
SeaGull
Inlägg: 108
Blev medlem: 2 april 2010, 14:37:29
Ort: Gästrikland

Sleep ATMega

Inlägg av SeaGull »

För att väcka en ATMega ur djupsömn krävs ett yttre interupt. Internt kan jag bara få den att sova 250ms.
Det gäller alltså batteridrift, strömsnålt.
Hur gör man om man tex. vill få en tempmätning att sova 10 minuter,?
Finns det strömsnåla yttre timerkretsar?
Användarvisningsbild
Icecap
Inlägg: 26139
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Sleep ATMega

Inlägg av Icecap »

Man brukar göra en intern räknare - i detta fall med ett startvärde på 2400 - och sedan fånga uppvaknandet i en rutin.

Den rutin räknar ner räknaren och är den INTE noll kastas µC'n tillbaka i sleep-läget.

Ja, det kostar en aning energi men rätt utförd går det snabbt och enkelt och drar mycket lite energi.
Borre
Inlägg: 4570
Blev medlem: 14 juni 2007, 15:43:50
Ort: Hälsingland

Re: Sleep ATMega

Inlägg av Borre »

Vilken Atmega?
De flesta (alla?) klarar väl ändå 2s och många 8s, se https://www.nongnu.org/avr-libc/user-ma ... chdog.html

Man får som sagt räkna upp tills man sovit tillräckligt många gånger. Det drar extremt lite energi att göra det var 8e sekund.
Användarvisningsbild
adent
Inlägg: 4100
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Sleep ATMega

Inlägg av adent »

Ja watchdog-timern är nog det strömsnålaste sättet att få den att vakna själv. Vill minnas att det var i häraden 2-3uA det drog.

MVH: Mikael
Nille86
Inlägg: 65
Blev medlem: 13 april 2019, 13:10:49

Re: Sleep ATMega

Inlägg av Nille86 »

Jag använder en 32khz kristall kopplad till tosc1/2. När timern är full triggas interrupt som kan användas för att t.ex. mäta eller skicka data. Jag mäter den till cirka 19,2uA men då har jag en LoRa-modul som stjäl lite även om den är i "sleep-mode". Jag planerar att mäta lite noggrannare när jag byggt på riktigt kretskort.

http://www.ganssle.com/reports/ultra-lo ... esign.html

Den här artikeln tycker jag är intressant att läsa även om den är väldigt lång.

Tycker diskussioner kring strömsnåla enheter är väldigt intressant, blir kul att se om det kommer fram fler tips.


Edit:

Ett annat sätt som jag testat är att använda en RTC typ ds3231 som kan fås att trigga interrupt med lite olika intervall. Jag har fått för mig att den är strömsnål men inte gjort några mätningar då jag endast använt den i nätanslutna prylar.

Fördelen med ds3231 är att kristallen är temperaturkompenserad och "väldigt" noggrann över tid. Om det är enkla tempmätningar av luft du vill göra kan du utnyttja dess inbyggda tempgivare direkt.

.
SeaGull
Inlägg: 108
Blev medlem: 2 april 2010, 14:37:29
Ort: Gästrikland

Re: Sleep ATMega

Inlägg av SeaGull »

Jag blandar ihop mina MC's, det är en ATTiny84A. :oops:
Det var ett klumpigt första försök med en ATTiny84A / NRF24L01+ / DS18B20 / 9V batteri med 3.3V linjär spänningsregulator, batteriet räckte några veckor.
Det är power down sleep mode jag är ute efter, den drar då endast några µA, radion ännu mindre.
Nille86 skrev:http://www.ganssle.com/reports/ultra-lo ... esign.html
Den där Texas TPL5111 var intressant, men dyr.

Solpanel + LiIon? Superkonding? Vad är det för teknik i soldrivna LED trädgårdsblommor?
Nille86
Inlägg: 65
Blev medlem: 13 april 2019, 13:10:49

Re: Sleep ATMega

Inlägg av Nille86 »

Solpanel skulle nog göra ett bra jobb. Jag öppnade en sån billig trädgårdsbelysning för ett tag sedan och där satt i princip bara en IC-krets med åtta ben som skötte batteriladdning och tändning av LED, har för mig att där inte var fler komponenter.

Skulle vara intressant att veta vad watchdog inkl. Interrupthantering kostar i energi, visst är det väl så att du inte kan gå ner i sleep mode för den interna oscillatorn måste fortfarande ticka?

Edit:
Jag antar att du sett denna länken: https://www.gammon.com.au/forum/?id=11497
Brukar se den länkad ofta. Mycket matnyttig

Edit2:
Saxat från länken ovan: Meanwhile this sketch below shows how you can use the watchdog timer to sleep for 8 seconds (the maximum you can set up a watchdog for) and then flash the LED 10 times, and go back to sleep. Whilst asleep it uses about 6.54 µA of current, so presumably the watchdog timer has a bit of an overhead (like, 6.2 µA).

Gäller dock atmega328p
.
SeaGull
Inlägg: 108
Blev medlem: 2 april 2010, 14:37:29
Ort: Gästrikland

Re: Sleep ATMega

Inlägg av SeaGull »

Borre skrev:Vilken Atmega?
De flesta (alla?) klarar väl ändå 2s och många 8s, se https://www.nongnu.org/avr-libc/user-ma ... chdog.html

Man får som sagt räkna upp tills man sovit tillräckligt många gånger. Det drar extremt lite energi att göra det var 8e sekund.
Nille86 skrev: Skulle vara intressant att veta vad watchdog inkl. Interrupthantering kostar i energi, visst är det väl så att du inte kan gå ner i sleep mode för den interna oscillatorn måste fortfarande ticka?
I 'Power down' stannar även interna klockan, inte många elektroner hittar hem.
Watchdog timern har jag missat, den har en egen klocka, skall läsa på och testa denna.
Kanske också testa att driva med ett CR2032, MC och radio är inga problem, men DS18B20 behöver minst 3V enl datablad.
Detta får bli julpyssel!
Skriv svar