Kazalo:

Zapisovalnik podatkov o spremljanju izmeničnega toka: 9 korakov (s slikami)
Zapisovalnik podatkov o spremljanju izmeničnega toka: 9 korakov (s slikami)

Video: Zapisovalnik podatkov o spremljanju izmeničnega toka: 9 korakov (s slikami)

Video: Zapisovalnik podatkov o spremljanju izmeničnega toka: 9 korakov (s slikami)
Video: Крушение Подводной Атомной лодки USS Thresher 2024, November
Anonim
Zapisovalnik podatkov o spremljanju izmeničnega toka
Zapisovalnik podatkov o spremljanju izmeničnega toka

Pozdravljeni vsi, dobrodošli na mojem prvem pouku! Podnevi sem inženir za testiranje v podjetju, ki dobavlja industrijsko opremo za ogrevanje, ponoči sem navdušen tehnološki ljubitelj in DIY'er. Del mojega dela vključuje preizkušanje zmogljivosti grelnikov, ob tej priložnosti sem želel spremljati trenutni RMS oskrbe 8 naprav v 1000 urah in podatke zabeležiti za kasnejše grafično prikazovanje rezultatov. Imam dostop do zapisovalnika podatkov, vendar je bil že predan drugemu projektu in potreboval sem nekaj nizkih stroškov, zato sem se odločil, da bom skupaj zložil ta osnovni zapisovalnik podatkov.

Projekt uporablja Arduino Uno za branje analognih senzorjev prek analogno -digitalnega pretvornika (ADC) in beleži podatke s časovnim žigom na kartico SD. Pri načrtovanju vezij je vključenih veliko teorije in izračunov, zato vam bom namesto, da bi popolnoma vse razložil, pokazal, kako to narediti. Če vas zanima ogled celotnega zadetka, mi to sporočite v komentarjih in vam bom podrobneje razložil.

OPOMBA:

Imel sem veliko vprašanj glede izračunov True RMS. Ta naprava uporablja polvalni usmernik za zajemanje vrha vala, ki ga lahko nato pomnožite z 0,707, da dobite RMS. Posledično bo le z linearnimi obremenitvami dal natančen rezultat (tj. Tok, ki se meri, je čisti sinusni val). Nelinearne zaloge ali obremenitve, ki dajejo trikotne, pravokotne ali katere koli druge nesinusne valovne oblike, ne bodo dale pravega RMS izračuna. Ta naprava meri samo izmenični tok, vendar ni zasnovana za merjenje napetosti, zato ne izračuna in ne meri faktorja moči. Oglejte si moja druga navodila, kako ustvariti merilnik faktorja moči, ki ga lahko uporabite za to. Mnogi ljudje so tudi dejali, da je boljša direktna AC povezava z 2,5 V središčno linijo, vendar to prinaša zaplete, saj vključuje dovolj hitro stopnjo digitalnega vzorčenja, robustno povprečenje/glajenje podatkov itd. surova vrednost. Osebno imam raje strojne rešitve in poenostavljeno kodo, zato me ta metoda ne zanima. Natančno verjamem, da je to veliko boljše od slednjega in kasneje boste v mojih rezultatih videli, da je po umerjanju regresijski koeficient blizu 1,0.

Korak: Trenutni transformatorji

Trenutni transformatorji
Trenutni transformatorji
Trenutni transformatorji
Trenutni transformatorji

Ta projekt uporablja tokovni transformator HMCT103C 5A/5MA. Ima razmerje obratov 1: 1000, kar pomeni, da za vsakih 5A toka, ki teče skozi prevodnik, 5mA teče skozi CT. Na obeh sponkah CT je treba priključiti upor, da se na njem lahko izmeri napetost. Ob tej priložnosti sem uporabil 220 ohmski upor, zato bo z Ohmovim zakonom V = IR izhod CT -ja 1,1 voltov AC za vsakih 5 mA toka CT (ali vsakih 5A izmerjenega toka). CT -ji so bili spajani na ploščo z uporom in nekaj instrumentalne žice za letenje. Kable sem zaključil s 3,5 mm vtičnicami za moške avdio priključke.

Tukaj je podatkovni list za trenutni transformator

Podatkovni list

2. korak: Kondicioniranje signala

Kondicioniranje signala
Kondicioniranje signala
Kondicioniranje signala
Kondicioniranje signala

Signal iz CT bo šibek, zato ga je treba okrepiti. Za to sem spajal preprosto ojačevalno vezje z dvojnim tirnim ojačevalnikom uA741. V tem primeru je zato dobiček nastavljen na 150 po formuli Rf / Rin (150k / 1k). Vendar je izhodni signal ojačevalnika še vedno izmeničen, dioda na izhodu op-ojačevalnika prekine negativni polcikel izmeničnega toka in prenese pozitivno napetost na 0,1uF kondenzator, da val zgladi v valovit enosmerni signal. Spodaj so deli, ki sestavljajo vezje:

  • V1-V tem diagramu je poljubno, preprosto predstavlja napetost signala, ki se napaja v neinvertirajoči vhod op-ojačevalnika.
  • R1 - Ta upor je znan kot povratni upor (Rf) in je nastavljen na 150k
  • R2 - To je znano kot vhodni upor (Rin) in je nastavljeno na 1k
  • 741 - To je integrirano vezje uA741
  • VCC - Pozitivna napajalna tirnica +12V
  • VEE - Negativna napajalna tirnica -12V
  • D1 - Je signalna dioda za odpravljanje haf valov 1N4001
  • C3 - Ta kondenzator zadrži enosmerni signal določen čas

Na sliki 2 lahko vidite, da je bil sestavljen z uporabo Veroboarda in kositrene bakrene žice. Za stojala za PCB so bile izvrtane 4 luknje, da jih je mogoče zložiti (ker obstaja osem kanalov, skupaj mora biti osem ojačevalnih vezij.

3. korak: Napajanje

Napajanje
Napajanje
Napajanje
Napajanje
Napajanje
Napajanje

Če vam ni všeč, da bi to naredili iz nič, lahko ploščo kupite vnaprej sestavljeno iz Kitajske, kot je prikazano na zgornji sliki, vendar boste še vedno potrebovali transformator 3VA (korak navzdol 240V na 12V). Na sliki me je stalo okoli 2,50 £

Za poganjanje projekta sem se odločil, da naredim lastno dvojno tirnico 12VDC. To je bilo priročno, saj op -ojačevalniki zahtevajo +12V, 0V, -12V, Arduino Uno pa lahko sprejme katero koli napajanje do 14 V DC. Spodaj so deli, ki sestavljajo vezje:

  • V1 - To predstavlja napajanje iz omrežne vtičnice 240V 50Hz
  • T1 - To je majhen 3VA transformator, ob katerem sem ležal. Pomembno je, da ima transformator centralno pipo na sekundaru, ki bo priključena na 0V, to je na ozemljitev
  • D1 do D4 - To je polnovalni valni usmernik, ki uporablja 1N4007 diode
  • C1 & C2 - 35V elektrolitski kondenzatorji 2200uF (mora biti 35V, saj bo potencial med pozitivnim in negativnim dosegel 30V)
  • U2 - LM7812, je regulator 12V pozitivne napetosti
  • U3 - LM7912, je regulator 12 V negativne napetosti (bodite pozorni na razlike med zatiči med 78xx in 79xx IC!)
  • C3 & C4 - 100nF gladilni kondenzatorji 25V elektrolitski
  • C5 & C6 - 10uF kondenzatorji iz keramike

Komponente sem spajkal na lepenko in navpične steze povezal z golo enožilno kositreno bakreno žico. Slika 3 zgoraj prikazuje moj DIY napajalnik, žal je na fotografiji veliko skakalcev!

4. korak: analogno -digitalni pretvorniki

Analogni v digitalni pretvornik
Analogni v digitalni pretvornik
Analogni v digitalni pretvornik
Analogni v digitalni pretvornik

Arduino Uno že ima vgrajen 10-bitni ADC, vendar je na voljo le 6 analognih vhodov. Zato sem se odločil za uporabo dveh ADC prekinitev s 16-bitnim ADS1115. To omogoča 2^15 = 32767 bitov, da predstavljajo napetostne ravni od 0-4.096V (4.096V je delovna napetost prekinitve), kar pomeni, da vsak bit predstavlja 0.000125V! Ker uporablja vodilo I2C, to pomeni, da je mogoče nasloviti do 4 ADC -je, kar po želji omogoča spremljanje do 16 kanalov.

Povezave sem poskušal ponazoriti s pomočjo Fritzinga, vendar zaradi omejitev ni delov po meri, ki bi ponazarjali generator signalov. Vijolična žica je priključena na izhod ojačevalnega tokokroga, črna žica zraven pa prikazuje, da morajo imeti vsa ojačevalna vezja skupne točke. Zato sem uporabil načrt, da ponazorim, kako sem dosegel vezi. Toda moj dejanski projekt ima prelome, ki sedijo v ženskih naslovih, spajkani na Veroboard, vse vezne točke pa so spajane na veroboard.

5. korak: Mikrokrmilnik

Mikrokrmilnik
Mikrokrmilnik

Kot je bilo omenjeno zgoraj, je bil krmilnik, ki sem ga izbral, Arduino Uno, kar je bila dobra izbira, saj ima na krovu veliko vgrajenih in vgrajenih funkcij, ki bi jih sicer morali vgraditi ločeno. Poleg tega je združljiv z veliko posebej izdelanimi "ščitniki". Ob tej priložnosti sem potreboval uro v realnem času za časovni žig vseh rezultatov in zapisovalnik kartic SD za zapis rezultatov v datoteko.csv ali.txt. Na srečo ima ščitnik za beleženje podatkov Arduino oboje v ščitu, ki potisne pritrditev na prvotno ploščo Arduino brez dodatnega spajkanja. Ščit je združljiv s knjižnicami kartic RTClib in SD, zato ni potrebe po posebni kodi.

6. korak: Montaža

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

Uporabil sem 5 -milimetrski trden PVC srednje/nizke gostote (včasih znan tudi kot foamboard), da sem privil večino svojih sestavnih delov in jih z ročnim nožem odrezal na primerno velikost. Vse komponente so bile izdelane modularno za prototip, saj omogočajo odstranitev posameznih delov, če gre kaj narobe, vendar ni tako učinkovito ali urejeno kot jedkano tiskano vezje (nadaljnje delo), kar pomeni tudi veliko mostičkov med komponente.

7. korak: Nalaganje kode

Naložite kodo v Arduino ali jo dobite v mojem repoju Github

github.com/smooth-jamie/datalogger.git

8. korak: Umerjanje

Praznovanje
Praznovanje
Praznovanje
Praznovanje
Praznovanje
Praznovanje

Teoretično bo izmerjeni tok posledica več stvari skupaj:

Izmerjeni amperi = (((a *0,45)/150)/(1,1/5000))/1000, kjer je "a" signalna napetost ojačevalnika

0,45 je efektivna vrednost Vout ojačevalnega tokokroga, 150 je ojačanje op-amp (Rf / Rin = 150k / 1k), 1,1 je polna napetostna izhodna napetost CT, ko so izmerjeni ojačevalniki 5A, 5000 je preprosto 5A v mA in 1000 je količina obratov v transformatorju. To lahko poenostavimo tako:

Izmerjeni amperi = (b * 9.216) / 5406555, kjer je b sporočena vrednost ADC

Ta formula je bila preizkušena z 10-bitnim ADC-jem Arduino in razlika med vrednostmi multimetra in vrednostmi, ustvarjenimi z Arduinom, je bila opažena za 11%, kar je nesprejemljivo odstopanje. Moja najprimernejša metoda za umerjanje je beleženje vrednosti ADC v primerjavi s tokom na multimeter v preglednici in narisanje polinoma tretjega reda. Iz tega lahko kubično formulo uporabimo za boljše rezultate pri izračunu izmerjenega toka:

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

Koeficienti a, b, c in d so izračunani v Excelu iz preproste podatkovne tabele, x je vaša vrednost ADC.

Za pridobivanje podatkov sem uporabil keramični spremenljiv upor 1k (reostat) in 12 -voltni transformator za znižanje omrežne napetosti z 240 V, kar mi bo omogočilo generiranje spremenljivega tokovnega vira od 13 mA do 100 mA. Več podatkovnih točk je zbranih bolje, vendar predlagam zbiranje 10 podatkovnih točk, da dobimo natančen trend. Priložena predloga Excel bo za vas izračunala koeficiente, potem jih morate samo vnesti v kodo arduino

V vrstici 69 kode boste videli, kje vpisati koeficiente

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

ki je enaka formuli v listu 1 datoteke Excel:

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

Kjer je x = adc0 katerega koli kanala, ki ga umerjate

9. korak: Dokončaj

Končaj
Končaj
Končaj
Končaj
Končaj
Končaj
Končaj
Končaj

Postavite ga v ohišje projekta. Napajanje sem zaključil s preklopnim stikalom za vklop/izklop vsega na napajanju in priključkom IEC "slika 8" za vhod v omrežje. Privijte vse skupaj in pripravljeni ste preizkusiti.

Nadaljnje delo

Celoten projekt so precej hitro posmehnili, zato je veliko prostora za izboljšave, jedkano vezje in boljše komponente. V idealnem primeru bi bila celotna stvar vtisnjena ali spajkana na FR4 in ne na obremenitve skakalcev. Kot sem že rekel, obstaja veliko stvari, ki jih nisem omenil, če pa bi radi vedeli kaj posebnega, mi to sporočite v komentarjih in posodobil bom navodila!

Posodobitev 18.12.2016

Zdaj sem dodal 16x2 LCD z "nahrbtnikom" I2C za spremljanje prvih štirih kanalov, dodal pa bom še enega za spremljanje zadnjih štirih, ko prispe po pošti.

Krediti

Ta projekt so omogočili vsi avtorji knjižnic, uporabljenih v moji skici Arduino, vključno s knjižnico DS3231, knjižnico Adafruit ADS1015 in knjižnico Arduino SD

Priporočena: