Talaan ng mga Nilalaman:

AC Kasalukuyang Monitoring Data Logger: 9 Mga Hakbang (na may Mga Larawan)
AC Kasalukuyang Monitoring Data Logger: 9 Mga Hakbang (na may Mga Larawan)

Video: AC Kasalukuyang Monitoring Data Logger: 9 Mga Hakbang (na may Mga Larawan)

Video: AC Kasalukuyang Monitoring Data Logger: 9 Mga Hakbang (na may Mga Larawan)
Video: Камера-ЛАМПА со слежением и определением человека. 2024, Nobyembre
Anonim
AC Kasalukuyang Monitoring Data Logger
AC Kasalukuyang Monitoring Data Logger

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

Mga Kasalukuyang Transformer
Mga Kasalukuyang Transformer
Mga Kasalukuyang Transformer
Mga Kasalukuyang 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

Signal Conditioning
Signal Conditioning
Signal Conditioning
Signal Conditioning

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

Power Supply
Power Supply
Power Supply
Power Supply
Power Supply
Power Supply

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

Analogue sa Mga Digital Converter
Analogue sa Mga Digital Converter
Analogue sa Mga Digital Converter
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

Microcontroller
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

Assembly
Assembly
Assembly
Assembly
Assembly
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

Pagkakalibrate
Pagkakalibrate
Pagkakalibrate
Pagkakalibrate
Pagkakalibrate
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

Tapos na
Tapos na
Tapos na
Tapos na
Tapos na
Tapos na
Tapos na
Tapos na

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: