Përmbajtje:
- Hapi 1: Transformatorët aktualë
- Hapi 2: Kushtëzimi i sinjalit
- Hapi 3: Furnizimi me energji elektrike
- Hapi 4: Konvertuesit analogë me ato dixhitalë
- Hapi 5: Mikrokontrolluesi
- Hapi 6: Asambleja
- Hapi 7: Ngarkimi i Kodit
- Hapi 8: Kalibrimi
- Hapi 9: Përfundoni
Video: Regjistruesi i të dhënave aktuale të monitorimit AC: 9 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:18
Përshëndetje të gjithëve, mirë se vini në mësimin tim të parë! Ditën jam një inxhinier testimi për një kompani që furnizon pajisje ngrohëse industriale, natën jam një hobi i apasionuar pas teknologjisë dhe DIY'er. Një pjesë e punës sime përfshin testimin e performancës së ngrohësve, me këtë rast kam dashur të jem në gjendje të monitoroj tërheqjen aktuale të RMS të 8 pajisjeve mbi 1000 orë dhe të regjistroj të dhënat për të grafikuar rezultatet më vonë. Unë kam qasje në një regjistrues të të dhënave, por tashmë ishte angazhuar për një projekt tjetër dhe kisha nevojë për diçka me kosto të ulët, kështu që vendosa të bashkoj këtë regjistrues bazë të të dhënave.
Projekti përdor një Arduino Uno për të lexuar sensorë analoge përmes konvertuesit analog në dixhital (ADC) dhe regjistron të dhënat me një vulë kohore në një kartë SD. Ka shumë teori dhe llogaritje të përfshira në hartimin e qarqeve, kështu që në vend që të shpjegoj absolutisht gjithçka, unë thjesht do t'ju tregoj se si t'i bëni ato. Nëse jeni të interesuar të shihni hitin FULL atëherë më tregoni në komente dhe unë do të shpjegoj më tej.
SHËNIM:
Kam pasur shumë pyetje në lidhje me llogaritjet e vërteta të RMS. Kjo pajisje përdor një ndreqës me gjysmë valë për të kapur kulmin e valës, i cili më pas mund të shumëzohet me 0.707 për të dhënë RMS. Rrjedhimisht do të japë vetëm një rezultat të saktë me ngarkesa lineare (domethënë rryma që matet është një valë sinus e pastër). Furnizimet jo-lineare ose ngarkesat që japin forma valore trekëndore, drejtkëndore ose ndonjë formë tjetër sinusale nuk do të japin një llogaritje të vërtetë RMS. Kjo pajisje mat rrymën AC vetëm se nuk është krijuar për të matur tensionin, rrjedhimisht nuk llogarit ose mat faktorin e fuqisë. Ju lutemi shihni udhëzimet e mia të tjera se si të krijoni një matës të faktorit të fuqisë i cili mund të përdoret për ta bërë këtë. Shumë njerëz kanë thënë gjithashtu se një bashkim i drejtpërdrejtë AC me një vijë qendrore 2.5V është më i mirë, megjithatë kjo sjell ndërlikime pasi përfshin të kesh një normë mjaft të shpejtë të marrjes së mostrave dixhitale, mesatare të fuqishme/zbutje të të dhënave, etj. Dhe pasiguria që prezanton është shumë më e lartë se sa matja vlera e papërpunuar. Personalisht, unë preferoj zgjidhjet harduerike dhe kodin më të thjeshtë aty ku është e mundur kështu që nuk jam i interesuar për atë metodë. Saktësia e mençur Unë besoj se kjo është shumë më mirë se kjo e fundit dhe ju do të shihni më vonë në rezultatet e mia ka një koeficient regresioni afër 1.0 pas kalibrimit.
Hapi 1: Transformatorët aktualë
Ky projekt përdor transformatorin e rrymës HMCT103C 5A/5MA. Ka një raport 1: 1000 kthesash që do të thotë për çdo 5A rrymë që rrjedh përmes përcjellësit, 5mA do të rrjedhë përmes CT. Një rezistencë duhet të lidhet në të dy terminalet e CT për të lejuar që një tension të matet në të. Me këtë rast kam përdorur një rezistencë 220 Ohm, prandaj duke përdorur ligjin e Ohmit V = IR, dalja e CT do të jetë 1.1 Volt AC, për çdo 5mA rrymë CT (ose çdo 5A rrymë të matur). CT -të u lidhën për të hequr dërrasën me rezistencën dhe disa tela instrumentesh për të bërë plumba fluturues. I përfundova lidhjet me prizat e folesë audio 3.5 mashkullore.
Këtu është fleta e të dhënave për transformatorin aktual
Fleta e të dhënave
Hapi 2: Kushtëzimi i sinjalit
Sinjali nga CT do të jetë i dobët kështu që duhet të amplifikohet. Për këtë unë bashkova së bashku një qark të thjeshtë amplifikatori duke përdorur një përforcues opual me dy shina uA741. Në këtë rast fitimi vendoset në 150 duke përdorur formulën Rf / Rin (150k / 1k). Sidoqoftë, sinjali i daljes nga amplifikatori është akoma AC, dioda në daljen e op-amp ndërpret gjysmën e ciklit negativ të AC dhe e kalon tensionin pozitiv në një kondensator 0.1uF për të zbutur valën në një sinjal DC të valëzuar. Më poshtë janë pjesët që përbëjnë qarkun:
- V1-Kjo është arbitrare në këtë diagram, thjesht paraqet tensionin e sinjalit i cili futet në hyrjen jo-përmbysëse të op-amp.
- R1 - Ky njihet si rezistenca e reagimit (Rf) dhe është vendosur në 150k
- R2 - Ky njihet si rezistenca e hyrjes (Rin) dhe është vendosur në 1k
- 741 - Ky është qarku i integruar uA741
- VCC - Hekurudha e furnizimit pozitiv +12V
- VEE - Hekurudha negative e furnizimit -12V
- D1 - A është dioda sinjal ndreqëse e valës haf 1N4001
- C3 - Ky kapaktor mban sinjalin DC për një kohë të caktuar
Në figurën 2 mund të shihni se është montuar duke përdorur Veroboard dhe tela bakri të konservuar. 4 vrima u shpuan për PCB të fikura në mënyrë që të mund të grumbulloheshin (sepse ka tetë kanale duhet të ketë tetë qarqe amplifikuese krejtësisht.
Hapi 3: Furnizimi me energji elektrike
Nëse nuk ju pëlqen ta bëni atë nga e para, atëherë mund të blini tabelën e montuar paraprakisht nga Kina si ajo e paraqitur më lart, por do t'ju duhet akoma transformatori 3VA (shkallëzoni 240V në 12V). Ai në foto më kushtoi rreth 2.50
Për të fuqizuar projektin, vendosa të bëj furnizimin tim me energji hekurudhore të dyfishtë 12VDC. Kjo ishte e përshtatshme pasi op -amps kërkojnë +12V, 0V, -12V, dhe Arduino Uno mund të pranojë çdo furnizim deri në 14 VDC. Më poshtë janë pjesët që përbëjnë qarkun:
- V1 - Kjo përfaqëson furnizimin nga priza kryesore 240V 50Hz
- T1 - Ky është një transformator i vogël 3VA për të cilin kisha gënjyer. Importantshtë e rëndësishme që transformatori të ketë një rubinet qendror në sekondar i cili do të lidhet me 0V dmth
- D1 në D4 - Ky është një ndreqës i urës me valë të plotë duke përdorur dioda 1N4007
- C1 & C2 - Kondensatorë elektrolitikë 35V 2200uF (duhet të jetë 35V pasi potenciali midis pozitivit dhe negativit do të arrijë 30V)
- U2 - LM7812, është një rregullator pozitiv i tensionit 12V
- U3 - LM7912, është një rregullator negativ i tensionit 12V (kini kujdes të vini re ndryshimet e pin midis IC 78xx dhe 79xx!)
- C3 & C4 - 100nF Kondensatorë zbutës 25V elektrolitikë
- Kondensatorë disku qeramik C5 & C6 - 10uF
I bashkova komponentët në dërrasën e shiritit dhe i bashkova gjurmët vertikale me tela bakri të kallajosur të zhveshur me një bërthamë. Fotografia 3 më sipër tregon furnizimin tim me energji DIY, më falni që ka shumë kërcyes në foto!
Hapi 4: Konvertuesit analogë me ato dixhitalë
Arduino Uno tashmë ka një ADC të integruar në 10-bit, megjithatë ka vetëm 6 hyrje analoge. Prandaj, zgjodha të përdor dy ndërprerje ADC me ADS1115 16-bit. Kjo lejon që 2^15 = 32767 bit të përfaqësojnë nivelet e tensionit nga 0-4.096V (4.096V është tensioni i funksionimit të prishjes), kjo do të thotë që çdo bit përfaqëson 0.000125V! Gjithashtu, për shkak se përdor autobusin I2C do të thotë që mund të adresohen deri në 4 ADC, duke lejuar që deri në 16 kanale të monitorohen nëse dëshironi.
Unë jam përpjekur të ilustroj lidhjet duke përdorur Fritzing, megjithatë për shkak të kufizimeve nuk ka pjesë të personalizuara për të ilustruar një Gjenerator Sinjali. Teli vjollcë është i lidhur me daljen e qarkut të amplifikatorit, tela e zezë pranë tij ilustron se të gjitha qarqet e amplifikatorit duhet të ndajnë terren të përbashkët. Kështu që unë kam përdorur një dërrasë buke për të ilustruar se si i kam bërë pikët e kravatës. Sidoqoftë, projekti im aktual ka thyerjet e ulura në titujt femra, të ngjitur në Veroboard, dhe të gjitha pikat e lidhjes janë ngjitur në veroboard.
Hapi 5: Mikrokontrolluesi
Siç u përmend më lart kontrolluesi që zgjodha ishte një Arduino Uno, kjo ishte një zgjedhje e mirë pasi ka shumë në bord dhe ka funksionalitet të ndërtuar që përndryshe do të duhej të ndërtoheshin veç e veç. Plus është i pajtueshëm me shumë "mburoja" të krijuara posaçërisht. Me këtë rast kërkova një orë në kohë reale për të vendosur kohën e të gjitha rezultateve dhe një shkrimtar të kartave SD për të regjistruar rezultatet në një skedar.csv ose.txt. Për fat të mirë, mburoja e regjistrimit të të dhënave Arduino ka të dyja në një mburojë që i shtyn përshtatjet në tabelën origjinale Arduino pa bashkim shtesë. Mburoja është e pajtueshme me bibliotekat e kartave RTClib dhe SD kështu që nuk ka nevojë për ndonjë kod special.
Hapi 6: Asambleja
Kam përdorur PVC të mesme të dendur/të dendur të vogël 5 mm (ndonjëherë të njohur si shkumë) për të prishur shumicën e përbërësve të mi dhe për ta prerë atë në një madhësi të përshtatshme me një thikë artizanale. Të gjithë përbërësit u ndërtuan në një mënyrë modulare për prototipin pasi lejon heqjen e pjesëve individuale nëse gjërat shkojnë keq, megjithatë nuk është aq efikase ose e rregullt sa një PCB e gdhendur (punë e mëtejshme) kjo gjithashtu do të thotë shumë tela kërcyes midis përbërësit.
Hapi 7: Ngarkimi i Kodit
Ngarko kodin në Arduino, ose merr kodin nga repoja ime e Github
github.com/smooth-jamie/datalogger.git
Hapi 8: Kalibrimi
Teorikisht rryma e matur do të jetë rezultat i disa gjërave të kombinuara:
Amperet e matur = (((a *0.45)/150)/(1.1/5000))/1000 ku 'a' është tensioni i sinjalit nga amplifikatori
0.45 është vlera rms e Vout të qarkut të amplifikatorit, 150 është fitimi i op-amp (Rf / Rin = 150k / 1k), 1.1 është dalja e tensionit në shkallë të plotë të CT kur amperët e matur janë 5A, 5000 është thjesht 5A në mA, dhe 1000 është sasia e kthesave në transformator. Kjo mund të thjeshtohet në:
Amperet e matur = (b * 9.216) / 5406555 ku b është vlera e raportuar e ADC
Kjo formulë u testua duke përdorur Arduino 10-bit ADC dhe një ndryshim midis vlerave të multimetrit dhe vlerave të krijuara nga Arduino u vu re me 11%, që është një devijim i papranueshëm. Metoda ime e preferuar për kalibrimin është të regjistroj vlerën ADC vs Current në një multimetër në një spreadsheet dhe të vizatoj një polinom të rendit të tretë. Nga kjo formula kubike mund të përdoret për të dhënë rezultate më të mira kur llogaritet rryma e matur:
(ax^3) + (bx^2) + (cx^1) + d
Koeficientët a, b, c dhe d llogariten në excel nga një tabelë e thjeshtë e të dhënave, x është vlera juaj ADC.
Për të marrë të dhënat kam përdorur një rezistencë qeramike 1k të ndryshueshme (reostat), dhe një transformator 12v për të ulur tensionin e rrjetit AC nga 240V, i cili do të më japë mua të krijoj një burim aktual të ndryshueshëm nga 13mA në 100mA. Sa më shumë të dhëna të mblidhen aq më mirë, megjithatë unë do të sugjeroja që të mblidheshin 10 pika të dhënash për të fituar një prirje të saktë. Modeli i bashkangjitur Excel do të llogarisë koeficientët për ju, atëherë është vetëm çështje e futjes së tyre në kodin arduino
Në rreshtin 69 të kodit do të shihni se ku të futni koeficientët
float chn0 = ((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0.003985811 * adc0) + (0.663064521)));
e cila është e njëjtë me formulën në fletën 1 të skedarit excel:
y = 7E-13x3-4E-08x2 + 0.004x + 0.663
Ku x = adc0 e çfarëdo kanali që po kalibroni
Hapi 9: Përfundoni
Vendoseni atë në një rreth projekti. Përfundova furnizimin me energji elektrike me një ndërprerës për të ndezur/fikur të gjithë pajisjen në furnizim, dhe një lidhës IEC "figura 8" për hyrjen kryesore. Vidhosini të gjitha së bashku dhe jeni gati ta provoni.
Punë e mëtejshme
I gjithë projekti u tall shumë shpejt, kështu që ka shumë vend për përmirësim, qark të gdhendur, përbërës më të mirë. Në mënyrë ideale, e gjithë gjëja do të gdhendet ose ngjitet në FR4 në vend të ngarkesave të kërcyesve. Siç thashë më parë, ka shumë gjëra që nuk i kam përmendur, por nëse ka diçka specifike që dëshironi të dini, më tregoni në komente dhe unë do të azhurnoj udhëzuesin!
Përditësimi 2016-12-18
Tani kam shtuar një LCD 16x2 duke përdorur "çantën e shpinës" I2C për të monitoruar katër kanalet e para, do të shtoj një tjetër për të monitoruar katër të fundit kur të arrijë përmes postës.
Kredite
Ky projekt u bë i mundur nga të gjithë autorët e Bibliotekave të përdorura në skicën time Arduino, përfshirë bibliotekën DS3231, bibliotekën Adafruit ADS1015 dhe bibliotekën Arduino SD
Recommended:
Si të bëni lagështi dhe temperaturë Regjistruese të të dhënave në kohë reale me Arduino UNO dhe SD-Card - Simulimi DHT11 Regjistruesi i të dhënave në Proteus: 5 hapa
Si të bëni lagështi dhe temperaturë Regjistruese të të dhënave në kohë reale me Arduino UNO dhe SD-Card | Simulimi i regjistruesit të të dhënave DHT11 në Proteus: Hyrje: përshëndetje, ky është Liono Maker, këtu është lidhja në YouTube. Ne po bëjmë projekt krijues me Arduino dhe po punojmë në sisteme të ngulitura. Data-Logger: Një regjistrues i të dhënave (gjithashtu regjistrues i të dhënave ose regjistrues i të dhënave) është një pajisje elektronike që regjistron të dhëna me kalimin e kohës me
DIY GPS Regjistruesi i të Dhënave për Ju Disku tjetër/Shteg Hiking: 11 Hapa (me fotografi)
DIY GPS Regjistruesi i të Dhënave për Ju Makina/Rrugëtimi i ardhshëm: Ky është një regjistrues GPS i të dhënave që mund ta përdorni për qëllime të shumta, thoni nëse doni të regjistroni makinën tuaj të gjatë që keni marrë gjatë fundjavës për të parë ngjyrat e vjeshtës. ose keni një shteg të preferuar që vizitoni gjatë vjeshtës çdo vit dhe ju
Regjistruesi i të dhënave në Alaska: 5 hapa (me fotografi)
Datalogger i Alaskës: Alaska është në prag të avancimit të ndryshimit të klimës. Pozicioni i tij unik për të pasur një peizazh mjaft të paprekur të populluar me një sërë kanarina të minierave të qymyrit mundëson shumë mundësi kërkimore. Miku ynë Monty është një arkeolog që ndihmon me
Regjistruesi i të dhënave të fundit të balonave të motit në lartësi të larta: 9 hapa (me fotografi)
Regjistruesi i të dhënave të tullumbaceve të motit me lartësi të madhe lartësie: Regjistroni të dhëna të tullumbaceve të motit në lartësi të mëdha me regjistruesin përfundimtar të të dhënave të balonave të motit në lartësi të larta. Një tullumbace moti në lartësi të madhe, e njohur gjithashtu si një tullumbace me lartësi të madhe ose HAB, është një tullumbace e madhe e mbushur me helium. Këto balona janë një platformë
Regjistruesi i të dhënave me burim të hapur (OPENSDL): 5 hapa (me fotografi)
Regjistruesi i të dhënave me burim të hapur (OPENSDL): Qëllimi i këtij projekti është të hartojë, ndërtojë dhe testojë një sistem matjeje me kosto të ulët për studimet e Vlerësimit të Performancës së Ndërtesave që përfshin të paktën temperaturën, lagështinë relative, ndriçimin dhe është i zgjerueshëm edhe me sensorë shtesë, dhe per tu zhvilluar