Sadržaj:

Zapisnik podataka o praćenju izmjenične struje: 9 koraka (sa slikama)
Zapisnik podataka o praćenju izmjenične struje: 9 koraka (sa slikama)

Video: Zapisnik podataka o praćenju izmjenične struje: 9 koraka (sa slikama)

Video: Zapisnik podataka o praćenju izmjenične struje: 9 koraka (sa slikama)
Video: Использование плат Digispark Attiny85 Mini Arduino: Урок 108 2024, Novembar
Anonim
Zapisnik podataka o nadzoru izmjenične struje
Zapisnik podataka o nadzoru izmjenične struje

Zdravo svima, dobrodošli u moju prvu instrukciju! Po danu sam inženjer za testiranje u kompaniji koja isporučuje industrijsku opremu za grijanje, noću sam strastveni hobist za tehnologiju i DIY'er. Dio mog rada uključuje testiranje performansi grijača. Ovom prilikom htio sam moći nadzirati RMS trenutnu potrošnju 8 uređaja tokom 1000 sati i evidentirati podatke za kasnije grafikoniranje rezultata. Imam pristup zapisniku podataka, ali on je već bio predan drugom projektu i trebalo mi je nešto jeftino, pa sam odlučio spojiti ovaj osnovni zapisnik podataka.

Projekt koristi Arduino Uno za čitanje analognih senzora putem analogno -digitalnog pretvarača (ADC) i bilježi podatke s vremenskom oznakom na SD kartici. Mnogo je teorije i proračuna uključeno u projektiranje krugova, pa ću vam umjesto objašnjenja apsolutno svega pokazati samo kako to napraviti. Ako ste zainteresirani da vidite CIJELI hit, javite mi u komentarima i dalje ću vam objasniti.

BILJEŠKA:

Imao sam mnogo pitanja o izračunima True RMS -a. Ovaj uređaj koristi polutalasni ispravljač za snimanje vrha vala, koji se zatim može pomnožiti s 0,707 da bi se dobio RMS. Posljedično, to će dati točan rezultat samo s linearnim opterećenjima (tj. Mjerena struja je čisti sinusni val). Nelinearne zalihe ili opterećenja koja daju trokutaste, pravokutne ili bilo koje druge oblike bez sinusa neće dati pravi RMS izračun. Ovaj uređaj mjeri izmjeničnu struju samo što nije dizajniran za mjerenje napona, stoga ne izračunava niti mjeri faktor snage. Pogledajte moje druge upute o tome kako stvoriti mjerač faktora snage koji se može koristiti za to. Mnogi su ljudi također rekli da je ravno spajanje izmjeničnom strujom sa središnjom linijom od 2,5 V bolje, međutim to unosi komplikacije jer uključuje dovoljno brzu brzinu digitalnog uzorkovanja, robusno usrednjavanje/izglađivanje podataka itd., A nesigurnost koju ovo uvodi mnogo je veća od mjerenja sirova vrednost. Osobno preferiram hardverska rješenja i jednostavniji kod gdje je to moguće pa me ta metoda ne zanima. Tačno, vjerujem da je ovo daleko bolje od ovog drugog i kasnije ćete vidjeti u mojim rezultatima da nakon kalibracije postoji koeficijent regresije blizu 1,0.

Korak 1: Trenutni transformatori

Strujni transformatori
Strujni transformatori
Strujni transformatori
Strujni transformatori

Ovaj projekt koristi HMCT103C 5A/5MA strujni transformator. Ima omjer okreta 1: 1000 što znači da za svakih 5A struje koja teče kroz vodič 5mA će teći kroz CT. Otpornik mora biti spojen na dva priključka CT -a kako bi se na njemu mogao izmjeriti napon. Ovom prilikom sam koristio otpornik od 220 Ohma, pa će prema Ohmovom zakonu V = IR izlaz CT -a biti 1,1 V AC na svakih 5mA CT struje (ili svakih 5A izmjerene struje). CT -ovi su lemljeni na ploču sa otpornikom i nekom žicom instrumenta za izradu letećih vodova. Završio sam provodnike sa utičnicama za muški audio priključak od 3,5 mm.

Evo podatkovnog lista za trenutni transformator

Tehnički list

Korak 2: Kondicioniranje signala

Kondicioniranje signala
Kondicioniranje signala
Kondicioniranje signala
Kondicioniranje signala

Signal iz CT -a će biti slab pa ga je potrebno pojačati. Za to sam lemio jednostavno kolo pojačala koristeći uA741 dual rail op pojačalo. U ovom slučaju dobitak se stoga postavlja na 150 koristeći formulu Rf / Rin (150k / 1k). Međutim, izlazni signal pojačala je još uvijek naizmjenični, dioda na izlazu op-pojačala prekida negativni poluciklus izmjenične struje i prenosi pozitivni napon na kondenzator od 0,1 uF kako bi izgladila val u valoviti istosmjerni signal. Ispod su dijelovi koji čine krug:

  • V1-Ovo je proizvoljno na ovom dijagramu, jednostavno predstavlja napon signala koji se dovodi na neinvertirajući ulaz op-pojačala.
  • R1 - Ovo je poznato kao povratni otpornik (Rf) i postavljeno je na 150k
  • R2 - Ovo je poznato kao ulazni otpornik (Rin) i postavljeno je na 1k
  • 741 - Ovo je integrirano kolo uA741
  • VCC - Pozitivna opskrbna šina +12V
  • VEE - Šina za negativno napajanje -12V
  • D1 - Je li signalna dioda za ispravljanje haf talasa 1N4001
  • C3 - Ovaj kondenzator zadržava istosmjerni signal određeno vrijeme

