Satura rādītājs:

Maiņstrāvas uzraudzības datu reģistrētājs: 9 soļi (ar attēliem)
Maiņstrāvas uzraudzības datu reģistrētājs: 9 soļi (ar attēliem)

Video: Maiņstrāvas uzraudzības datu reģistrētājs: 9 soļi (ar attēliem)

Video: Maiņstrāvas uzraudzības datu reģistrētājs: 9 soļi (ar attēliem)
Video: Обзор модуля ввода/вывода EBYTE Modbus RTU 2024, Jūlijs
Anonim
Maiņstrāvas uzraudzības datu reģistrētājs
Maiņstrāvas uzraudzības datu reģistrētājs

Sveiki visi, laipni lūdzam manā pirmajā pamācībā! Pa dienu esmu testēšanas inženieris uzņēmumā, kas piegādā rūpnieciskās apkures iekārtas, naktī esmu dedzīgs tehnoloģiju hobijs un DIY'er. Daļa no mana darba ir saistīta ar sildītāju veiktspējas pārbaudi. Šoreiz es vēlējos, lai varētu 1000 stundu laikā pārraudzīt 8 ierīču RMS strāvas padevi un reģistrēt datus, lai vēlāk attēlotu rezultātus. Man ir piekļuve datu reģistrētājam, taču tas jau bija paredzēts citam projektam, un man vajadzēja kaut ko par zemām izmaksām, tāpēc es nolēmu apvienot šo pamata datu reģistrētāju.

Projekts izmanto Arduino Uno, lai nolasītu analogos sensorus, izmantojot analogo -ciparu pārveidotāju (ADC), un reģistrē datus ar laika zīmogu SD kartē. Shēmu projektēšanā ir daudz teorijas un aprēķinu, tāpēc tā vietā, lai izskaidrotu pilnīgi visu, es tikai parādīšu, kā to izdarīt. Ja jūs interesē redzēt PILNU trāpījumu, paziņojiet man komentāros, un es paskaidrošu tālāk.

PIEZĪME:

Man bija daudz jautājumu par True RMS aprēķiniem. Šī ierīce izmanto pusviļņu taisngriezi, lai uztvertu viļņa maksimumu, ko pēc tam var reizināt ar 0,707, lai iegūtu RMS. Tā rezultātā tas sniegs precīzu rezultātu tikai ar lineārām slodzēm (ti, izmērītā strāva ir tīrs sinusoidāls vilnis). Nelineāras piegādes vai slodzes, kas dod trīsstūra, taisnstūra vai jebkuru citu sinusa viļņu formu, nedos patiesu RMS aprēķinu. Šī ierīce mēra tikai maiņstrāvu, tā nav paredzēta sprieguma mērīšanai, tāpēc tā neaprēķina un nemēra jaudas koeficientu. Lūdzu, skatiet manu citu pamācību par to, kā izveidot jaudas koeficienta mērītāju, ko var izmantot šim nolūkam. Daudzi cilvēki arī ir teikuši, ka labāka ir taisna maiņstrāvas sakabe ar 2,5 V viduslīniju, taču tas rada sarežģījumus, jo tas ietver pietiekami ātru digitālās paraugu ņemšanas ātrumu, stabilu vidējo vērtību/datu izlīdzināšanu utt., Un tā radītā nenoteiktība ir daudz lielāka nekā mērīšana neapstrādāta vērtība. Personīgi es dodu priekšroku aparatūras risinājumiem un vienkāršākam kodam, ja iespējams, tāpēc šī metode mani neinteresē. Ar precizitāti es uzskatu, ka tas ir daudz labāk nekā pēdējais, un vēlāk manos rezultātos redzēsit, ka pēc kalibrēšanas ir regresijas koeficients, kas ir tuvu 1,0.

1. darbība. Pašreizējie transformatori

Pašreizējie transformatori
Pašreizējie transformatori
Pašreizējie transformatori
Pašreizējie transformatori

