INHOUDSOPGAWE:
- Stap 1: Huidige transformators
- Stap 2: Seinkondisionering
- Stap 3: Kragtoevoer
- Stap 4: Analoog met digitale omsetters
- Stap 5: Mikrokontroleerder
- Stap 6: Montering
- Stap 7: Laai kode op
- Stap 8: Kalibrasie
- Stap 9: Voltooi
Video: AC huidige monitor data logger: 9 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hallo Almal, welkom by my eerste instruksies! Bedags is ek 'n toetsingenieur vir 'n onderneming wat industriële verwarmingstoerusting verskaf; snags is ek 'n ywerige tegnologie -stokperdjie en selfdoener. 'N Deel van my werk behels die toets van die prestasie van verwarmers; by hierdie geleentheid wou ek die RMS -huidige trekking van 8 toestelle meer as 1000 uur monitor en die data aanteken om die resultate later te grafiseer. Ek het toegang tot 'n datalogger, maar dit was reeds toegewyd aan 'n ander projek en ek het iets goedkoop nodig gehad, so ek het besluit om hierdie basiese datalogger saam te voeg.
Die projek gebruik 'n Arduino Uno om analoog sensors via analoog na digitale omskakelaar (ADC) te lees en teken die data op met 'n tydstempel op 'n SD -kaart. Daar is baie teorie en berekeninge betrokke by die ontwerp van die stroombane, so in plaas daarvan om absoluut alles te verduidelik, sal ek jou net wys hoe om dit te maak. As u belangstel om die VOLLEDIGE treffer te sien, laat weet my dan in die kommentaar, en ek sal dit verder verduidelik.
LET WEL:
Ek het baie vrae gehad oor ware RMS -berekeninge. Hierdie toestel gebruik 'n halfgelykrigter om die piek van die golf te bepaal, wat dan met 0,707 vermenigvuldig kan word om RMS te gee. Dit gee gevolglik slegs 'n akkurate resultaat met lineêre laste (dws die stroom wat gemeet word, is 'n suiwer sinusgolf). Nie-lineêre voorrade of vragte wat driehoekige, reghoekige of ander nie-sinusgolfvorme gee, gee nie 'n ware RMS-berekening nie. Hierdie toestel meet slegs wisselstroom, maar dit is nie ontwerp om spanning te meet nie; dit bereken of meet nie die kragfaktor nie. Sien my ander instruksies oor hoe om 'n kragfaktormeter te maak waarmee u dit kan doen. Baie mense het ook gesê dat 'n reguit wisselstroomkoppeling met 'n 2.5V middellyn beter is, maar dit bring komplikasies mee, aangesien dit behels dat 'n voldoende vinnige digitale bemonsteringsnelheid, robuuste gemiddeldes/dataversterking, ens. die rou waarde. Persoonlik verkies ek hardeware -oplossings en eenvoudiger kode waar moontlik, so ek stel nie belang in die metode nie. Akkuraatheid, ek glo dat dit baie beter is as laasgenoemde, en u sal later in my resultate sien dat daar 'n regressiekoëffisiënt naby 1.0 is na kalibrasie.
Stap 1: Huidige transformators
Hierdie projek gebruik 'n stroomtransformator HMCT103C 5A/5MA. Dit het 'n verhouding van 1: 1000 draaie, wat beteken dat vir elke 5A stroom wat deur die geleier vloei, 5mA deur die CT vloei. 'N Weerstand moet oor die twee terminale van die CT gekoppel word sodat 'n spanning daaroor gemeet kan word. By hierdie geleentheid het ek 'n weerstand van 220 Ohm gebruik, daarom, met behulp van Ohm se wet V = IR, sal die uitset van die CT 1,1 Volt AC wees, vir elke 5mA CT -stroom (of elke 5A van gemete stroom). Die CT's is aan die bord gesoldeer met die weerstand en 'n paar instrumentdraad om vlieënde leidings te maak. Ek het die leidings beëindig met 3,5 mm manlike klankaansluitings.
Hier is die datablad vir die huidige transformator
Gegewensblad
Stap 2: Seinkondisionering
Die sein van die CT sal swak wees, dus moet dit versterk word. Hiervoor het ek 'n eenvoudige versterkerkring gesoldeer met 'n uA741 dubbele spoorversterker. In hierdie geval word die wins dus op 150 gestel met behulp van die formule Rf / Rin (150k / 1k). Die uitsetsein van die versterker is egter steeds wisselstroom, maar die diode op die uitset van die op-amp verlaag die negatiewe halfsiklus van die wisselstroom en stuur die positiewe spanning na 'n 0.1uF-kondensator om die golf in 'n rimpelende GS-sein glad te maak. Hieronder is die dele wat die kring uitmaak:
- V1-Dit is willekeurig in hierdie diagram; dit verteenwoordig eenvoudig die seinspanning wat ingevoer word in die nie-omkerende ingang van die op-amp.
- R1 - Dit staan bekend as die terugvoerweerstand (Rf) en is ingestel op 150k
- R2 - Dit staan bekend as die insetweerstand (Rin) en is ingestel op 1k
- 741 - Dit is die geïntegreerde stroombaan uA741
- VCC - Positiewe toevoerrail +12V
- VEE - Negatiewe toevoerrail -12V
- D1 - Is die hafgolf -regstellende seindiode 1N4001
- C3 - Hierdie kapaktor hou die GS -sein vir 'n vasgestelde tyd
Op foto 2 kan u sien dat dit met Veroboard en blikkende koperdraad saamgestel is. Daar is vier gate geboor vir PCB -afstandpunte sodat hulle gestapel kan word (omdat daar agt kanale is, moet daar altesaam agt versterkerbane wees.
Stap 3: Kragtoevoer
As u nie daarvan hou om dit van nuuts af te maak nie, kan u die bord wat vooraf gemonteer is uit China koop, soos hierbo op die foto, maar u benodig nog steeds die 3VA-transformator (verlaag 240V tot 12V). Die een op die foto het my ongeveer £ 2,50 gekos
Om die projek aan te dryf, het ek besluit om my eie 12VDC -kragtoevoer met dubbele spoor te maak. Dit was gerieflik, aangesien die op -versterkers +12V, 0V, -12V benodig en die Arduino Uno enige toevoer tot 14 VDC kan aanvaar. Hieronder is die dele wat die kring uitmaak:
- V1 - Dit verteenwoordig die voeding van die netaansluiting 240V 50Hz
- T1 - Dit is 'n klein 3VA transformator waaroor ek gelieg het. Dit is belangrik dat die transformator 'n sentrale kraan op die sekondêre het wat aan 0V gekoppel sal word, dws grond
- D1 tot D4 - Dit is 'n volgolfbrug gelykrigter met 1N4007 diodes
- C1 en C2 - 35V elektrolitiese kondensators 2200uF (moet 35V wees, aangesien die potensiaal tussen positief en negatief 30V sal bereik)
- U2 - LM7812, is 'n 12V positiewe spanningsreguleerder
- U3 - LM7912, is 'n 12V negatiewe spanningsreguleerder (let op die penverskille tussen die 78xx en 79xx IC!)
- C3 & C4 - 100nF Glad kondensators 25V elektrolities
- C5 en C6 - 10uF keramiek skyf kapasitors
Ek het die komponente op strook gesoldeer en die vertikale spore vasgemaak met 'n koper geblaseerde koperdraad. Foto 3 hierbo toon my DIY -kragtoevoer, jammer daar is baie springers op die foto!
Stap 4: Analoog met digitale omsetters
Die Arduino Uno het reeds 'n ingeboude 10-bis ADC, maar daar is slegs 6 analoog insette. Daarom het ek gekies om twee ADC breakouts te gebruik met die ADS1115 16-bit. Dit stel 2^15 = 32767 bisse in staat om spanningsvlakke van 0-4.096V voor te stel (4.096V is die werkingspanning van die uitbreek), dit beteken dat elke bietjie 0.000125V verteenwoordig! Omdat dit die I2C -bus gebruik, beteken dit dat tot 4 ADC's aangespreek kan word, sodat tot 16 kanale gemonitor kan word indien nodig.
Ek het probeer om die verbindings met Fritzing te illustreer, maar as gevolg van die beperkings is daar geen aangepaste onderdele om 'n seinopwekker te illustreer nie. Die pers draad is gekoppel aan die uitset van die versterkerkring, die swart draad langs dit illustreer dat alle versterkerkringe gemeenskaplike grond moet deel. Ek het dus 'n broodbord gebruik om te illustreer hoe ek die punte vasgemaak het. My werklike projek het egter die uitbarstings wat in vroulike kopstukke sit, aan Veroboard gesoldeer, en al die bindpunte word op die verobord gesoldeer.
Stap 5: Mikrokontroleerder
Soos hierbo genoem, was die kontroleerder wat ek gekies het 'n Arduino Uno, dit was 'n goeie keuse, aangesien dit baie aan boord het en ingeboude funksies het wat andersins afsonderlik gebou moes word. Boonop is dit verenigbaar met baie spesiaal geboude 'skilde'. By hierdie geleentheid het ek 'n intydse klok nodig gehad om alle resultate te tydstempel en 'n SD -kaartskrywer om die resultate in 'n.csv- of.txt -lêer op te neem. Gelukkig het die Arduino-data-aanmeldskerm albei in 'n skild wat pas op die oorspronklike Arduino-bord sonder ekstra soldeer. Die skild is verenigbaar met die RTClib- en SD -kaartbiblioteke, dus hoef u geen spesialis -kode te gebruik nie.
Stap 6: Montering
Ek het 5 mm ridgid medium/lae digtheid PVC (soms bekend as skuimplank) gebruik om die meeste van my komponente af te skroef en met 'n handwerkmes in 'n geskikte grootte te sny. Al die komponente is op 'n modulêre manier vir die prototipe gebou, aangesien dit individuele dele kan verwyder as dinge verkeerd loop, maar dit is nie so doeltreffend of netjies soos 'n geëtste PCB nie (verdere werk), dit beteken ook baie springdrade tussen die komponente.
Stap 7: Laai kode op
Laai die kode op na die Arduino, of kry die kode van my Github -repo
github.com/smooth-jamie/datalogger.git
Stap 8: Kalibrasie
Teoreties is die gemete stroom die gevolg van verskeie dinge saam:
Gemete ampère = (((a *0.45)/150)/(1.1/5000))/1000 waar 'a' die seinspanning van die versterker is
0.45 is die rms-waarde van die Vout van die versterkerkring, 150 is die op-amp-versterking (Rf / Rin = 150k / 1k), 1.1 is 'n volskaalse spanningsuitset van die CT wanneer gemete ampère 5A is, 5000 is eenvoudig 5A in mA, en 1000 is die hoeveelheid draaie in die transformator. Dit kan vereenvoudig word om:
Gemete ampère = (b * 9.216) / 5406555 waar b die ADC -gerapporteerde waarde is
Hierdie formule is getoets met behulp van die Arduino 10-bis ADC en 'n verskil tussen multimeterwaardes en Arduino-gegenereerde waardes is met 11% waargeneem, wat 'n onaanvaarbare afwyking is. My voorkeurmetode vir kalibrasie is om ADC -waarde teenoor stroom op 'n multimeter in 'n sigblad aan te teken en 'n polinoom van die derde orde te teken. Hieruit kan die kubieke formule gebruik word om beter resultate te gee by die berekening van gemete stroom:
(byl^3) + (bx^2) + (cx^1) + d
Die koëffisiënte a, b, c en d word in Excel bereken uit 'n eenvoudige datatabel, x is u ADC -waarde.
Om die data te kry, het ek 'n keramiek 1k veranderlike weerstand (reostaat) en 'n 12V transformator gebruik om die wisselspanning van 240V te verlaag, wat my 'n veranderlike stroombron van 13mA tot 100mA kon genereer. Hoe meer datapunte versamel word, hoe beter, maar ek stel voor dat u 10 datapunte versamel om 'n akkurate neiging te kry. Die aangehegte Excel -sjabloon sal die koëffisiënte vir u bereken; dit is dan net om dit in die arduino -kode in te voer
Op reël 69 van die kode sal u sien waar u die koëffisiënte moet invoer
float chn0 = ((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0.003985811 * adc0) + (0.663064521)));
wat dieselfde is as die formule in vel1 van die Excel -lêer:
y = 7E-13x3-4E-08x2 + 0,004x + 0,663
Waar x = adc0 van watter kanaal u ook al kalibreer
Stap 9: Voltooi
Plaas dit in 'n projekomhulsel. Ek het die kragtoevoer afgehandel met 'n skakelaar om die hele ding aan/uit te skakel, en 'n IEC "figuur 8" -aansluiting vir die hoofingang. Skroef dit alles saam en jy is gereed om dit te toets.
Verdere werk
Die hele projek is redelik vinnig bespot, en daar is baie ruimte vir verbetering, geëtste kring, beter komponente. Ideaal gesproke sal die hele ding op FR4 geët of gesoldeer word, eerder as baie springers. Soos ek vroeër gesê het, is daar baie dinge wat ek nie genoem het nie, maar as u iets spesifiek wil weet, laat weet my in die kommentaar, en ek sal die instruksies opdateer!
Opgedateer 2016-12-18
Ek het nou 'n 16x2 LCD bygevoeg met die I2C "rugsak" om die eerste vier kanale te monitor, en ek sal nog een byvoeg om die laaste vier te monitor wanneer dit deur die pos kom.
Krediete
Hierdie projek is moontlik gemaak deur al die skrywers van die biblioteke wat in my Arduino -skets gebruik is, insluitend die DS3231 -biblioteek, Adafruit ADS1015 -biblioteek en die Arduino SD -biblioteek
Aanbeveel:
Ontwerp van huidige oscillator gebaseer op huidige modus vir Klas D -versterkers: 6 stappe
Ontwerp van huidige modus -gebaseerde ossillator vir Klas D klankversterkers: In die afgelope jaar het Klas D klankversterkers die voorkeur -oplossing geword vir draagbare klankstelsels soos MP3 en selfone vanweë hul hoë doeltreffendheid en lae kragverbruik. Die ossillator is 'n belangrike deel van die klas D au
Hoe om humiditeit en temperatuur real-time data-opnemer te maak met Arduino UNO en SD-kaart - DHT11 Data-logger Simulasie in Proteus: 5 stappe
Hoe om humiditeit en temperatuur real-time data-opnemer te maak met Arduino UNO en SD-kaart | DHT11 Data-logger Simulasie in Proteus: Inleiding: hi, dit is Liono Maker, hier is die YouTube-skakel. Ons maak 'n kreatiewe projek met Arduino en werk aan ingebedde stelsels. Data-Logger: 'n Datalogger (ook data-logger of data recorder) is 'n elektroniese toestel wat data mettertyd opneem
Voeg 'n huidige limietfunksie by 'n Buck/Boost -omskakelaar: 4 stappe (met foto's)
N Huidige limiet -funksie by 'n Buck/Boost -omskakelaar voeg: In hierdie projek kyk ons na 'n algemene buck/boost -omskakelaar van naderby en skep 'n klein, ekstra stroombaan wat 'n stroomlimietfunksie daaraan toevoeg. Daarmee kan die buck/boost -omskakelaar net soos 'n veranderlike laboratoriumbank -kragtoevoer gebruik word. Le
Huidige bron DAC AD5420 en Arduino: 4 stappe (met foto's)
Huidige bron DAC AD5420 en Arduino: Hallo.In hierdie artikel wil ek my ervaring deel met die AD5420 huidige digitaal-na-analoog-omskakelaar, wat die volgende kenmerke het: 16-bis resolusie en monotonie Huidige uitsetreekse: 4 mA tot 20 mA, 0 mA tot 20 mA, of 0 mA t
Huidige gereguleerde LED -toetser: 4 stappe (met foto's)
Huidige gereguleerde LED -toetser: Baie mense neem aan dat alle LED's met 'n konstante 3V -kragbron voorsien kan word. LED's het in werklikheid 'n nie-lineêre stroom-spanning verhouding. Die stroom groei eksponensieel met die spanning wat verskaf word. Daar is ook die wanopvatting dat alle LED's van