Arduino reprogrameaza pe Arduino

Categorii: Electronica

06-Sep-2016 17:46 - 2877 vizionari

Am doua module de dezvoltare Arduino: un Arduino Mega 2560 si un Arduino Uno R3.

Datorita descarcarilor electrostatice, karmei, egregorului electronicii, calitatii slabe a componentelor electronice (chinezarii ieftine este pleonasm?) si altor cauze, placa Arduino Uno s-a defectat.

Am citit cateva ore pe Internet cum sa remediez problema, am observat ca interfata seriala este functionala (cipul ATmega16U2) si ca trebuie doar sa rescriu bootloaderul chipului ATmega328.

Am aplicat procedura si in cateva minute aveam un Arduino Uno nou-nout cu ultimul firmware.

De nerabdare am deconectat motajul sa-l verific si am uitat sa-i fac o poza, dar procedura aleasa este ca in imaginea de mai jos.

Arduino Mega da semnal de RESET pe pinul digital 10 pentru Arduino Uno si il reprogrameaza prin conectorul ISP. Conectorul ISP contine pinii SPI (MOSI, MISO, SCK) si alimentarea cu energie, astfel Arduino care trebuie reprogramat este alimentat din Arduino care programeaza.

Programarea se face din mediul Arduino IDE, programand pe Mega cu programul ArduinoISP, apoi selectand placa Arduino Uno din IDE si activand meniul de Bootloader din meniul Tools.

Arduino Mega reprogrameaza Arduino Uno

Arduino Uno s-a stricat pentru ca am activat protectia programului la blocare software (Watchdog Timer = WDT) cu valori nepotrivite (interval de o secunda) si, se pare, WDT ramane activ dupa reset, iar bootloaderul nu mai are timp sa-l reseteze. Programul ajunge in reset continuu si nu mai permite incarcarea de programe noi prin bootloader in Arduino.

Pentru ca mai aveam un Arduino, l-am programat sa repare pe Arduino care s-a stricat, prin comunicare SPI in modul Arduino ISP.

Concluzia: cine are doar un Arduino, sa isi cumpere inca unul.


Ultimele pagini: RSS

Alte adrese de Internet

Categorii

Istoric


Atentie: Continutul acestui server reprezinta ideile mele si acestea pot fi gresite.