Ampermeter se uporablja za merjenje pretoka toka skozi katero koli obremenitev ali napravo. Tu v tem Arduino ampermetru bomo razložili merjenje toka z uporabo ohmovega zakona. Zanimivo bo, pa tudi dobra uporaba osnovne znanosti, ki smo jo preučevali v naših šolskih dneh.
Vsi dobro poznamo ohmov zakon. Navaja, da je " potencialna razlika med dvema poloma ali priključkoma prevodnika neposredno sorazmerna s količino toka, ki prehaja skozi isti vodnik ", za konstanto sorazmernosti uporabljamo upor, zato tukaj pride enačba ohmovega zakona.
V = IR
- V = napetost na vodniku v voltih (v).
- I = tok skozi vodnik v Amperu (A).
- R = sorazmerna konstanta upora v Ohm (Ω).
Da bi našli trenutni prehod skozi napravo, le preuredimo enačbo, kot je prikazano spodaj, ali pa izračunamo z ohmovim kalkulatorjem zakona.
I = V / R
Da bi ugotovili trenutno, potrebujemo nekaj podatkov:
- Napetost
- Odpornost
Skupaj z napravo bomo zgradili serijski upor. Ker moramo najti padec napetosti na napravi, za to potrebujemo odčitke napetosti pred in po padcu napetosti, kar je možno v uporu zaradi nepolarnosti.
Tako kot v zgornjem diagramu moramo najti dve napetosti, ki tečeta čez upor. Razlika med napetostmi (V1-V2) na obeh koncih uporov nam povzroči padec napetosti na uporu (R) in padec napetosti delimo na vrednost upora, skozi katero dobimo trenutni pretok (I). Tako lahko izračunamo trenutno vrednost, ki poteka skozi to, pojdimo v praktično izvajanje.
Zahtevane komponente:
- Arduino Uno.
- Upor 22Ω.
- LCD 16x2.
- LED.
- 10K lonec.
- Breadboard.
- Multimeter.
- Jumper kabli.
Shema vezja in povezave:
Shematski diagram Arduino ampermetra projekta je naslednji
Shematski diagram prikazuje povezavo Arduino Uno z LCD, uporom in LED. Arduino Uno je vir energije vseh ostalih komponent.
Arduino ima analogne in digitalne nožice. Senzorsko vezje je povezano z analognimi vhodi, iz katerih dobimo vrednost napetosti. LCD je povezan z digitalnimi nožicami (7,8,9,10,11,12).
LCD ima 16 nožic, prvi dve nožici (VSS, VDD) in zadnji dve nožici (Anode, Cathode) sta povezani na gnd in 5v. Nosilca za ponastavitev (RS) in omogočanje (E) sta priključena na Arduino digitalni nožici 7 in 8. Podatkovni nožici D4-D7 so povezani z digitalnimi nožicami Arduino (9,10,11,12). Zatič V0 je povezan s srednjim zatičem lonca. Rdeča in črna žica sta 5v in gnd.
Tok zaznavanja toka:
To vezje ampermetra sestavlja upor in LED kot obremenitev. Upor je zaporedno priključen na LED, da tok teče skozi obremenitev, napetost pa se določi iz upora. Terminali V1, V2 se bodo povezali z analognim vhodom Arduino.
V ADC Arduino, ki pokriva napetost v 10-bitne številke ločljivosti od 0-1023. Torej ga moramo s pomočjo programiranja zakriti v vrednost napetosti. Pred tem moramo vedeti minimalno napetost, ki jo lahko zazna ADC Arduino, ta vrednost je 4,88 mV. Vrednost iz ADC pomnožimo s 4,88 mV in v ADC dobimo dejansko napetost. Več o ADC Arduino preberite tukaj.
Izračuni:
Vrednost napetosti iz ADC Arduino se giblje med 0-1023 in referenčna napetost je med 0-5v.
Na primer:
Vrednost V1 = 710, V2 = 474 in R = 22Ω, razlika med napetostmi je 236. Pretvorimo jo v napetost tako, da pomnožimo z 0,00488, nato dobimo 1,15v. Torej je napetostna razlika 1,15v, če jo delimo z 22, dobimo trenutno vrednost 0,005A. Tu smo uporabili upor nizke vrednosti 22 ohmov kot tokovni senzor. Tako lahko merimo tok s pomočjo Arduina.
Koda Arduino:
Na koncu tega članka je podana celotna koda za merilnik toka, ki temelji na arduinu.
Programiranje Arduino je skoraj enako kot programiranje c, najprej razglasimo glave datoteke. Datoteke z glavo pokličejo datoteko v pomnilniku, tako kot za izračun dobim vrednosti napetosti z uporabo funkcije analognega branja .
int voltage_value0 = analogRead (A0); int voltage_value1 = analogRead (A1);
Začasna spremenljivka float je prijavljena za zadrževanje vrednosti napetosti, kot je float temp_val. Vrednost pomnožimo z 0,00488, da dobimo dejansko napetostno razliko, nato pa jo delimo z vrednostjo upora, da najdemo trenutni pretok. 0,00488v je minimalna napetost, ki jo lahko zazna ADC Arduino.
int subraction_value = (vrednost_napetosti0 - vrednost_napetosti1); float temp_val = (subraction_value * 0,00488); float current_value = (temp_val / 22);
Spodaj si oglejte celoten predstavitveni video in preverite tudi Arduino Digital Voltmeter.