 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
TECHNIC Član


Pridružen-a: Tor 31 Okt 2006 11:18 Prispevkov: 582 Aktiv.: 2.57 Kraj: Senovo
|
Objavljeno: Ned Nov 14, 2010 10:06 pm Naslov sporočila: Attiny13+PB2+Sleep |
|
|
Attiny13 uporabljam v neki baterijski aplikaciji, kjer bi bil odklop akumulatorja po uporabi dokaj nerodna zadeva, zato moram nekako maksimalno zmanjšati porabo, ko je uC v mirovanju.
Ker imam trenutno stikalo (trigger) vezan na PB2 + notranji pull-up, bi rad iz tega porta uC tudi zbudil iz spanja, če se to sploh da? S tem še nisem nikoli delal, tako da nimam pojma.
Sam program je v bistvu zelo preprost, uC samo čaka na spremembo stanja na PB2, potem izvede par vrstic (pri tem je tudi interakcija z drugimi in-out pini) in nato zopet čaka na spremembo na PB2 (iz višjega na nižje stanje). Napajalnik (5V LDR) je izbran tak, da ima zelo nizko mirovno porabo, nekaj uA.
Kako se torej uC postavi v spanje in kasneje iz njega? Pišem v Bascomu, zato bi bilo idealno, da bi lahko nekdo pokazal na takem primeru, hvaležen pa bom kakršnim koli napotkom.
|
|
Nazaj na vrh |
|
 |
lojzek Član



Pridružen-a: Pet 25 Jan 2008 8:00 Prispevkov: 3387 Aktiv.: 16.00
|
Objavljeno: Pon Nov 15, 2010 7:26 am Naslov sporočila: |
|
|
Pri uporabi pina PB2 imaš na voljo Pin Change Interrupt, ki ti lahko zbudi uC. VENDAR, tak način interrupta lahko procesor zbudi samo iz Idle Mode in ADC Noise Reduction Mode. Ta dva pa ne omogočata zelo velikih prihrankov energije.
Če bi lahko spremenil hardware tako, da bi pogoj za bujenje imel na INT0 pinu (PB0), imaš na izbiro tudi več različnih načinov spremembe pina, ki zbudijo uC. Pa v tem primeru bi ga lahko spravil tudi v Power Down Mode, kjer pa bi bil prihranek energije največji.
O prihrankih elektrike si preberi v poglavju 19. Typical characteristics v datasheetu. Tam si mogoče tudi ogledaš, kateri sleep mode ti bo ustrezal
Preberi si še poglavja 7. Power management and sleep modes, 9. Interrupts (external interrupts) iz "tavelikega" datasheeta in ti bodo stvari jasnejše.
S primerom ti pa ne morem pomagati, ker pišem v C-ju.
|
|
Nazaj na vrh |
|
 |
TECHNIC Član


Pridružen-a: Tor 31 Okt 2006 11:18 Prispevkov: 582 Aktiv.: 2.57 Kraj: Senovo
|
Objavljeno: Pon Nov 15, 2010 12:38 pm Naslov sporočila: |
|
|
Hvala za odgovor, mi je jasno že več stvari.
Vseeno pa nisem prepričan, če PB2 omogoča zbujanje iz power down ali ne?
"INT0 and pin change", ali to pomeni tudi kater drug pin, PCINT2 je na PB2.
Bom poskusil nekaj spisati v Bascomu, čeprav dlje ko ga uporabljam, bolj se mi upira. Bi preklopil na C, samo moram najprej usposobiti AVRstudio, oziroma fukcijo Compile.
Opis: |
|
Velikost datoteke: |
21.83 KB |
Pogledana: |
3 krat |

|
|
|
Nazaj na vrh |
|
 |
lojzek Član



Pridružen-a: Pet 25 Jan 2008 8:00 Prispevkov: 3387 Aktiv.: 16.00
|
Objavljeno: Pon Nov 15, 2010 1:18 pm Naslov sporočila: |
|
|
Hja, tudi jaz sem očitno bolj slabo bral. Na naslednji strani od tvoje tabelice je v poglavju Power down mode omenjeno, da tudi Pin change interupt (tak kot ga nameravaš ti uporabiti) lahko zbudi procesor iz power down mode.
Če je to res (najverjetneje tudi je in oba zastopiva pravilno) potem ti bo delalo preglavice samo dejstvo, da bo vsaka sprememba stanja pina PB2 (iz 0->1 ali pa iz 1->0) zbudila procesor in izvedla zahtevano nalogo. No, to boš pa že programsko rešil.
|
|
Nazaj na vrh |
|
 |
TECHNIC Član


Pridružen-a: Tor 31 Okt 2006 11:18 Prispevkov: 582 Aktiv.: 2.57 Kraj: Senovo
|
Objavljeno: Pon Nov 15, 2010 2:49 pm Naslov sporočila: |
|
|
Tole je bilo pa čisto preveč preprosto.
Koda: |
Enable Interrupts
Set Pcmsk.pcint2 'interrupt pin
Set Gimsk.pcie
Set Mcucr.sm1 'power down izbran
Reset Mcucr.sm0 'power down izbran
Do
Reset Mcucr.se 'sleep disabled
Set Led
Wait 1
Reset Led
Wait 1
Set Mcucr.se 'sleep enabled
sleep
Loop |
|
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 493 dni
Powered by phpBB © 2001, 2005 phpBB Group
|