Napečení Arduina, nový ATmega 328p a pod

Raspberry, Arduino, Mini-PC a další

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#16 Příspěvek od Celeron »

JirkaZ píše:Čím to programuješ?
Podívej se třeba i sem - nečetl jsem to, ale myslím, že to bude ono.
Programuju, jak už jsem psal v Bascomu přes USBasp programátor. Ten je ale LVP. Přes ArduinoISP jsem zatím neprogramoval. Kámoš má ve firmě profi programátor na AVR-ka a všechno další možný a nemožný, tak ho zkusím jestli ten jeho umí HVP. Pokud né, tak se budu muset prostřílet tím pokecem na HVP předělávku ArduinoISP, co jsi mi poslal. Včera, jak se mi to přihodilo, jsem musel za chvíli někam odjet a tak jsem hodil dotaz na fórum, aniž bych na netu něco k tomu hledal. Díky za tip.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#17 Příspěvek od Celeron »

Tak jsme do ATtiny85 u kámoše práskli do Resetu těma 12V a fuse jsou na výrovním defaultu 8MHz a děličce osmi. A v mým BAScomu s USBasp jde zase napíct vše, co potřebuju. Jen tak na zkoušku jsem tam do Tiny85 nahrál Blink s Delay (500) a vyzkoušel jaký časy budou s jednotlivejma interníma oscilátorama. 8MHz je perioda 1 sekunda, s WD oscilátorem 128KHz je 63 sekund, což odpovídá podílu 8/0,128. Ale zajímavý je, že s interním oscilátorem 6,4MHz je perioda 5 sekund, což podílu 8/6,4 rozhodně neodpovídá...
Jo a Ruprechte, měl jsi pravdu, když přehazuju jen oscilátorový fuse 8-6,4-0,128, tak to jde jen pokud je Clock v BAScomu 4KHz. Díky za tip. Na netu jsem četl, že Clock BAScomu musí být minimálně 6x nižší, než kmitočet procíku. Mělo by to jít interním oscilátorem WD128 už od 16KHz ale na něm se procík neidentifikuje. Na 8KHz mi to občas hodilo chybu a až těch 4 KHz je spolehlivejch.
Počítám, že s fuse EXT Low Freq s krystalem 32KHz to bude chtít CLK 1 nebo dokonce 0,5KHz. A nebo to napíkat na interních 8MHz a pak přepnout fuse na EXT Low Freq.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#18 Příspěvek od Celeron »

Trochu jsem laboroval s Blinkem s 2 x Delay (500) na ATtiny85 s nastavováním fuse oscilátoru a předděličky. Bez ledky, jen sonda osciloskopu. Možná se to, co jsem naměřil, někomu hodí.
int.CLK 8MHz = perioda 1 sekunda, odběr 6,3mA
int.CLK 6,4MHz = perioda 5 sekund, odběr 4mA
int.CLK 8MHz s předděličkou 8 = perioda 8 sekund, odběr 2,3mA
int.CLK 6,4MHz s předděličkou 8 = stejné jako bez předděličky.
int.CLK WD128KHz = perioda 66 sekund, odběr 1mA
int.CLK WD128KHz s předděličkou 8 = perioda 8:45 minut, odběr 0,8mA

Zajímavý je, že int.CLK 6,4MHz nereaguje na děličku a perioda neodpovídá poměru 8-6,4. A u všech se odběr nijak nemění ale u int.CLK WD128KHz občas spadne na chvilku odběr na 0,4mA a pak zase na chvilku vyskočí na 1,3mA a zase se na dlouhou dobu vrátí na 0,8mA. A nijak to nesouvisí se změnou stavu výstupního pinu.
No tohle na použití s batérkou CR2032 zatím moc nadlouho není.
Zítra vyzkouším, co to bude žrát při použití přerušení a Sleep.

edit: Tak jsem zase skončil jako včera. Už podruhý se mě stalo, že při přepnutí z WD128 na 8MHz se něco ve fuse zmrsklo a ATtiny se nechce identifikovat. Než se znova doprošovat ve firmě u kámoše, tak si ten HVP programátor z Arduino Uno asi udělám.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Valdano
Příspěvky: 695
Registrován: 01 led 2023, 01:00
Bydliště: Česká Lípa

