Indholdsfortegnelse:
Video: Sådan måles vekselstrømsfaktor ved hjælp af Arduino: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:30
Hej allesammen! Dette er min tredje instruerbare, håber du finder den informativ:-) Dette vil være en instruktion om, hvordan man laver en grundlæggende effektfaktormåling ved hjælp af en Arduino. Inden vi starter er der et par ting at huske på:
- Dette fungerer KUN med LINEAR belastninger (f.eks. Induktive motorer, transformere, solenoider)
- Dette fungerer IKKE med IKKE-LINEAR (f.eks. CFL-pærer, strømforsyninger i switchtilstand, LED'er)
- Jeg er en elektrotekniker og meget kompetent, når jeg arbejder med netpotentiale (dvs. 230V)
Advarsel! Hvis du ikke er uddannet eller ikke ved, hvordan du arbejder korrekt med netspænding, foreslår jeg, at du ikke fortsætter med den del af instruktionen, og jeg vil vise dig en sikker metode til at bevise, at kredsløbet fungerer.
Dette er en hardwareløsning på problemet med måling af PF i lineære belastninger. Dette kan også gøres rent gennem kode inklusive evnen til at måle ikke-lineære belastninger, som jeg vil sigte mod at dække i en anden instruerbar.
Til fordel for alle begyndere, der læser dette, er effektfaktoren forholdet mellem ægte effekt og tilsyneladende effekt og kan beregnes ved at finde cosinus for fasevinklen mellem forsyningsspændingen og strømmen (se vedhæftet billede fra Google). Dette er vigtigt i AC-applikationer, da "tilsyneladende effekt" (volt-ampere) let kan beregnes ved hjælp af spænding ganget med strøm. Men for at få den reelle effekt eller "True Power" (Watt) skal tilsyneladende effekt multipliceres med effektfaktoren for at foretage en sand måling af effekt i Watt. Dette gælder kun belastninger, der har en betydelig induktiv eller kapaktiv komponent (f.eks. En motor). Rent resistive belastninger såsom elektriske varmeapparater eller glødepærer har en effektfaktor på 1,0 (enhed), og derfor er True Power og Apparent Power det samme.
Trin 1: Kredsløbsdesign
Effektfaktor kan beregnes ved hjælp af et oscilloskop ved at måle tidsforskellen mellem spændingen og strømsignalet. Disse kan måles på ethvert tidspunkt i bølgen, så længe de samples samme sted. I dette tilfælde var det logisk at måle mellem nul krydsningspunkter (punkter i bølgen, hvor spændingen krydsede X-aksen).
Jeg designede følgende kredsløb i Multisim. Forudsat at strøm og spænding til belastningen er rene sinusformede bølgeformer, kan effektfaktoren måles. Hver bølgeform føres ind i en nulkrydsningsdetektor (undertiden kendt som en sinus til firkantbølgeomformer), som simpelthen er en 741 op-amp i komparatortilstand, hvor sammenligningsspændingen er 0V. Når sinusbølgen er i den negative cyklus genereres en negativ DC -puls, og når sinusbølgen er positiv, genereres en positiv DC -puls. De to firkantede bølger sammenlignes derefter ved hjælp af en eksklusiv OR (XOR) logisk gate, som kun udsender en positiv høj DC -puls, når firkantbølgerne ikke overlapper hinanden, og 0V, når de overlapper hinanden. XOR -portens output er derfor tidsforskel (delta t) mellem de to bølger fra det punkt, de krydser nulpunktet. Dette differenssignal kan derefter times af en mikrokontroller og konverteres til effektfaktor ved hjælp af følgende beregning (sørg for at din videnskabelige lommeregner er i grader ikke radianer):
cos (phi) = f * dt * 360
Hvor:
cos (phi) - effektfaktoren
f - Frekvensen af den målte forsyning
dt - delta t eller tidsforskel mellem bølgerne
360 - en konstant, der bruges til at give svar i grader
På billederne vil du se tre simulerede oscilloskopspor for kredsløbet. De to indgangssignaler repræsenterer strømmen og spændingen til belastningen. Jeg har givet det andet signal en faseforskel på 18 Deg for at demostrere teorien. Dette giver en PF på ca. 0,95.
Trin 2: Prototyping og test
Til min prototype -konstruktion lagde jeg kredsløbsdesignet på et loddet brødbræt. Fra UA741CN datablad og CD4070CN datablad kører begge IC'er fra en 12-15 Vdc forsyning, så jeg drev med to batterier til at lave en dual rail +12V, 0V, -12V Volt strømforsyning.
Simulering af en belastning
Du kan simulere en belastning ved hjælp af en dobbeltkanals signalgenerator eller funktionsgenerator. Jeg brugte denne billige og muntre kinesiske boks til at producere to 50 Hz sinusbølger 18 grader fra hinanden og førte signalerne ind i kredsløbet. Du kan se de resulterende bølgeformer på et oscilloskop. På billederne ovenfor kan du se de to overlappende firkantbølger (output fra hver op-amp), og de tre andre billeder illustrerer output fra XOR-porten. Læg mærke til, hvordan udgangspulsens bredde vokser kortere med faldende fasevinkel. Eksemplerne ovenfor viser 90, 40, 0 grader.
Trin 3: Arduino -kode
Som nævnt ovenfor er output fra målekredsløbet tidsforskellen mellem de to indgangssignaler (dvs. strømmen og spændingssignalet). Arduino -koden bruger "pulseIn" til at måle længden af outputpulsen fra målekredsløbet på nanosekunder og bruger den i PF -formlen nævnt ovenfor.
Koden starter med at definere konstanter, hovedsageligt for at gøre koden mere organiseret og læsbar. Vigtigst er det, at C -kode (arduino -kode) fungerer i radianer, ikke grader, så en konvertering fra radianer til grader er nødvendig for at beregne vinkel- og PF'er senere. En radian er ca. 57.29577951 grader. Tallet 360 er også gemt og multiplikationsfaktoren 1x10^-6 til konvertering af nanosekunder til almindelige sekunder. Frekvens er også defineret i starten, hvis du bruger andet end 50Hz, skal du sørge for, at denne opdateres i starten af koden.
Inde i "void loop ()" har jeg fortalt Arduinoen at beregne vinklen baseret på PF -formlen nævnt tidligere. Ved min første iteration af denne kode ville koden returnere den korrekte vinkel og effektfaktor, men mellem hvert korrekt resultat returneres også en fejlagtig lav værdi i seriekonsollen. Jeg bemærkede, at dette enten var hver anden læsning eller hver fjerde måling. Jeg placerede en "if" -erklæring i en "for" -sløjfe for at gemme den maksimale værdi for hver fjerde på hinanden følgende aflæsning. Det gør det ved at sammenligne beregningen med "vinkel_max", som i første omgang er nul, og hvis den er større, gemmer den nye værdi inde i "vinkel_max". Dette gentages for PF -måling. Ved at gøre dette i en "for" sløjfe betyder det, at den korrekte vinkel og pf altid returneres, men hvis den målte vinkel ændres (højere eller lavere), når "for" ender "vinkel_max" nulstilles til nul for den næste test, når " void loop () "gentages. Der er et meget godt eksempel på, hvordan dette fungerer på Arduino -webstedet (https://www.arduino.cc/en/Tutorial/Calibration). Den anden "hvis" -formel forhindrer ganske enkelt, at enhver værdi, der er højere end 360, returneres i tilfælde af fejlagtig høj måling, når den testede enhed slukkes.
Trin 4: Syretesten
Prøv ikke følgende, medmindre du ved, hvordan du arbejder sikkert med vekselstrøm. Hvis du er i tvivl om din sikkerhed, kan du prøve at simulere indgangssignalerne med en dobbeltkanals bølgeformgenerator.
Efter anmodning fra en tilhænger har jeg lavet et brødbræddelayout på Fritzing for at give en bedre ide om kredsløbet og prøve-/sensorkredsløbet (jeg har vedhæftet.fzz -filen og et-p.webp
For at bevise, at konceptet fungerer i virkeligheden, blev kredsløbet bygget på et loddemetal mindre brødbræt. Fra billederne kan du se kredsløbsarrangementet. Jeg har brugt en skrivebordsventilator som min induktive belastning til at teste konceptet. Mellem 230V lysnettet og belastningen er mit sanseudstyr. Jeg har en trappetransformator, der transformerer 230V direkte til 5V, så spændingsbølgeformen kan samples. En ikke-invasiv strømtransformator fastspændt omkring den levende leder blev brugt til at prøve den aktuelle bølgeform (til højre for den aluminiumbeklædte modstand). Bemærk, at du ikke nødvendigvis behøver at kende strømmen eller spændingens amplitude, kun bølgeformen for op-amp for at identificere nulovergangen. Ovenstående billeder viser de aktuelle strøm- og spændingsbølgeformer fra blæseren og den arduino serielle konsol, der rapporterer en PF på 0,41 og en vinkel på 65 Deg.
Denne arbejdsgiver kan inkorporeres i en hjemmelavet energimonitor for at foretage sande effektmålinger. Hvis du er kompetent, kan du prøve at overvåge forskellige induktive og resistive belastninger og bestemme deres effektfaktor. Og der er det! en meget simpel metode til måling af effektfaktor.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Sådan måles en kondensator eller en induktor med mp3 -afspiller: 9 trin
Sådan måles en kondensator eller en induktor med mp3 -afspiller: Her er en simpel teknik, der kan bruges til at måle præcist kapacitans og induktans af en kondensator og induktor uden dyrt udstyr. Målteknikken er baseret på en afbalanceret bro og kan let konstrueres af inexpe
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter - Rc Helikopter - Rc -fly ved hjælp af Arduino: 5 trin (med billeder)
Trådløs fjernbetjening ved hjælp af 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sender modtager til Quadcopter | Rc Helikopter | Rc -fly ved hjælp af Arduino: At betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båd, vi har altid brug for en modtager og sender, antag at vi til RC QUADCOPTER har brug for en 6 -kanals sender og modtager, og den type TX og RX er for dyr, så vi laver en på vores