Cuprins:

Înregistrare date monitorizare curent alternativ: 9 pași (cu imagini)
Înregistrare date monitorizare curent alternativ: 9 pași (cu imagini)

Video: Înregistrare date monitorizare curent alternativ: 9 pași (cu imagini)

Video: Înregistrare date monitorizare curent alternativ: 9 pași (cu imagini)
Video: Noutăți din spațiu (imagini si video) cu Claudiu Tănăselia 2024, Iulie
Anonim
Înregistrare date monitorizare curent alternativ
Înregistrare date monitorizare curent alternativ

Bună tuturor, bun venit la primul meu instructabil! Ziua sunt inginer de testare pentru o companie care furnizează echipamente de încălzire industrială, noaptea sunt un pasionat de tehnologie și DIY'er. O parte din munca mea implică testarea performanței încălzitoarelor, cu această ocazie am vrut să pot monitoriza extragerea curentă a RMS a 8 dispozitive peste 1000 de ore și să înregistrez datele pentru a grafica rezultatele ulterior. Am acces la un jurnal de date, dar acesta era deja dedicat unui alt proiect și aveam nevoie de ceva cu un cost redus, așa că am decis să cobor împreună acest datalogger de bază.

Proiectul utilizează un Arduino Uno pentru a citi senzorii analogici prin convertor analogic la digital (ADC) și înregistrează datele cu un marcaj de timp pe un card SD. Există o mulțime de teorii și calcule implicate în proiectarea circuitelor, așa că, în loc să explic absolut totul, vă voi arăta cum să le realizați. Dacă sunteți interesat să vedeți hit-ul FULL, anunțați-mă în comentarii și vă voi explica mai departe.

NOTĂ:

Am avut multe întrebări despre calculele True RMS. Acest dispozitiv utilizează un redresor cu jumătate de undă pentru a captura vârful undei, care poate fi apoi multiplicat cu 0,707 pentru a da RMS. În mod conștient, acesta va da un rezultat precis doar cu sarcini liniare (adică curentul măsurat este o undă sinusoidală pură). Alimentările sau încărcările neliniare care dau forme de undă triunghiulare, dreptunghiulare sau orice alte forme non-sinusale nu vor da un calcul RMS adevărat. Acest dispozitiv măsoară curentul alternativ numai că nu este proiectat să măsoare tensiunea, ci nu calculează și nu măsoară factorul de putere. Vă rugăm să consultați celelalte instrucțiuni despre cum să creați un contor de factor de putere care poate fi folosit pentru a face acest lucru. Mulți oameni au spus, de asemenea, că o cuplare AC dreaptă cu o linie centrală de 2,5 V este mai bună, cu toate acestea, acest lucru introduce complicații, deoarece implică o rată de eșantionare digitală suficient de rapidă, o medie solidă / netezire a datelor, etc., iar incertitudinea pe care aceasta o introduce este mult mai mare decât măsurarea valoarea brută. Personal, prefer soluțiile hardware și codul mai simplu, acolo unde este posibil, așa că nu mă interesează metoda respectivă. În ceea ce privește precizia, cred că acest lucru este mult mai bun decât cel din urmă și veți vedea mai târziu în rezultatele mele că există un coeficient de regresie apropiat de 1,0 după calibrare.

Pasul 1: Transformatoare de curent

Transformatoare de curent
Transformatoare de curent
Transformatoare de curent
Transformatoare de curent

Acest proiect folosește transformatorul de curent HMCT103C 5A / 5MA. Are un raport de 1: 1000 spire, adică pentru fiecare 5A de curent care curge prin conductor, 5mA va curge prin CT. Un rezistor trebuie conectat la cele două terminale ale CT pentru a permite măsurarea unei tensiuni pe acesta. Cu această ocazie am folosit un rezistor de 220 Ohm, prin urmare folosind legea lui Ohm V = IR, ieșirea CT va fi de 1,1 volți AC, pentru fiecare 5mA de curent CT (sau fiecare 5A de curent măsurat). CT-urile au fost lipite pe bandă cu rezistorul și unele sârme de instrumente pentru a face cabluri de zbor. Am terminat cablurile cu mufe jack de 3,5 mm pentru bărbați.

Iată fișa tehnică pentru transformatorul de curent

Fișa cu date

Pasul 2: condiționarea semnalului

Condiționarea semnalului
Condiționarea semnalului
Condiționarea semnalului
Condiționarea semnalului

Semnalul de la CT va fi slab, deci trebuie amplificat. Pentru aceasta am lipit împreună un circuit amplificator simplu folosind un amplificator op dual uA741. În acest caz, câștigul este deci setat la 150 folosind formula Rf / Rin (150k / 1k). Cu toate acestea, semnalul de ieșire de la amplificator este încă în curent alternativ, dioda de pe ieșirea amplificatorului operațional întrerupe semiciclul negativ al curentului alternativ și trece tensiunea pozitivă la un condensator de 0,1 uF pentru a netezi unda într-un semnal continuu. Mai jos sunt părțile care alcătuiesc circuitul:

  • V1 - Acest lucru este arbitrar în această diagramă, reprezintă pur și simplu tensiunea semnalului care este alimentată în intrarea fără inversare a amplificatorului op.
  • R1 - Acesta este cunoscut sub numele de rezistor de feedback (Rf) și este setat la 150k
  • R2 - Acesta este cunoscut sub numele de rezistor de intrare (Rin) și este setat la 1k
  • 741 - Acesta este circuitul integrat uA741
  • VCC - Sina de alimentare pozitivă + 12V
  • VEE - Șină de alimentare negativă -12V
  • D1 - Este dioda de semnal de rectificare a undei haf 1N4001
  • C3 - Acest capactor deține semnalul DC pentru un timp stabilit

În imaginea 2 puteți vedea că a fost asamblat folosind Veroboard și sârmă de cupru cositorită. Au fost găurite 4 găuri pentru stand-off-urile PCB, astfel încât acestea să poată fi stivuite (deoarece există opt canale trebuie să existe în total opt circuite de amplificare.

Pasul 3: Alimentare

Alimentare electrică
Alimentare electrică
Alimentare electrică
Alimentare electrică
Alimentare electrică
Alimentare electrică

Dacă nu vă place să o faceți de la zero, puteți cumpăra placa pre-asamblată din China ca cea din imaginea de mai sus, dar veți avea în continuare nevoie de transformatorul de 3VA (coborâți 240V la 12V). Cel din imagine m-a costat în jur de 2,50 GBP

Pentru a alimenta proiectul, am decis să îmi fac propria sursă de alimentare cu 12 VDC cu șină duală. Acest lucru a fost convenabil, deoarece amplificatoarele de operare necesită + 12V, 0V, -12V, iar Arduino Uno poate accepta orice alimentare de până la 14 VDC. Mai jos sunt părțile care alcătuiesc circuitul:

  • V1 - Aceasta reprezintă sursa de alimentare 240V 50Hz
  • T1 - Acesta este un mic transformator de 3VA pe care l-am mințit. Este important ca transformatorul să aibă un robinet central pe secundar, care va fi conectat la 0V, adică la masă
  • D1 la D4 - Acesta este un redresor cu punte cu undă completă care utilizează diode 1N4007
  • C1 și C2 - condensatori electrolitici de 35V 2200uF (trebuie să fie de 35V, deoarece potențialul dintre pozitiv și negativ va ajunge la 30V)
  • U2 - LM7812, este un regulator de tensiune pozitivă de 12V
  • U3 - LM7912, este un regulator de tensiune negativ de 12V (aveți grijă să observați diferențele de pin între 78xx și 79xx IC!)
  • C3 & C4 - 100nF Condensatoare de netezire 25V electrolitice
  • C5 & C6 - Condensatoare ceramice cu disc 10uF

Am lipit componentele pe panou și m-am alăturat șinelor verticale cu sârmă de cupru conservată cu un singur miez. Imaginea 3 de mai sus arată sursa de alimentare DIY, îmi pare rău, există o mulțime de jumperi în fotografie!

Pasul 4: Convertoare analogice la digitale

Convertoare analogice cu digitale
Convertoare analogice cu digitale
Convertoare analogice cu digitale
Convertoare analogice cu digitale

Arduino Uno are deja un ADC de 10 biți încorporat, însă există doar 6 intrări analogice. Prin urmare, am ales să folosesc două breakouts ADC cu ADS1115 pe 16 biți. Acest lucru permite 2 ^ 15 = 32767 biți să reprezinte niveluri de tensiune de la 0-4.096V (4.096V este tensiunea de funcționare a rupturii), aceasta înseamnă că fiecare bit reprezintă 0.000125V! De asemenea, deoarece folosește magistrala I2C, înseamnă că pot fi adresate până la 4 ADC-uri, permițând monitorizarea a până la 16 canale, dacă se dorește.

Am încercat să ilustrez conexiunile folosind Fritzing, cu toate acestea, din cauza limitărilor, nu există piese personalizate pentru a ilustra un generator de semnal. Firul purpuriu este conectat la ieșirea circuitului amplificatorului, firul negru de lângă acesta ilustrează faptul că toate circuitele amplificatorului trebuie să aibă partajare comună. Așa că am folosit un panou pentru a ilustra modul în care am făcut punctele de egalitate. Cu toate acestea, proiectul meu actual are izbucnirile în anteturi feminine, lipite la Veroboard, iar toate punctele de cravată sunt lipite pe veroboard.

Pasul 5: Microcontroler

Microcontroler
Microcontroler

Așa cum am menționat mai sus, controlerul pe care l-am ales a fost un Arduino Uno, aceasta a fost o alegere bună, deoarece are o mulțime de funcții la bord și încorporate, care altfel ar fi trebuit să fie construite separat. În plus, este compatibil cu multe „scuturi” special construite. Cu această ocazie am solicitat un ceas în timp real pentru a marca toate rezultatele și un scriitor de card SD pentru a înregistra rezultatele într-un fișier.csv sau.txt. Din fericire, scutul de înregistrare a datelor Arduino are ambele într-un scut care se potrivește pe placa originală Arduino fără lipire suplimentară. Scutul este compatibil cu bibliotecile de carduri RTClib și SD, deci nu este nevoie de niciun cod de specialitate.

Pasul 6: Asamblare

Asamblare
Asamblare
Asamblare
Asamblare
Asamblare
Asamblare

Am folosit PVC de 5 mm cu densitate medie / mică (uneori cunoscut sub numele de foamboard) pentru a înșuruba majoritatea componentelor mele și pentru a-l tăia la o dimensiune convenabilă cu un cuțit de ambarcațiuni. Toate componentele au fost construite într-un mod modular pentru prototip, deoarece permite îndepărtarea pieselor individuale în cazul în care lucrurile merg prost, totuși nu este la fel de eficient sau ordonat ca un PCB gravat (lucrări ulterioare), aceasta înseamnă, de asemenea, o mulțime de fire jumper între componentele.

Pasul 7: Încărcarea codului

Încărcați codul în Arduino sau obțineți codul din repo Github

github.com/smooth-jamie/datalogger.git

Pasul 8: Calibrare

Calibrare
Calibrare
Calibrare
Calibrare
Calibrare
Calibrare

Teoretic curentul măsurat va fi rezultatul mai multor lucruri combinate:

Amperi măsurați = (((a * 0.45) / 150) / (1.1 / 5000)) / 1000 unde „a” este tensiunea semnalului de la amplificator

0,45 este valoarea efectivă a Vout a circuitului amplificatorului, 150 este câștigul amplificatorului op (Rf / Rin = 150k / 1k), 1,1 este ieșirea de tensiune la scară completă a CT atunci când amperii măsurați sunt 5A, 5000 este pur și simplu 5A în mA, și 1000 este cantitatea de rotații din transformator. Acest lucru poate fi simplificat pentru:

Amperi măsurați = (b * 9.216) / 5406555 unde b este valoarea raportată ADC

Această formulă a fost testată folosind ADC Arduino pe 10 biți și o diferență între valorile multimetrului și valorile generate Arduino a fost observată cu 11%, ceea ce reprezintă o abatere inacceptabilă. Metoda mea preferată pentru calibrare este să înregistrez valoarea ADC vs curent pe un multimetru într-o foaie de calcul și să trasez un polinom de ordinul trei. Din aceasta, formula cubică poate fi utilizată pentru a da rezultate mai bune la calcularea curentului măsurat:

(ax ^ 3) + (bx ^ 2) + (cx ^ 1) + d

Coeficienții a, b, c și d sunt calculați în excel dintr-un tabel de date simplu, x este valoarea dvs. ADC.

Pentru a obține datele, am folosit o rezistență variabilă ceramică 1k (reostat) și un transformator de 12V pentru a reduce tensiunea de rețea de la 240V, ceea ce mi-a dat să generez o sursă de curent variabilă de la 13mA la 100mA. Cu cât sunt colectate mai multe puncte de date, cu atât mai bine, cu toate acestea aș sugera colectarea a 10 puncte de date pentru a obține o tendință exactă. Șablonul Excel atașat va calcula coeficienții pentru dvs., este doar o chestiune de a le introduce în codul arduino

Pe linia 69 a codului veți vedea unde să introduceți coeficienții

float chn0 = ((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0.003985811 * adc0) + (0.663064521)));

care este aceeași cu formula din foaia 1 a fișierului excel:

y = 7E-13x3 - 4E-08x2 + 0,004x + 0,663

Unde x = adc0 din orice canal pe care îl calibrați

Pasul 9: Terminați

finalizarea
finalizarea
finalizarea
finalizarea
finalizarea
finalizarea
finalizarea
finalizarea

Puneți-l într-o incintă de proiect. Am terminat alimentarea cu un comutator pentru a porni / opri totul la alimentare și un conector IEC „figura 8” pentru intrarea de rețea. Înșurubați totul și sunteți gata să-l testați.

Lucrări ulterioare

Întregul proiect a fost redat destul de repede, așa că există mult spațiu de îmbunătățire, circuit gravat, componente mai bune. În mod ideal, totul ar fi gravat sau lipit pe FR4, mai degrabă decât o mulțime de jumperi. Așa cum am spus mai devreme, există o mulțime de lucruri pe care nu le-am menționat, dar dacă este ceva anume, ați dori să știți, anunțați-mă în comentarii și voi actualiza instrucabilul!

Actualizare 2016-12-18

Am adăugat acum un ecran LCD de 16x2 folosind „rucsacul” I2C pentru a monitoriza primele patru canale, și voi adăuga altul pentru a monitoriza ultimele patru când va ajunge prin poștă.

credite

Acest proiect a fost posibil de către toți autorii bibliotecilor utilizate în schița mea Arduino, inclusiv biblioteca DS3231, biblioteca Adafruit ADS1015 și biblioteca Arduino SD

Recomandat: