- Mga Kinakailangan na Bahagi:
- Arduino Voltmeter Circuit Diagram:
- Paggawa ng Arduino batay sa AC Voltmeter:
- Simulation:
- Paliwanag sa Code:
Sa proyektong ito, gagawa kami ng isang AC Voltage Measuring Device gamit ang Arduino, na susukat sa boltahe ng Alternating Kasalukuyang Supply sa aming bahay. I-print namin ang boltahe na iyon sa serial monitor ng Arduino IDE pati na rin ang palabas sa multimeter.
Ang paggawa ng isang Digital Voltmeter ay mas madali kaysa sa paggawa ng isang analog sapagkat sa kaso ng analog voltmeter dapat kang magkaroon ng mahusay na kaalaman sa mga pisikal na parameter tulad ng metalikang kuwintas, pagkawala ng alitan atbp samantalang sa kaso ng digital voltmeter maaari mo lamang gamitin ang isang LCD o LED matrix o kahit na ang iyong laptop (tulad ng sa kasong ito) upang mai-print ang mga halaga ng boltahe para sa iyo. Narito ang ilang Mga Proyekto ng Digital Voltmeter:
- Simpleng Digital Voltmeter Circuit na may PCB gamit ang ICL7107
- LM3914 Voltmeter Circuit
- 0-25V Digital Voltmeter gamit ang AVR Microcontroller
Mga Kinakailangan na Bahagi:
- Isang 12-0-12 transpormer
- 1N4007 diode
- 1uf capacitor
- Mga lumalaban 10k; 4.7k.
- Zener diode (5v)
- Arduino UNO
- Mga kumokonekta na mga wire
Arduino Voltmeter Circuit Diagram:
Ang Circuit Diagram para sa Arduino Voltmeter na ito ay ipinakita sa itaas.
Mga koneksyon:
- Ikonekta ang mataas na boltahe na bahagi (220V) ng transpormer sa mains supply at mababang boltahe (12v) sa boltahe divider circuit.
- Ikonekta ang 10k risistor sa serye na may 4.7k risistor ngunit tiyaking kumuha ng boltahe bilang input sa 4.7k risistor.
- Ikonekta ang diode tulad ng ipinakita.
- Ikonekta ang capacitor at zener diode sa 4.7k
- Ikonekta ang isang kawad mula sa n-terminal ng diode sa analog pin A0 ng Arduino.
** Tandaan: Huwag ikonekta ang ground pin ng Arduino sa punto tulad ng ipinakita sa figure o circuit ay hindi gagana.
Kailangan ng circuit ng divider ng boltahe?
Habang gumagamit kami ng 220/12 v transpormer, nakakakuha kami ng 12 v sa panig ng lv. Dahil ang boltahe na ito ay hindi angkop bilang input para sa Arduino kailangan namin ng isang circuit ng divider ng boltahe na maaaring magbigay ng naaangkop na halaga ng boltahe bilang input sa Arduino
Bakit nakakonekta ang diode at capacitor?
Dahil ang Arduino ay hindi kumukuha ng mga negatibong halaga ng boltahe bilang input, kailangan muna nating alisin ang negatibong pag-ikot ng step down AC upang ang positibong halaga lamang ng boltahe ay kinuha ng Arduino. Samakatuwid ang diode ay konektado upang maitama ang step down boltahe. Suriin ang aming Half wave rectifier at Full wave Rectifier circuit upang malaman ang higit pa tungkol sa pagwawasto.
Ang naayos na boltahe na ito ay hindi makinis dahil naglalaman ito ng malalaking mga alon na hindi maaaring magbigay sa amin ng anumang eksaktong halaga ng analog. Samakatuwid ang capacitor ay konektado upang pakinisin ang ac signal.
Layunin ng zener diode?
Ang Arduino ay maaaring makakuha ng pinsala kung ang boltahe na higit sa 5v ay pinakain dito. Samakatuwid ang isang 5v zener diode ay konektado upang matiyak ang kaligtasan ng Arduino kung saan ang mga pagkasira kung sakaling ang boltahe na ito ay lumampas sa 5v.
Paggawa ng Arduino batay sa AC Voltmeter:
1. Ang step down voltage ay nakuha sa lv side ng transpormer na angkop na gamitin sa normal na resistors ng rating ng kuryente.
2. Pagkatapos makakakuha kami ng naaangkop na halaga ng boltahe sa 4.7k risistor
Ang pinakamataas na boltahe na maaaring sukatin ay matatagpuan sa pamamagitan ng pag-simulate ng circuit na ito sa proteus (ipinaliwanag sa seksyon ng simulation).
3. Kinukuha ng Arduino ang boltahe na ito bilang input mula sa pin A0 sa anyo ng mga halagang analog sa pagitan ng 0 hanggang 1023. 0 pagiging 0 volt at 1023 pagiging 5v.
4. Pagkatapos ay binago ng Arduino ang halagang analog na ito sa kaukulang mains ac voltage sa pamamagitan ng isang formula. (Ipinaliwanag sa seksyon ng code).
Simulation:
Ang eksaktong circuit ay ginawa sa proteus at pagkatapos ay kunwa. Upang makahanap ng maximum na boltahe na maaaring sukatin ng circuit na ito ang hit at ginagamit ang paraan ng pagsubok.
Sa paggawa ng pinakamataas na boltahe ng alternator na 440 (311 rms), ang boltahe sa pin A0 ay natagpuan na 5 volts ie maximum. Samakatuwid ang circuit na ito ay maaaring sukatin ang maximum 311 rms boltahe.
Ginagawa ang simulation para sa iba't ibang mga voltages sa pagitan ng 220 rms hanggang 440v.
Paliwanag sa Code:
Ang kumpletong ArduinoVoltmeter Code ay ibinibigay sa pagtatapos ng proyektong ito at mahusay na ipinaliwanag sa pamamagitan ng mga komento. Narito ipinapaliwanag namin ang ilang bahagi nito.
m ang input na halagang analog na natanggap sa pin A0 ibig sabihin, m = pinMode (A0, INPUT); // itakda ang pin a0 bilang input pin
Upang magtalaga ng variable n sa pormulang ito n = (m * . 304177), una ang ilang uri ng mga kalkulasyon ay ginagawa sa pamamagitan ng paggamit ng data na nakuha sa seksyon ng simulation:
Tulad ng nakikita sa simulation litrato, ang 5v o 1023 analog na halaga ay nakuha sa pin A0 kapag ang input ac voltage ay 311volts. Samakatuwid:
Kaya't ang anumang random na halagang analog na tumutugma sa (311/1023) * m kung saan nakuha ang m na halagang analog.
Samakatuwid nakarating kami sa formula na ito:
n = (311/1023) * m volts o n = (m *.304177)
Ngayon ang halagang boltahe na ito ay naka-print sa serial monitor sa pamamagitan ng paggamit ng mga serial command tulad ng ipinaliwanag sa ibaba. At ipinakita rin sa multimeter tulad ng ipinakita sa Video sa ibaba.
Ang mga halagang nalimbag sa screen ay:
Halaga ng input ng analog na tinukoy sa code:
Serial.print ("analog input"); // nagbibigay ito ng pangalan na kung saan ay "analog input" sa naka-print na halagang analog na Serial.print (m); // simpleng inililimbag nito ang input na halagang analog
Kinakailangan boltahe ng ac tulad ng tinukoy sa code:
Serial.print ("boltahe ng ac"); // nagbibigay ito ng pangalang "ac boltahe" sa naka-print na halagang analog na Serial.print (n); // ito ay simpleng naglilimbag ng halaga ng boltahe ng ac