logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega32 - brak reakcji po ponownym podłączeniu zasilania, wyświetlacz LCD

Gimitar 04 Paź 2007 14:35 2940 18
REKLAMA
  • #1 4347380
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    Witam.
    Zaprogramowałem sobie atmege32 i ok działało. Na wyświetlaczu pojawiały sie napisy, nawet reagowały na przyciski no i ok. Ta Atmega już chodziła załączono parę godzin nawet jak zapomniałem zasilacz wyłączyć ale zawsze działało. A wczoraj po jakiś 10 minutach odłączyłem zasilanie i podłączyłem ponownie i już sie okazało ze nie działa, na wyswietlaczu, wyswietlają sie kwadraciki pełne na jednej linii. Atmegi juz nie można zaprogramować, nawet odczytac nie mozna.
    Myślałem ze coś pokręciłem z nia nie tak i podlaczyłem druga Atmege. Raz zaprogramowałem na wyświetlaczu pojawił sie napis "testowanie lcd" no i ok, odłączam zasilanie i podłączam ponownie i już przestało dzialać.

    Czy jest możliwość ze podczas programowania napisałem zły kod i to była wina? W kodzie zmieniłem tylko ze chciałem podłączyć TWI.

    Obecnie po sprawdzeniu okazuje sie ze jesli jest podłączony wyświetlacz to na nóżce DB5 z wyświetlacza czyli PD5 na procku było napięcie 5.25 V (obecnie juz pokazuje tylko 5.0 V). Może to przez to? tylko skąd sie tam wzieło tyle to nie wiem
    W fusebitach nic nie mieszałem.

    Napisze tylko ze zasilam z zasilacza od komputera. Najpierw 12V idzie przez stabilizator i otrzymuje 5V (nie całe 5V, jakies 4,8V). Wyświetlacz to 2x16.

    Podłączam Atmege32 również do innego urządzenia gdzie mogę programować Atmegi na 28 i 40 nóżek i tam również nie działa, a np. inna Atmega działa bez problemu. Czyli programator jest wporządku... więc coś z tymi dwiema Atmegami, może się spaliły, tylko dlaczego ? Na układzie nic nie mieszałem i nic nie przelutowywałem.

    Boję się podłączyć nową Atmege by znów jej nie spalić. Wyciagłem sobie ją i załączyłem układ i sprawdziłem nóżki z podstawki i nigdzie nie ma jakiegoś przebicia.

    Jakieś propozycje?

    dziękuje z góry
  • REKLAMA
  • #2 4348110
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    Tylko osoba pewna tego co robi powinna podłączać taką elektronikę pod zasilacz komputerowy.. Nie wiem dokładnie co może być przyczyną, ale strzelać można w kierunku:
    - masa na stabilizatorze nie kontaktuje(czasem się rozłącza), wtedy do procka dochodzi 12V lub coś koło tego. Wskazywać by na to mogło zawyżone napięcie na pinie PD5 o czym pisałeś.
    - Nie wiem czy przestawiałeś fusebity..
    Innych pomysłów raczej nie mam...
  • REKLAMA
  • #3 4348787
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    dlaczego podłączanie zasilacza powinni robić tylko pewne osoby?

    A czy to ze zasilacz daje tylko 11.5 V co daje póżniej 4.8V może być jakimś problemem?

    W fusebitach wyłączyłem tylko JTAG żeby mieć port C i nic więcej nie zmieniałem.
    Zimnych lutów na masie raczej nie mam, sprawdzałem i nic nie wykryłem.

    Czy to żeby ustawić kontrast na LCD czyli podpiołem V0 do masy jest dobrze?

    No i czy reset można zostawić by wisiał sobie? wyczytałem ze przez opornik do VCC ale to chyba zbędne czy się myle?
  • #4 4349565
    elektronika1984
    Poziom 13  
    Posty: 86
    Pomógł: 5
    Ocena: 5
    Gimitar napisał:
    Napisze tylko ze zasilam z zasilacza od komputera. Najpierw 12V idzie przez stabilizator i otrzymuje 5V (nie całe 5V, jakies 4,8V). Wyświetlacz to 2x16.


    Skoro używasz zasilacza komputerowego to dlaczego nie podłączysz sobie bezpośrednio napięcia 5V, tylko ciągniesz 12 przez stabilizator?

    Gimitar napisał:
    A czy to ze zasilacz daje tylko 11.5 V co daje póżniej 4.8V może być jakimś problemem?


    Po pierwsze spadek napięcia przed stabilizatorem w zakresie jaki podajesz nie powinien zmienić napięcia wyjściowego stabilizatora - powinien trzymać 5V. Jeśli podajesz, że napięcie na wyjściu stabilizatora ma 4,8V to i tak nie wpłynie to na nic. Zaglądając do aplikacji można wywnioskować, że w zależności od modelu procka minimalne zasilanie może wynieść: 4,5V dla zwykłego ATmega32 i 2,7V dla ATmega32L.

    Gimitar napisał:
    Czy to żeby ustawić kontrast na LCD czyli podpiąłem V0 do masy jest dobrze?


    Nie jest to błędem. Jednak zazwyczaj V0 podpina się przez potencjometr 10kOhm do masy. Wtedy masz możliwość regulacji kontrastu.

    Gimitar napisał:
    No i czy reset można zostawić by wisiał sobie? wyczytałem ze przez opornik do VCC ale to chyba zbędne czy się myle?


    Nie musisz podpinać nic do RESETu. Wewnętrznie Reset jest podciągnięty do "plusa". Mikrokontroler ma wbudowany układ "Power-On Reset", który zapewnia między innymi zresetowanie mikrokontrolera po podaniu napięcia zasilającego. Czas determinujący jak długo procesor jest "trzymany w resecie" zależy od licznika opóźniającego "Delay Counter". Czas można zmieniać ustawiając odpowiednie bity: SUT i CKSEL

    Czy mógłbyś pokazać jakiś schemat jak jest wpięty procesor do zasilacza? Masz jakieś indukcyjności w układzie np. przekaźniki? Fajnie jak byś się pochwalił całym schematem urządzenia.
  • #5 4349706
    Ch.M.
    Poziom 27  
    Posty: 1009
    Pomógł: 62
    Ocena: 15
    Witaj
    Na 90% masz problem z połączeniem - coś Ci sie odłączyło albo zwarło na płytce. Odłącz LCD i wtedy spróbuj zaprogramować
    Pozdrawiam
  • #6 4359137
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    No więc jednak jedna Atmega32 zaczeła działać i można ją programować. Ale druga niestety ani rusz. Wiec widocznie coś się jej stało.
    Podpiołem jednak Reset do VCC przez opornik 2,2k bo jak sprawdzałem miernikiem na Reset było momentami około 4 V.

    Schematu na razie pokazać nie mogę bo schemat schematem ale w praktyce wychodziło ze muszę zmiany nanieść, więc jak poprawie to dodam.

    Mam przekaźniki na 12V, dlatego używałem stabilizatora żeby pod układ podpinać tylko jeden przewód z zasilaniem.

    No a procek jest podpięty do zasilacza tam gdzie jest 12V (kolor żółty), ale obecnie omijam stabilizator bo nie używam przekaźników i 5V (kolor czerwony) bezpośrednio mam do układu wpięte i leci sobie na nóżkę VCC i nóżkę AVCC Atmegi.

    Obecnie układ działa poprawnie bez błędów do momentu aż miernikiem mierze zasilanie. Później na wyświetlaczu krzaczki się pojawiała. A jak nie tykam miernikiem to żadnych krzaków nawet godzinami. Co może być powodem?


    Programuje przez ISP, i programator ciągle do kompa podłączony i do układu, więc w każdym momencie pstrykam "programuj" i programuje układ i sprawdzam bez odłączania. Czy to jakiś problem że to sobie jest tak podłączone razem godzinami? Myślę ze nie ale chcem się upewnić :)

    pozdrawiam
  • REKLAMA
  • #7 4359238
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    No to mamy potencjalne źródło problemów przy programowaniu - jeśli zasilacz w komputerze oraz zasilacz do układu są oddzielne (a pewnie są) i są podłączone pod gniazdko bez uziemienia, to może pojawić się znaczne napięcie pomiędzy masami obu tych zasilaczy, w efekcie na przewodach programatora pojawią się takie zakłócenia, że układ nie będzie chciał się programować. Proste zasilacze gniazdkowe mają separację galwaniczną na transformatorze, więc przy nich problem się nie pojawia. W komputerowych masa podłączona jest do uziemienia, a te dwoma kondensatorami do przewodu neutralnego i fazowego (jakoś tak).

    Co do pracy z przekaźnikiem - czy jest do niego podłączona dioda dla napięcia wstecznego? czy w układzie masz dużo kondensatorów blokujących 100n?
  • #8 4360943
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    czy przez takie podłączenie (czyli dwa osobne zasilacze) można sobie spalić Atmege?

    W układzie mam tylko jeden kondensator 22p przy zegarze czasu rzeczywistego.
    Diody na 3 przekaźnikach są.

    Dołączam schemat z uwzględnieniem przeróbek. Dodam tylko ze J1 i J2 (z dołu schematu) to dla wyświetlacza LCD. Teraz już wiem ze wystarczą 4 linie danych i R/W można do masy, ale wcześniej tego nie wiedziałem więc nie usuwałem tego tylko pokazuje jak to mam zrobione.

    Atmega32 - brak reakcji po ponownym podłączeniu zasilania, wyświetlacz LCD
  • #9 4361112
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    2 osobne zasilacze hm... spalić atmegę raczej nie... potencjał pomiędzy zasilaczami by się wyrównywał, ale dążąc do tego stanu mogły by się pojawiać zakłócenia uniemożliwiające(utrudniające) programowanie układu..
    Co do schematu - ewidentny brak kondensatorów blokujących.. co najmniej 2 na atmegę, 1 na zegar, 2 na stabilizator - po jednym z każdej strony. Co do stabilizatora - brakuje tu wogóle kondensatorów... Jak elektronika ma pracować, jak stabilizator nie ma w czym magazynować energię? Spadek napięcia na wejściu stabilizatorora (chociaż by z powodu przekaźników) i już wachania napięcia na mikrokontrolerze... Ja na ogół przed stabilizatorem daje 1000uF, za nim 100uF.
  • REKLAMA
  • #10 4361240
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    BoskiDialer napisał:
    Co do schematu - ewidentny brak kondensatorów blokujących.. co najmniej 2 na atmegę, 1 na zegar, 2 na stabilizator - po jednym z każdej strony. Co do stabilizatora - brakuje tu wogóle kondensatorów... Jak elektronika ma pracować, jak stabilizator nie ma w czym magazynować energię? Spadek napięcia na wejściu stabilizatorora (chociaż by z powodu przekaźników) i już wachania napięcia na mikrokontrolerze... Ja na ogół przed stabilizatorem daje 1000uF, za nim 100uF.


    Czyli mam rozumieć ze

    12V ------- 1000uF -------- stabilizator

    stabilizator ------ 100uF -------- 5V

    i rozumiem ze pierwszy to 1000uF na 12V, i 100uF 5V, może głupie ale wole się upewnić ;)

    i gdzie miałbym dodać kondensator na zegar czy może chodziło Ci o ten co mam? i jakie wartości? To wszystkie, czy jeszcze gdzieś wymagałoby?

    pozdrawiam
  • #11 4361248
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    Wszystkie kondensatory o których mówiłem wpina się pomiędzy przewód zasilający a masę... a ten co masz na schemacie to tylko po to, żeby ruszyć kwarc zegarkowy i żeby pracował w miarę stabilnie. Co do "pierwszego" i "drugiego" tak.. ten większy przed stabilizatorem, czyli do 12V.. tam będą największe zakłócenia (głównie z zasilacza i przekaźników).
  • Pomocny post
    #12 4361277
    majekw
    Poziom 13  
    Posty: 40
    Pomógł: 5
    No i nie zapomnij o tych 100nF o których pisał Boski:
    - dwa tuż przy nogach stabilizatora (0.33uF od wejścia, 100nF przy wyjściu)
    - jeden 100nF tuż przy nogach zasilających megę
    - jeden 100nF dla pcf
    - jeden 100nF dla wyświetlacza
    Kondensatory powinny być wpięte jak najbliżej nóżek zasilających danych układów.
  • #13 4362398
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    Hmm zmieniłem układ dodając owe kondensatory i wygląda jak na schemacie

    Atmega32 - brak reakcji po ponownym podłączeniu zasilania, wyświetlacz LCD

    No ale niestety to wogóle nie chce działać. Napięcie zamiast 5V jest 2,5V. Czy ja coś źle zrozumiałem albo źle podłączyłem?
  • #14 4362409
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    "Wszystkie kondensatory o których mówiłem wpina się pomiędzy przewód zasilający a masę" a nie w przewody zasilające! Czyli bierzesz poprzedni schemat, a kondensatory wpinasz pomiędzy GND a VCC przy medze, AVCC i AGND przy medze, VSS i VDD przy pfc, pomiędzy VI i GND przy stabilizatorze, VO i GND przy stabilizatorze..
  • #15 4362451
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    ahaaaa takie coś... to w takim razie czy kondensator 22p przy zegarze mam dobrze podłączony?

    poprawka schematu

    Atmega32 - brak reakcji po ponownym podłączeniu zasilania, wyświetlacz LCD
  • Pomocny post
    #16 4362466
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    tak.. tamten kondensator jest dobrze podłączony
  • #17 4364374
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    zrobiłem poprawkę i działa jedna z dwóch Atmeg.
    Ale pal licho, pewnie sie spaliła jakoś ta druga.
    Tylko ze jakoś i Atmega8515 również zgłupiała. Wkładam do programatora gdzie jest MOSI, MISO, SCK, RESET, VCC i GND i skasuje programatorem ze jest czyściutki... i mimo to na portach pokazuje napięcie około 0,6V, a na PA0 to i 4V.
    Pewnie też coś popalony.
  • #18 4364820
    majekw
    Poziom 13  
    Posty: 40
    Pomógł: 5
    Wyjmij procek i sprawdź czy na tym PA0 dalej jest 4V. Jak nie będzie, to masz coś z prockiem. Jak będzie, to możliwe, że tranzystor Ci się przebił. Tak wogóle, to jakie tranzystory tam zastosowałeś?
  • #19 4365020
    Gimitar
    Poziom 11  
    Posty: 35
    Ocena: 2
    Jak wyjmnę procesor to tam nie ma napięcia czyli 0V.
    Jak podepnę do Atmegi8515 tylko zasilanie i GND, to on daje 4V na PA0 i 0,6V na reszcie nóżek mimo ze jest skasowany.

    A tranzystory to BC547B.

    A dodam jeszcze ze napięcie wyjściowe na stabilizatorze po dołączeniu tych kondensatorów wynosi 4,98V więc jest dobrze :-)

