Turinys:

Kaip išmatuoti kintamosios srovės galios koeficientą naudojant „Arduino“: 4 žingsniai
Kaip išmatuoti kintamosios srovės galios koeficientą naudojant „Arduino“: 4 žingsniai

Video: Kaip išmatuoti kintamosios srovės galios koeficientą naudojant „Arduino“: 4 žingsniai

Video: Kaip išmatuoti kintamosios srovės galios koeficientą naudojant „Arduino“: 4 žingsniai
Video: Как измерить постоянное напряжение и ток и построить счетчик энергии с ЖК-дисплеем | Урок 104 2024, Lapkritis
Anonim
Kaip išmatuoti kintamosios srovės galios koeficientą naudojant „Arduino“
Kaip išmatuoti kintamosios srovės galios koeficientą naudojant „Arduino“
Kaip išmatuoti kintamosios srovės galios koeficientą naudojant „Arduino“
Kaip išmatuoti kintamosios srovės galios koeficientą naudojant „Arduino“

Sveiki visi! Tai trečias mano pamokomas dalykas, tikiuosi, kad jums tai bus informatyvu:-) Tai bus pamoka, kaip atlikti pagrindinį galios koeficiento matavimą naudojant „Arduino“. Prieš pradedant, reikia atsiminti keletą dalykų:

  1. Tai veiks TIK su LINEAR apkrovomis (pvz., Indukciniais varikliais, transformatoriais, solenoidais)
  2. Tai neveiks su NON-LINEAR (pvz., CFL lemputėmis, maitinimo šaltiniais perjungimo režimu, šviesos diodais)
  3. Esu elektros inžinierius ir labai kompetentingas dirbdamas su elektros tinklu (t. Y. 230 V)

Įspėjimas! Jei nesate apmokytas arba nežinote, kaip teisingai dirbti su tinklo įtampa, siūlau nevykdyti šios instrukcijos dalies ir parodysiu saugų grandinės veikimo įrodymo metodą.

Tai techninis PF matavimo tiesinėse apkrovose problemos sprendimas. Tai taip pat galima padaryti tik naudojant kodą, įskaitant galimybę matuoti netiesines apkrovas, kurias sieksiu apžvelgti kitoje instrukcijoje.

Pradedantiesiems, skaitantiems šią naudą, galios koeficientas yra tikrosios galios ir tariamos galios santykis, kurį galima apskaičiuoti suradus fazės kampo tarp maitinimo įtampos ir srovės kosinusą (žr. Pridėtą „Google“vaizdą). Tai svarbu kintamosios srovės programose, nes „tariamą galią“(voltų amperus) galima lengvai apskaičiuoti naudojant įtampą, padaugintą iš srovės. Tačiau norint gauti tikrąją galią arba „tikrąją galią“(vatus), reikia padauginti iš galios koeficiento, kad būtų galima tiksliai išmatuoti galią vatais. Tai taikoma tik apkrovoms, turinčioms didelę indukcinę ar talpiąją sudedamąją dalį (pvz., Variklį). Grynai atsparios apkrovos, tokios kaip elektriniai šildytuvai ar kaitrinės lemputės, turi galios koeficientą 1,0 (vienybė), todėl tikroji galia ir tariama galia yra vienodos.

1 žingsnis: grandinės projektavimas

Grandinės dizainas
Grandinės dizainas
Grandinės dizainas
Grandinės dizainas
Grandinės dizainas
Grandinės dizainas
Grandinės dizainas
Grandinės dizainas

Galios koeficientą galima apskaičiuoti naudojant osciloskopą, matuojant laiko skirtumą tarp įtampos ir srovės signalo. Jie gali būti išmatuoti bet kuriame bangos taške, jei jie imami toje pačioje vietoje. Šiuo atveju buvo logiška matuoti tarp nulio kirtimo taškų (bangos taškų, kuriuose įtampa kirto X ašį).

Aš sukūriau šią grandinę „Multisim“. Darant prielaidą, kad apkrovos srovė ir įtampa yra grynos sinusinės bangos formos, galios koeficientą galima išmatuoti. Kiekviena bangos forma tiekiama į nulio kirtimo detektorių (kartais žinomą kaip sinuso į kvadratinių bangų keitiklis), kuris yra tiesiog 741 op-amp lyginamuoju režimu, kai palyginimo įtampa yra 0 V. Kai sinusinė banga yra neigiamo ciklo metu, generuojamas neigiamas nuolatinės srovės impulsas, o kai sinusinė banga yra teigiama, generuojamas teigiamas nuolatinės srovės impulsas. Tada abi kvadratinės bangos palyginamos naudojant išskirtinius OR (XOR) loginius vartus, kurie duos teigiamą aukštą nuolatinės srovės impulsą tik tada, kai kvadratinės bangos nesutampa, ir 0 V, kai jos sutampa. Todėl XOR vartų išėjimas yra laiko skirtumas (delta t) tarp dviejų bangų nuo taško, kuriame jos kerta nulinį tašką. Tuomet mikrokontroleris gali nustatyti šio skirtumo signalo laiką ir konvertuoti į galios koeficientą, naudodamas šį skaičiavimą (įsitikinkite, kad jūsų mokslinė skaičiuoklė yra laipsniais, o ne radianais):

cos (phi) = f * dt * 360

Kur:

cos (phi) - galios koeficientas

f - išmatuoto tiekimo dažnis

dt - delta t arba laiko skirtumas tarp bangų

360 - konstanta, naudojama atsakyti laipsniais

Nuotraukose matysite tris grandinės osciloskopo pėdsakus. Du įėjimo signalai rodo srovę ir įtampą apkrovai. Aš daviau antrąjį signalą 18 laipsnių fazių skirtumui, kad būtų paneigta teorija. Tai suteikia maždaug 0,95 PF.

2 žingsnis: prototipų kūrimas ir bandymas

Prototipų kūrimas ir testavimas
Prototipų kūrimas ir testavimas
Prototipų kūrimas ir testavimas
Prototipų kūrimas ir testavimas
Prototipų kūrimas ir testavimas
Prototipų kūrimas ir testavimas

Kurdamas prototipą, grandinės dizainą padėjau ant bevirinimo duonos lentos. Iš UA741CN duomenų lapo ir CD4070CN duomenų lapo abu IC maitina 12-15 V nuolatinės srovės šaltinį, todėl maitinau dviem akumuliatoriais, kad būtų sukurtas dvigubas bėgis +12V, 0V, -12V voltų maitinimo šaltinis.

Imituoti apkrovą

Galite imituoti apkrovą naudodami dviejų kanalų signalų generatorių arba funkcijų generatorių. Aš panaudojau šią pigią ir linksmą kinišką dėžutę, kad sukurčiau dvi 50 Hz sinusines bangas, esančias 18 laipsnių atstumu, ir padaviau signalus į grandinę. Gautas bangos formas galite pamatyti osciloskopu. Aukščiau esančiose nuotraukose galite pamatyti dvi persidengiančias kvadratines bangas (išvestis iš kiekvieno op-amp), o kitos trys nuotraukos iliustruoja XOR vartų išvestį. Atkreipkite dėmesį, kaip mažėjantis fazės kampas išėjimo impulso plotis mažėja. Aukščiau pateikti pavyzdžiai rodo 90, 40, 0 laipsnių.

3 žingsnis: „Arduino“kodas

Kaip minėta aukščiau, matavimo grandinės išėjimas yra laiko skirtumas tarp dviejų įvesties signalų (ty srovės ir įtampos signalo). „Arduino“kodas naudoja „pulseIn“, kad išmatuotų išvesties impulso ilgį iš matavimo grandinės nano sekundėmis, ir naudoja jį aukščiau paminėtoje PF formulėje.

Kodas prasideda apibrėžiant konstantas, daugiausia siekiant, kad kodas būtų organizuotas ir lengviau skaitomas. Svarbiausia, kad C kodas (arduino kodas) veikia radianais, o ne laipsniais, todėl, norint vėliau apskaičiuoti kampą ir PF, reikia konvertuoti iš radianų į laipsnius. Vienas radianas yra maždaug. 57,29577951 laipsnių. Taip pat išsaugomas skaičius 360 ir daugybos koeficientas 1x10^-6, skirtas nano sekundes konvertuoti į paprastas sekundes. Dažnis taip pat nustatomas pradžioje, jei naudojate ne 50 Hz, bet įsitikinkite, kad jis atnaujinamas kodo pradžioje.

„Void loop ()“viduje aš liepiau „Arduino“apskaičiuoti kampą pagal anksčiau paminėtą PF formulę. Pirmą kartą kartodama šį kodą, kodas grąžintų teisingą kampą ir galios koeficientą, tačiau tarp kiekvieno teisingo rezultato serijinėje konsolėje taip pat pateikiama klaidinga maža vertė. Pastebėjau, kad tai buvo arba kas antras rodmuo, arba kas keturi matavimai. Į „už“kilpą įdėjau teiginį „jei“, kad būtų išsaugota didžiausia kas keturių iš eilės rodmenų vertė. Tai daroma lyginant skaičiavimą su „kampu_max“, kuris iš pradžių yra lygus nuliui, o jei jis didesnis, naują vertę išsaugo „kampo_max“viduje. Tai kartojama PF matavimui. Jei tai darysite cikle „už“, tai reiškia, kad visada pateikiamas teisingas kampas ir pf, bet jei išmatuotas kampas pasikeičia (didesnis ar mažesnis), kai „baigiantis“kampas_max “atstatomas į nulį kitam bandymui, kai„ void loop () kartojasi. Yra labai geras pavyzdys, kaip tai veikia „Arduino“svetainėje (https://www.arduino.cc/en/Tutorial/Calibration). Antroji „jei“formulė tiesiog neleidžia grąžinti bet kokios didesnės nei 360 vertės, jei matuojamas prietaisas yra išjungtas, kai klaidingai aukšta.

4 žingsnis: rūgšties testas

Rūgšties testas!
Rūgšties testas!
Rūgšties testas!
Rūgšties testas!
Rūgšties testas!
Rūgšties testas!

Nebandykite to daryti, nebent žinote, kaip saugiai dirbti su kintamosios srovės tinklo įtampa. Jei abejojate savo saugumu, pabandykite imituoti įvesties signalus su dviejų kanalų bangų formos generatoriumi.

Sekėjo prašymu aš sukūriau „Fritzing“duonos lentos išdėstymą, kad galėčiau geriau suprasti grandinę ir mėginių ėmimo/jutimo grandinę (pridėjau.fzz failą ir-p.webp

Siekiant įrodyti, kad koncepcija veikia realybėje, grandinė buvo pastatyta ant lydmetalio be duonos lentos. Iš nuotraukų galite pamatyti grandinės išdėstymą. Koncepcijai išbandyti naudojau stalo ventiliatorių kaip indukcinę apkrovą. Tarp 230 V tinklo ir apkrovos yra mano jutimo įranga. Turiu pakopinį transformatorių, kuris 230V tiesiogiai paverčia 5V, kad būtų galima imti įtampos bangos formą. Neinvazinis srovės transformatorius, prispaustas aplink įtampos laidininką, buvo naudojamas srovės bangos formai (dešinėje nuo aliuminio plakiruoto rezistoriaus) imti. Atminkite, kad nebūtinai turite žinoti srovės ar įtampos amplitudę, o tik op-amp bangos formą, kad nustatytumėte nulinį kirtimą. Aukščiau esančiose nuotraukose pavaizduotos faktinės srovės ir įtampos bangos formos iš ventiliatoriaus ir serijinė „arduino“konsolė, kuri praneša apie 0,41 PF ir 65 laipsnių kampą.

Ši darbo principas gali būti integruotas į namuose pagamintą energijos monitorių, kad būtų galima išmatuoti tikrąją galią. Jei esate kompetentingas, galite pabandyti stebėti skirtingas indukcines ir varžines apkrovas ir nustatyti jų galios koeficientą. Ir štai! labai paprastas galios koeficiento matavimo metodas.

Rekomenduojamas: