Dupa ce am vazut articolul Arduino Bootloader Si Transferarea Proiectelor de la roroid.ro si apoi articolul Burning a blank ATmega328 with the Arduino Bootloader al lui John Owen (vwlowen.co.uk) m-am gandit ca ar fi utila o placuta (shield) care sa se conecteze usor si sa apara cat mai putine sanse de conectare gresita.
Un montaj de scriere a unui bootloader, folosind cablaj tip breadboard si fire de conectare arata cam asa:
Placuta la care m-am gandit eu, se aseaza peste Arduino, in zoza conectorilor dinspre USB, in stanga fiind partea cu tensiuni, iar in dreapta pinii digitali D13...D8:
Vazuta din alt unghi:
si de sub:
Corespondenta dintre pinii placii de dezvoltare Arduino si pinii microcontroler-ului de programat sunt:
Deoarece nu-s obisnuit cu programul Fritzing am redesenat schema cu ajutorul lui CadSoft EAGLE obtinand:
Montajul vazut dinspre partea plantata, respectiv cablajul dinspre partea cu lipituri:
11.02.2013
Am depistat o eroare la cablaj, corectata deja pe site.
Adrian mi-a trimis un cablaj (pe langa alte 2 legate de Arduino: un Severino si un Arduino "de casa" fara interfata de programare):
si o sa corectez mecanic cele 3 trasee gresite initial(intrerupere trasee cu o pila fina si lipire sarmulite conforma traseului corect), ceva in genul:
Am cautat partea cu cele 3 LED-uri indicatoare, gasind-o in, deja foarte cunoscutul pentru ceilalti, program Fritzing, fiind printe exemple...
Am obtinut si o varianta de cablaj si de montare a pieselor:
18.02.2013
Revenind la placuta primita de la Adrian, un coleg mi-a dat gauri in cablaj, iar eu am taiat circuitele gresite si le-am corectat, am lipit invers baretele, apoi strapul de sub soclu si rezistenta de 10k pentru autoreset.
Mentionez ca inca nu am realizat montajul final si pot apare erori, oricum astept comentarii si recomandari.
Intre timp e bine sa studiati articolul From Arduino to a Microcontroller on a Breadboard:
26.02.2013
Am reusit sa gasesc soclu, cuart de 16MHz si cele 2 condensatoare de 22pF si le-am pus provizoriu:
28.08.2013
Dupa aproape 6 luni, am facut rost de un microcontroler ATmega328P-PU fara bootloader si l-am reprogramat cum sunt indicatiile din articolul From Arduino to a Microcontroller on a Breadboard (Burning the Bootloader)
PS: am schimbat si cuartul de 16MHz cu unul mai "scund"...
Am facut si un filmulet, care prezinta pasii necesari, deoarece eu am o placa Arduino Uno, iar in exemplu era un Duemilanove... nu-i mare diferenta, dar.. trebuie respectati anumiti pasi pentru a reusi.. vedeti how load a Arduino booloader in a blank uC (ATmega328P-PU)
3.martie.2014 (3.4.2014)
Incercand sa scriu un bootloader cu un Arduino cu interfata USB de tipul FT232 pe un ATmega328P-PU gol, am avut parte de un mesaj de eroare, dar am gasit o solutie intr-un articol numit Arduino ISP (In System Programming) and stand-alone circuits de pe site-ul www.open-electronics.org.
Solutia consta in conectarea unei rezistente de 120 ohmi intre +5V si pinul de RESET al placii Arduino, respectiv condensator de 10uF/16V intre pinul RESET al placii Arduinosi masa.
Mentionez ca nu am apucat s-o testez, dar trebuie luata in calcul...
12.05.2014
Nu mi-a reusit atunci scrierea bootloader-ului si am renuntat. Intre timp am incercat pe o placaArduino Uno cu interfata USB de tipul 8u2 si am primit mesajul de eroare "Expected signature for ATMEGA328P is 1E 95 14 Double check chip, or use -F to override this ..." ca si cum ar fi un ATmega328-PU nu ATmega328P-PU cum e inscriptionat..
Solutia am gasit-o in articolul Using your Arduino as an ISP, care face referire la discutia http://forum.arduino.cc/index.php?topic=58670.0 si consta in schimbarea in fisierul avrdude.conf a unei linii dupa ce s-a incarcat fisierul ArduinoISP, inchiderea programului si repornirea lui, scrierea bootloader-ului pe microcontrolerul gol, inchiderea programului Arduino IDE si aducerea liniei la valoarea initiala...
se puteau pune si cele 3 leduri de stare ale programatorului :D e hearthbeat-ul, error-ul si celalalt de ok parca :D ca uneori mai apar erori si nu sunt afisate mereu pe interfata IDE
RăspundețiȘtergereeu sunt inca in stadiu de invatare, dar o sa completez si cu asta, multumesc pentru sugestie
RăspundețiȘtergeream gasit la adresa http://ben0bi.blogspot.ro/2012/10/how-to-program-brandnew-atmega328p-with.html un exemplu care are si cele 3 LED-uri
RăspundețiȘtergeree bine sa studiezi si documentatia de la Arduino, deoarece cautand pe undeva dfeparte (http://www.open-electronics.org/arduino-isp-in-system-programming-and-stand-alone-circuits/ ), am constatt ca in sketch-ul 0022 sunt indicatii cum s amontezi celel 3 LED-uri... mde
RăspundețiȘtergeream completat si partea cu cele 3 LED-uri, am corectat si cablajul de la prima placuta...
RăspundețiȘtergeream mai pus niste poze cu lipirea piesulicilor pe placuta initiala (fara led-uri)
RăspundețiȘtergereMulțumesc pentru postări, Nicu. Aș avea totuși o sugetie. Încearcă să folosești unghiuri de 45 și nu de 90 în design. E o practică recomandată în electronică.
RăspundețiȘtergereok, o sa tin cont de recomandarea ta... eu le-am facut sa fie functionale, nu neaparat estetice...
ȘtergereUnghiurile alea de 45 de grade nu se folosesc pentru estetica!
Ștergereok... am retinut...
ȘtergereBuna ziua.
RăspundețiȘtergereUltimele postari sunt mai vechi dar cred ca nu este o problema daca resuscitez topicul.
Am realizat programatorul descris aici de Dvs d-le Nicu, varianta cu leduri, si am incercat sa ard bootloaderul pe un chip ATmega8-PU. Nu am reusit, am primit Error while burning bootloader. Crezand ca eroarea este la realizarea programatorului am verificat inca o data schema si cablajul dar totul este in regula. Am realizat schema pe breadboard si rezultatul a fost acelasi.
Am urmatoarele nelamuriri:
- eu am pe Arduino UNO un chip ATmega328 si incerc sa ard bootloaderul pe un ATmega 8-PU. Sa fie asta o problema?
- apoi, pe data de 28.08.2013 postati un filmulet in care operatiunea reuseste pentru ca ulterior pe 3 martie 2014 si pe 12.05.2014 scrieti ca nu ati reusit si descrieti niste erori.
Am incercat deja sa pun rezistenta si condensatorul despre care scrieti in postarea din 3.martie.2014, si degeaba. Trebuie sa incerc metoda cu modificarea avrdude.conf? Pentru Atmega8 cum ar trebui sa arate linia modificata?
Multumesc.
Nu mai pot corecta mesajul meu. Eu incerc sa programez ATmega8-16PU (am scris eronat ATmega8-PU).
Ștergeretrebuie sa ai definita placa ca Arduino cu procesorul tau... incat sa apara in lista din Arduino IDE
ȘtergereMultumesc mult.
RăspundețiȘtergerePrin placa intelegeti Arduino UNO sau placa programatorului?
Cum fac acea definire?
Eu am definit Tools/Board "Arduino/Genuino UNO" si Programmer "Arduino as ISP", Apoi am incarcat di File/Examples/ArduinoISP si la final Burn Bootloader.
Trebuia sa mai fac ceva?
trebuue sa ai definit controlerul pe care pui bootloader... cauta pe net cum se adauga uC-ul de il ai tu in programul Arduino IDE, altfel degeaba incerci.. uita-te pe discutia de la https://forum.arduino.cc/index.php?topic=192595.0 care te duce la una mai stufoasa
ȘtergereOk. Daca stiam ca este asa de simplu nu mai intrebam.
ȘtergereVa multumesc oricum.