Sisukord:

Kuidas mõõta vahelduvvoolu tegurit Arduino abil: 4 sammu
Kuidas mõõta vahelduvvoolu tegurit Arduino abil: 4 sammu

Video: Kuidas mõõta vahelduvvoolu tegurit Arduino abil: 4 sammu

Video: Kuidas mõõta vahelduvvoolu tegurit Arduino abil: 4 sammu
Video: Как использовать датчик переменного/постоянного тока Allegro ACS712 с Arduino 2024, Juuli
Anonim
Kuidas mõõta vahelduvvoolu tegurit Arduino abil
Kuidas mõõta vahelduvvoolu tegurit Arduino abil
Kuidas mõõta vahelduvvoolu tegurit Arduino abil
Kuidas mõõta vahelduvvoolu tegurit Arduino abil

Tere kõigile! See on minu kolmas juhendatav, loodan, et see on teile informatiivne:-) See on õpetatav, kuidas teha Arduino abil põhiline võimsusteguri mõõtmine. Enne kui alustame, tuleb meeles pidada mõnda asja:

  1. See töötab AINULT LINEAR koormustega (nt induktiivmootorid, trafod, solenoidid)
  2. See EI tööta koos mittelineaarsete seadmetega (nt CFL-pirnid, lülitusrežiimi toiteallikad, LED-id)
  3. Olen elektriinsener ja väga pädev võrgupotentsiaaliga (st 230V) töötamisel

Hoiatus! Kui te pole koolitatud või ei tea, kuidas võrgupingega õigesti töötada, soovitan teil mitte jätkata juhendi selle osaga ja ma näitan teile ohutut meetodit vooluahela toimimise tõestamiseks.

See on riistvaraline lahendus PF mõõtmiseks lineaarsetes koormustes. Seda saab teha ka puhtalt koodi abil, kaasa arvatud võimalus mõõta mittelineaarseid koormusi, mida püüan käsitleda teises juhendis.

Kõigi seda lugevate algajate huvides on võimsustegur tegeliku võimsuse ja näivvõimsuse suhe ning seda saab arvutada toitepinge ja voolu vahelise faasinurga koosinususe leidmisega (vt lisatud Google'i pilti). See on vahelduvvoolurakendustes oluline, kuna "näivvõimsust" (volt-amprit) saab hõlpsasti arvutada, kasutades pinget, mis on korrutatud vooluga. Kuid tegeliku võimsuse või "tõelise võimsuse" (vattide) saamiseks tuleb näivvõimsus korrutada võimsusteguriga, et teha tegelik võimsuse mõõtmine vattides. See kehtib ainult koormuste kohta, millel on märkimisväärne induktiivne või mahutav komponent (näiteks mootor). Puhtalt takistavate koormuste, näiteks elektrikeriste või hõõglampide võimsustegur on 1,0 (ühtsus) ja seetõttu on tegelik võimsus ja näiv võimsus samad.

Samm: vooluahela kujundus

Vooluahela disain
Vooluahela disain
Vooluahela disain
Vooluahela disain
Vooluahela disain
Vooluahela disain
Vooluahela disain
Vooluahela disain

Võimsustegurit saab ostsilloskoobi abil arvutada, mõõtes pinge- ja voolusignaali ajavahe. Neid saab mõõta laine mis tahes punktis, kui neid proovitakse samas kohas. Sel juhul oli loogiline mõõta nullpunktide vahel (punktid laines, kus pinge ületas X-telje).

Disainisin Multisimis järgmise skeemi. Eeldades, et koormuse vool ja pinge on puhtad siinuselised lainekujud, saab võimsustegurit mõõta. Iga lainekuju sisestatakse nullpunkti ületavasse detektorisse (mõnikord tuntud kui siinus-ruutlaine muundur), mis on lihtsalt 741 op-amp võrdlusrežiimis, kus võrdluspinge on 0 V. Kui siinuslaine on negatiivses tsüklis, tekib negatiivne alalisvoolu impulss ja positiivse siinuse korral positiivne alalisvoolu impulss. Seejärel võrreldakse kahte ruutlainet eksklusiivse OR (XOR) loogikavärava abil, mis väljastab positiivse kõrge alalisvoolu impulsi ainult siis, kui ruutlained ei kattu, ja 0 V, kui need kattuvad. XOR -värava väljundiks on seega ajavahe (delta t) kahe laine vahel punktist, mille nad ületavad nullpunkti. Seda erinevussignaali saab seejärel mikrokontrolleriga ajastada ja teisendada võimsusteguriks, kasutades järgmist arvutust (veenduge, et teie teaduslik kalkulaator oleks kraadides, mitte radiaanides):

cos (phi) = f * dt * 360

Kus:

cos (phi) - võimsustegur

f - mõõdetud toite sagedus

dt - delta t ehk ajaline erinevus lainete vahel

360 - konstant, mida kasutatakse kraadides vastuse andmiseks

Piltidel näete vooluringi jaoks kolme simuleeritud ostsilloskoobi jälge. Kaks sisendsignaali tähistavad voolu ja pinget koormusele. Teooria demostreerimiseks olen andnud teisele signaalile faasierinevuse 18 kraadi. See annab umbes 0,95 PF.

2. samm: prototüüpide koostamine ja testimine

Prototüüpimine ja testimine
Prototüüpimine ja testimine
Prototüüpimine ja testimine
Prototüüpimine ja testimine
Prototüüpimine ja testimine
Prototüüpimine ja testimine

Oma prototüübi ehitamiseks panin vooluringi disaini jootmiseta leivaplaadile. UA741CN andmelehelt ja CD4070CN andmelehelt jooksevad mõlemad IC -d välja 12-15 V alalisvoolu toiteallikast, nii et ma toitsin kahe patareiga, et teha kahekordne rööp +12V, 0V, -12V volti.

Koormuse simuleerimine

Koormust saate simuleerida kahe kanaliga signaaligeneraatori või funktsioonigeneraatori abil. Kasutasin seda odavat ja rõõmsat hiina kasti kahe 50 Hz siinuslaine tekitamiseks 18 kraadi kaugusel ja andsin signaalid vooluringi. Saadud lainekuju näete ostsilloskoobil. Ülaltoodud piltidel näete kahte kattuvat ruutlainet (iga op-võimendi väljund) ja ülejäänud kolm pilti illustreerivad XOR-värava väljundit. Pange tähele, kuidas väljuva impulsi laius väheneb faasinurga vähenedes. Ülaltoodud näited näitavad 90, 40, 0 kraadi.

Samm: Arduino kood

Nagu eespool mainitud, on mõõteahela väljund kahe sisendsignaali (st voolu- ja pingesignaali) ajaline erinevus. Arduino -kood kasutab mõõtmisahela väljundimpulsi pikkuse mõõtmiseks nano -sekundites "pulseIn" ja kasutab seda ülalmainitud PF -valemis.

Kood algab konstantide määratlemisega, peamiselt selleks, et muuta kood paremini organiseeritud ja loetavamaks. Kõige tähtsam on see, et C -kood (arduino -kood) töötab radiaanides, mitte kraadides, nii et nurkade ja PF -ide arvutamiseks on vaja radiaanidest kraadideks teisendada. Üks radiaan on u. 57,29577951 kraadi. Samuti salvestatakse number 360 ja korrutustegur 1x10^-6 nano sekundite teisendamiseks tavalisteks sekunditeks. Sagedus on määratletud ka alguses. Kui kasutate midagi muud kui 50 Hz, veenduge, et seda värskendatakse koodi alguses.

"Void loop ()" sees olen käskinud Arduino'l arvutada nurk eelnevalt mainitud PF valemi alusel. Selle koodi esimesel kordamisel tagastaks kood õige nurga ja võimsusteguri, kuid iga õige tulemuse vahel tagastatakse ka jadakonsoolis mõni vigane madal väärtus. Ma märkasin, et see oli kas iga teine näit või iga neli mõõtmist. Ma paigutasin "kui" avalduse ahela "eest" sisse, et salvestada iga nelja järjestikuse näidu maksimaalne väärtus. Selleks võrreldakse arvutust "nurga_max" väärtusega, mis on esialgu null, ja kui see on suurem, salvestab uus väärtus väärtuse "nurk_max" sees. Seda korratakse PF mõõtmisel. Kui teete seda "jaoks" silmusena, tähendab see, et alati tagastatakse õige nurk ja pf, kuid kui mõõdetud nurk muutub (kõrgem või madalam), siis "lõppu" puhul nurk_max "nullib järgmise testi jaoks, kui" void loop () "kordub. Selle toimimise kohta on väga hea näide Arduino veebisaidil (https://www.arduino.cc/en/Tutorial/Calibration). Teine "kui" valem lihtsalt takistab kõikide väärtuste, mis on suuremad kui 360, tagastamist eksliku väärtuse korral, kui testitav seade on välja lülitatud.

4. samm: happetest

Happe test!
Happe test!
Happe test!
Happe test!
Happe test!
Happe test!

Ärge proovige järgmist, kui te ei tea, kuidas vahelduvvoolupingega ohutult töötada. Kui kahtlete oma turvalisuses, proovige sisendsignaale simuleerida kahe kanaliga lainekuju generaatoriga.

Järgija soovil olen teinud Fritzingis leivaplaadi paigutuse, et anda parem ülevaade vooluringist ja proovivõtu-/anduriringist (olen lisanud.fzz -faili ja-p.webp

Et tõestada, et kontseptsioon töötab tegelikkuses, ehitati vooluring jootmiseta leivaplaadile. Piltidelt näete vooluringi paigutust. Olen kontseptsiooni testimiseks oma induktiivkoormusena kasutanud laua ventilaatorit. 230 V toiteallika ja koormuse vahel on minu andur. Mul on astmeline trafo, mis muundab 230V otse 5V, et võimaldada pinge lainekuju proovide võtmist. Voolu lainekuju proovimiseks (alumiiniumkattega takisti paremal) kasutati pingestamata juhi ümber kinnitatud mitteinvasiivset voolutrafot. Pange tähele, et nullpunkti tuvastamiseks ei pea te tingimata teadma voolu või pinge amplituudi, vaid op-võimendi lainekuju. Ülaltoodud piltidel on näidatud ventilaatori tegelikud voolu- ja pingelainekuju ning arduino jadakonsool, mille PF on 0,41 ja nurk 65 kraadi.

Selle tööpõhimõtte saab integreerida kodus valmistatud energiamonitori, et teha tõelisi võimsuse mõõtmisi. Kui olete pädev, võite proovida jälgida erinevaid induktiiv- ja takistuskoormusi ning määrata nende võimsustegur. Ja seal see on! väga lihtne võimsusteguri mõõtmise meetod.

Soovitan: