Totalul afișărilor de pagină

test imagine

duminică, 25 septembrie 2016

Multimetru (Tehnium nr.11/1988)

   Acest material a fost publicat in revista Tehnium nr. 11 din 1988 de catre dl. Milian Oros si are o prezentare foarte buna pentru a putea intelege modul de utilizare si, fiind, modular, se poate adapta la diverse scheme, una ar fi inlocuirea voltmetrului dedicat cu C520D si afisaj cu LED-uri cu o placa Arduino (sau un ATmega 328 programat ca Arduino) cu afisaj LCD1602 (alfanumeric cu 16 coloane si 2 randuri)...
pana atunci reproduc articolul.


Nota: Revista Tehnium nr.11 din 1988 poate fi descarcata de la http://blog.copcea.ro/files/tehnium/revista/8811.pdf  si o prezentarea a unui multimetru realizat practic se gaseste pe blogul DFI Recreativ.

miercuri, 21 septembrie 2016

Releu de protectie la minima si maxima tensiune retea (2)

   Fata de articolul precedent, in care pragurile de minima si maxima tensiune erau stabilite din program (sketch), acum am conectat 3 butoane: MENIU/OK, + si -, schema de conectare devenind:
   In prima faza, am implementat cele 3 butoane, obtinand urmatoarele situatii:
- functionare normala, cand se masoara tensiunea, iar daca este in limite, un releu este cuplat si se poate alimenta un consumator, daca este in afara limitelor, se decupleaza releul si se asteapta o anumita perioda, dupa care se reciteste tensiunea si daca e in regula se alimenteaza releul, daca nu se mai astepta un timp
- daca se apasa butonul MENIU se intra in modul de modificare valori
- dupa 2-3 secunde, apare valoarea tensiunii minime acceptate, care se poate creste sau scade din butoanele fara retinere + si -
- dupa apasarea butonului MENIU/OK apare valoarea tensiunii maxime, care se poate modifica ca  inainte
 
- dupa apasarea tastei MENIU apare valoarea timpului de recuplare (in secunde) a relului daca tensiunea este in afara limitelor acceptate
 
- la o noua apasare a tastei MENIU se revine la functionarea normala
    Daca se incarca sketch-ul main_voltage_2.ino valorile se modifica cum am prezentat mai sus, dar la intreruperea alimentarii aceste revin la valorile din program, dupa cum se vede si in filmuletul test releu protectie de minima si maxima tensiune retea (4)
iar daca se incarca sketch-ul main_voltage_3.ino valorile modificate sunt stocate in memoria EEPROM a microcontrolerului cu care e realizata placa de dezvoltare Arduino, dupa cum se vede si in filmuletele:

marți, 20 septembrie 2016

Releu de protectie la minima si maxima tensiune retea

   Am completat voltmetrul pentru retea prezentat in articolul Masurare valoare tensiune retea (230V/50Hz) cu un releu care permite alimentarea unui consumator si, totodata, avem indicatie cu 3 leduri, pentru tensiune redusa, tensiune optima.
   Am ales ca praguri 190V pentru tensiune redusa si 250V pentru tensiune mare si am urmatoarele cazuri:
- tensiune scazuta, led galben aprins, releu decuplat, consumatorul nu este alimentat
- tensiune buna, led verde aprins, releu cuplat, consumatorul este alimentat
 
 
- tensiune mare, led rosu aprins, releu decuplat, consumatorul nu este alimentat.
   Schema de test este cam asa:
   Pentru un releu de sine statator, alimentarea placii Arduino, a afisajului si a releului trebuie sa se faca de la un alimentator separat pentru a avea precizie mare, putandu-se folois si un modul de alimentare in comutatie, dar pentru masurare trebuie neaparat transformator cu sistem de redresare si filtrare...
   Intai, am testat partea de comutare a pragurilor, prin variatie liniara de la un minim la un maxim, conform sketch-ului main_voltage_1test.ino si filmuletului test releu protectie de minima si maxima tensiune retea
apoi am schimbat sa am valori aleatorii ale tensiuni, conform sketch-ului main_voltage_1test2.ino si filmuletului test releu protectie de minima si maxima tensiune retea (2)
iar apoi am pus sa masoara incarcand sketch-ul main_voltage_1.ino dupa cum se vede in filmuletul test releu protectie de minima si maxima tensiune retea (3)
   In acest ultim sketch se pot modifica pragurile, mai larg sau mai strict, procent de +10% (207..253V~) sau +5% (218..242V~), valori care se trec la variabilele under si over de asemenea exista o variabila cor care permite corectarea valorii masurate in comparatie cu valoare aindicata de un aparat de masura considerat etalon.

joi, 15 septembrie 2016

Masurare valoare tensiune retea (230V/50Hz)

   Pentru aplicatii in care am nevoie de valoarea tensiunii de la priza m-am gandit sa folosesc un sistem simplu, care imi permite sa il fac si independent: transformator coborator, redresare, filtrare tensiune, stabilizare si reducere la 5V pentru alimentare Arduino sau microcontroler ATmega328 (sau altceva mai slabut).
si schema de test complexa (cu LM7805 pentru stabilizare) desi eu am in montaj un LM317 reglat la 5V, cum am prezentat in articolul Stabilizator tensiune cu LM317:
dar importanta e partea pentru masurare:
   Pentru a avea precizie de masurare, am folosit tensiunea de referinta interna, de 1,1V a placii Arduino, deci tensiunea la pinul A0 nu poate depasi aceasta valoare.
UA0/U2=R1/(R1+R2)
  Tensiunea maxima care o pot masura cu valorile rezistentelor din divizorul rezistiv este:
U2 = UA0*(R1+R2)/R1 = 1,1V*(1k+22k)/1k=25,3V
   Deoarece valoarea tensiunii U2 este:
U2 = U1*1,41-Udiode
rezulta ca tensiunea alternativa in secundar este
U1 = (U2+Udiode)/1,41
rezulta ca valoarea tensiunii din retea 
U0 = U1*k,
unde k este raportul de transformare.

Exemplu: Am un transformator care este inscriptionat 220V/2x12V 220mA dar la iesire am masurat 11V deci raportul de transformare este 220:11=20. Caderea de tensiune pe o dioda redresoare 1N4007 in sarcina este de 0,6.-0,7V, alegem valoare Udiode=0,65V. Deoarece si rezistentele au o toleranta, voi folosi si un coeficient de corectie, pentur a avea o indicatie ca a unui aparat de masura.

   Am folosit un afisaj controlat de integratul TM1637 cu 4 cifre led din 7 segmente fiecare, pe care l-am prezentat pe blog, in articolul de la http://nicuflorica.blogspot.ro/2016/04/afisaj-cu-4-cifre-controlate-de-tm1637.html si caruia i-am adaptat si o librarie gasit ape net, dupa cum gasiti pe canalul de Github: https://github.com/tehniq3/TM1637-display.
   Am pastrat schema de conectare la placa compatibila Arduino Uno:
si am conectat si pinul A0 la divizorul rezistiv, pe langa alimentare.
   Am facut niste filmulete, in care prezint cele descrise mai sus, in care sketch-ul folosit este main-voltage_0.ino:





PS: O metoda interesanta este prezentata in articolul Measuring AC Voltage with an AC to AC power adapter

marți, 13 septembrie 2016

Sursa de tensiune controlata de Arduino

   Dupa ce m-am "jucat" un pic cu un convertor de semnal dreptunghiular in tensiune continua si am fost multumit de rezultate, am zis sa continui testele si sa realizez o sursa de tensiune controlata de Arduino, dupa cum e prezentat in articolul A Powerful Little Arduino Programmable 10V Supply in care se foloseste un integrat specializat MCP4725 de conversie din digital in analogic (DAC) pe 12 biti:
   Si in articolul Convertisseur PWM / Tension 001 este prezentat o sursa controlata cu semnal dreptunghiular cu factor de umplere variabil (PWM):
  Schema mea de test, in care folosesc un integrat Beta M324 din 1988 iarna, este
iar consumator a fost un bec cu leduri de 12V si 3W, care se deschide doar la tensiune de peste 7V...
   Am facut 2 filmulete, in care se vede cresterea si scaderea lenta a tensiunii la ieisre:
sursa de tensiune controlata de Arduino in care folosit sketch-ul fade_pwm_control3a.ino cu variere factor ce umplere de la 0 la 255 din total 255 trepte cu pas de 5 trepte:
sursa de tensiune controlata de Arduino (2) la care am folosit sketch-ul fade_pwm_control3b.ino care comanda tensiune pornind de la aprinderea "becului cu leduri", de la 120 la 255 trepte, cu pas de 5 trepte:
   Am schimbat "becul cu leduri" cu unul clasic auto de 5W si 12V, incarcand sketch-ul fade_pwm_control3a.ino cu variere factor ce umplere de la 0 la 255 din total 255 trepte cu pas de 5 trepte si am facut filmuletul sursa de tensiune controlata de Arduino (3)


Sistem deblocare usa cu cod din exterior si buton fara retinere din interior (2)

   In articolul precedent am prezentat un sistem de acces cu cod introdus de la o tastatura si un buton pentru deblocare temporizata yala din interior. De data asta am conectat un afisaj LCD alfanumeric 1602 (16 coloane is 2 randuri) cu interfata i2c si un modul de ceas de timp real RTC (cu DS3131, dar functioneaza la fel si cu DS1307).
   Pe ecran apare ora pe primul rand, iar pe al doilea data. Pe randul de jos in dreapta apare o cheita cand sistemul este in asteptare, stare indicata si de ledul rosu.
iar cand se introduce codul corect *1234# in cazul de fata sau se apasa buton de acces, pe ecran apare mesaj ca zavorul este deschis.
   Ca si in cazul anterior, sistemul se poate folosi ori cu electromagnet, care este atras cateva secunde la introducerea codului corect sau apasarea butonului de acces (cand electromagnetul este alimentat se aprinde si ledul alb din montajul meu de test sau cel albastru din schema). Daca se foloseste un actuator, se comanda deschiderea timp de 0,7 secunde (led verde aprins), dupa trecerea timpului, se comanda inchiderea timp de 0,7 secunde (led galben aprins)
   Sketch-ul folosit este cel postat pe canalul de Github: acces_code_keypad_3.ino iar schema este simpla, fiind identica cu cea din articolul anterior, doar ca s-au adaugat afisajul si modulul de ceas:
   Placa compatibila Arduino, tastatura plata, modul RTC si afisajul LCD1602 cu interfata i2c se pot achizitiona de la ArduShop.ro utilizand codul de reducere de 5% Z4A413ZN:
   Am facut si 2 filmulete pentru a vedeam cum se comporta montajul:

luni, 12 septembrie 2016

Convertor semnal digital in tensiune continua

   Pentru a putea verifica anumite montaje controlate in tensiune (de exemplu corectorul de ton LM1036 sau surse de tensiune) cu ajutorul Arduino, am zis sa testez si partea de convertor din semnal dreptungiular de 5V cu factor de umplere variabil in 255 trepte sa-l convertesc in tensiune continua de la 0 la 10V, de exemplu.
   Pe net se gasesc destule informatii despre aceasta conversie, un articol bine prezentat este Arduino Pulse-Width Modulation Digital to Analog Conversion
   Eu am vrut sa folosesc o sursa de incredere, mai ales ca as putea sa folosesc acest convertor in domeniu audio asa ca am apelat la site-ul www.sonelec-musique.com si anume la articolul  Convertisseur PWM / Tension 001 in care se prezinta schema
si una cu 3 filtre RC la iesire in loc de una:
   Am facut un montaj de test in care am folosit un vechi operational cvadruplu Beta M324, care este echivalent cu LM324, doar ca e fabricat in Romania la sfarsitul anului 1988:
intai testand prima schema, in care amplificarea amplificatorulu neinversor este 2 deoarece  A=1+R3/R2=2 (asta daca rezistentele ar fi identice ca valoare):
apoi montandu-i inca un filtru RC, pentru a reduce nivelul componentei alternative
deoarece este conteaza inca un etaj de filtrare RC, dupa cum se vede in pozele urmatoare.
- sketch, in care se vede ca factorul de umplre al semnalului este de 63/255:
- semnalul de la intrare:
- componenta alternativa a semnalului dupa etaj RC
- componenta alternativa a semnalului dupa al doilea etaj RC
   Am facut niste filmulete in care am testat semnal dreptunghiular cu factor de umplere variabil de la 0 la 255 din 255 trepte folosind sketch-ul fade1.ino care deriva din cel din exemplele programului Arduino IDE, folosind pinul 9 ca iesire de semnal, ca si acolo, unde era folosit pentru comanda unui led:

   Dupa cum se vede, componenta alternativa a tensiunii de la iesire este foarte mare, asa ca trebuie sa folosim o frecventa mai mare. Arduino fiind un microntorler ATmega programat prietenos poate genera la o anumita iesire semnal dreptunghiular cu factor de umplere variabil (pwm) cu anumite frecvente, dupa cum se vede in articolul http://playground.arduino.cc/Code/PwmFrequency.
  In mare, pinii digitali genereaza semnal dreptunghiular pe o frecventa de baza, astfel: D3, D9. D10 si D11 pe 31250Hz (31,25kHz), iar D5 si D6 pe 62500Hz (62,5kHz). Divizoarele pe pinii D5, D6, D9 si D10 sunt cu 1, 8, 64, 256 si 1024, iar la pinii D3 si D11 cu 1, 8, 32, 64, 128, 256 si 1024.
   Eu am folosit pinul D9, deci frecventa de baza a semnalului dreptunghiular este 31,250Hz, iar divizat:
- cu 8, frecventa semnalului este 31250:8 ~ 3906Hz ~ 3,9kHz
- cu 64, frecventa semnalului este 31250:64 ~ 488Hz
- cu 256, frecventa semnalului este 31250:256 ~ 122Hz
- cu 1024, frecventa semnalului este 31250:1024 = 30,5Hz
  Deoarece anumite librarii pot "activa" divizorii, la pinul 9 am avut 488Hz.
   Am facut teste la cele 5 frecvente disponibile, pentru a vedea diferentele nivelului componentei alternative la iesirea montajului, dupa primul si al doilea filtru RC, cu factor de umplere 50%.
1) la 31,25kHz:
- semnal la intrare:
- semnal dupa primul filtru RC
- semnal dupa al doilea filtru RC:
2) la 3,9kHz:
- semnal la intrare:
- semnal dupa primul filtru RC
- semnal dupa al doilea filtru RC:
3) la 488Hz:
- semnal la intrare:
- semnal dupa primul filtru RC
 
- semnal dupa al doilea filtru RC:
4) la 122Hz:
- semnal la intrare:
- semnal dupa primul filtru RC
- semnal dupa al doilea filtru RC:
5) la 30,5Hz:
- semnal la intrare:
- semnal dupa primul filtru RC
- semnal dupa al doilea filtru RC:
   Pentru generarea semanului dreptunghiular cu factor de umplere variabil si frecventa cu divizoare diferite, am folsit scketch-ul fade_pwm_control2.ino si in filmuletul numit Convertor semnal digital in tensiune continua (4) am prezentat ce am scris mai sus:
   In concluzie, cu o frecventa mare se poate folosi acest tip de comanda pentru aplicatii audio, cum incepusem sa prezint in articolul Corector de ton cu LM1036 si Arduino.
sau alte aplicati care permit controlul in tensiune...