Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[ATMega8A][USBASP] - Mikrokontroler nie odpowiada/ nie programuje się.

tolinsqy 27 Nov 2012 20:20 1539 2
Altium Designer Computer Controls
  • #1
    tolinsqy
    Level 10  
    Otóż mam następujący problem- zaprojektowałem sterownik serw (8 serw+ kilka dodatkowych cech, jak odczyt adc z potencjometrów tych serwomechanizmów + dwa wolne piny).
    Płytki wytrawione (pokryte później pseudo-soldermaską : tą samą folią, którą używałem przy wytrawianiu metodą fotochemiczną)i polutowane. Tuż przed podłączeniem zauważyłem, że gniazdo programowania przylutowane nie z tej strony - cóż będę podłączał każdy pin niezależnie.
    I tu zaczyna się problem. Po podłączeniu i próbie odczytania czegokolwiek, otrzymuję komunikat od avrdude, że mikrokontroler nie odpowiedział:
    Quote:
    avrdude: error: programm enable: target doesn't answer. 1
    avrdude: initialization failed, rc=-1

    Sprawdziłem połączenia między poszczególnymi pinami mikrokontrolera i odpowiednimi goldpinami, a nawet między pinami mikrokontrolera, a pinami gniazda w programatorze. I jeśli MOSI to pin 1 oraz czerwony kabelek to wszystko się zgadza, tu zdjęcie połączeń:
    [ATMega8A][USBASP] - Mikrokontroler nie odpowiada/ nie programuje się.
    Sprawdziłem programator i ATMega32 na płytce startowej odpowiada (i czyta fusebity, dalej już nie sprawdzałem).

    Niestety nie mam pojęcia co może być źle. Mam dwie identyczne płytki i obie nie działają. Napięcia VCC i GND poprawne (AVCC OK, jedynie 3,6V na Aref pierwszej atmegi i 0.2V na Aref drugiej mnie dziwi), na pozostałych pinach napięcia dość losowe, ale to normalne raczej. Układ zasilany z programatora.

    Do głowy przychodziło mi kilka rzeczy (choć ich jeszcze nie sprawdziałem):
    -rezystor 4.7K na resecie za mały - raczej nie, 4.7K jest rekomendowany przez atmela (choć wola/"favour" 10K), zresztą mam identyczny w innym układzie z ATMegą48 i działa.
    -brak kondensatora 100n przy RESET - możliwe, acz zrobiłem i widziałem działające układy bez.

    W akcie desperacji odlutowałem xtala- oczywiście nic.
    Niestety nie pozostaje mi nic jak krzyczeć POMOCY!

    W załączniku eagle.
    EDIT: Poprawiłem jeden lut w jednym z dwóch wykonanych sterowników i układ zaczął odpowiadać. Niestety drugi nadal nie działa, mimo że wszystkie piny sprawdziłem od góry do dołu (ciągłość obwodu od nasady pinu w TQFP, aż po goldpin, tak by mieć pewność, że luty są dobre). Jedyna różnica to napięcia na pinach ARef... oraz inna rezystancja pinu SCK do GND (w działającym wynosząca 780R, tak jak na MISO,MOSI,RST, w niedziałającym 670R na SCK i 780 na pozostałych wymienionych)
  • Altium Designer Computer Controls
  • Helpful post
    #2
    Gienek
    Level 37  
    Jak byś mi wyjaśnił jak podajesz GND na 3 i 5 pin procesora, to może bym coś mógł powiedzieć. Na płytce nie widzę żadnego połączenia - być może robisz to jakimś przewodem?
  • #3
    tolinsqy
    Level 10  
    Gienek wrote:
    Jak byś mi wyjaśnił jak podajesz GND na 3 i 5 pin procesora, to może bym coś mógł powiedzieć. Na płytce nie widzę żadnego połączenia - być może robisz to jakimś przewodem?


    Projekt się okazał poprawny (jeden z układów działa), ale odpowiadając na pytanie- przelotka do warstwy BOTTOM i tam do polygonu masy (powinno być widać w eaglu, po wciśnięciu ratsnest, jeśli nie to to strasznie dziwne bo właśnie patrze na to połączenie).

    Cóż pozostaje kwestia dlaczego jeden układ działa, a drugi nie, tzn. goni mnie czas i nie wiem czy zamawiać części od nowa i marnować cały dzień, czy marnować cały dzień na poprawianie płytki i sprawdzanie każdego kawałka miedzi po lupą i mieć nadzieje, że to ATMega nie jest popsuta.

    EDIT:
    Oba układy działają, w drugim układzie winnym okazał się wadliwy dławik na AVCC, wymiana na nowy rozwiązała problem.
    Trochę głupio, że męczyłem się z tym cały dzień, stworzyłem temat na elektrodzie, zmarnowałem czas kilku czytających, tylko po to by 15 min później zamknąć temat, bo dziwnym trafem rozwiązałem akurat problem.
    Nauczka taka, żeby nie ufać "kontroli ciągłości obwodu" w mierniku (pierwszy układ) i uważać na dławiki :D

    Mimo wszystko dzięki za pomoc Gienek.