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

Błąd przy używaniu Arduino Leonardo jako ISP dla Atmegi 328P

Łazarz22 07 Kwi 2017 20:30 1809 17
  • #1 16398711
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Witam.
    Chciałem działając wg tego poradnika http://www.instructables.com/id/Arduino-Leonardo-as-Isp/ używając Arduino Leonardo (oryginalne) jako ISP zaprogramować Atmegę 328P, jednak podczas wypalania bootloadera za każdym razem wyskakuje mi ten błąd:
    Cytat:
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x03
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x03

    i tak aż do
    Cytat:
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x03
    Błąd przy wgrywaniu bootloadera.

    Po dwóch dniach bezskutecznego szukania rozwiązania po internecie zdecydowałem się napisać, liczę na szybką pomoc. Chciałbym również dodać że jestem początkujący jeśli chodzi o Arduino i elektronikę w ogóle.
    Pozdrawiam.
  • Pomocny post
    #2 16398897
    Zdzicho
    Poziom 25  
    Posty: 551
    Pomógł: 77
    Ocena: 71
    Rozumiem że szkic ArduinoISP do modułu Leonardo wgrało się poprawnie, w narzędziach wybrałeś Programator: Arduino as ISP i podłączyłeś prawidłowo SPI z dodatkowym kondensatorem 0,1uF pomiędzy Reset i +5V na module Leonardo ?
  • #3 16398945
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Szkic ArduinoISP wgrał się i ustawienia zostały wybrane prawidłowo, jednak nie próbowałem podłączać kondensatora pomiędzy Reset i +5V. Najbliższą wartością do 0,1uF jaką obecnie dysponuję to 0,47uF. Da radę czy jednak kupić 0,1uF?
  • Pomocny post
    #4 16399350
    Konto nie istnieje
    Konto nie istnieje  
  • Pomocny post
    #5 16399576
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2206
    Łazarz22 napisał:
    Szkic ArduinoISP wgrał się i ustawienia zostały wybrane prawidłowo, jednak nie próbowałem podłączać kondensatora pomiędzy Reset i +5V. Najbliższą wartością do 0,1uF jaką obecnie dysponuję to 0,47uF. Da radę czy jednak kupić 0,1uF?


    Pomiędzy Reset a Vcc nie dawaj żadnego kondensatora, to może skutecznie zablokować jakiekolwiek programowanie. Reset zostaw wolny.
  • #6 16399771
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Już mam ten kondensator 0,1uF i teraz pytanie: wpinać go czy nie? Pomiędzy reset a +5V mam wpięty rezystor 10k jak na poradniku.
  • #7 16399793
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2206
    Reset w AVR ma wewnętrzne podciąganie do Vcc przy pomocy rezystora ok. 20 kOm. Zewnętrzne nie jest więc potrzebne i jest zalecane wyłącznie w środowisku o dużych zakłóceniach. Sam rezystor 10 k nie powinien przeszkadzać, ale dodanie kondensatora powoduje, że programator może mieć kłopot. W takim układzie czas aktywacji reset ulega wydłużeniu i niektóre programatory mają z tym problem. Także biorąc pod uwagę, że ten układ RC zapewne nic ci nie pomoże, jako zbędny bym go usunął. Co oczywiście nie znaczy, że to akurat on jest źródłem twoich kłopotów. Jak rozumiem w końcu udało ci się wgrać bootloader. Obserwowany problem jak sądzę (nie używam AVRDude) wynika z problemów z komunikacją z AVR. Aby AVR weszło w tryb programowania nadaje się specjalną sekwencję synchronizującą. Być może za długie przewody, podłączone pod linie ISP inne elementy, m.in. kondensatory, powodują problemy.
  • #8 16399805
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Jeszcze nie udało mi się wgrać bootloadera do Atmegi, usunięcie rezystora nic nie dało, spróbuję wymienić przewody na krótsze i pokombinować z kondensatorami o tej samej wartości.

    Dodano po 45 [minuty]:

    Próbowałem wymienić kondensatory pracujące z rezonatorem, wymieniłem kable na jak najkrótsze, oraz wpiąłem kondensator pomiędzy reset i +5V (wcześniej próbowałem bez niczego pomiędzy resetem a +5V) jednak nic to nie dało. Dioda RX podczas prób wgrania bootloadera miga w odstępach około 8 sekundowych, TX jest cały czas zgaszona. Czy nie powinny one podczas jakiś operacji migać z dość dużą częstotliwością?
  • #9 16402097
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Kolejny dzień szukania rozwiązania za mną, próbowałem wgrać bootloader z kondensatorami 100nF pomiędzy +5V a masą (jak wg niektórych poradników powinno się robić), na innej Atmedze 328P oraz innym komputerze. Za każdym razem jednak wyskakuje ten sam błąd o tej samej treści jak na początku. Czy ktoś ma jeszcze jakieś sugestie/porady?
  • #10 16402200
    Konto nie istnieje
    Konto nie istnieje  
  • #12 16402705
    tmf
    VIP Zasłużony dla elektroda
    Posty: 14318
    Pomógł: 2090
    Ocena: 2206
    2*TAK. Co do resetu, to nie wiem ile razy trzeba ci napisać, żebyś nic tam nie podłączał oprócz programatora, żebyś uwierzył. Pokaż kompletny schemat układu, może coś z tego wyniknie. Obawiam się, że coś jeszcze masz podłączone pod ISP, stąd problem.
  • #13 16403268
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Posługiwałem się tym schematem (który jest zresztą w poradniku), oczywiście również w wersji bez rezystora ani kondensatora na resecie.

    Błąd przy używaniu Arduino Leonardo jako ISP dla Atmegi 328P
  • #14 16406204
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Witam, chciałem wrócić do tematu. Kupiłem wspomniany wyżej programator USB ASP za pomocą którego próbowałem wgrać poprzez Arduino IDE bootloader na Atmegę 328P. W nowszych wersjach Arduino IDE (od 1.6.10. w górę) nie rozpoznawało urządzenia (mimo wgranych wcześniej sterowników), w Arduino 1.6.9. zaczęło go wykrywać ale wyskakuje mi ten błąd za każdym razem:

    Cytat:
    Arduino:1.6.9 (Windows 7), Płytka:"ATmega328, 328P / 328PA, 2.7v, Enabled, 16 MHz external"

    avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58
    Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
    Copyright (c) 2007-2009 Joerg Wunsch

    System wide configuration file is "C:\Users\nazwaużytkownika\AppData\Local\Arduino15\packages\MiniCore\hardware\avr\1.0.3/avrdude.conf"

    Using Port : usb
    Using Programmer : usbasp
    AVR Part : ATmega328P
    Chip Erase delay : 9000 us
    PAGEL : PD7
    BS2 : PC2
    RESET disposition : dedicated
    RETRY pulse : SCK
    serial program mode : yes
    parallel program mode : yes
    Timeout : 200
    StabDelay : 100
    CmdexeDelay : 25
    SyncLoops : 32
    ByteDelay : 0
    PollIndex : 3
    PollValue : 0x53
    Memory Detail :

    Block Poll Page Polled
    Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
    ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
    eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
    flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
    lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
    hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
    efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
    lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
    calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
    signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

    Programmer Type : usbasp
    Description : USBasp, http://www.fischl.de/usbasp/

    avrdude: auto set sck period (because given equals null)
    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
    Błąd przy wgrywaniu bootloadera.
    this check.


    avrdude done. Thank you.


    Sprawdzałem połączenia już kilkukrotnie, działałem wg tego poradnika: https://www.youtube.com/watch?v=sGnG5iFdMsQ
    Schemat którym się posługiwałem był taki sam jak w przypadku Leonardo, z tą różnicą że wyjścia MOSI, RST, SCK I MISO były oczywiście podłączone pod wyjścia programatora USB ASP. Ma ktoś może jakieś pomysły?
  • #15 16406225
    Konto nie istnieje
    Konto nie istnieje  
  • #16 16406492
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Dysponujesz może linkiem do jakiegoś poradnika do tego programu? Będę go używał pierwszy raz, a nie wiem co i jak.
  • #18 16408791
    Łazarz22
    Poziom 7  
    Posty: 24
    Ocena: 6
    Okej, udało mi się w końcu wgrać bootloader i to przez Arduino IDE za pomocą USB ASP. Nie musiałem nawet używać avrdude, wystarczyło ustawić odpowiednią zworkę na programatorze ISP, tutaj jej opis:
    Cytat:
     J2 (SLOW)
     zwarta - tryb SLOW SCK do programowania procesorów taktowanych z
    częstotliwością poniżej 1,5 MHz (wymagany przy programowaniu fabrycznie
    nowych mikrokontrolerów)
     rozwarta - tryb normalnej pracy


    Dzięki wielkie wszystkim którzy poświęcili swój czas na pomoc.

Podsumowanie tematu

LABEL_AI_GENERATED
Użytkownik próbował użyć Arduino Leonardo jako programatora ISP do wgrania bootloadera na Atmegę 328P, napotykając problemy z komunikacją i błędy podczas programowania. W odpowiedziach zasugerowano poprawne podłączenie, w tym użycie kondensatora 0,1uF między Reset a +5V, jednak niektórzy doradzili, aby nie stosować kondensatora, ponieważ może to blokować programowanie. Po wielu próbach i wymianie przewodów, użytkownik zdecydował się na zakup programatora USB ASP, który ostatecznie umożliwił mu wgranie bootloadera przez Arduino IDE, bez potrzeby korzystania z avrdude.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA