Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kasalukuyang Mga Transformer
- Hakbang 2: Pagsasaayos ng Signal
- Hakbang 3: Supply ng Kuryente
- Hakbang 4: Analogue sa Mga Digital Converter
- Hakbang 5: Microcontroller
- Hakbang 6: Assembly
- Hakbang 7: Code sa Pag-upload
- Hakbang 8: Pagkakalibrate
- Hakbang 9: Tapusin
Video: AC Kasalukuyang Monitoring Data Logger: 9 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Kumusta Lahat, maligayang pagdating sa aking unang itinuro! Sa pamamagitan ng araw ako ay isang test engineer para sa isang kumpanya na nagbibigay ng pang-industriya na kagamitan sa pag-init, sa gabi ako ay isang masugid na hobbyist ng teknolohiya at DIY'er. Kasama sa bahagi ng aking trabaho ang pagsubok sa pagganap ng mga heater, sa pagkakataong ito ay nais kong masubaybayan ang kasalukuyang pagguhit ng RMS ng 8 mga aparato sa paglipas ng 1000hrs at i-log ang data upang mai-graph ang mga resulta sa paglaon. Mayroon akong access sa isang data logger ngunit nakatuon na ito sa isa pang proyekto at kailangan ko ng isang mababang halaga, kaya't napagpasyahan kong i-cobble ang pangunahing datalogger na ito.
Gumagamit ang proyekto ng isang Arduino Uno upang mabasa ang mga analogue sensor sa pamamagitan ng analogue sa digital converter (ADC) at itatala ang data na may isang time stamp sa isang SD card. Mayroong maraming teorya at pagkalkula na kasangkot sa pagdidisenyo ng mga circuit, kaya sa halip na ipaliwanag ang ganap na lahat, ipapakita ko lamang sa iyo kung paano ito gawin. Kung ang iyong interesado na makita ang BUONG hit pagkatapos ipaalam sa akin sa mga komento at ipapaliwanag ko pa.
TANDAAN:
Nagkaroon ako ng maraming mga katanungan tungkol sa mga pagkalkula ng True RMS. Ang aparatong ito ay gumagamit ng isang kalahating alon na tagapagwawasto upang makuha ang rurok ng alon, na maaaring i-multiply ng 0.707 upang bigyan ang RMS. Paminsan-minsan ay magbibigay lamang ito ng isang tumpak na resulta sa mga linear na pag-load (ibig sabihin, ang kasalukuyang sinusukat ay isang dalisay na alon ng sine). Ang mga di-linear na supply o pag-load na nagbibigay ng tatsulok, parihabang o anumang iba pang mga di-sinus na form ng alon ay hindi magbibigay ng isang totoong pagkalkula ng RMS. Sinusukat ng aparatong ito ang kasalukuyang AC lamang hindi ito dinisenyo upang masukat ang boltahe, maikli na hindi nito kinakalkula o sinusukat ang factor ng kuryente. Mangyaring tingnan ang aking iba pang itinuturo sa kung paano lumikha ng isang power factor meter na maaaring magamit upang gawin ito. Maraming mga tao ang nagsabi din na ang isang tuwid na pagkabit ng AC na may isang 2.5V centreline ay mas mahusay, subalit ipinakilala nito ang mga komplikasyon dahil nagsasangkot ito ng pagkakaroon ng sapat na mabilis na rate ng digital na sampling, matatag na pag-average / pag-aayos ng data, atbp at ang kawalan ng katiyakan na ipinakilala nito ay mas mataas kaysa sa pagsukat ang hilaw na halaga. Sa personal, mas gusto ko ang mga solusyon sa hardware at mas simpleng code kung posible kung kaya't hindi ako interesado sa pamamaraang iyon. Katumpakan matalino Naniniwala ako na ito ay mas mahusay kaysa sa huli at makikita mo mamaya sa aking mga resulta mayroong isang koepisyent ng pagbabalik na malapit sa 1.0 kasunod sa pagkakalibrate.
Hakbang 1: Mga Kasalukuyang Mga Transformer
Ang proyektong ito ay gumagamit ng kasalukuyang transpormer ng HMCT103C 5A / 5MA. Mayroon itong 1: 1000 na lumiliko ratio na kahulugan para sa bawat 5A ng kasalukuyang dumadaloy sa pamamagitan ng conductor, 5mA ay dumadaloy sa pamamagitan ng CT. Ang isang risistor ay kailangang maiugnay sa dalawang mga terminal ng CT upang payagan ang isang boltahe na masukat sa kabuuan nito. Sa pagkakataong ito gumamit ako ng resistor na 220 Ohm, samakatuwid gumagamit ng batas na Ohm na V = IR, ang output ng CT ay magiging 1.1 Volts AC, para sa bawat 5mA ng kasalukuyang CT (o bawat 5A ng sinusukat na kasalukuyang). Ang mga CT ay hinihinang upang hubarin ang board gamit ang risistor at ilang mga wire ng instrumento upang gumawa ng mga lumilipad na lead. Tinapos ko ang mga lead na may 3.5mm male audio jack plugs.
Narito ang datasheet para sa kasalukuyang transpormer
Datasheet
Hakbang 2: Pagsasaayos ng Signal
Ang signal mula sa CT ay magiging mahina kaya kailangang palakasin. Para sa mga ito ay naghinang ako ng isang simpleng circuit ng amplifier gamit ang isang uA741 dual rail op amp. Sa kasong ito, ang nakuha ay itinakda sa 150 gamit ang formula Rf / Rin (150k / 1k). Gayunpaman ang signal ng output mula sa amplifier ay AC pa rin, ang diode sa output ng op-amp ay pinuputol ang negatibong kalahating siklo ng AC at ipinapasa ang positibong boltahe sa isang 0.1uF capacitor upang pakinisin ang alon sa isang ripleng signal ng DC. Nasa ibaba ang mga bahagi na bumubuo sa circuit:
- V1 - Ito ay arbitrary sa diagram na ito, kinakatawan lamang nito ang signal boltahe na kung saan ay pinakain sa hindi input na input ng op-amp.
- R1 - Ito ay kilala bilang feedback resistor (Rf) at nakatakda sa 150k
- R2 - Kilala ito bilang input resistor (Rin) at itinakda sa 1k
- 741 - Ito ang uA741 intergrated circuit
- VCC - Positibong supply rail + 12V
- VEE - Negatibong supply rail -12V
- D1 - Ang haf wave rectifiying signal diode 1N4001 ba
- C3 - Hawak ng capactor na ito ang signal ng DC para sa isang takdang oras
Sa larawan 2 maaari mong makita na ito ay binuo gamit ang Veroboard at tinned wire na tanso. Ang 4 na butas ay na-drill para sa PCB na tumayo upang maaari silang mai-stack (dahil mayroong walong mga channel na kailangang walong mga amplifier circuit nang sama-sama.
Hakbang 3: Supply ng Kuryente
Kung hindi mo pinangarap na gawin ito mula sa simula pagkatapos ay maaari kang bumili ng pre-assemble ng board mula sa Tsina tulad ng nakalarawan sa itaas, ngunit kakailanganin mo pa rin ang 3VA transpormer (bumaba ang 240V hanggang 12V). Ang nakalarawan sa halagang nagkakahalaga sa akin ng £ 2.50
Upang mapagana ang proyekto ay nagpasya akong gumawa ng sarili kong dalawahan na 12VDC power supply. Ito ay maginhawa dahil ang mga op-amp ay nangangailangan ng + 12V, 0V, -12V, at ang Arduino Uno ay maaaring tanggapin ang anumang supply hanggang sa 14 VDC. Nasa ibaba ang mga bahagi na bumubuo sa circuit:
- V1 - Kinakatawan nito ang supply mula sa mains socket 240V 50Hz
- T1 - Ito ay isang maliit na 3VA transpormer na sinungaling ko. Mahalaga na ang transpormer ay may gitnang tapik sa pangalawang na konektado sa 0V ibig sabihin ground
- D1 hanggang D4 - Ito ay isang buong alon na tulay na tagapagpatuwid gamit ang 1N4007 diode
- C1 & C2 - 35V electrolytic capacitors 2200uF (kailangang 35V dahil ang potensyal sa pagitan ng positibo at negatibo ay aabot sa 30V)
- U2 - LM7812, ay isang 12V positibong boltahe regulator
- U3 - LM7912, ay isang 12V negatibong boltahe regulator (mag-ingat na tandaan ang mga pagkakaiba sa pin sa pagitan ng 78xx at 79xx IC!)
- C3 & C4 - 100nF Smoothing capacitors 25V electrolytic
- C5 & C6 - 10uF ceramic disc capacitors
Inhinang ko ang mga sangkap sa stripboard, at sumali sa mga patayong track na may hubad na solong core na tinned wire na tanso. Ipinapakita ng larawan 3 sa itaas ang aking supply ng kuryente sa DIY, paumanhin maraming mga jumper sa larawan!
Hakbang 4: Analogue sa Mga Digital Converter
Ang Arduino Uno ay mayroon nang built na 10-bit ADC, subalit mayroon lamang 6 na mga input ng Analogue. Samakatuwid pinili kong gumamit ng dalawang mga breakout ng ADC gamit ang ADS1115 16-bit. Pinapayagan nito ang 2 ^ 15 = 32767 bits upang kumatawan sa mga antas ng boltahe mula 0-4.096V (4.096V ang operating boltahe ng breakout), nangangahulugan ito na ang bawat bit ay kumakatawan sa 0,000125V! Gayundin, dahil gumagamit ito ng I2C bus nangangahulugan ito na hanggang sa 4 ADC's ay maaaring matugunan, na pinapayagan ang hanggang sa 16 na mga channel na masubaybayan kung ninanais.
Sinubukan kong ilarawan ang mga koneksyon gamit ang Fritzing, subalit dahil sa mga limitasyon walang mga pasadyang bahagi upang ilarawan ang isang Signal Generator. Ang lila na kawad ay konektado sa output ng amplifier circuit, ang itim na kawad sa tabi nito ay naglalarawan na ang lahat ng mga circuit ng amplifier ay dapat magbahagi ng karaniwang landas. Kaya't gumamit ako ng isang pisara upang ilarawan kung paano ko nagawa ang mga puntos ng kurbatang. Gayunpaman ang aking tunay na proyekto ay ang mga breakout na nakaupo sa mga babaeng header, na-solder sa Veroboard, at lahat ng mga puntos ng kurbatang ay na-solder sa veroboard.
Hakbang 5: Microcontroller
Tulad ng nabanggit sa itaas ng controller na pinili ko ay isang Arduino Uno, ito ay isang mahusay na pagpipilian dahil marami itong nakasakay at naitayo sa pagpapaandar na kung hindi man ay kakailanganing maitayo nang magkahiwalay. Dagdag dito ay katugma ito sa maraming mga espesyal na built na 'kalasag'. Sa pagkakataong ito kinakailangan ko ng isang real time na orasan upang timestamp ang lahat ng mga resulta at isang manunulat ng SD card upang maitala ang mga resulta sa isang.csv o.txt file. Sa kabutihang palad, ang Arduino data-logging na kalasag ay pareho sa isang kalasag na itulak ang fit sa orihinal na board ng Arduino nang walang karagdagang paghihinang. Ang kalasag ay katugma sa mga library ng RTClib at SD card kaya hindi na kailangan para sa anumang dalubhasang code.
Hakbang 6: Assembly
Gumamit ako ng 5mm ridgid medium / low density PVC (minsan kilala bilang foamboard) upang i-tornilyo ang karamihan sa aking mga sangkap at i-cut ito sa isang maginhawang sukat gamit ang isang kutsilyo sa bapor. Ang lahat ng mga bahagi ay itinayo sa isang modular na paraan para sa prototype dahil pinapayagan nitong alisin ang mga indibidwal na bahagi kung nagkamali ang mga bagay, subalit hindi ito mabisa o malinis bilang isang nakaukit na PCB (karagdagang trabaho) nangangahulugan din ito ng maraming mga jumper wires sa pagitan ng ang mga sangkap.
Hakbang 7: Code sa Pag-upload
I-upload ang code sa Arduino, o kunin ang code mula sa aking Github repo
github.com/smooth-jamie/datalogger.git
Hakbang 8: Pagkakalibrate
Teoretikal ang sinusukat na kasalukuyang ay magiging isang resulta ng maraming mga bagay na pinagsama:
Mga sinusukat na amp =
Ang 0.45 ay ang rms na halaga ng Vout ng amplifier circuit, 150 ang op-amp na nakuha (Rf / Rin = 150k / 1k), ang 1.1 ay buong sukat na output ng boltahe ng CT kapag ang sinusukat na amps ay 5A, 5000 ay 5A lamang sa mA, at 1000 ang halaga ng mga liko sa transpormer. Maaari itong gawing simple upang:
Sinukat na mga amp = (b * 9.216) / 5406555 kung saan ang b ay iniulat na halaga ng ADC
Ang pormulang ito ay nasubok gamit ang Arduino 10-bit ADC at ang pagkakaiba sa pagitan ng mga halagang multimeter at mga halagang nabuong Arduino ay naobserbahan ng 11% na isang hindi katanggap-tanggap na paglihis. Ang aking ginustong pamamaraan para sa pagkakalibrate ay upang itala ang halaga ng ADC kumpara sa Kasalukuyang sa isang multimeter sa isang spreadsheet at magbalangkas ng pangatlong order na polynomial. Mula dito ang cubic formula ay maaaring magamit upang makapagbigay ng mas mahusay na mga resulta kapag kinakalkula ang kasalukuyang sinusukat:
(palakol ^ 3) + (bx ^ 2) + (cx ^ 1) + d
Ang mga coefficients a, b, c, at d ay kinakalkula sa excel mula sa isang simpleng talahanayan ng data, x ang iyong halaga ng ADC.
Upang makuha ang data na ginamit ko ang isang ceramic 1k variable risistor (rheostat), at 12v transpormer upang pababa ang pangunahing boltahe ng AC mula sa 240V, na magbibigay sa akin ng makabuo ng isang variable na kasalukuyang mapagkukunan mula 13mA hanggang 100mA. Ang mas maraming mga puntos ng data na nakolekta ang mas mahusay, subalit iminumungkahi kong mangolekta ng 10 mga puntos ng data upang makakuha ng isang tumpak na kalakaran. Kalkulahin ng naka-attach na template ng Excel ang mga coefficients para sa iyo, pagkatapos ay isang bagay lamang sa pagpasok sa kanila sa arduino code
Sa linya 69 ng code makikita mo kung saan ipasok ang mga coefficients
float chn0 = ((7.30315 * pow (10, -13)) * pow (adc0, 3) + (-3.72889 * pow (10, -8) * pow (adc0, 2) + (0.003985811 * adc0) + (0.663064521)));
na kapareho ng pormula sa sheet1 ng excel file:
y = 7E-13x3 - 4E-08x2 + 0.004x + 0.663
Kung saan ang x = adc0 ng anumang channel na iyong ini-calibrate
Hakbang 9: Tapusin
Ilagay ito sa isang enclosure ng proyekto. Natapos ko ang power supply gamit ang isang toggle switch upang i-on / i-off ang buong bagay sa supply, at isang konektor na "figure 8" ng IEC para sa input ng mains. I-screw ang lahat ng ito at ang iyong handa na upang subukan ito.
Mga iba pang gawain
Ang buong proyekto ay kinutya sa halip mabilis kaya maraming lugar para sa pagpapabuti, nakaukit na circuit, mas mahusay na mga bahagi. Mainam na ang buong bagay ay nakaukit o na-solder sa FR4 sa halip na maraming mga jumper. Tulad ng sinabi ko kanina maraming mga bagay na hindi ko nabanggit ngunit kung may tukoy na nais mong malaman ipaalam sa akin sa mga komento at ia-update ko ang maituturo!
I-update ang 2016-12-18
Nagdagdag ako ngayon ng isang 16x2 LCD gamit ang I2C "backpack" upang subaybayan ang unang apat na mga channel, ay magdaragdag ng isa pa upang subaybayan ang huling apat kapag dumating ito sa pamamagitan ng post.
Mga Kredito
Ang proyektong ito ay ginawang posible ng lahat ng mga may-akda ng Mga Aklatan na ginamit sa aking sketch ng Arduino kabilang ang DS3231 library, Adafruit ADS1015 library at ang Arduino SD library
Inirerekumendang:
DIY GPS Data Logger para sa Iyo Susunod na Drive / Hiking Trail: 11 Mga Hakbang (na may Mga Larawan)
DIY GPS Data Logger para sa Iyo Susunod na Drive / Hiking Trail: Ito ay isang GPS Data Logger na maaari mong gamitin para sa maraming layunin, sabihin kung nais mong i-log ang iyong mahabang drive na kinuha mo sa katapusan ng linggo upang suriin ang mga kulay ng taglagas. o mayroon kang isang paboritong landas na iyong binibisita tuwing taglagas bawat taon at
Ang Ultimate High Altitude Weather Balloon Data Logger: 9 Mga Hakbang (na may Mga Larawan)
Ang Ultimate High Altitude Weather Balloon Data Logger: Mag-record ng data ng lobo ng mataas na altitude na panahon na may panghuli na mataas na altitude na lobo ng data ng lobo. Ang isang mataas na taas na lobo ng panahon, na kilala rin bilang isang mataas na taas na lobo o HAB, ay isang malaking lobo na puno ng helium. Ang mga lobo na ito ay isang platform
Logger ng Data ng Kasaysayan ng Nest Thermostat: 6 Mga Hakbang (na may Mga Larawan)
Logger ng Data ng Kasaysayan ng Nest Thermostat: Sinusubaybayan ng Nest termostat ang temperatura, halumigmig at pag-gamit ng pugon / AC at ang mga gumagamit ay makakakita lamang ng makasaysayang data sa loob ng 10 araw. Nais kong mangolekta ng makasaysayang data (> 10 araw) at nakita ko ang script ng mga spreadsheet ng google na pings pugad sa bawat itinakdang oras
Paano Gumawa ng isang Data Logger para sa Temperatura, PH, at Dissolved Oxygen: 11 Mga Hakbang (na may Mga Larawan)
Paano Gumawa ng isang Data Logger para sa Temperatura, PH, at Dissolved Oxygen: Mga Layunin: Gumawa ng isang data logger sa halagang 500 $ 500. Nag-iimbak ito ng data para sa temperatura, pH, at DO na may time stamp at paggamit ng komunikasyon ng I2C. Bakit I2C (Inter-Integrated Circuit)? Ang isa ay maaaring mag-stack ng maraming mga sensor sa parehong linya na ibinigay na ang bawat isa sa kanila ay
Power LED's - Pinakasimpleng Liwanag Na May Patuloy na kasalukuyang Circuit: 9 Mga Hakbang (na may Mga Larawan)
Power LED's - Pinakasimpleng Liwanag Na May Patuloy na kasalukuyang Circuit: Narito ang isang talagang simple at murang ($ 1) LED driver circuit. Ang circuit ay isang " pare-pareho ang kasalukuyang mapagkukunan ", na nangangahulugang pinapanatili nito ang pare-pareho ng liwanag ng LED kahit na anong supply ng kuryente ang ginagamit mo o nakapaligid na mga kundisyon sa kapaligiran