#19 Příspěvek od Valdano »

Postup jak snížit spotřebu Arduina v režimu spánku. V příkladu, který je tam uveden Arduino na dvě sekundy zabliká LED a poté na dvě sekundy přejde do režimu spánku a během této doby jsou deaktivovány ADC a BOD. Dle toho popisu proud Arduina v režimu spánku klesnul až na 4,3uA při napájecím napětí 3,3V a frekvenci 8MHz.

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#20 Příspěvek od Celeron »

Ten postup je mi jasnej, ale příklad nejde zkompilovat, protože ta knihovna LowPower chodí jen na 328P, na ATtiny85 né. Je tam opět problém s rozdílnejma názvama registrů a jejich bitovejma funkcema.
Není ale problém princip okouknout a předělat na registry ATtiny85. I nějaký příklady jsem k tomu na netu našel.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Valdano
Příspěvky: 695
Registrován: 01 led 2023, 01:00
Bydliště: Česká Lípa

#21 Příspěvek od Valdano »

Nějaké info ohledně nízké spotřeby v režimu spánku pro ATtiny85 je tady.
Active mode clock with ADC disabled: 128kHz, Current used: 166uA
Sleep Mode (Clock ignored in sleep): SLEEP_MODE_PWR_DOWN, 414nA
Podle popisu je režim SLEEP_MODE_PWR_DOWN na ATtiny85 dostupný.

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#22 Příspěvek od Celeron »

Našel jsem na netu knihovnu TinySnore ve který stačí volat Snore (milisekund). ATtiny přejde na dobu v závorce do Sleep. Takže na generování obdélníku 20 ms/2 minuty stačí napsat do Loop:
digitalWrite(OutPin, HIGH);
snore(20);
digitalWrite(OutPin, LOW);
snore(1000*120);
V Setup stačí nastavit výstupní pin a ostatní nastavit jako vstupy, pak procík míň žere.
Nahrazuje to Delay () s několikanásobně nižší spotřebou ale tyhle 4 řádky zabírají přes 1KB Flešky. Zatím to nemám odzkoušený protože moje ATtiny85 má namrvený Fuse. Tak se uvidí zítra až ty fuse zase smáznem v HVP, jak to chodí a kolik žere. Navíc tohle je nastavený na Clock 8MHz, pokud se dá nižší, procík bude žrát míň ale časy se budou muset 8 x zmenšit.
Škoda že ta knihovna Snore není taky pro 328P, to by ušetřilo spoustu práce s časovačena a přerušením.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#23 Příspěvek od Celeron »

Tak houby s voctem. U kámoše na Elnec Superpro ATtiny85 paralelně identifikovat jde, nahrát a zverifikovat taky ale když ho přinesu domů, tak USBasp ho nepozná, Device ID 000000. Asi se tentokrát fuse zmršily víc než minule a v tom kvantu, co Elnec vypisuje, to nedokážem správně nastavit.
Nahráli jsme do procíku to včerejší TinySnore. Na výstupu se neděje vůbec nic. Jestli je Tiny nějak namrvenej, nebo ta knihovna TinySnore je nefunkční, netuším. Musím splašit další ATtiny85.
Dnes tedy dvojnásobnej "úspěch". Kálím na to a jdu dělat něco jinýho, užitečnějšího s předvídatelným výsledkem, třeba daňový přiznání. :evil:
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
JirkaZ
Moderátor
Moderátor
Příspěvky: 1429
Registrován: 26 úno 2021, 01:00

#24 Příspěvek od JirkaZ »

Nechceš si vážně koupit ten TL866 II Plus? Nebudeš muset s každou blbostí chodit kdovíkam...

Jistě nemá takové schopnosti jako Elnec, ale taky je za mnohem míň a obecně toho umí víc než dost (viz moje popisy dříve).

Mimo jiné mu jde nastavit, aby ignoroval Device ID (zda to jde i u USBasp, to netuším).
Kdo chce, hledá způsob;
kdo ne - hledá důvod.

Ze dvou možností často volím tu třetí.

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#25 Příspěvek od Celeron »

Tak mě to nedalo a udělal jsem si svý 12V "práskadlo" na narvání fuse do default stavu pomocí HVP resetátoru a programátoru co jsi dával odkaz.
V tom programátoru je nějaká nepřeložitelná domrvenina ve void(dump) a tak jsem ji odkomentoval a maká to jak má.
Tu TL866 II Plus bych koupil pokud bych neměl Xelteka, kterej umí asi tak 85% toho, co TL866 II Plus. Navíc ty moderní sráče se většinou pečou sériově a na to programátor mám.
A taky jsem asi přišel na to, proč jsem mrvil fuse. Měl jsem napájení ATtiny85 Vcc pin 8 připojený přes analog miliampérmetr od zkoumání spotřeb ve Sleep a ten rozsah 6 a 1,5mA má už dost velkej odpor a asi vadil úbytek na odporu miliampérmetru.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
JirkaZ
Moderátor
Moderátor
Příspěvky: 1429
Registrován: 26 úno 2021, 01:00

#26 Příspěvek od JirkaZ »

Celeron píše: Tu TL866 II Plus bych koupil pokud bych neměl Xelteka, kterej umí asi tak 85% toho, co TL866 II Plus....
Jo aha, to jsi nezmínil. Čili ten Xeltek má ZIF patici a umí HVP (ať už paralelní, nebo sériové)?

Jinak ten TL866 II Plus má jak ZIF, tak ICSP (i když ovládací sw u různých MCU neumí vždy oba režimy).
Kdo chce, hledá způsob;
kdo ne - hledá důvod.

Ze dvou možností často volím tu třetí.

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#27 Příspěvek od Celeron »

Tak ta knihovna TinySnore chodí jak z praku. Na interním CLK 8 MHz bez předděličky je trvalá spotřeba mezi 5-8 uA podle toho, zda je výstup H nebo L. Při H = 50ms a L = 1 minuta. Vůbec nemá cenu zkoumat, jestli by to předdělička osmi na CLK nějak snížila.
Tímto jsem u sebe odsoudil všecky astabily a monostabily s dlouhejma časama s 555 na smetiště dějin. Tohle nepotřebuje kromě osminohýho švába kolem sebe naprosto nic. A za cenu trošku větší spotřeby by šlo pomocí analogovýho vstupu udělat i řízení frekvence a střídy.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#28 Příspěvek od Celeron »

Dnes jsem to fuse "práskadlo" polepil do nějaký použitelný formy na prototypovej shield pro UNO. Jsou tam dvě patice, DIL8 na řadu ATtiny 13/25/45/85 a DIL14 na řadu ATtiny 24/44/84. Dopájím, nasadím na UNO, nahraju HVP a nic, "No valid ATtiny signature detected! Signature FFFFh"
Programovaným procíkem to není, to co je v něm nahraný jede a v programátoru BAScom se identifikuje a jde smazat a nahrát jinej prográmek.
Tak jsem se vrátil k původnímu zapojení na nepájivým poli a taky se neidentifikuje. Znova jsem zkompiloval HVP a nic. Pro sichr jsem ho znova stáhnul z netu a stále nic. S jiným UNO taky nic. Asi už potřetí kontroluju ohmetrem zapojení, vše je správně, nikde není nic do sebe propojený navíc. Nechápu...
Jirka

Proč mi nemůže všechno chodit hned ?!!

Uživatelský avatar
Celeron
Příspěvky: 16140
Registrován: 02 dub 2011, 02:00
Bydliště: Nový Bydžov

#29 Příspěvek od Celeron »

Zapoměl jsem se tu zmínit, že to finální "práskadlo" na fuse ATtiny už chodí jak má. Zapojoval jsem to drátem se samopájitelnou izolací (něco jako smalťák na trafa) a jeden pájenej spoj se choval podivně, chvíli měl pár desetin ohmu a chvíli skoro 100 ohmů. Tak jsem to radši celý předrátoval z rozkuchanýho UTP kabelu.
Jirka

Proč mi nemůže všechno chodit hned ?!!

Odpovědět

Zpět na „Miniaturní počítače (Arduino, Raspberry a další)“