Talaan ng mga Nilalaman:

ACS724 Kasalukuyang Pagsukat ng Sensor Sa Arduino: 4 na Hakbang
ACS724 Kasalukuyang Pagsukat ng Sensor Sa Arduino: 4 na Hakbang

Video: ACS724 Kasalukuyang Pagsukat ng Sensor Sa Arduino: 4 na Hakbang

Video: ACS724 Kasalukuyang Pagsukat ng Sensor Sa Arduino: 4 na Hakbang
Video: Measuring 50A to 200A using Allegro ACS770 Current Sensor with Robojax Arduino Library 2024, Hulyo
Anonim
Image
Image
Larawan
Larawan

Sa pagtuturo na ito mag-eeksperimento kami sa pagkonekta ng isang kasalukuyang sensor ng ACS724 sa isang Arduino upang magsagawa ng mga kasalukuyang sukat. Sa kasong ito ang kasalukuyang sensor ay isang +/- 5A na iba't-ibang output 400 mv / A.

Ang Arduino Uno ay mayroong 10 bit ADC, kaya't ang magagandang katanungan ay: Gaano katumpak ang kasalukuyang makakabasa na maaari nating makuha at kung gaano ito katatag?

Magsisimula kami sa pamamagitan lamang ng pagkonekta ng sensor sa isang voltmeter at isang kasalukuyang metro at gumawa ng mga pagbasa ng analog upang makita kung gaano kahusay ang sensor at pagkatapos ay ikonekta namin ito sa isang Arduino ADC pin at makita kung gaano ito gumagana.

Mga gamit

1 - Breadboard2 - Mga power supply ng Benchtop2 - DVM's1 - ACS724 sensor +/- 5A1 - Arduino Uno1 - LM78053 - 10 ohm, 10W resistors1 - 1nF cap1 - 10nF cap1 - 0.1uF capJumpers

Hakbang 1:

Ang test circuit ay tulad ng ipinakita sa diagram. Ang koneksyon mula sa Arduino 5V pin sa LM7805 + 5V rail ay opsyonal. Maaari kang makakuha ng mas mahusay na mga resulta sa jumper na ito sa lugar ngunit mag-ingat tungkol sa iyong mga kable kung gagamitin mo ito dahil ang Arduino ay konektado sa iyong computer at ang pangalawang supply ng kuryente ay lalampas sa 5V kapag binuksan mo ito upang madagdagan ang kasalukuyang sa pamamagitan ng sensor.

Kung ikinonekta mo ang mga power supply nang magkasama pagkatapos ang supply ng kuryente ng sensor at ang supply ng kuryente ng Arduino ay magkakaroon ng eksaktong kaparehong + 5V reference point at aasahan mong mas pare-pareho ang mga resulta.

Ginawa ko ito nang walang koneksyon na ito at nakita ko ang isang mas mataas na kasalukuyang kasalukuyang pagbabasa sa kasalukuyang sensor (2.530 V sa halip na ang inaasahang 2.500 V) at mas mababa kaysa sa inaasahang pagbabasa ng ADC sa zero kasalukuyang punto. Nakakakuha ako ng digital na pagbabasa ng ADC na halos 507 hanggang 508 na walang kasalukuyang dumadaan sa sensor, para sa 2.500V dapat mong makita ang isang pagbabasa ng ADC na humigit-kumulang 512. Naitama ko ito sa software.

Hakbang 2: Mga Sukat sa Pagsubok

Mga Sukat sa Pagsubok
Mga Sukat sa Pagsubok

Ang mga pagsukat ng analog na may isang voltmeter at ammeter ay ipinahiwatig na ang sensor ay napaka-tumpak. Sa mga pagsubok na alon na 0.5A, 1.0A at 1.5A eksaktong tumpak ito sa millivolt.

Ang mga pagsukat ng ADC sa Arduino ay hindi gaanong tumpak. Ang mga sukat na ito ay limitado ng resolusyon ng 10 bit ng Arduino ADC at mga isyu sa ingay (tingnan ang video). Dahil sa ingay ang pagbabasa ng ADC ay tumatalon sa paligid ng pinakamasamang kaso hanggang sa 10 o higit pang mga hakbang na walang kasalukuyang dumaan sa sensor. Isinasaalang-alang na ang bawat hakbang ay kumakatawan sa tungkol sa 5 mv, ito ay tungkol sa isang 50 mv pagbabagu-bago at may isang 400mv / amp sensor ay kumakatawan sa isang 50mv / 400mv / amp = 125ma pagbabagu-bago! Ang tanging paraan lamang upang makakuha ako ng isang makabuluhang pagbabasa ay ang pagkuha ng 10 pagbasa nang sunud-sunod at pagkatapos ay i-average ito.

Sa isang 10 bit ADC o 1024 posibleng mga antas at 5V Vcc maaari naming malutas ang tungkol sa 5/1023 ~ 5mv bawat hakbang. Ang sensor out ay naglalagay ng 400mv / Amp. Kaya't pinakamahusay na mayroon kaming isang resolusyon ng 5mv / 400mv / amp ~ 12.5ma.

Kaya't ang kombinasyon ng mga pagbabagu-bago dahil sa ingay at mababang resolusyon ay nangangahulugan na hindi namin magagamit ang pamamaraang ito upang tumpak at tuloy-tuloy na masukat ang kasalukuyang, lalo na ang maliliit na alon. Maaari naming gamitin ang pamamaraang ito upang bigyan kami ng isang ideya ng kasalukuyang antas sa mas mataas na mga alon ngunit hindi ito tumpak.

Hakbang 3: Mga Konklusyon

Konklusyon
Konklusyon

Konklusyon:

-ACS724 analog readings ay napaka-tumpak.

-ACS724 ay dapat na gumana nang napakahusay sa mga analog na circuit. hal. pagkontrol sa kasalukuyang supply ng kuryente na may isang loop ng analog feedback.

-May mga isyu sa ingay at resolusyon gamit ang ACS724 na may Arduino 10 bit ADC.

-Magandang sapat para sa pagsubaybay lamang sa average na kasalukuyang para sa mas mataas na kasalukuyang mga circuit ngunit hindi sapat na mahusay para sa patuloy na kasalukuyang kontrol.

-Kailangan na gumamit ng isang panlabas na 12 bit o higit pang ADC chip para sa mas mahusay na mga resulta.

Hakbang 4: Arduino Code

Narito ang code na ginamit ko upang masukat lamang ang halaga ng Arduino A0 pin ADC at ang code upang i-convert ang boltahe ng sensor sa kasalukuyang at kunin ang average ng 10 na pagbasa. Ang code ay medyo nagpapaliwanag at nagkomento para sa conversion at average na code.

Inirerekumendang: