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

ATmega 328-PU i USBasp - Brak połączenia po wgraniu bootloadera Arduino

radwan92 19 Kwi 2014 19:33 2184 11
REKLAMA
  • #1 13525717
    radwan92
    Poziom 10  
    Jestem początkującym o zerowej wiedzy z zakresu mikrokontrolerów. Zakupiłem sobie ATmege 328-PU oraz programator USBasp. Programowanie chciałem przeprowadzić przy pomocy WinAVR. Instalacja sterowników i oprogramowania przebiegła bez żadnych problemów (Windows 7 x64). Niestety podczas próby wgrania programu na mikrokontroler:
    ATmega 328-PU i USBasp - Brak połączenia po wgraniu bootloadera Arduino

    Mam zdjęcia układu i połączeń, ale nie wiem czy problem leży w połączeniu czy...
    No cóż, zanim jeszcze dostałem programator, zdążyłem na ową atmegę wgrać bootloader poprzez Arduino (dokładnie wg. tego przepisu: Przepis
    Czy to że nie mogę się połączyć z atmegą jest spowodowane wgranym bootloaderem? (I ewentualnie czy jestem w stanie to naprawić, bez arduino jeżeli to możliwe)
  • REKLAMA
  • #2 13525808
    mi14chal
    Poziom 28  
    A zworka SLOW_SCK założona? Pokaż schemat połączenia.
  • REKLAMA
  • #3 13526047
    radwan92
    Poziom 10  
    Próbowałem zarówno ze SLOW SCK jak i bez. Co do schematu - nie wiele do pokazania, bezpośrednie połączenia programator-uC: MOSI, MISO, SCK, RESET, VCC (zarówno do VCC jak i AVCC), GND do obu GND

    ATmega 328-PU i USBasp - Brak połączenia po wgraniu bootloadera Arduino
  • #4 13526109
    KrisH
    Poziom 14  
    Spróbuj podłączyć kwarc z kondensatorami ( może są ustawione fusy na gen. zewnętrzny?)
    I potem jeszcze sprawdź czy to 328 czy 328P, bo jest różnica dla avrdude.
  • #5 13526151
    radwan92
    Poziom 10  
    Schemat:

    ATmega 328-PU i USBasp - Brak połączenia po wgraniu bootloadera Arduino

    Co do kwarcu zewnętrznego - też już próbowałem, dokładnie wg tego połączenia:

    ATmega 328-PU i USBasp - Brak połączenia po wgraniu bootloadera Arduino
    Kwarc 16, kondensatory 22pF

    Niestety, też nie rusza. I jest to ATmega 328. Wiem że były problemy we wcześniejszych wersjach AVRdude, ale najnowsza wersja wspiera zwykłą 328-ke
  • #7 13526194
    radwan92
    Poziom 10  
    Wykonałem zalecane podłączenie - dalej nic :/
    Napięcie na RESET jest, na VCC oczywiście też.
  • REKLAMA
  • #8 13526251
    KrisH
    Poziom 14  
    Coś mi się nie zgadza. Raz rysujesz atmegę PU-28pin DIP a raz AU-32pin PQFP;
    obie mają inne rozmieszczeni pinów/portów.
  • #9 13526260
    radwan92
    Poziom 10  
    Faktycznie, nie zauważyłem. W pierwszym schemacie powinna być 328-PU. Atmega raczej sprawna, bo wgrywanie wspomnianego w pierwszym poście bootloadera poszło bez problemów. Zastanawiam się czy problem nie leży w programatorze, tzn. żaden programator na allegro (z tych poniżej ~30zł) nie obsługiwał 328, jedynie 328P. Tylko ten jeden, w dodatku najtańszy ze wszystkich, miał na liście wspieranych uC zwykłą 328.

    ATmega 328-PU i USBasp - Brak połączenia po wgraniu bootloadera Arduino
  • REKLAMA
  • Pomocny post
    #10 13526437
    KrisH
    Poziom 14  
    No to ostatnie strzały:
    -sprawdź czy na pewno dochodzi masa ( połączenie programator-procesor najlepiej połączyć razem wszystkie piny masy 4,6,8,10 );
    -potem jeżeli na pewno wszystkie połączenia są w porządku (masa-masa, Vcc-Vcc, MOSI-MOSI itp.) czy nie są np. odwrócone/zamienione,
    -przejdź do katalogu w którym masz avrdude.exe odpal w nim konsolę "cmd"
    i "z ręki" uruchom:
    avrdude -pm328 -c usbasp -P usb -B 8 -Uflash:w:twoj_plik.hex:a

    parametr -B xxxx to spowolnienie zapisu do Atmegi-można trochę poeksperymentować.
    "twoj_plik.hex" to wsad do procesora -najlepiej tymczasowo skopiować go do katalogu w którym jest avrdude.

    Jest jeszcze możliwość, że programator ma jakiś np. stary soft. Nie wiem też czy to nie jest przypadkiem wina 64-bitowej wersji okien.
  • #11 13526691
    radwan92
    Poziom 10  
    Sprawdziłem wszystkie połączenia - wszystkie są sprawne. Zwarłem wszystkie masy na wyjściu programatora. Wszystkie testy prowadziłem na zalecanym układzie z wcześniej podanej strony - z kondensatorami, dławikiem i RESETem od VCC przez rezystory. Próbowałem ze SLOW SCK jak i bez, z kwarcem jak i bez. Ręcznie odpalane AVRdude jak zalecono. Niestety, bezskutecznie jak dotąd. Zaraz spróbuje odinstalować sterowniki i ponownie zainstalować w trybie instalacji sterowników bez podpisu.

    Dodano po 29 [minuty]:

    Niespodziewanie, ruszyło. Po przeinstalowaniu sterowników w trybie pominięcia sprawdzania podpisów. Dokładne czynności i ustawienie wygląda następująco:

    -WinAVR 20100110 z nadpisanym AVRdude 6.2
    -USBasp windriver z 2011-05-08 instalowany w trybie pominięcia podpisów cyfrowych (F8 przy starcie systemu)
    -Układ jak w Wersji 2 tutaj
    ATmega 328-PU i USBasp - Brak połączenia po wgraniu bootloadera Arduino
    Z drobną zmianą - twórca układu zaleca rezystor 4,7k ~ 10k na RESET, u mnie z 8,1k ani rusz. Dopiero po podpięciu wyjścia RESET z programatora ruszyło.

    - Dodatkowo układ chodzi na "zewnętrznym" kwarcu - bez niego ani rusz (16Mhz, 2x kondensator ceramiczny 22pF - schemat w poprzednich wypowiedziach)
    - Działa zarówno na SLOW SCK jak i bez

    Bardzo dziękuję za pomoc i wytrwałość.
  • #12 13531018
    KrisH
    Poziom 14  
    Tak to czasem bywa w elektronice skrzyżowanej z informatyką- zwykle działa ale czasem nie i nie wiadomo dlaczego.
REKLAMA