Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[ATmega168] Brak komunikacji z kontrolerem

ham3r 18 Lut 2013 23:29 1746 20
  • #1 18 Lut 2013 23:29
    ham3r
    Poziom 8  

    Witam,

    jako całkowicie początkujący w mikrokontrolerach - jak zwykle, mam problem (a tego słowa nie wolno używać w tytule).
    Zakupiłem Atmegę168, zaprogramowałem programem (wsadem) typu miganie diodą (który sam napisałem), wszystko OK. Kolejna próba się nie powiodła... AVRdude wywalił błąd sygnatury/błąd komunikacji. I tak zostało.
    Z powodu braku siły na tą sztukę, kupiłem drugą Atmegę - może będzie lepiej...
    Oczywiście po którymś tam razie stało się podobnie.

    Atmegi programowałem przy użyciu programatora USBasp z allegro (lub czasami przez Arduino Uno).
    Zasilanie filtrowane było przez kondensator 100nF, pomiędzy AVCC a GND również był kondensator - 10 uF. Pomiędzy RESET a GND wstawiłem rezystor 10k.

    Aktualna odpowiedź AVRdude na próbę wrzucenia programu (w trybie slow):

    1. Atmega:

    Code:
    avrdude: error: programm enable: target doesn't answer. 1 
    
    avrdude: initialization failed, rc=-1
             Double check connections and try again, or use -F to override
             this check.


    2. atmega

    Code:
    avrdude: AVR device initialized and ready to accept instructions
    

    Reading | ################################################## | 100% 0.02s

    avrdude: Device signature = 0x000102
    avrdude: Expected signature for ATMEGA168 is 1E 94 06
             Double check chip, or use -F to override this check.


    Nadmienię, iż ATtiny13 oraz 2313V programują się pięknie i z nimi problemu żadnego jak nie było, tak nie ma.

    Wszystkie kontrolery pracują na wewnętrznym oscylatorze, przy napięciu 3V3 lub 5V (w zależności od programatora).

    Co robię nieprawidłowo? :|

    0 20
  • #2 19 Lut 2013 06:44
    Steryd3
    Poziom 31  

    ham3r napisał:
    Pomiędzy RESET a GND wstawiłem rezystor 10k.


    Z tego co wiem AVRy resetowane są stanem niskim czyli przypięcie nóżki RESET do masy ustawia mikrokontroler w stan permanentnego resetu.
    Powinno być do +5V a nie do GND.

    0
  • #3 19 Lut 2013 11:46
    ham3r
    Poziom 8  

    Czy taki sposób połączenia, jaki przedstawiłem wcześniej mógł uszkodzić kontroler na stałe?
    Próbowałem połączyć z VCC, jednak sytuacja jest podobna..

    0
  • #4 19 Lut 2013 12:33
    tmf
    Moderator Mikrokontrolery Projektowanie

    Wyrzuć rezystor, sprawdź jeszcze raz połączenia. Przy napięciu 3,3V USBasp ma prawo szaleć, jeśli nie ma translatora poziomów. Niestety to co tanie nie jest zwykle najlepsze, ani nawet dobre. Problemem też może być długość połączeń pomiędzy programatorem a mikrokontrolerem. Ile cm ma taśma łącząca?

    0
  • #6 19 Lut 2013 12:51
    ham3r
    Poziom 8  

    Taśma ma około 40 cm. Mikrokontroler znajduje się na płytce prototypowej.
    AVCC jest podłączone bezpośrednio do VCC, RESET (przez rezystor) również.

    Aktualnie wygląda na to, jakby kontroler był "pusty", nie zmienia stanów na różnych pinach.

    Nie mam pojęcia jak zrobić schemat... w eagle nie ma defaultowo atmegi168..

    0
  • #8 19 Lut 2013 13:41
    ham3r
    Poziom 8  

    [ATmega168] Brak komunikacji z kontrolerem

    Wybaczcie za błędy, ale pewnie jako początkujący robię ich pełno.

    0
  • #10 19 Lut 2013 13:46
    ham3r
    Poziom 8  

    No tak, nie zapisałem projektu - R1 jest jeszcze podciągnięty do VCC.

    Tak, aktualnie tak to wygląda.. próbowałem nawet bez tego C1, nic to nie daje..
    Rozumiem, że kondensatorów nie wolno podłączać szeregowo?

    0
  • #12 19 Lut 2013 13:51
    paavo91
    Poziom 19  

    W tym przypadku kondensator stanowi przerwę dla prądu stałego i nie dochodzi prąd do procka.

    Łączenie kondensatorów szeregowo czy równolegle to nie Twój problem w tej chwili ;)

    R1 masz podciągnięte do VCC? Ok ale czy sygnał reset idzie do programatora tak jak na schemacie? Jeśli tak to masz na stałe VCC na resecie. Podepnij go przed rezystorem czyli jak najbliżej procesora.

    0
  • #13 19 Lut 2013 13:57
    ham3r
    Poziom 8  

    Oczywiście, RESET programatora jest przed rezystorem, blisko ATmegi. Jakby był podciągnięty (bezpośrednio) do VCC to bym nie otrzymywał żadnej odpowiedzi..

    0
  • #14 19 Lut 2013 14:00
    Steryd3
    Poziom 31  

    Powinno to wyglądać mniejwięcej tak:
    [ATmega168] Brak komunikacji z kontrolerem

    Inny procek AVR ale zasady te same.

    0
  • #15 19 Lut 2013 14:00
    paavo91
    Poziom 19  

    Zasilałeś tą atmege z +5V?

    0
  • #16 19 Lut 2013 14:02
    ham3r
    Poziom 8  

    Tak, gdy próbuję programować ją przez Arduino jako ISP, zasilam ją napięciem 5V.

    0
  • #18 19 Lut 2013 15:15
    Steryd3
    Poziom 31  

    piotrva napisał:
    @Steryd3: kondensator na rst niepotrzebny.

    Wiem, że jest nadmiarowy i nic nie wnosi (chyba go nawet nie wlutowywałem). To był łapnięty pierwszy lepszy fragment schematu z AVRem.

    0
  • #19 19 Lut 2013 17:25
    dondu
    Moderator Mikrokontrolery Projektowanie

    Steryd3 napisał:
    Kondensator ... chyba go nawet nie wlutowywałem

    Chyba? Z takim podejściem do elektroniki daleko nie zajdziesz :)

    @ham3r

    1. Zobacz najczęściej pojawiające się przyczyny problemów z zaprogramowaniem: http://mikrokontrolery.blogspot.com/2011/04/problemy-z-zaprogramowaniem.html

    2. Pokaż schemat jak faktycznie masz podłączony. Choćbyś go miał na kartce narysować i wrzucić zdjęcie.

    3.Pokaż także zdjęcia abyśmy mogli sprawdzić, czy faktycznie podłączasz zgodnie ze schematem.

    0
  • #20 19 Lut 2013 18:00
    Steryd3
    Poziom 31  

    dondu napisał:
    Chyba? Z takim podejściem do elektroniki daleko nie zajdziesz :)

    Uwielbiam takich miłych panów którzy wiedzą gdzie zajdę i gdzie zaszedłem. Dobre rady zawsze w cenie-takie uwagi nie koniecznie. Podesłałem na szybko schemat koledze który był wycinkiem większej całości by tylko zobrazować przykładowe połączenie. Jak Cię bardzo interesuje to jako doświadczony inżynier elektronik wiesz, że gdy projektuje się prototyp PCB to często zakłada się miejsce na elementy które mogą nigdy się na tej płycie nie pojawić.

    0
  • #21 19 Lut 2013 18:05
    dondu
    Moderator Mikrokontrolery Projektowanie

    Oj, nie miałem zamiaru Ciebie w żaden sposób obrazić, dlatego pojawił się uśmieszek na końcu tego zdania. Na forum nie wszystko należy traktować ze śmiertelną powagą. Dlatego przepraszam, jeżeli odebrałeś to jako przytyk.

    Oczywiście, że tak się robi jak piszesz. To powszechna i warta stosowania praktyka.

    0