reset atmegi16


Witam, mam mały problem z resetowaniem mojej atmegi16.
Zaprojektowałem układ dla termometrów DS18b20 na 1-Wire, Układ działa bez zarzutu niestety resetowanie tego układu nie zawsze przebiega poprawnie (2, 3 razy)i uszkadza mi się wsad w procesorze - całość przestaje działać, a gdy sprawdzam co jest w procesorze wyświetla mi się komunikat o błędzie (Burn-o-mat), po ponownym wgraniu wsadu układ działa. nie wiem czy to wina błędnego układu resetującego czy źle ustawiony fuss SUT1 i SUT0.
Zaprojektowany układ przedstawia rysunek poniżej.

Fusy mam ustawione tak jak na rysunku poniżej

Mimo, że na schemacie jest kwarc, to procek chodzi na wewnętrznym 8Mhz
Wartości rezystora R4-10K a kondensatora C9-1nF.
wartości i układ tych elementów wziąłem z datasheet Atmegi.
Może ktoś będzie miał sugestie na temat w jaki sposób resetować poprawnie procka (chodzi mi o ustawienie fusów).

Z góry dziękuję za ewentualne sugestie. :)




Portret użytkownika mirley

Re: Resetowanie

Po pierwsze to spróbuj bez tego rezystora i kondensatora na resecie bo u mnie przeważnie wyprowadzenie to wisi w powietrzu bez żadnego elementu i nigdy się nic złego nie dzieje.

Druga sprawa to fakt samego resetu....po co chcesz resetować procka? Nie widzę narazie sensu tego rozwiązania

Na marginesie to możesz ustawić wartość SUT=01 zamiast 10. Może to cos zmieni, ale to co masz obecnie ustawione wydaje się poprawne

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika RobertK

reset

Układ pracuje w dwóch trybach:
* tryb serwisowy, gdzie dodaje się termometry do pamięci, nadaję się nazwy do konkretnych termometrów, ręcznie wysyła się komendy do termometrów, a wszystko to steruje się przez terminal w komputerze
* tryb normalny gdzie na wyświetlaczu wyświetla się aktualne temperatury podłączonych termometrów

Po przełączeniu trybów muszę resetować całość, a po resecie procek nie zawsze "podnosi" się poprawnie.
Błędy występują gdy reset jest krótko zwarty do masy (bez znaczenia czy przez ten układ z rezystorem i kondensatorem, czy sam pin resetu).
Bez rezystora i kondensatora częściej są błędy.

Na próbę ustawiłem fus dotyczący BOD i sytuacja się znacznie poprawia, poza tym zwiększyłem kondensator z 1nf do 100nF (moje niedopatrzenie w nocie Atmela podają zakres od 10-100nF). Na 100 zmian trybów pracy urządzenia po których następuje reset 2-3 są niepoprawne. Wydaję mi się, że ta sytuacja mi odpowiada. Dziękuję za odpowiedź.

PS. Na czym polega zasada działania BOD - i jaki jest sens jego używania tzn. po co sprawdza się stan napięcia na VCC i resecie jeżeli zejdzie poniżej określonego napięcia, skoro po odłączeniu zasilania i ponownym załączeniu procek i tak się uruchomi ?



-

Power of Atmega16 ;)

Portret użytkownika RobertK

Projekt 1-Wire

W zasadzie to mogę się już pochwalić jak wygląda zaprojektowana prze zemnie płytka i wykonana w domowym zaciszu (metoda termo-transferowa, płytka 2 warstwowa). Termometr nie miał przypisanej nazwy więc wskazywał puste bloki. Projekt robiłem wspólnie z kolegą, kwestia resetu się wyjaśniła... prawdopodobnie uswitch od resetu wprowadzał zakłócenia (drgania styków) po dodaniu większego kondensatora większych problemów nie zauważyłem. Na filmiku przedstawiłem możliwości tego układu.
Działanie układu

-

Power of Atmega16 ;)

Portret użytkownika mirley

Re: BOD

osobiście BOD jeszcze nie stosowałem ale wydaje mi sięże sprawa jest dość prosta. Poprostu po obniżeniu zasilania poniżej tych 4.5V procek działa ale nie jest gwarantowane w jaki sposób, co wpisuje do ramu i co się stanie jak napięcie się podniesie. Jeśli by procek się zatrzymał po obniżeniu zasilania to jest ok bo po ponownym naroście wszystko wróci do normy. A jeśli by napięcie spadło do 3V a procesor dalej by działał zapisując głupoty do ramu lub źle wykonując polecenia. Po ponownym wejściu do normalnej pracy te błędy mogły by spowodować problemy. Normalnie nie widac tego problemu jak robisz proste układy ale jeśli będziesz robił coś ważnego to bezpieczeństwo pracy musi być na pierwszym miejscu. Szczególnie jak procesor steruje silnikami itp sprzętem gdzie przypadkowe włączenie takiego układu może mieć złe skutki.

Jeśli masz BOD włączony to powinien uniemożliwić ewentualne błędne działanie w przypadku gdy napięcie spadło poniżej gwarantowanej wartości. BOD wykonuje reset procesora

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.