Šajā projektā tiek izmantots strāvas transformators HMCT103C 5A/5MA. Tam ir 1: 1000 apgriezienu attiecība, kas nozīmē katru 5A strāvu, kas plūst caur vadītāju, 5 mA plūst caur CT. Divi CT termināļi ir jāpievieno rezistoram, lai varētu izmērīt spriegumu. Šajā gadījumā es izmantoju 220 omu rezistoru, tāpēc, izmantojot Ohma likumu V = IR, CT izeja būs 1,1 volti maiņstrāvas uz katriem 5 mA CT strāvas (vai ik pēc 5A izmērītās strāvas). CT tika pielodēti, lai noņemtu plāksni ar rezistoru un kādu instrumenta vadu, lai izveidotu lidojošus vadus. Es pārtraucu vadus ar 3,5 mm vīriešu audio ligzdas spraudņiem.

Šeit ir pašreizējā transformatora datu lapa

Datu lapas

2. solis: signāla kondicionēšana

Signāla kondicionēšana
Signāla kondicionēšana
Signāla kondicionēšana
Signāla kondicionēšana

Signāls no CT būs vājš, tāpēc tas ir jāpastiprina. Šim nolūkam es lodēju vienkāršu pastiprinātāja ķēdi, izmantojot divu sliežu opa pastiprinātāju uA741. Šajā gadījumā pastiprinājums tiek iestatīts uz 150, izmantojot formulu Rf / Rin (150k / 1k). Tomēr izejas signāls no pastiprinātāja joprojām ir maiņstrāva, op-amp izejas diode pārtrauc maiņstrāvas negatīvo pusciklu un nodod pozitīvo spriegumu 0.1uF kondensatoram, lai izlīdzinātu viļņu viļņotā līdzstrāvas signālā. Zemāk ir daļas, kas veido ķēdi:

  • V1-šajā diagrammā tas ir patvaļīgi, tas vienkārši attēlo signāla spriegumu, kas tiek ievadīts op-amp neinvertējošā ieejā.
  • R1 - tas ir pazīstams kā atgriezeniskās saites rezistors (Rf) un ir iestatīts uz 150k
  • R2 - tas ir pazīstams kā ieejas rezistors (Rin) un ir iestatīts uz 1k
  • 741 - šī ir integrētā shēma uA741
  • VCC - pozitīva barošanas sliede +12V
  • VEE - negatīvā barošanas sliede -12V
  • D1 - Vai haf viļņu taisnošanas signāla diode 1N4001
  • C3 - šis kondensators noteiktu laiku tur līdzstrāvas signālu

2. attēlā redzams, ka tas ir samontēts, izmantojot Veroboard un alvas vara stiepli. PCB statīviem tika izurbti 4 caurumi, lai tos varētu sakraut (jo ir astoņi kanāli, kopā jābūt astoņām pastiprinātāju shēmām.

3. solis: barošanas avots

Enerģijas padeve
Enerģijas padeve
Enerģijas padeve
Enerģijas padeve
Enerģijas padeve
Enerģijas padeve

Ja jūs nevēlaties to izgatavot no nulles, jūs varat iegādāties iepriekš samontētu dēli no Ķīnas, kā parādīts iepriekš, bet jums joprojām būs nepieciešams 3VA transformators (atkāpieties no 240 V līdz 12 V). Attēlā redzētais man izmaksāja aptuveni £ 2.50

Lai darbinātu projektu, es nolēmu izveidot savu divu sliežu 12VDC barošanas avotu. Tas bija ērti, jo darbības pastiprinātājiem ir nepieciešami +12V, 0V, -12V, un Arduino Uno var pieņemt barošanu līdz 14 VDC. Zemāk ir daļas, kas veido ķēdi:

  • V1 - tas norāda barošanu no tīkla kontaktligzdas 240V 50Hz
  • T1 - Šis ir mazs 3VA transformators, par kuru es meloju. Ir svarīgi, lai transformatoram būtu centrālais pieskāriens sekundārajam, kas tiks savienots ar 0 V, ti, zemi
  • D1 līdz D4 - tas ir pilna viļņa tilta taisngriezis, izmantojot 1N4007 diodes
  • C1 un C2 - 35V elektrolītiskie kondensatori 2200uF (jābūt 35V, jo potenciāls starp pozitīvo un negatīvo sasniegs 30V)
  • U2 - LM7812, ir 12V pozitīva sprieguma regulators
  • U3 - LM7912 ir 12 V negatīva sprieguma regulators (uzmanieties, lai ņemtu vērā tapu atšķirības starp 78xx un 79xx IC!)
  • C3 & C4 - 100nF Izlīdzinoši kondensatori 25V elektrolītiskie
  • C5 & C6 - 10uF keramikas disku kondensatori

Es lodēju komponentus uz sloksnes un pievienojos vertikālajām sliedēm ar tukšu viena kodola alvas vara stiepli. Iepriekš redzamajā 3. attēlā redzams mans DIY barošanas avots, žēl, ka fotoattēlā ir daudz džemperu!

4. solis: analogie digitālajiem pārveidotājiem

Analogajiem digitālajiem pārveidotājiem
Analogajiem digitālajiem pārveidotājiem
Analogajiem digitālajiem pārveidotājiem
Analogajiem digitālajiem pārveidotājiem

Arduino Uno jau ir iebūvēts 10 bitu ADC, tomēr ir tikai 6 analogās ieejas. Tāpēc es izvēlējos izmantot divus ADC pārtraukumus ar 16 bitu ADS1115. Tas ļauj 2^15 = 32767 bitiem attēlot sprieguma līmeņus no 0-4,096V (4,096V ir pārtraukuma darba spriegums), tas nozīmē, ka katrs bits ir 0,000125V! Turklāt, tā kā tiek izmantota I2C kopne, tas nozīmē, ka var adresēt līdz 4 ADC, ļaujot pēc vēlēšanās uzraudzīt līdz 16 kanāliem.

Esmu mēģinājis ilustrēt savienojumus, izmantojot Fritzing, taču ierobežojumu dēļ nav pielāgotu daļu, kas ilustrētu signālu ģeneratoru. Violetais vads ir pievienots pastiprinātāja ķēdes izejai, melnais vads blakus tam parāda, ka visām pastiprinātāju shēmām ir jābūt kopīgai. Tāpēc es esmu izmantojis maizes dēli, lai ilustrētu, kā esmu izveidojis kaklasaites punktus. Tomēr manā faktiskajā projektā izlaušanās notiek sieviešu galvenēs, pielodētas pie Veroboard, un visi sasaistes punkti ir pielodēti verboardā.

5. solis: mikrokontrolleris

Mikrokontrolleris
Mikrokontrolleris

Kā minēts iepriekš, kontrolieris, kuru es izvēlējos, bija Arduino Uno, tā bija laba izvēle, jo tajā ir daudz iebūvētu un iebūvētu funkcionalitāti, kas citādi būtu jāveido atsevišķi. Turklāt tas ir saderīgs ar daudziem īpaši izgatavotiem “vairogiem”. Šajā gadījumā man bija nepieciešams reāllaika pulkstenis, lai visiem rezultātiem būtu laikspiedols, un SD kartes rakstītājs, lai ierakstītu rezultātus.csv vai.txt failā. Par laimi, Arduino datu reģistrēšanas vairogam ir vairogs, kas ir piestiprināts pie oriģinālās Arduino plates bez papildu lodēšanas. Vairogs ir saderīgs ar RTClib un SD karšu bibliotēkām, tāpēc nav nepieciešams īpašs kods.

6. darbība: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Es izmantoju 5 mm ridgid vidēja/zema blīvuma PVC (dažreiz pazīstams kā putuplasta plāksne), lai pieskrūvētu lielāko daļu savu sastāvdaļu un ar amatniecības nazi sagrieztu to ērtā izmērā. Visas sastāvdaļas tika veidotas modulāri prototipam, jo tas ļauj noņemt atsevišķas detaļas, ja kaut kas noiet greizi, tomēr tas nav tik efektīvs vai sakopts kā iegravēts PCB (turpmāks darbs), tas nozīmē arī daudzus džemperu vadus starp sastāvdaļas.

7. darbība: koda augšupielāde

Augšupielādējiet kodu Arduino vai iegūstiet kodu no mana Github repo

github.com/smooth-jamie/datalogger.git

8. solis: kalibrēšana

Kalibrēšana
Kalibrēšana
Kalibrēšana
Kalibrēšana
Kalibrēšana
Kalibrēšana

Teorētiski izmērītā strāva būs vairāku lietu rezultāts:

Izmērītie ampēri = ((((a *0,45)/150)/(1,1/5000))/1000 kur 'a' ir signāla spriegums no pastiprinātāja

0,45 ir pastiprinātāja ķēdes Vout vidējā vērtība, 150 ir op-amp pastiprinājums (Rf / Rin = 150k / 1k), 1,1 ir CT pilna mēroga sprieguma izeja, kad izmērītie ampēri ir 5A, 5000 ir vienkārši 5A mA, un 1000 ir transformatora apgriezienu skaits. To var vienkāršot šādi:

Izmērītie ampēri = (b * 9.216) / 5406555, kur b ir ADC ziņotā vērtība

Šī formula tika pārbaudīta, izmantojot Arduino 10 bitu ADC, un atšķirība starp multimetra vērtībām un Arduino ģenerētajām vērtībām tika novērota par 11%, kas ir nepieņemama novirze. Mana vēlamā kalibrēšanas metode ir ierakstīt ADC vērtību pret pašreizējo multimetrā izklājlapā un uzzīmēt trešās kārtas polinomu. No tā var izmantot kubikformulu, lai iegūtu labākus rezultātus, aprēķinot izmērīto strāvu:

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

Koeficienti a, b, c un d tiek aprēķināti programmā Excel no vienkāršas datu tabulas, x ir jūsu ADC vērtība.

Lai iegūtu datus, es izmantoju keramikas 1k mainīgo rezistoru (reostatu) un 12v transformatoru, lai samazinātu maiņstrāvas spriegumu no 240 V, kas man radīja mainīga strāvas avotu no 13 mA līdz 100 mA. Jo vairāk datu punktu savākti, jo labāk, tomēr es ieteiktu savākt 10 datu punktus, lai iegūtu precīzu tendenci. Pievienotā Excel veidne aprēķinās koeficientus jūsu vietā, tad ir tikai jāievada tie arduino kodā

Koda 69. rindā redzēsit, kur ievadīt koeficientus

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

kas ir tāda pati kā formula Excel faila 1. lapā:

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

Kur x = kalibrējamā kanāla adc0

9. solis: pabeidziet

Pabeigt
Pabeigt
Pabeigt
Pabeigt
Pabeigt
Pabeigt
Pabeigt
Pabeigt

Ievietojiet to projekta aplokā. Es pabeidzu strāvas padevi ar pārslēgšanas slēdzi, lai visu ieslēgtu/izslēgtu pie barošanas avota, un IEC "8. attēla" savienotāju tīkla ieejai. Skrūvējiet to visu kopā un esat gatavs to pārbaudīt.

Turpmākais darbs

Viss projekts tika izspēlēts diezgan ātri, tāpēc ir daudz iespēju uzlabot, iegravēta ķēde, labākas sastāvdaļas. Ideālā gadījumā visa lieta būtu iegravēta vai pielodēta uz FR4, nevis džemperiem. Kā jau teicu iepriekš, ir daudz lietu, kuras neesmu minējis, bet, ja ir kaut kas konkrēts, ko vēlaties zināt, paziņojiet man komentāros, un es atjaunināšu pamācību!

Atjauninājums 18.12.2016

Tagad esmu pievienojis 16x2 LCD, izmantojot I2C "mugursomu", lai uzraudzītu pirmos četrus kanālus, un pievienos vēl vienu, lai uzraudzītu pēdējos četrus, kad tas ierodas caur pastu.

Kredīti

Šo projektu padarīja iespējamu visi manā Arduino skicē izmantoto bibliotēku autori, tostarp DS3231 bibliotēka, Adafruit ADS1015 bibliotēka un Arduino SD bibliotēka

Ieteicams: