Se afișează postările cu eticheta microcontroler. Afișați toate postările
Se afișează postările cu eticheta microcontroler. Afișați toate postările

luni, 26 august 2013

Senzorul de curent ACS712 (II)

    In prima parte am facut o prezentare succinta a acestui senzor, de aceea acum o sa mai subliniez niste avantaje, mentionate si anterior, cadere de tensiune mult mai mica decat pe un sunt si, de asemenea, putere disipata mult mai mica.
    Valorile caderii de tensiune si puteri disipate pe sunt mai mari de peste 8 ori fata de cele pe senzorul ACS712:
    Un alt avantaj mare al senzorului ACS712 este ca este "bidirectional", adica cand prin circuit nu este curent, pe iesire se gaseste jumatatea tensiunii de alimentare; cand se aliemnteaza la 5V, cum este cazul cuplarii la intrarea analogica a unui microcontroler, pe iesire sunt 2,5V. Pentru senzorul ACS712-20A (pentru curent de +20A) tensiunea de iesire variaza intre 0,5V si 4,5V, deci nu apar probleme la inversarea sensului curentului si pe intrarea analogica nu apar tensiuni negative, care-i pot fi fatale...
   Teoretic, daca la intrare am 0V, atunci ar corespunde la -25A in circuit, respectiv la 5V sa fie +25A. Aceste valori ne ajuta si la testarea programelor microcontrolerului, cum am facut eu cu un ATmega328P-PU ca Arduino pe o placuta independenta.
    Mult mai bine se poate intelege ce am scris, daca vizionati filmuletul panel indicator for DC voltage, current and temperature (I)

miercuri, 28.aug.2013
    In articolul Current sensor with Arduino de pe lucadentella.it se gasesc informatii pentru a conecta senzorul ACS712-5B si un sketch minimal...


vineri, 16 august 2013

Senzorul de curent ACS712 (I)

   Cand vrem sa masuram curenti de valoare mare (peste 10A, de exemplu) clasicele "sunturi" (rezistente de putere si valoare mica) nu mai sunt recomandate, deoarece caderea de tensiune pe ele si, mai ales, puterea disipata sunt foarte mari, asa ca putem folosi senzorii de curent ACS712 produsi de firma Allegro MicroSystems LLC.
   Date tehnice despre acesti senzori de curent se gasesc in datasheet ACS712, dar principalele caracteristici sunt:
- rezistenta suntului este de 1,2mohmi adica 0,0012ohmi... (putere disipata si cadere de tensiune forte mici)
- izolare galvanica intre pinii de masura pentru curent si cei de iesire
- se fabrica pentru 3 game de curenti: 5A, 20A si 30A
- se pot masura atat curenti continui, cat si alternativi.
   Capsula unui ACS712 este foarte mica:
iar schema bloc este
schema tipica de aplicatie fiind una extrem de simpla:
    Cand curentul prin suntul dintre pini 1-2 si 3-4 este zero, la iesire tensiunea este de 2,5V cand alimentam la +5V. Functie de model (curentul maxim masurat), difera  coeficientul pentru raportul intre tensiunea de iesire si curentul prin sunt (mV/A):
    Pe piata se gasesc module care includ schema tipica si conectori:

    Pentru senzorul de +5A, tensiunea de iesire pentru un curent de -5A este de 2,5V+0,185V/A*(-5A)=1,575V, respectiv pentru +5A de 2,5V+0,185V/A*5A=3,425V.
    Pentru senzorul de +20A, tensiunea de iesire pentru un curent de -20A este de 2,5V+0,1V/A*(-20A)=0,5V, respectiv pentru +20A de 2,5V+0,1V/A*20A=4,5V.
    Pentru senzorul de +30A, tensiunea de iesire pentru un curent de -30A este de 2,5V+0,066V/A*(-30A)=0,52V, respectiv pentru +30A de 2,5V+0,066V/A*30A=4,48V.

In sketch-ul pentru Arduino, in partea de definire putem avea:
 int i1 = 0; // initial current value;  
 float i = 0.00; // initial calculated current value;  
 int currentPin = A3; // output from ACS712 is put at analog input no.3  

in partea principala, pentru un senzor de 20A:
 i1 = analogRead(currentPin); // read value from current sensor (ACS712);  
 i = 50*i1/1023-25; // calculated value for input current using ACS712-20;  

- va urma -