Oprava Arduino bootloaderu

Oprava Arduino bootloaderu

Může se stát, že tvoje Arduino deska po spoustě přeprogramování přestane komunikovat a pokusy o nahrání softwaru do desky skončí vždy chybou. Na vině může být poškozený bootloader. V našem příspěvku si probereme jaké jsou možnosti opravy.

Pro přeprogramování bootloaderu nelze použít stávající USB převodník a musíme zvolit přímé programování pomocí ISP.

Existují v podstatě dvě možnosti:

  1. pro přeprogramování použijeme některý z ISP programátorů, např. tento: ISP programátor pro ATMEL + adaptér z 10pin na 6pin konektor.
  2. jako programátor použijeme jinou Arduino desku, např. Arduino UNO

1. Obnova bootloaderu pomocí ISP programátoru

Tato varianta je nejjednodušší. Stačí nainstalovat ovladače programátoru, připojit ho do konektoru ICSP na Arduino desce a přeprogramovat bootloader.

Pozice ICSP konektoru je vyznačena na obrázku v sekci 2 – Obnova bootloaderu pomocí druhé Arduino desky.

Po nainstalování programátoru spusť Arduino IDE a menu Nástroje v položce Programátor vyber svůj nainstalovaný programátor. V našem případě máme USBasp.

Jako další v menu Nástroje – Vývojová deska vyber typ desky, na ktré chceš přeprogramovat bootloader. V našem případě Arduino Uno.

Pak již stačí v menu Nástroje – Vypálit zavaděč nahrát nový bootloader do desky.

Po skončení nahrávání bootloaderu by již mělo být možné nahrávat software pomocí USB převodníku integrovaného na desce.

Pokud ani po přehrání bootloaderu programování desky přez integrovaný USB převodník nejde, nebo nahrávání bootloaderu přes ISP programátor končí chybou, bude nejspíše vadný mikrokontroler, nebo USB převodník na vývojové desce. V tom případě obnova bootloaderu desku neopraví.

2. Obnova bootloaderu pomocí druhé Arduino desky

Pokud nemáš k dispozici některý z ISP programátorů pro mikrokontrolery Atmel, můžeš jako programátor použít jinou funkční Arduino desku.

Nejdříve je potřeba do funkční desky, která bude fungovat jako programátor, nahrát správný software.

V menu Arduino IDE Soubor – Příklady – ArduinoISP vyber možnost ArduinoISP. V novém okně se otevře zdrojový kód, který z Arduino desky udělá ISP programátor. Kód není potřeba nijak upravovat a stačí ho jen obvyklým způsobem nahrát do desky.

Potom se propojí deska „programátoru“ s deskou, kam budeš nahrávat nový bootloader.

Arduino deskaMOSIMISOSCKNapěťová úroveň
Uno nebo Duemilanove11 nebo ICSP-412 nebo ICSP-113 nebo ICSP-35V
Mega1280 nebo Mega256051 nebo ICSP-450 nebo ICSP-152 nebo ICSP-35V
LeonardoICSP-4ICSP-1ICSP-35V
DueICSP-4ICSP-1ICSP-33,3V
ZeroICSP-4ICSP-1ICSP-33,3V
10111 nebo ICSP-412 nebo ICSP-113 nebo ICSP-33,3V
MKR Family81093,3V

Zapojení ICSP konektoru na desce:

Pro ukázku schéma propojení dvou Arduino UNO desek:

Po propojení desek vyber v Arduino IDE menu Nástroje – Programátor typ programátoru Arduino as Programmer.

Dál už je postup stejný, jako u varianty 1.

Další schémata zapojení a další informace na stránkách arduino.cc: Arduino as ISP and Arduino Bootloaders

Sdílet článek

5 Responses

  1. Jenom laicky – proč nestačí USB ? Nemá sílu ? Jakože nestačí připojit USB na ještě funkční vstupy pro obnovení ?

    1. Dobrý den, přiznáme se, že ne zcela rozumíme Vašemu příspěvku. Jsou zde popsány dvě varianty. V první variantě je opravované Arduino napájeno z připojeného ISP programátoru a v druhém případě je napájeno z Arduina, které je použito jako programátor. Obojí (jak ISP programátor, tak Arduino jako programátor) je napájeno pomocí USB. Opravované Arduino tak není nutné zvlášť napájet pomocí USB konektoru.

  2. Dle mě škoda , že autor šetřil s obrázky u kapitoly 2 a tím to je trochu matoucí v prvém případě je arduino dle mě napájeno přes ICSP konektor akonektor USB není vůbec použiván a v druhém případě přes USB konektor „zdravého“ arduina.
    Bastlení zdar 🙂

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Mohlo by se také líbit