Pentru proiecte simple cu Arduino se pot folosi microcontrolere mai slabute cum sunt cele din seria ATtiny25/45/85, vedeti proiectele:
- Indicator stare acumulator auto cu LED multicolor comandat de un ATtiny85(45)
- Termometru dublu cu ATTiny85
- ATtiny85 si senzorul de umiditate si temperatura DHT11
- ATtiny85 si senzori de temperatura DS18B20
Pentru programare se foloseste o placa Arduino (Nano in cazul meu, dar merge la fel si cu Uno), dupa cum am prezentat in articolul Programarea unui microcontroler ATTiny85 cu sketch Arduino.
Nu mai repet modul de programare, ci voi prezenta schema unui montaj pentru programare, care se poate face pe cablaj, pentru a fi mereu la indemana:
Fata de schema din articolul anterior, am mai pus si 3 leduri, care indica intrarea in modul de programare (led verde), "bataile inimii", adica comunicarea (led galben) si daca apare vreo eroare (led rosu).
Cablajul cu piese ar arata asa
Cablajul pentru metoda transferului de toner (prezentata in articolele Cum facem un cablaj (partea a 2-a) respectiv Cum facem un cablaj) se gaseste AICI !!!
PS: revin in curand cu poze ....
Un blog ce completeaza site-ul www.arduinotehniq.com (www.tehnic.go.ro); o parte din articole sunt (si vor fi) postate si in engleza pe arduinotehniq.blogspot.com. Filmuletele tehnice se gasesc pe canalul de youtube...
Se afișează postările cu eticheta programmer. Afișați toate postările
Se afișează postările cu eticheta programmer. Afișați toate postările
vineri, 21 iulie 2017
vineri, 22 martie 2013
Interfata USB-TTL PL2303HX
In prima comanda-test de la DealExteme - dx.com am inclus si o interfata USB-TTL cu integratul PL2303HX.
Dupa ce am lansat comanda mi-am dat seama ca acest modul nu are "reset extern" si am inceput sa caut rezolvarea.
Pe forum-ul Arduino este o schema a unui adaptor USB-TTL cu PL2303HX:
Conform articolului How to upload sketches to Arduino UNO chip using PL2303 USB To RS-232 Converter sunt 2 variante:
- resetare manuala (trebuie apasat butonul de RESET pe durata scrierii sketch-ului)
- auto-reset
Pentru a doua varianta trebuie "tras" un fir de la pinul 2 (DTR_N) al integratului PL2303HX si conectat printr-un condensator de 100nF (0,1uF) la pinul 1 de RESET al microcontrolerului ATMega8, ATMega16 sau ATMega168 care are deja "bootloader"-ul incarcat, deci e un "Arduino de casa" sau va fi inclus in componenta unui montaj mai complex, urmand a fi programat sau reprogramt cu un anumit sketch.
Deoarece eram curios daca e functional, am conectat interfata la calculator si s-a aprins un LED rosu
apoi a fost depistat ca nu are driver-ul instalat:
Am cautat repede pe net driverul si l-am gasit la http://www.prolific.com.tw/
Am instalat driverul:
Din pacate nu am putut gasi momentan, la un pret decent, un microcontroler sa-i scriu bootloader-ul pentru a testa placa.
Etichete:
Arduiniq,
Arduino,
ATMega16,
ATMega168,
ATMega8,
bootloader,
dx.com,
electronics,
interfata,
niq_ro,
PL2303HX,
programmer,
TTL,
USB
Locația:
Craiova, România
sâmbătă, 16 februarie 2013
Teste cu transformatorul de curent AS-102 (PPAS102)
Deoarece vreau sa realizez in regim de prototip un wattmetru pentru un consumator casniz (bec, frigider, calculator, circuit electric care este cuplat la o siguranta din casa, etc) folosind un Arduino (vezi articolul Arduino ca wattmetru pentru consumatori casnici) am fost sa cumpar un transformator de curent pentru a face niste experimente si nu am gasit pe stoc la ADELAIDA decat modelul AS-102 sau PPAS102.
Fiind in faza de testare am cumparat unul la pretul de 6,00lei si am costatat (apoi) din fisa tehnica ca e un transformator de curent pentru frecventa inalta (20-200kHz) folosit pentru masurarea curentului la surse in comutatie, de exemplu.
Raportul de transformare fiind 1:200, ma asteptam sa am pe rezistenta din secundar (recomadata) de 200 ohmi (obtinuta din 2 rezistente inseriate de 100 ohmi) o tensiune de aceeasi valoare cu acel curent prin primar.
Exemplu: am un bec de 100W care consuma cca.0,44A (I=P/U=100W/230V=0,44A), deci in secundarul transformatorului de curent as avea in circuit un curent de 200 de ori mai mic (0,44A:200=0,0022A=2,2mA), tensiunea pe rezistenta de 200 de ohmi conectata in secundarultransformaotrului ar fi de 200 ori mai mare ca valoarea curentului (0,0022A*200ohmi=0,44V).
Am folosit un bec de 60W (n.r. nou, made in China) si am masurat tensiunea pe rezistenta de 200 ohmi conectata in secundarul transformatorului de curent obtinand valoarea de 50mV.
Fiind o valoare care nu mi s-a parut relevanta si nici corecta am inseriat aparul de masura in circuitul becului obtinand o masuratoare de 0,24-0,25A.
Am inlocuit rezistenta compusa de 200 ohmi cu una de 100 ohmi sa vad ce valoare a tensiunii in secundarul transformatorului de curent obtin si .. tot 50mV a fost, deci a fost "evident" ca raportul de transformare este de 1:5 (corectura in 17.02.2013).
Fiind in faza de testare am cumparat unul la pretul de 6,00lei si am costatat (apoi) din fisa tehnica ca e un transformator de curent pentru frecventa inalta (20-200kHz) folosit pentru masurarea curentului la surse in comutatie, de exemplu.
Raportul de transformare fiind 1:200, ma asteptam sa am pe rezistenta din secundar (recomadata) de 200 ohmi (obtinuta din 2 rezistente inseriate de 100 ohmi) o tensiune de aceeasi valoare cu acel curent prin primar.
Exemplu: am un bec de 100W care consuma cca.0,44A (I=P/U=100W/230V=0,44A), deci in secundarul transformatorului de curent as avea in circuit un curent de 200 de ori mai mic (0,44A:200=0,0022A=2,2mA), tensiunea pe rezistenta de 200 de ohmi conectata in secundarultransformaotrului ar fi de 200 ori mai mare ca valoarea curentului (0,0022A*200ohmi=0,44V).
Am folosit un bec de 60W (n.r. nou, made in China) si am masurat tensiunea pe rezistenta de 200 ohmi conectata in secundarul transformatorului de curent obtinand valoarea de 50mV.
Am inlocuit rezistenta compusa de 200 ohmi cu una de 100 ohmi sa vad ce valoare a tensiunii in secundarul transformatorului de curent obtin si .. tot 50mV a fost, deci a fost "evident" ca raportul de transformare este de 1:5 (corectura in 17.02.2013).
Pentru a obtine o indicatie mai relevanta am folosit divizorul rezistiv din secundarul transformatorului (masurand tensiunea de pe una din cele 2 rezistente de 100 de ohmi), obtinand o valoare de 10 ori mai mica:
completare, 17.02.2013
M-am gandit ca acest raport de transformare diferit de ce e in fisa de catalog e din cauza frecventei retelei (50Hz), foarte mica fata de domeniul recomandat (20-20kHz).
Am luat mai multe modele de becuri, ce am gasit prin casa, sa vad daca se pastreaza raportul de transformare, pastrand si divizorul rezistiv cu raport 1:2:
1) bec economic de 18W:
2) bec cu incandescenta de 60W (vehime de cca. 1 an):
3) bec cu incandescenta de 75W (vechime 2-3 ani)
Am facut si un centralizator cu valorile calculate (functie de puterea inscriptionata si tensiunea de alimentare), curenti masurati direct cu aparatul de masura si masurati cu transformatorul de curent AS-102:
M-am gandit ca acest raport de transformare diferit de ce e in fisa de catalog e din cauza frecventei retelei (50Hz), foarte mica fata de domeniul recomandat (20-20kHz).
Am luat mai multe modele de becuri, ce am gasit prin casa, sa vad daca se pastreaza raportul de transformare, pastrand si divizorul rezistiv cu raport 1:2:
1) bec economic de 18W:
4) bec cu halogen de 70W (aprox. 2 luni):
Se constata ca pentru sarcini rezistive si frecventa de 50Hz, raportul de transformare ramane 1:5 (respectiv 1:10 cu divizorul rezistiv de 1:2), cel gasit si ieri, dar pentru becul economic care lucreaza la o frecventa mare si, posibil, cu sinusoida deformata) si aparatul de masura digital DT2905A pus ca ampermetru de curent alternativ si ca milivoltmetru de tensiune alternativa sa citeasca tensiunea de pe divizorul rezistiv care este conectat in secundarul transformatorului de curent.
Din calcule curentul ar fi trebuit sa fie de I=P/U=18W/230V=0,078A=78mA, ampermetrul a aratat 0,05A=50mA, iar trasnformatorul de curent cu divizor 16mA.. daca va uitati cu atentie in poza cu masuratoare acestui bec pana si Mada la 2 ani si 10 luni isi pune mainile in cap :-).
Concluzie e ca acest model de transformator de curent (AS-102 sau PPAS102) nu il pot folosi pentru masuratori generale.. trebuie un model gen AC1020.Am facut si un centralizator cu valorile calculate (functie de puterea inscriptionata si tensiunea de alimentare), curenti masurati direct cu aparatul de masura si masurati cu transformatorul de curent AS-102:
Etichete:
ampermeter,
Arduiniq,
Arduino,
AS-102,
DMM,
DT2095,
electronics,
multimeter,
niq_ro,
PPAS102,
programmer,
tehniq,
transformator curent,
voltmeter
Locația:
Craiova, România
luni, 4 februarie 2013
placuta pentru programare bootloader folosind Arduino
Deoarece una din etapele normale in utilizarea unei placi de dezvoltare Arduino este transferarea unui proiect intr-un microcontroler ATmega (8, 168 sau 328) care sa functioneze independent, adica sa fie pe un cablaj separat.
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:
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...
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...
Abonați-vă la:
Comentarii (Atom)
-
Pentru cazuri cand trebuie sa alimentam un montaj sau un consumator (radio portabil, beculet, etc) de la o sursa de tensiune continua fix...
-
rezumat articol Avand o situatie in care am o masina de spalat automata veche (AEG Lavamat Regina 804), pe care am reusit s-o reconditi...
-
Motorasele de curent continuu, schimba sensul de rotatie in functie de "sensul" de alimentare, asa ca se pot folosi pentru a de...























