Optiboot v Arduino Nano a Pro Mini

OptibootPři zprovozňování fotovoltaického měniče, jsem narazil na podivné chování Arduina Nano. Do programu jsem zařadil watchdog, který by v případě problémů provedl reset procesoru a program by znovu naběhl. Při zkouškách, ale když watchdog zapůsobil celé arduino se zaseklo a jen na něm rychle blikaly LEDky. Nešlo dokonce resetnout ani tlačítkem pouze odpojením napájení! Je to způsobené originálním bootloaderem, který je v Arduinu Nano a také v Arduinu Pro Mini (asi i jiných). Bootloader jsem nakonec vyřadil tím, že jsem program nahrál programátorem přes ISP, pak watchdog fungoval normálně.

Pro správnou funkci watchdogu je potřeba v Arduinu Nano vyměnit bootloader. Ideální je použit Optiboot, který má několik výhod. Watchdog funguje správně, zabírá méně místa, tím zbude více pro program, dokáže nahrát program mnohem rychleji a program je po resetu spuštěn mnohem rychleji. Optiboot je již použitý i v Arduino UNO. Zkoušej jsem Optiboot zprovoznit podle návodu na jeho stránkách, ale nedařilo se mi to. Zvolil jsem proto trochu jiný postup.
Proto aby se dal Optiboot do Arduina Nano napálit je možné provést drobnou úpravu souboru boards.txt. Soubor je umístěn ve složce s instalací Arduina.

Arduino\hardware\arduino\avr

Nebo po aktualizaci Manažéra Desek ve složce : c:\Users\xxxx\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.11\

Po otevření souboru stačí na jeho konec přidat toto:

##############################################################

atmega328o.name=[Optiboot] Arduino Pro Mini (5V, 16 MHz) or Nano w/ ATmega328
atmega328o.upload.tool=avrdude
atmega328o.upload.protocol=arduino
atmega328o.upload.maximum_size=32256
atmega328o.upload.speed=115200
atmega328o.bootloader.tool=avrdude
atmega328o.bootloader.low_fuses=0xff
atmega328o.bootloader.high_fuses=0xde
atmega328o.bootloader.extended_fuses=0x05
atmega328o.bootloader.path=optiboot
atmega328o.bootloader.file=optiboot/optiboot_atmega328.hex 
atmega328o.bootloader.unlock_bits=0x3F
atmega328o.bootloader.lock_bits=0x0F
atmega328o.build.mcu=atmega328p
atmega328o.build.f_cpu=16000000L
atmega328o.build.board=AVR_ATMEGA328O
atmega328o.build.core=arduino:arduino
atmega328o.build.variant=arduino:eightanaloginputs

##############################################################

Po spuštění Arduino IDE, pak zkontrolujeme přes menu Nástroje/ Vývojová deska, že se na konci objevila nová položka s Optiboot loaderem.

 

Optiboot1

Pak již stačí jen zvolit tuto položku, připojit ISP programátor a zvolit Vypálit zaváděč.
Pro nahrávání programu přes USB kabel  je pak potřeba mít navolenou desku s Optibootem.  Stejně je možné Optiboot použít i pro Arduino Pro Mini. Odzkoušeno vše s Arduino IDE verze 1.6.7.

 

IMG_20160302_181600a

 

 

 

Příspěvek byl publikován v rubrice Arduino, Elektronika, Nezařazené se štítky , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

7 komentářů u Optiboot v Arduino Nano a Pro Mini

  1. Pingback: Fotovoltaický MPPT měnič pro bojler | TN Web

  2. Pingback: Arduino Nano a Optiboot

  3. PEPE napsal:

    Ahoj, potřebuji poradit.
    Po úpravě boards.txt se mi v seznamu desek
    [Optiboot] Arduino Pro Mini (5V, 16 MHz) or Nano w/ ATmega328 objeví, ale již při kompilaci program hlásí, že
    C:\Program Files\Arduino\hardware\arduino\avr\boards.txt is invalid
    A přes toto se nemohu dostat. Má pro mě někdo radu?
    Díky, přeji pěkný den…

  4. PEPE napsal:

    Tak si sám i odpovím 🙂
    soubor boards.txt jsem upravoval v notepadu a měl jsem blbé kodování. Nabízelo mi to UTF-8, s tím to nefungovalo, zkusil jsem ANSI, sice se pomršila diakritika (arduino Y?N), ale funguje. Teď jsem našel i nějaký „Arduino boards txt editor“, tak jdu pokusničit 🙂

  5. Pingback: Přednostní proudové relé | TN Web

  6. Pingback: Prioritní proudové relé | TN Web

Napsat komentář

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