Atmega8A nefunkční hlídání poklesu napětí

Potřeboval bych napájet Atmega8A 3,3V, program běží, ale protože používám zapisování některých proměnných do EEPROM v procesoru, které při zapnutí z EEPROM zase načítám, zapnul sem Brown-out Detection(BODEN=0 a BODLEVEL=1 což by mělo být 2,7V). A procesor už nedělá co má. Neporadí někdo jestli sem na něco nezapomněl při povolování Brown-out Detection.
Díky.

Cy myslíš tím “nedělá co ma”?
Nejede vůbec, nečte z EEPROM, cyklicky se resetuje nebo něco jiného?

P.S. Jaký používáš programátor?

To přesně nevím, mám tam LEDku která bliká při komunikaci přes ser.port a ta nebliká a ser.komunikace opravdu nejede.Přes programátor vypnu BODEN=1 a všechno bliká a komunikuje jak má.

Vypadá to že procesor asi stojí, svádím to na ten Brown-out Detection.

Těžko ti radit, když nevíš co ti to dělá.
Změř si skutečné napětí na procesoru, zda tam máš těch 3,3V.
Pak překontroluj, zda si náhodou jako BOD level nedáváš 4V namísto 2,7V.
Pokud je vše OK, tak překontroluj, zda se ti vůbec procesor rozběhne.
Jinak nevím co bych ti dál poradil.

P.S. Jak máš dělaný RESET pin? Máš jej vyplý nebo jej používáš?

Napětí 3,3V mám,kousek od procesoru sem dal kond.1000M,zatím to mám na nepájivím poli.
BOD level je 1,což by mělo být těch 2,7V(ze zoufalství sem vyzkoušel i druhou možnost)
Zkusím blíž zjistit co dělá procesor když “stojí”
Reset mám ve vzduchu.

Tak to vypadá že program v procesoru se prostě nerozeběhne,mám bliknutí na začátku programu-neblikne, pak mám blikání v přerušení od timeru1-nebliká. Zkusil sem i jinej kus procesoru-pořád nic. Vyřeším to napájením 5V, při tom to funguje i se zapnutým Brown-out Detection. Ale zajímalo by mě kde je chyba, kdysi sem potřeboval napájení cca 3,7V při zapnutém Brown-out Detection a bez problémů ale s procesorem Atmega8L.

RESET ve vzduchu nevadí - interně je na něm pull-up 30-80 kOhmů.

Ukaž schema zapojení.

Kolik času na uložení potřebuješ do EEPROM(na zápis jednoho byte potřebuješ tuším 3msec), bude ti to stačit? Mám vlastní zkušenost, že lepší je vědět že odpadává napětí ještě dříve než začne na mcu padat:-) Aplikace, kterou dělám má na uložení přes 2sec.

Tady je schema.
schema.bmp (79.9 KB)
schema.bmp (79.9 KB)

Já ukládám vždy v celou hodinu, takže při vypnutí to nutně nepotřebuju, normální stav je že to poběží pořád. Ale klidně se pochlub co to vytváříš.

Ještě vysvětlení proč používám “Brown-out Detection”, mám zkušenost že pokud používám EEPROM v MCU tak při vypnutém “Brown-out Detection” se z EEPROM po zapnutí zařízení načetly kraviny(občas) se zapnutím “Brown-out Detection” se to už nestalo a to bylo v aplikaci kde se zápis prováděl na povel stiskem tlačítka.

Schema:

Nevidím spojení pinů 8 a 22 (GND) se zemí. Piny ve schematu jsou špatně očíslované.
AVCC má být spojeno s VCC.
Chybí kondenzátor 100 nF mezi VCC - zem,
100 nF mezi AVCC - zem,
100 nF mezi AREF - zem.

Pro spuštění BOD stačí jehlový pokles napětí a tyto pulsy filtrují právě uvedené kondenzátory.

Čísla jsou dobře ale pro pouzdro TQFP. Ale ty kondíky a spojení zemí tam nemám. Doplním a vyzkouším, ale až v pondělí a dám vědět,diky.

arthurk: Tak to jsi v jinné situaci, myslel jsem, že ukládáš při vypnutí. Možná by pomohlo jednodušše po zapnutí mcu prvně pár milisec(nebo desítek) počkat a teprve potom číst.

Moje řešení se nedá použít všude, dělám 5V z 90V na DC-DC měniči a využívám toho, že i když napětí 90V(měří se napění na straně 90V) už odpadne tak kond v měniči ještě chvíli (asi 2sec) dostatečně živí měnič aby dával 5V a to by mohlo stačit i na přepsání celé EEPROM.

Prosím smazat - duplicitní příspěvek

Rob.brno: nezkoušel jsi zálohovat mcu nějakým “superkondenzátorem”. Řádově farady? Já vím, ta cena. Ale možná by odpadl ten 90V zdroj, tedy pokud ho v zapojení nepotřebuješ. Kdysi jsem pro jednu analogovou aplikaci řešil stejný problém. Sice jsem nic nezálohoval do eeprom, ale při poklesu napětí, si řídící obvod dělal co chtěl a na výstupu při vypnutí špičkově zvýšil napětí. Pořešil jsem to tak, že napětí zdroje (7805) jsem pozvedl o diodu v GND na cca 5,6V a výstup jsem rozdělil na 2 celky opět přes diody. U toho řídícího obvodu jsem použil baterii kondenzátorů (tuším 5 x 1000uF). Ta to “podržela” dostatečně dlouho, aby se vybil nejprve výstupní modul a teprve pak řízení.

PS. sorry, není to moc k tématu.

Teď jsem koukal na cenu kondu 1F/5,5V a 47,- Kč je docela dobrý.
tme.eu/cz/details/buc-1f/sup … cf5r5u105/

Mikop: Děláme to skoro stejně :slight_smile: Já tam diody nedával protože např při 20A, už by na ní byly zbytečně velké ztráty, tak to řeším dvojitým vypínačem.
Těch 5V pro mcu získávám právě z těch 90V z hlavní baterie e-kola tak jako tak.