ATMega88PA - elemről

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00

ATMega88PA - elemről

Hozzászólás Szerző: dummy »

Sziasztok!

Egy egyszerű, 3V-os áramkört építenék, amely elvégez egy feladatot, majd energiatakarékos módba lép. Az áramkörben jelenleg csak a proci van, belső oszcillátorról jár, a 8MHz-es órajel le van osztva 8-cal, innen az 1MHz, ami bőven elegendő a későbbi feladathoz. A BOD kikapcsolva.

Az alábbi programocska fut most a prociban. A cél, hogy a proci minél kevesebbet fogyasszon, miuát elvégezte a dolgát. A PRR regiszterben lehet kikapcsolni a különféle egységeket, ami elvileg drasztikus áramfelvétel-csökkenést eredményezne, de nem csökken az áramfelvétel, és powerdown módba kapcsolás után is kb. 1,8mA marad az áramfelvétel, holott uA nagyságrendűnek kéne lennie.

Kód: Egész kijelölése

$regfile = "m88pdef.dat"
$crystal = 1000000

  wait 3

' itt mérek először áramfelvételt, ami kb. 4mA, majd folyamatosan csökken kb. 2,2mA-re

$asm
  sbi PRR, PRTIM0
  sbi PRR, PRTIM1
  sbi PRR, PRTIM2

  sbi PRR, PRTWI
  sbi PRR, PRSPI

  sbi PRR, PRUSART0

  cbi ADCSRA, ADEN
  sbi PRR, PRADC
  sbi ACSR, ACD
$end asm

'itt kb. 230uA-nek kéne lennie az áramfelvételnek, de semmit sem változik

wait 3

'Powerdown módba kapcsolom a procit, néhány uA áramfelvételnek kéne lennie, marad kb. 1,8mA

$asm
   SBI MCUCR, 6
   SBI SMCR, SM1
   CBI SMCR, SM0
   CBI SMCR, SM2
   SBI SMCR, SE
   SLEEP
$End asm

End
Valami hiányozna a programból?
Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00

Re: ATMega88PA - elemről

Hozzászólás Szerző: SirLeslie »

dummy írta:Sziasztok!

Egy egyszerű, 3V-os áramkört építenék, amely elvégez egy feladatot, majd energiatakarékos módba lép. Az áramkörben jelenleg csak a proci van, belső oszcillátorról jár, a 8MHz-es órajel le van osztva 8-cal, innen az 1MHz, ami bőven elegendő a későbbi feladathoz. A BOD kikapcsolva.
...
Valami hiányozna a programból?
Használd a bascom beépített utasításait (help-ben részletesebben le van írva), ATtiny2313 esetében ennyi elég:

Kód: Egész kijelölése

 Power Powerdown
3 éve működik - elemcsere nélkül - egy infra távirányítós adó alkalmazásban (szintén a help-ből lett kilesve az infra meghajtás áramköre).
Más hardveres elem nem fogyaszthat közben? Elég pár felhúzó ellenállás is... :)
Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00

Re: ATMega88PA - elemről

Hozzászólás Szerző: dummy »

Természetesen próbáltam, de ugyanez volt az eredménye. Ezért is "mentem le" asm-ig, hátha.
Avatar
SirLeslie
Pákabűvész
Hozzászólások: 247
Csatlakozott: 2005. április 14. csütörtök, 6:00

Re: ATMega88PA - elemről

Hozzászólás Szerző: SirLeslie »

dummy írta:Természetesen próbáltam, de ugyanez volt az eredménye. Ezért is "mentem le" asm-ig, hátha.
Keresgettem régebbi kódot - anno m8-al volt hasonló gondom, akkor így lett jó:

Kód: Egész kijelölése

    Portb = 0
    Portc = 0
    Portd = 0
    Mcucr = &B1000000
    Enable Int0 ' int0-ra ébred fel
    Powerdown                                            
Avatar
dummy
Chipgyilok
Hozzászólások: 264
Csatlakozott: 2008. május 24. szombat, 6:00

Re: ATMega88PA - elemről

Hozzászólás Szerző: dummy »

M88PA, M326P, XM256A3U

Ezekkel próbáltam kikapcsolni a nem használt modulokat a PRR regiszter segítségével, de érdemi eredményt egyiknél sem értem el. A powerdown módban egyedül az XMega-val sikerült 23mA-ről 0,5mA-re lemenni, de a uA-től ez is messze van...
Olvasgattam külföldi fórumokat, de nem találtam hasznos információt. Az viszont felettébb érdekes, hogy van, akinél működik a dolog, és van, akinél nem. :roll:
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: ATMega88PA - elemről

Hozzászólás Szerző: Robert »

A lábak mind bemenetek?
Felhúzók kikapcsolva?
Chip lekapcsolva?
Órajel leállítva?
Válasz küldése