Podsumowanie tematu

✨ Problem dotyczył mikrokontrolera Atmega32, który po odłączeniu i ponownym podłączeniu zasilania przestał działać poprawnie – na wyświetlaczu LCD pojawiały się pełne kwadraciki, a programowanie i odczyt mikrokontrolera stały się niemożliwe. Druga Atmega32 zachowywała się podobnie po reprogramowaniu i ponownym zasileniu. Podejrzewano błędy w kodzie, zwłaszcza przy dodaniu obsługi TWI, oraz problemy z zasilaniem i połączeniami. Wskazano na możliwe zwarcia lub przerwy w masie, niewłaściwe ustawienia fusebitów oraz nieprawidłowe podłączenie kontrastu LCD (V0 do masy zamiast przez potencjometr). Dyskusja zwróciła uwagę na konieczność stosowania kondensatorów filtrujących (blokujących) przy mikrokontrolerze, stabilizatorze i innych elementach, aby stabilizować napięcie zasilania i eliminować zakłócenia, szczególnie przy użyciu zasilacza komputerowego i przekaźników 12V. Zalecano kondensatory elektrolityczne 1000µF przed stabilizatorem i 100µF za nim oraz kondensatory ceramiczne 100nF blisko nóżek zasilających układów. Podkreślono, że reset mikrokontrolera można podciągnąć do VCC przez rezystor (np. 2,2kΩ), co poprawia stabilność sygnału reset. Po wprowadzeniu kondensatorów i poprawkach jedna z Atmeg zaczęła działać poprawnie, druga prawdopodobnie uległa uszkodzeniu. Podobne problemy zaobserwowano z Atmegą8515, gdzie mimo skasowania programu na portach pojawiały się napięcia, co sugerowało uszkodzenie układu. Wskazano na konieczność sprawdzenia tranzystorów BC547B oraz poprawnego podłączenia kondensatorów i stabilizatora, aby zapewnić stabilne napięcie 5V.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA