Jedną z zalet płyt Arduino jest fabrycznie wgrany bootloader, czyli mały program startowy, pozwalający na programowanie znajdującego się na płytce mikrokontrolera bez konieczności użycia programatora, co – wraz z innymi udogodnieniami – czyni z platformy Arduino łatwą drogę do świata mikrokontrolerów. Wiele płyt głównych przeznaczonych dla drukarek 3D, których sercem są podobne mikrokontrolery, również sprzedawana jest z wgranym bootloaderem, czego przykładem mogą być choćby płyty stosowane w Anet A8 lub Anycubic Kossel Linear Plus. Do zmiany firmware w drukarkach 3D korzystających z takiego rozwiązania wystarczy kabel USB i komputer z zainstalowanym Arduino IDE.
Sytuacja komplikuje się w przypadku drukarek takich jak Ender-3, sprzedawanych z wgranym tylko firmware, bez bootloadera. Żeby zaktualizować oprogramowanie takiej drukarki potrzebne jest dodatkowe narzędzie: programator. Programator ISP oczywiście można łatwo kupić za niewielką kwotę, wystarczy kilkanaście złotych. Do tego wysyłka i, przy okazji, dla ułatwienia sobie życia, przejściówka 6<->10 pin… Co tu dużo mówić, postanowiłem doraźnie przycebulić. Z racji, że miałem wolną płytę Arduino Mega 2560, zrobiłem z niej potrzebne mi narzędzie.
Ogólny zarys czynności do wykonania jest krótki i nieskomplikowany:
- Weź płytę Arduino, odpal Arduino IDE
- Wgraj jeden z przykładowych szkiców: ArduinoISP
- Podepnij przewody i kondensator.
Poniżej szczegółowo opisuję przebieg prac. Jeśli już pracowałeś z Arduino IDE, prawdopodobnie możesz bez dalszych wyjaśnień wgrać szkic ArduinoISP i przejść od razu do akapitu „Połączenie płyty-programatora z płytą do zaprogramowania”.
Przygotowanie do pracy
Do zaprogramowania płyty Arduino mającej być programatorem użyłem, jak łatwo się domyślić, pakietu Arduino IDE. W przypadku oryginalnej płyty Arduino i niektórych klonów, tyle wystarczy. W przypadku klonów, w których wykorzystano inny układ do obsługi komunikacji przez USB, może być konieczne doinstalowanie odpowiedniego sterownika. Często stosowanym w odbiegających od specyfikacji klonach układem jest CH340, do którego sterowniki pobrać można ze strony producenta.
Programowanie płyty Arduino
- Uruchom Arduino IDE
- Podepnij płytę do komputera kablem USB.
- Wybierz: File -> Examples -> 11.ArduinoISP -> ArduinoISP
- W menu Tools wybierz odpowiednią płytę, mikroprocesor i port:
- Board: Arduino/Genuino Mega or Mega 2560
- Processor: ATmega2560 (Mega 2560)
- Wgraj szkic: Sketch -> Upload
Połączenie płyty-programatora z płytą do zaprogramowania
W przypadku Arduino Mega 2560 połączyć należy (pin na płycie-programatorze – pin złącza ICSP):
- D50 – 1
- 5V – 2
- D52 – 3
- D51 – 4
- D10 – 5
- GND – 6
Dodatkowo, na płycie Arduino Mega 2560 mającej służyć za programator należy umieścić między pinami RESET a GND kondensator elektrolityczny 10 µF (minus do GND). Co prawda ja użyłem znacznie pojemniejszego i nie zauważyłem żadnych problemów, ale i tak sugeruję trzymać się sugerowanej pojemności 10 µF.
To wszystko. Od tej chwili można wybrać Tools -> Programmer: Arduino as ISP i korzystać z tak przygotowanej płyty Arduino jak z normalnego programatora.
KOMENTARZE
z arduino nano jeszcze mniejszy 🙂