Na slici 2 možete vidjeti da je sastavljen pomoću Veroboarda i kalajisane bakrene žice. Izbušene su 4 rupe za izdvojene štampane ploče kako bi se mogle složiti (jer postoji osam kanala, potrebno je ukupno osam krugova pojačala.

Korak 3: Napajanje

Napajanje
Napajanje
Napajanje
Napajanje
Napajanje
Napajanje

Ako vam se ne sviđa da to radite od nule, ploču možete kupiti već montiranu iz Kine, poput one na gornjoj slici, ali će vam i dalje trebati 3VA transformator (korak dolje 240V na 12V). Ovaj na slici koštao me oko 2,50 funti

Za pokretanje projekta odlučio sam napraviti vlastito dvožilno 12VDC napajanje. To je bilo zgodno jer op -pojačala zahtijevaju +12V, 0V, -12V, a Arduino Uno može prihvatiti bilo koje napajanje do 14 VDC. Ispod su dijelovi koji čine krug:

  • V1 - Ovo predstavlja napajanje iz mrežne utičnice 240V 50Hz
  • T1 - Ovo je mali 3VA transformator oko kojeg sam ležao. Važno je da transformator ima centralnu slavinu na sekundaru koja će biti spojena na 0V tj. Uzemljenje
  • D1 do D4 - Ovo je punotalasni ispravljač koji koristi 1N4007 diode
  • C1 & C2 - 35V elektrolitički kondenzatori 2200uF (mora biti 35V jer će potencijal između pozitivnog i negativnog doseći 30V)
  • U2 - LM7812, regulator napona od 12V
  • U3 - LM7912, regulator negativnog napona od 12 V (pripazite na razlike u pinovima između IC -a 78xx i 79xx!)
  • C3 & C4 - 100nF Glatki kondenzatori 25V elektrolitički
  • C5 & C6 - 10uF kondenzatori od keramičkog diska

Lemio sam komponente na karton i spojio okomite tračnice golom jednožilnom kalajisanom bakrenom žicom. Slika 3 gore prikazuje moje DIY napajanje, žao mi je što na fotografiji ima puno skakača!

Korak 4: Analogno -digitalni pretvarači

Analogno -digitalni pretvarači
Analogno -digitalni pretvarači
Analogno -digitalni pretvarači
Analogno -digitalni pretvarači

Arduino Uno već ima ugrađen 10-bitni ADC, međutim postoji samo 6 analognih ulaza. Stoga sam se odlučio za korištenje dva ADC prekida sa 16-bitnim ADS1115. Ovo dozvoljava 2^15 = 32767 bita da predstavljaju nivoe napona od 0-4.096V (4.096V je radni napon prekida), to znači da svaki bit predstavlja 0.000125V! Takođe, budući da koristi I2C sabirnicu, to znači da se mogu adresirati do 4 ADC -a, što omogućava praćenje do 16 kanala po želji.

Pokušao sam ilustrirati veze pomoću Fritzinga, međutim zbog ograničenja ne postoje prilagođeni dijelovi za ilustraciju generatora signala. Ljubičasta žica spojena je na izlaz kola pojačala, a crna žica pored nje pokazuje da sva kola pojačala moraju imati zajedničko uzemljenje. Tako sam upotrijebio matičnu ploču da ilustriram kako sam postigao tačke vezivanja. Međutim, moj stvarni projekt ima prekide koji sjede u ženskim zaglavljima, lemljeni na Veroboard -u, a sve spojne tačke su lemljene na veroboard -u.

Korak 5: Mikrokontroler

Mikrokontroler
Mikrokontroler

Kao što je gore spomenuto, kontroler koji sam odabrao bio je Arduino Uno, ovo je bio dobar izbor jer ima mnogo ugrađenih i ugrađenih funkcija koje bi inače trebale biti izgrađene zasebno. Osim toga, kompatibilan je s mnoštvom posebno izgrađenih „štitova“. Ovom prilikom mi je bio potreban sat u stvarnom vremenu za vremensku oznaku svih rezultata i pisač SD kartice za snimanje rezultata u.csv ili.txt datoteku. Na sreću, Arduino štitnik za bilježenje podataka ima oba u štitu koji gura uklapanje na originalnu Arduino ploču bez dodatnog lemljenja. Štit je kompatibilan s bibliotekama RTClib i SD kartica pa nema potrebe za bilo kakvim specijalnim kodom.

Korak 6: Montaža

Montaža
Montaža
Montaža
Montaža
Montaža
Montaža

Koristio sam 5 mm ridgid PVC srednje/niske gustoće PVC -a (ponekad poznat i kao foamboard) da zašrafim većinu svojih komponenti i izrežem ih na prikladnu veličinu zanatskim nožem. Sve komponente izrađene su na modularni način za prototip jer omogućuju uklanjanje pojedinih dijelova ako stvari krenu po zlu, međutim nije tako učinkovito niti uredno kao nagrizana PCB (daljnji rad) to znači i puno kratkospojnih žica između komponente.

Korak 7: Otpremanje koda

Prenesite kôd na Arduino ili ga preuzmite iz mog Github repoa

github.com/smooth-jamie/datalogger.git

Korak 8: Kalibracija

Kalibracija
Kalibracija
Kalibracija
Kalibracija
Kalibracija
Kalibracija

Teoretski, izmjerena struja će biti rezultat nekoliko stvari zajedno:

Izmjerena pojačala = (((a *0.45)/150)/(1.1/5000))/1000 gdje je 'a' napon signala iz pojačala

0,45 je efektivna vrijednost Vout kruga pojačala, 150 je pojačanje op-pojačala (Rf / Rin = 150k / 1k), 1,1 je napon pune vrijednosti CT-a kad su izmjerena pojačala 5A, 5000 je jednostavno 5A u mA, a 1000 je broj okreta u transformatoru. Ovo se može pojednostaviti na:

Izmjerena pojačala = (b * 9.216) / 5406555 gdje je b prijavljena vrijednost ADC -a

Ova je formula testirana pomoću Arduino 10-bitnog ADC-a, a razlika između vrijednosti multimetra i arduino generiranih vrijednosti uočena je za 11%, što je neprihvatljivo odstupanje. Moj preferirani način kalibracije je snimiti vrijednost ADC -a prema struji na multimetru u proračunskoj tablici i iscrtati polinom trećeg reda. Iz toga se kubna formula može koristiti za bolje rezultate pri izračunavanju izmjerene struje:

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

Koeficijenti a, b, c i d izračunati su u excelu iz jednostavne tablice podataka, x je vaša ADC vrijednost.

Za dobivanje podataka koristio sam keramički 1k promjenjivi otpornik (reostat) i 12v transformator za smanjenje mrežnog napona s 240V, što će mi omogućiti generiranje izvora promjenjive struje od 13mA do 100mA. Što je više tačaka podataka prikupljeno, to je bolje, međutim predlažem da prikupite 10 podataka da biste dobili tačan trend. Priloženi predložak Excel izračunat će koeficijente umjesto vas, samo je potrebno unijeti ih u arduino kôd

U retku 69 koda vidjet ćete gdje unijeti koeficijente

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

koja je ista kao formula u listu 1 excel datoteke:

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

Gdje je x = adc0 bilo kojeg kanala koji kalibrirate

Korak 9: Završite

Završi
Završi
Završi
Završi
Završi
Završi
Završi
Završi

Stavite ga u kućište projekta. Završio sam napajanje prekidačem za uključivanje/isključivanje cijele stvari na napajanju i IEC konektorom "slika 8" za mrežni ulaz. Zašrafite sve zajedno i spremni ste za testiranje.

Dalji rad

Cijeli projekt je prilično brzo izmijenjen pa ima puno prostora za poboljšanje, urezano kolo, bolje komponente. U idealnom slučaju, cijela stvar bi bila ugravirana ili lemljena na FR4, a ne na hrpu skakača. Kao što sam već rekao, ima mnogo stvari koje nisam spomenuo, ali ako želite nešto posebno, javite mi u komentarima, a ja ću ažurirati uputstva!

Ažurirano 18.12.2016

Sada sam dodao LCD ekran veličine 16x2 koristeći I2C "ruksak" za nadgledanje prva četiri kanala, dodaću još jedan za praćenje posljednja četiri kada stigne kroz post.

Krediti

Ovaj su projekt omogućili svi autori biblioteka korištenih u mojoj Arduino skici, uključujući biblioteku DS3231, biblioteku Adafruit ADS1015 i biblioteku Arduino SD

Preporučuje se: