- Nepieciešamās sastāvdaļas:
- Arduino voltmetra shēmas diagramma:
- Arduino bāzes maiņstrāvas sprieguma mērītāja darbība:
- Modelēšana:
- Koda skaidrojums:
Šajā projektā mēs izgatavosim maiņstrāvas sprieguma mērīšanas ierīci, izmantojot Arduino, kas izmērīs maiņstrāvas padeves spriegumu mūsu mājās. Šo spriegumu mēs izdrukāsim uz Arduino IDE sērijveida monitora, kā arī parādīsim uz multimetra.
Digitālā voltmetra izgatavošana ir daudz vienkāršāka nekā analogā izgatavošana, jo analogā voltmetra gadījumā jums ir labi jāpārzina fiziskie parametri, piemēram, griezes moments, berzes zudumi utt., Savukārt digitālā voltmetra gadījumā varat vienkārši izmantot LCD vai LED matricu vai pat klēpjdatoru (kā šajā gadījumā), lai izdrukātu sprieguma vērtības jums. Šeit ir daži digitālā voltmetra projekti:
- Vienkārša digitālā voltmetra shēma ar PCB, izmantojot ICL7107
- LM3914 Voltmetra shēma
- 0-25V digitālais voltmetrs, izmantojot AVR mikrokontrolleru
Nepieciešamās sastāvdaļas:
- Viens 12-0-12 transformators
- 1N4007 diode
- 1uf kondensators
- Rezistori 10k; 4.7k.
- Zenera diode (5v)
- Arduino UNO
- Savienojošie vadi
Arduino voltmetra shēmas diagramma:
Šī Arduino voltmetra shēmas diagramma ir parādīta iepriekš.
Savienojumi:
- Pievienojiet transformatora augstsprieguma pusi (220V) elektrotīklam un zemspriegumu (12v) sprieguma dalītāja ķēdei.
- Savienojiet 10k rezistoru virknē ar 4.7k rezistoru, bet pārliecinieties, vai 4.7k rezistorā tiek izmantots spriegums.
- Pievienojiet diode, kā parādīts attēlā.
- Pievienojiet kondensatoru un zenera diode pāri 4,7 k
- Pievienojiet vadu no diodes n-spailes ar Arduino analogo tapu A0.
** Piezīme: Pievienojiet Arduino zemes tapu punktam, kā parādīts attēlā, vai ķēde nedarbosies.
Nepieciešama sprieguma dalītāja ķēde?
Tā kā mēs izmantojam 220/12 V transformatoru, mēs saņemam 12 v lv pusē. Tā kā šis spriegums nav piemērots kā ieeja Arduino, mums ir nepieciešama sprieguma dalītāja ķēde, kas var dot piemērotu sprieguma vērtību kā ievadi Arduino
Kāpēc ir pievienots diode un kondensators?
Tā kā Arduino neuzskata par negatīvu sprieguma vērtības kā ieeju, mums vispirms ir jānoņem negatīvs maiņstrāvas samazināšanas cikls, lai Arduino ņemtu tikai pozitīvu sprieguma vērtību. Tādējādi diode ir pievienota, lai izlīdzinātu pazemināšanas spriegumu. Pārbaudiet mūsu pusviļņu taisngrieža un pilna viļņa taisngrieža ķēdi, lai uzzinātu vairāk par labošanu.
Šis iztaisnotais spriegums nav vienmērīgs, jo tajā ir lieli viļņi, kas nevar mums sniegt precīzu analogo vērtību. Tādējādi kondensators ir pievienots, lai izlīdzinātu maiņstrāvas signālu.
Zenera diode mērķis?
Arduino var sabojāt, ja tam tiek padots spriegums, kas lielāks par 5v. Tādējādi 5v zenera diode ir pievienota, lai nodrošinātu Arduino drošību, kas sadalās, ja šis spriegums pārsniedz 5v.
Arduino bāzes maiņstrāvas sprieguma mērītāja darbība:
1. Transformatora lv pusē tiek iegūts pazemināts spriegums, kas ir piemērots lietošanai normālos jaudas rezistoros.
2. Tad mēs iegūstam piemērotu sprieguma vērtību 4,7 k rezistorā
Maksimālais izmērāmais spriegums tiek atrasts, simulējot šo ķēdi uz proteusa (paskaidrots simulācijas sadaļā).
3. Arduino ņem šo spriegumu kā ievadu no tapas A0 analogo vērtību veidā no 0 līdz 1023. 0 ir 0 volti un 1023 ir 5 volti.
4. Pēc tam Arduino pārveido šo analogo vērtību par atbilstošu tīkla maiņstrāvas spriegumu pēc formulas. (Paskaidrots koda sadaļā).
Modelēšana:
Precīza shēma tiek izveidota proteus un pēc tam simulēta. Lai atrastu maksimālo spriegumu, ko šī ķēde var izmērīt, un tiek izmantota izmēģinājuma metode.
Veicot ģeneratora maksimālo spriegumu 440 (311 rms), tika konstatēts, ka spraudnis uz tapas A0 ir 5 volti, ti, maksimālais. Tādējādi šī ķēde var izmērīt maksimālo 311 efektīvo spriegumu.
Simulācija tiek veikta dažādiem spriegumiem no 220 rms līdz 440v.
Koda skaidrojums:
Pilnīgs ArduinoVoltmeter kods ir norādīts šī projekta beigās, un tas ir labi izskaidrots, izmantojot komentārus. Šeit mēs izskaidrojam tikai daļu no tā.
m ir ieejas analogā vērtība, kas saņemta uz tapas A0, ti, m = pinMode (A0, INPUT); // iestatiet tapu a0 kā ievades tapu
Lai šai formulai piešķirtu mainīgo n n ((m * . 304177), vispirms tiek veikti daži aprēķini, izmantojot simulācijas sadaļā iegūtos datus:
Kā redzams simulācijas fotogrāfijā, 5v vai 1023 analogo vērtību iegūst pie tapas A0, ja ieejas maiņstrāvas spriegums ir 311volts. Tādējādi:
Tātad jebkura nejauša analogā vērtība atbilst (311/1023) * m, kur m tiek iegūta analogā vērtība.
Tādējādi mēs nonākam pie šīs formulas:
n = (311/1023) * m volti vai n = (m *.304177)
Tagad šī sprieguma vērtība tiek izdrukāta uz sērijveida monitora, izmantojot sērijas komandas, kā paskaidrots turpmāk. Un arī parādīts multimetrā, kā parādīts zemāk esošajā videoklipā.
Ekrānā iespiestās vērtības ir:
Analogā ievades vērtība, kā norādīts kodā:
Serial.print ("analogā ieeja"); // tas piešķir nosaukumu, kas ir “analogā ievade” drukātajai analogajai vērtībai Serial.print (m); // tas vienkārši izdrukā ievades analogo vērtību
Nepieciešamais maiņstrāvas spriegums, kā norādīts kodā:
Serial.print ("maiņstrāvas spriegums"); // tas dod nosaukumu “maiņstrāvas spriegums” drukātajai analogajai vērtībai Serial.print (n); // tas vienkārši izdrukā maiņstrāvas sprieguma vērtību