Tartalomjegyzék:
- 1. lépés: Áramkör tervezése
- 2. lépés: Prototípuskészítés és tesztelés
- 3. lépés: Arduino kód
- 4. lépés: A sav teszt
Videó: Az AC teljesítménytényező mérése az Arduino használatával: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
Sziasztok! Ez a harmadik tanulságos, remélem, hogy informatívnak találja:-) Ez egy tanulságos lesz arról, hogyan lehet alapvető teljesítménytényező-mérést végezni egy Arduino segítségével. Mielőtt elkezdenénk, néhány dolgot szem előtt kell tartani:
- Ez CSAK LINEAR terhelésekkel működik (pl. Induktív motorok, transzformátorok, mágnesszelepek)
- Ez NEM LINEAR (nem CFL izzók, kapcsolóüzemű tápegységek, LED-ek) esetén nem működik
- Villamosmérnök vagyok, és nagyon hozzáértő, ha hálózati potenciállal (pl. 230V) dolgozom
Figyelem! Ha nem vagy képzett, vagy nem tudod, hogyan kell helyesen dolgozni a hálózati feszültséggel, azt javaslom, hogy ne folytasd az utasítások ezen részét, és megmutatok egy biztonságos módszert az áramkör működésének bizonyítására.
Ez egy hardveres megoldás a PF lineáris terhelésekben történő mérésére. Ezt pusztán kódon keresztül is meg lehet tenni, beleértve a nemlineáris terhelések mérésének képességét, amelyet egy másik utasításban fogok lefedni.
Az ezt olvasó kezdők javára a teljesítménytényező a valódi teljesítmény és a látszólagos teljesítmény aránya, és kiszámítható a tápfeszültség és az áram közötti fázisszög koszinuszának megkeresésével (lásd a mellékelt Google -képet). Ez jelentős a váltakozó áramú alkalmazásokban, mivel a "látszólagos teljesítmény" (volt-amper) könnyen kiszámítható a feszültség és az áram szorzatával. Ahhoz azonban, hogy megkapjuk a valódi teljesítményt vagy a "valódi teljesítményt" (Watt), a látszólagos teljesítményt meg kell szorozni a teljesítménytényezővel, hogy valódi teljesítményt mérjünk wattban. Ez csak olyan terhelésekre vonatkozik, amelyek jelentős induktív vagy kapacitív komponenssel rendelkeznek (például motor). A tisztán ellenálló terhelések, például az elektromos fűtőberendezések vagy izzólámpák teljesítménytényezője 1,0 (egység), ezért a valódi teljesítmény és a látszólagos teljesítmény ugyanaz.
1. lépés: Áramkör tervezése
A teljesítménytényező oszcilloszkóp segítségével kiszámítható a feszültség és az áramjel közötti időkülönbség mérésével. Ezeket a hullám bármely pontján meg lehet mérni, amennyiben ugyanazon a helyen vesznek mintát. Ebben az esetben logikus volt a nulla keresztezési pontok (a hullám azon pontjai, ahol a feszültség keresztezte az X tengelyt) közötti mérés.
A következő áramkört Multisim -ben terveztem. Ha feltételezzük, hogy az áram és a terhelés tiszta szinuszos hullámforma, a teljesítménytényező mérhető. Minden hullámformát egy nulla keresztező detektorba táplálnak (néha szinusz-négyzet hullám átalakítónak is nevezik), amely egyszerűen 741 op-erősítő összehasonlító módban, ahol az összehasonlító feszültség 0V. Amikor a szinuszhullám negatív ciklusban van, negatív egyenáramú impulzus keletkezik, és amikor a szinuszhullám pozitív, akkor pozitív egyenáramú impulzus keletkezik. A két négyzethullámot ezután egy exkluzív OR (XOR) logikai kapu segítségével hasonlítják össze, amely csak akkor ad ki pozitív nagy egyenáramú impulzust, ha a négyzethullámok nem fedik egymást, és 0 V -ot, amikor átfedik egymást. Az XOR kapu kimenete tehát a két hullám közötti időkülönbség (delta t) attól a ponttól, ahol átlépik a nulla pontot. Ezt a különbségjelet ezután egy mikrokontroller időzítheti, és teljesítménytényezővé alakíthatja a következő számítással (győződjön meg arról, hogy a tudományos számológép fokban, nem radiánban van megadva):
cos (phi) = f * dt * 360
Ahol:
cos (phi) - a teljesítménytényező
f - A mért ellátás gyakorisága
dt - delta t vagy a hullámok közötti időkülönbség
360 - egy állandó, amellyel fokban lehet választ adni
A képeken három szimulált oszcilloszkóp nyomot lát az áramkör számára. A két bemeneti jel az áramot és a terhelés feszültségét jelzi. A második jelnek 18 fokos fáziskülönbséget adtam az elmélet lerontására. Ez körülbelül 0,95 PF értéket eredményez.
2. lépés: Prototípuskészítés és tesztelés
A prototípusom elkészítéséhez az áramkört egy forrasztás nélküli kenyérsütő táblára tettem. Az UA741CN adatlapból és a CD4070CN adatlapból mindkét IC 12-15 Vdc tápellátást biztosít, így két elemmel tápláltam a kettős sín +12V, 0V, -12V voltos tápegységet.
Terhelés szimulálása
A terhelést szimulálhatja kétcsatornás jelgenerátor vagy funkciógenerátor használatával. Ezt az olcsó és vidám kínai dobozt használtam két 50 Hz -es szinuszhullám előállításához, 18 ° -ra egymástól, és betápláltam a jeleket az áramkörbe. A kapott hullámformákat oszcilloszkópon láthatja. A fenti képeken a két egymást átfedő négyzethullám látható (mindegyik op-erősítő kimenete), a másik három kép pedig az XOR kapu kimenetét szemlélteti. Figyelje meg, hogyan csökken a kimenő impulzus szélessége a csökkenő fázisszöggel. A fenti példák 90, 40, 0 fokot mutatnak.
3. lépés: Arduino kód
Amint fentebb említettük, a mérőáramkör kimenete a két bemeneti jel (azaz az áram és a feszültségjel) közötti időkülönbség. Az arduino kód "pulseIn" segítségével méri a kimeneti impulzus hosszát a mérőkörből nanosekundumokban, és a fent említett PF képletben használja.
A kód az állandók meghatározásával kezdődik, főleg azért, hogy a kód jobban szervezett és olvasható legyen. A legfontosabb, hogy a C -kód (arduino -kód) radiánban és nem fokokban működik, ezért a szögek és a PF -ek későbbi kiszámításához radiánokból fokra kell átalakítani. Egy radián kb. 57,29577951 fok. A 360-as szám is tárolásra kerül, és a szorzótényező 1x10^-6 a nano másodpercek egyszerű másodpercre való átalakításához. A frekvencia az elején is meg van határozva, ha 50 Hz -en kívül mást használ, győződjön meg róla, hogy a kód elején frissül.
A "void loop ()" belsejében azt mondtam az Arduino -nak, hogy számolja ki a szöget a korábban említett PF képlet alapján. Ennek a kódnak az első iterációjánál a kód a helyes szöget és teljesítménytényezőt adja vissza, azonban minden helyes eredmény között néhány hibás alacsony érték is megjelenik a soros konzolban. Észrevettem, hogy ez vagy minden második leolvasás, vagy minden négy mérés. Egy "ha" utasítást helyeztem a "for" ciklusba, hogy tárolja a négy egymást követő leolvasás maximális értékét. Ezt úgy teszi meg, hogy összehasonlítja a számítást a "szög_max" értékkel, amely kezdetben nulla, és ha nagyobb, akkor az új értéket a "szög_max" értékben tárolja. Ezt megismétlik a PF mérésnél. Ha ezt egy "for" ciklusban teszi, ez azt jelenti, hogy a helyes szög és pf mindig visszatér, de ha a mért szög megváltozik (magasabb vagy alacsonyabb), amikor "a" végén "szög_max" visszaáll nullára a következő tesztnél, amikor " void loop () "megismétlődik. Van egy nagyon jó példa arra, hogyan működik ez az Arduino webhelyen (https://www.arduino.cc/en/Tutorial/Calibration). A második "ha" képlet egyszerűen megakadályozza, hogy a 360 -nál magasabb érték visszaadásra kerüljön, ha a tesztelt készülék kikapcsolásakor hibásan magas értéket mérnek.
4. lépés: A sav teszt
Ne hajtsa végre a következőket, ha nem tudja, hogyan kell biztonságosan dolgozni a hálózati feszültséggel. Ha kétségei vannak a biztonságával kapcsolatban, próbálja szimulálni a bemeneti jeleket egy kétcsatornás hullámforma-generátorral.
Egy követő kérésére elkészítettem a Fritzing -en egy kenyeretábla -elrendezést, hogy jobb képet kapjak az áramkörről és a mintavételi/érzékelő áramkörről (csatoltam a.fzz fájlt és a-p.webp
Annak bizonyítására, hogy a koncepció a valóságban is működik, az áramkört forrasztott, kevésbé kenyérsütő táblára építették. A képeken látható az áramkör elrendezése. A koncepció teszteléséhez asztali ventilátort használtam induktív terhelésként. A 230 V -os hálózati tápegység és a terhelés között van az érzékelő berendezésem. Van egy lépcsőzetes transzformátorom, amely 230 V -ot közvetlenül 5 V -ra alakít, hogy lehetővé tegye a feszültség hullámformájának mintavételét. A feszültség alatt álló vezeték köré szorított, nem invazív áramváltót használtuk az áram hullámformájának mintavételére (az alumínium burkolatú ellenállás jobb oldalán). Ne feledje, hogy nem feltétlenül ismernie kell az áram vagy feszültség amplitúdóját, csak az op-erősítő hullámformáját, hogy azonosítsa a nulla kereszteződést. A fenti képek a ventilátor aktuális áram- és feszültséghullámformáit, valamint az arduino soros konzolt mutatják, amely 0,41 PF -et és 65 ° -os szöget jelent.
Ez a működő elv beépíthető egy házilag készített energiamonitorba, hogy valódi teljesítményméréseket végezzen. Ha hozzáértő, megpróbálhatja figyelemmel kísérni a különböző induktív és ellenállásos terheléseket, és meghatározni azok teljesítménytényezőjét. És ott van! nagyon egyszerű módszer a teljesítménytényező mérésére.
Ajánlott:
A motor fordulatszámának mérése Arduino használatával: 6 lépés
Motor fordulatszám mérés Arduino használatával: Nehéz mérni a motor fordulatszámát ??? Nem hiszem. Itt van egy egyszerű megoldás. Csak egy infravörös érzékelő és Arduino a készletben teheti meg ezt. Ebben a bejegyzésben adok egy egyszerű oktatóanyagot, amely elmagyarázza, hogyan lehet mérni bármely motor fordulatszámát infravörös érzékelő és A
Tápegység frekvencia és feszültség mérése Arduino használatával: 6 lépés
Tápegység frekvenciájának és feszültségének mérése Arduino használatával: Bevezetés: A projekt célja az ellátási frekvencia és feszültség mérése, ami itt, Indiában 220-240 V és 50 Hz között van. Arduino -t használtam a jel rögzítésére, a frekvencia és a feszültség kiszámítására, bármilyen más mikrokonzont is használhat
Mágneses mező mérése HMC5883 és Arduino Nano használatával: 4 lépés
Mágneses mező mérése HMC5883 és Arduino Nano használatával: A HMC5883 egy digitális iránytű, amelyet alacsony mezőű mágneses érzékelésre terveztek. Ennek a készüléknek a széles mágneses tartománya +/- 8 Oe, és a kimeneti sebessége 160 Hz. A HMC5883 érzékelő magában foglalja az automatikus kivezető heveder meghajtókat, az eltolás törlését és egy
Hőmérséklet és páratartalom mérése DHT11 / DHT22 és Arduino használatával: 4 lépés
Hőmérséklet és páratartalom mérése a DHT11 / DHT22 és az Arduino használatával: Ebben az Arduino bemutatóban megtanuljuk, hogyan kell használni a DHT11 vagy a DHT22 érzékelőt a hőmérséklet és páratartalom mérésére az Arduino táblával
Intelligens mérő automatikus teljesítménytényező -korrekciós egységgel: 29 lépés
Intelligens mérő automatikus teljesítménytényező -korrekciós egységgel: Kétirányú mérő automatikus teljesítménytényező -módosító szerkezettel, amely az aktív és a meddőteljesítményt, valamint a hálózati feszültség és a vonaláram teljesítménytényezőjét vizsgálja a feszültség és az áramérzékelő alapján. Ez határozza meg a szakasz szélének lazaságát a