Why does uploading Grbl to my Arduino Uno clone fail with `avrdude: stk500_recv(): programmer is not responding` even though Blink and other sketches upload normally?
Jeśli Blink wgrywa się bez problemu, a Grbl kończy się `stk500_recv(): programmer is not responding`, to problem nie wygląda na sterowniki ani port COM, tylko na konkretną płytkę lub jej komunikację z bootloaderem [#18124408] W tej dyskusji wgranie nowego bootloadera nie zmieniło sytuacji, a na drugim Uno wszystko wgrywało się poprawnie, więc winna okazała się wadliwa pierwsza płytka / ATmega328P [#18124408] Wcześniej sugerowano też sprawdzenie krótkiego innego kabla USB oraz upewnienie się, że nic nie siedzi na pinach 0 i 1 (Rx/Tx), bo takie rzeczy potrafią zrywać transmisję przy końcu uploadu [#18114757][#18110845] Jeśli XLoader też nie wgrywa HEX-a, to nie jest to problem samego szkicu Grbl ani konfiguracji IDE, tylko nadal problem z tą konkretną płytką lub jej połączeniem [#18114713]
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
In file included from sketch\grblUpload.ino.cpp:1:0:
D:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:123:0: note: this is the location of the previous definition
#define bit(b) (1UL << (b))
^
Szkic używa 29868 bajtów (92%) pamięci programu. Maksimum to 32256 bajtów.
Zmienne globalne używają 1484 bajtów (72%) pamięci dynamicznej, pozostawiając 564 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów.
Podczas ładowania szkicu wystąpił błąd
Ten raport powinien zawierać więcej informacji jeśli w
File -> Preferencje zostanie włączona opcja "Pokaż
szczegółowe informacje podczas kompilacji"
Sterowniki mam zainstalowane odpowiednie (ch340), w menadżerze urządzeń wykrywa pod com7, w programie ide mam ustawioną płytkę uno i port com 7, tak jak powinno być. Gdy wgrywam eeprom_clear wszytko ładuje się ok, przykładowe szkice też wgrywają sie ok, a grbl nie. Mam zrobione biblioteki grbl master tak jak powinno być tzn. folder grbl, który jest w grbl master przeniosłem do folderu z bibliotekami.
Nie mam pojęcia co mam już zrobić próbowałem różnych sposobów, klikanie reset podczas wgrywania, xloader też nie chcę załadować pliku grbl.hex.
Co może być przyczyną?
Dodam jeszcze, że podczas wgrywania na początku mrugają diody i po chwili gasną. Dioda on świeci się cały czas.
Używaj code do pokazywania komunikatów, niektóre zlepki znaków zostały zamienione na emotikony. W ustawieniach Arduino włącz pełne komunikaty podczas kompilacji i wgrywania, dowiesz się więcej. Spróbuj z innym UNO lub wgraj używając programatora, USBASP można mieć już za 5zł cierpliwie czekając na dostawę z Chin, w PL za 10 + koszt wysyłki.
@carrozzeria, zrób prosty test:
- podłącz swoje Adruino do komputera
- odpal Arduino IDE
- wybierz swoją płytkę w menu "narzędzia"
- przejdź do: plik -> przykłady -> basics -> blink i wgraj*
Tym sposobem sprawdzisz swój bootloader, połączenie z płytką etc.
*jeżeli wszystko będzie OK to dioda na płytce Arduino będzie sobie radośnie mrugać
Witam, to jest moje pierwsze zetknięcie z arduino.
Gdy chcę wgrać Grbl wywala mi błąd:
Szkic używa 29868 bajtów (92%) pamięci programu. Maksimum to 32256 bajtów.
Zmienne globalne używają 1484 bajtów (72%) pamięci dynamicznej, pozostawiając 564 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów.
Podczas ładowania szkicu wystąpił błąd
Z powyższego cytatu wynika że kompilacja szkicu została ukończona; chociaż z błędami (!), natomiast z ostatnieego komunikatu wynika drugi problem; - nawet tej błędnej kompilacji nie mozna wgrac. co zwykle świadczy o błednym wybraniu portu, albo samej płyty jeszcze przed kompilacją.
Wielkośc poprawnie skompilowanego szkicu winna wynosic 30204 bajtów zamiast twoje 29868....
Czy masz jakiś powód że samo Arduino jak i biblioteki masz zainstalowane w nie standardowych lokacjach? Jeżeli masz Windows 10 to dodatkowe biblioteki winny znajdowac się w innej lokacji niż to występuje u ciebie.
Byc moze niektóre pliki tej biblioteki (grbl) podczas jej installacji uległy uszkodzeniu, co tłumaczyłoby powód występowania błędów.
W normalnych (poprawnych) warunkach, kompilacja i wpisanie tego właśnie pliku trwa u mnie dokładnie (!) 21 sekund, z czego większośc czasu to kompilacja.
carrozzeria, zrób prosty test:
- podłącz swoje Adruino do komputera
- odpal Arduino IDE
- wybierz swoją płytkę w menu "narzędzia"
- przejdź do: plik -> przykłady -> basics -> blink i wgraj*
Tym sposobem sprawdzisz swój bootloader, połączenie z płytką etc.
*jeżeli wszystko będzie OK to dioda na płytce Arduino będzie sobie radośnie mrugać
Na samym początku napisałem, że przykładowe szkice wygrywają się bez problemu 🙂
Jeżeli prawidłowo zainstalujesz bibliotekę grbl to wszystko kompiluje się bez żadnego problemu, włącznie z wgrywaniem.
Biblioteki grbl mam zainstalowane w folderze programu IDE, oczywiście w library.
emarcus napisał:
Z powyższego cytatu wynika że kompilacja szkicu została ukończona; chociaż z błędami (!), natomiast z ostatnieego komunikatu wynika drugi problem; - nawet tej błędnej kompilacji nie mozna wgrac. co zwykle świadczy o błednym wybraniu portu, albo samej płyty jeszcze przed kompilacją.
Wielkośc poprawnie skompilowanego szkicu winna wynosic 30204 bajtów zamiast twoje 29868....
Czy masz jakiś powód że samo Arduino jak i biblioteki masz zainstalowane w nie standardowych lokacjach?
Jeżeli masz Windows 10 to dodatkowe biblioteki winny znajdowac się w innej lokacji niż to występuje u ciebie.
Byc moze niektóre pliki tej biblioteki (grbl) podczas jej installacji uległy uszkodzeniu, co tłumaczyłoby powód występowania błędów.
W normalnych (poprawnych) warunkach, kompilacja i wpisanie tego właśnie pliku trwa u mnie dokładnie (!) 21 sekund, z czego większośc czasu to kompilacja.
Płytkę mam wybraną Arduino uno, port taki jak w menadżerze urządzeń CH340. Biblioteka jest w standardowej lokalizacji, robiłem zgodnie z kilkoma poradnikami. Na komputerze mam wgranego Windows'a 7. Grbl ściągnąłem z strony "producenta" i nic w nim nie zmieniałem.
Biblioteki wgrywałem przez opcję programu IDE, a po wystąpieniu błędu przenosiłem sam folder grbl z folderu grbl_master do folderu library w arduino IDE i tak samo błąd występuje.
Biblioteki wgrywałem przez opcję programu IDE, a po wystąpieniu błędu przenosiłem sam folder grbl z folderu grbl_master do folderu library w arduino IDE i tak samo błąd występuje.
Jeżeli to prawda co piszesz, to wydaje się że tu będzie źródło twojego problemu...
1. W zasadzie nie ma absolutnego wymogu aby Arduino IDE był zainstalowany na dysku głównym w C:\Program Files (x86) lecz takie zalecenie istnieje.
2. Biblioteki (libraries) w tym środowisku mogą byc instalowane w dwóch miejscach (arduino je odnajduje)
Biblioteki, zawarte w pakiecie instalacyjnym (około 20) są instalowane do folderu ‘ arduino\libraries’ razem z innymi podczas instalacji IDE, natomiast dodatkowo doinstalowywane później, znajdują się w innej lokacji: w twoim/ (użytkownika) profilu; Documents\arduino\libraries. W Windows 7 pewnie będzie ‘My Documents\...
3. Zasadą jest, że każda biblioteka i towarzyszące jej pliki winny znajdowac się we wspólnym folderze o nazwie tej samej co biblioteka.
4. Nie jest absolutnie wymagane instalowanie bibliotek przez ‘Library Manager’, czy też’Add.Zip Library...; – można to robic samemu, co jednak może wprowadzic pewne błędy uniemożliwiające poprawną kompilację, szczególnie w Waszych systemach z 'koniecznością' P-literek (polskie ogonki). Arduino nic na ten temat nie wie.... i z tego tytułu może się niekiedy ‘gubic’.
Jeżeli pobrałeś z internetu skompresowany plik tej biblioteki (grbl-master.zip’). i po –unzip otrzymałeś całośc w folderze ‘grbl-master’; - możesz skopiowac tylko folder ‘grbl’ do folderu ‘My documents\arduino\libraries’ Nie ‘library’ (liczba mnoga, nie pojedyncza !).
Powinieneś otrzymac coś podobnego jak niżej:
Windows 10 jest bardziej rygorystyczny i nie zezwala na samowolne kopiowanie czegokolwiek do folderów systemowych.
A więc tak, odinstalowałem program, usunąłem wszystkie jego foldery, razem z tym w moich dokumentach. Usunąłem wszystkie pliki związane z grbl. Zainstalowałem program na głównym dysku potem zrobiłem wszystko zgodnie z tym filmikiem https://www.youtube.com/watch?v=m998bYioHqs&t=374s (dodam, że na tym filmiku widać w programie ide, że plik grbl zajmuje tyle samo miejsca na arduino co u mnie)
łącznie z pobraniem nowego pliku grbl, tak jak na filmiku. I znowu to samo
Szkic używa 29868 bajtów (92%) pamięci programu. Maksimum to 32256 bajtów.
Zmienne globalne używają 1484 bajtów (72%) pamięci dynamicznej, pozostawiając 564 bajtów dla zmiennych lokalnych. Maksimum to 2048 bajtów.
Podczas ładowania szkicu wystąpił błąd
Ten raport powinien zawierać więcej informacji jeśli w
File -> Preferencje zostanie włączona opcja "Pokaż
szczegółowe informacje podczas kompilacji"
Tym razem po przeczytaniu waszych komentarzy i obejrzeniu tego filmiku mam pewność, że wszystko zrobiłem dobrze, a jednak występuje błąd. Chyba gościu z tego filmu https://www.youtube.com/watch?v=HHF45zhe_9U&t=6s ma rację.
Próba numer dwa
Writing | ###############################################avrdude: stk500_recv(): programmer is not responding
#avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
Problem z wgrywaniem na płytkę. Sprawdź http://www.arduino.cc/en/Guide/Troubleshooting#upload w poszukiwaniu sugestii.
w programie ide mam ustawioną płytkę uno i port com 7,
carrozzeria napisał:
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf"
Using Port : COM10
W pierwszym poście piszesz, że wybrałeś port COM7, podczas gdy w ostatnim poście widać w logu COM10, jesteś pewien na którym porcie zgłasza Ci się UNO?
Czy do UNO które programujesz masz coś podłączone ? np. shield do silników krokowych ? bo zakładając, że sterowniki do ch340 masz dobrze zainstalowane i wiesz na jakim COM jest UNO, to wygląda, jakby do pinów Rx i Tx(0 i 1) było coś podłączone, co blokuje transmisję.
Czy do UNO które programujesz masz coś podłączone ? np. shield do silników krokowych ? bo zakładając, że sterowniki do ch340 masz dobrze zainstalowane i wiesz na jakim COM jest UNO, to wygląda, jakby do pinów Rx i Tx(0 i 1) było coś podłączone, co blokuje transmisję.
Nie mam nic podłączone.
khoam napisał:
carrozzeria napisał:
Writing | ###############################################avrdude: stk500_recv(): programmer is not responding
Czy ten komunikat o błędzie wyskakuje pod koniec wgrywania kodu?
Jeżeli sprawdzałeś, że proste programy typu blink ładują się poprawnie to tego Uno, a nie ładuje się grblUpload to istnieje pewne (małe) prawdopodobieństwo, że masz jakiś stary bootloader ATmegaBOOT, który zajmuje 2KB flash (nowy Optiboot okupuje tylko 512 bajtów). Wtedy program po prostu się nie zmieści w atmega328. Byłoby to dziwne, bo takie przypadki ze starym bootloaderem zdarzały się w Nano, a nie Uno.
W trakcie kompilacji wprawdzie otrzymujesz komunikat o ilości wolnej pamięci równiej 32256 bajtów, ale jest to wartość pobierana z ustawionej definicji płytki (w tym rodzaju bootloadera) w Arduino IDE, a nie faktycznie dostępna. Pod koniec wgrywania programu bootloader (ATmegaBOOT) odcina programator, bo brakuje miejsca we flash.
To jest tylko luźna teoria, ale sprawdzę to na swoim Uno tak z ciekawości Może powinieneś upewnić się i spróbować załadować grblUpload do innego Uno lub Nano, aby zweryfikować ewentualny problem z bootloaderem. Jednak dla pewności załadowałbym najnowszy Optiboot do tego Uno.
A jak się ładuje ten Optiboot? Z tego co się doczytałem trzeba mieć programator lub drugie arduino?
Nie potrzebujesz zmieniać/ uaktualniać bootloadera. Jeżeli inne kompilacje (np. testowe mruganie diodą) przebiegają/kończą się pomyślnie, znaczy że sama płytka nie ma defektów. Jeżeli twoja płytka jest oznakowana "UNO", zakupiona w komplecie z ' CNC Shield' na przykład taka: https://www.aliexpress.com/item/Free-shipping...chweb0_0,searchweb201602_5,searchweb201603_52 to jestem pewny, że tam masz bootloader 'opti'. Będąc dociekliwy, możesz to sprawdzić w 1/2 minuty.... Potrzebowałbyś do tego starą wersję Bascom (-TAK, ten opluty na tej grupie BASCOM ) -v 2.0.7.5 Tym programem możesz podglądnąć całą strukturę procesora, nie tylko aktualnie wgrany program, EEprom czy fusebity, lecz otrzymasz obraz, co pod jakim addresem komórki się znajduje. Rachując te obszary adresowe odnajdziesz wielkość bootloadera.
Z przedstawionej listy błędów wygląda, że gubisz komunikację z procesorem w momencie próby rozpoczęcia wpisania programu. Po zakończeniu kompilacji, komunikacja ta została wstępnie nawiązana, lecz gubisz ją natychmiast próbując coś wysłać/ wpisać. Niezrozumiale dziwna jest również lista tych błędów: avrdude: stk500_recv(): programmer is not responding -tych 'podejść'/(prób) winno być tylko 10 i winny być numerowane; u ciebie jest ich chyba ze 30 bez numerów. Częstą przyczyną takich anomali jest kabel USB. Jeżeli masz krótki kabel (taki ze 30 cm) to go wykorzystaj. Inna metoda to: wgraj końcową kompilację programem "Xloader". Końcowa kompilacja znajduje się pod adresem (ścieżka) podana w raporcie. Jest ona utrzymywana tam do czasu otwarcia aktualnej sesji, później jest kasowana. Możesz także wyeksportować kompilację. Poza tym, jak już wspomniałem poprzednio masz trochę niestandardowego bałaganu w systemie, ponadto ta twoja wersja Arduino IDE (1.8.9) wydaje się być modyfikowana. Ja też mam wersję z tym numerem, lecz ta zachowuje się trochę inaczej.
Może spróbuj wgrać Estlcam'a (www.estlcam.com). Z tego co pamiętam to on ładuje swój bootlader a w opcjach można wybrać konfigurację GRBL-a. Zobaczymy czy też wywali jakieś błędy.
Jeżeli uszkodzony bootloader, to również Xloader nie ma takiej 'magicznej mocy', aby to ominąć (!). Wszak komunikacja poprzez USB/CH340 do pamięci 'Flash' niezależnie czy to 'Run' programu, czy aktualizacja firmware nie obejdzie się bez funkcjonującego bootloadera. Jeżeli jednak wpis (upload) skompilowanego pliku, czy to własnego albo 'grbl_v1.1f.20170801.hex' poprzez Xloader zakończy się sukcesem, to winę za dotychczasowe kłopoty należy obarczyć modyfikowany (?) Arduino IDE a nie bootloader w m328p.
✨ Użytkownik napotkał problemy z wgraniem biblioteki GRBL na płytkę Arduino UNO, otrzymując błędy kompilacji związane z redefinicją makra "max". W odpowiedziach zasugerowano, aby skupić się na poprawnej instalacji biblioteki GRBL oraz sprawdzeniu ustawień Arduino IDE. Użytkownik próbował różnych rozwiązań, w tym zmiany portu COM, instalacji bootloadera oraz testowania z innym kablem USB. Ostatecznie, mimo prób wgrania bootloadera, problemy z GRBL nadal występowały, podczas gdy inne szkice, takie jak "blink", działały poprawnie. W dyskusji pojawiły się również sugestie dotyczące potencjalnych uszkodzeń sprzętowych oraz konieczności użycia programatora do wgrania nowego bootloadera. Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.