- Vereiste componenten:
- Arduino voltmeter schakelschema:
- Werking van op Arduino gebaseerde AC Voltmeter:
- Simulatie:
- Code Verklaring:
In dit project gaan we een AC-spanningsmeetapparaat maken met Arduino, dat de spanning van wisselstroomtoevoer bij ons thuis meet. We gaan die spanning afdrukken op een seriële monitor van Arduino IDE en ook weergeven op de multimeter.
Het maken van een digitale voltmeter is een stuk eenvoudiger dan het maken van een analoge, want in het geval van een analoge voltmeter moet u een goede kennis hebben van fysieke parameters zoals koppel, wrijvingsverliezen enz., Terwijl u in het geval van een digitale voltmeter gewoon een LCD- of LED-matrix of zelfs uw laptop (zoals in dit geval) om de spanningswaarden voor u af te drukken. Hier zijn enkele digitale voltmeterprojecten:
- Eenvoudig digitaal voltmetercircuit met printplaat met ICL7107
- LM3914 Voltmeter Circuit
- 0-25V digitale voltmeter met AVR-microcontroller
Vereiste componenten:
- Een 12-0-12 transformator
- 1N4007 diode
- 1uf condensator
- Weerstanden 10k; 4.7k.
- Zener-diode (5v)
- Arduino UNO
- Draden aansluiten
Arduino voltmeter schakelschema:
Het schakelschema voor deze Arduino-voltmeter wordt hierboven weergegeven.
Verbindingen:
- Sluit de hoogspanningszijde (220V) van de transformator aan op de netvoeding en de laagspanning (12v) op het spanningsdelercircuit.
- Verbind de 10k-weerstand in serie met de 4,7k-weerstand, maar zorg ervoor dat de spanning als invoer over de 4,7k-weerstand wordt gebruikt.
- Sluit de diode aan zoals afgebeeld.
- Verbind de condensator en zenerdiode over 4.7k
- Verbind een draad van de n-terminal van de diode met de analoge pin A0 van Arduino.
** Opmerking: sluit de aardingspin van de Arduino aan op het punt zoals weergegeven in de afbeelding, anders werkt het circuit niet.
Spanningsdelercircuit nodig?
Omdat we een 220/12 v-transformator gebruiken, krijgen we 12 v aan de linkerzijde. Aangezien deze spanning niet geschikt is als input voor Arduino, hebben we een spanningsdelercircuit nodig dat een geschikte spanningswaarde kan geven als input voor Arduino
Waarom zijn diode en condensator aangesloten?
Omdat Arduino geen negatieve spanningswaarden als invoer neemt, moeten we eerst de negatieve cyclus van step-down AC verwijderen, zodat alleen de positieve spanningswaarde door Arduino wordt genomen. Vandaar dat de diode is aangesloten om de verlagingsspanning gelijk te richten. Bekijk onze halfgolf-gelijkrichter en dubbelfasige gelijkrichter-schakeling voor meer informatie over rectificatie.
Deze gelijkgerichte spanning is niet gelijkmatig omdat deze grote rimpelingen bevat die ons geen exacte analoge waarde kunnen geven. Vandaar dat de condensator is aangesloten om het ac-signaal af te vlakken.
Doel van zenerdiode?
Arduino kan schade oplopen als er een spanning van meer dan 5 V aan wordt toegevoerd. Daarom is een 5v zenerdiode aangesloten om de veiligheid van Arduino te garanderen, die defect raakt als deze spanning de 5v overschrijdt.
Werking van op Arduino gebaseerde AC Voltmeter:
1. Verlagingsspanning wordt verkregen aan de linkerzijde van de transformator die geschikt is voor gebruik over normale weerstanden.
2. Dan krijgen we een geschikte spanningswaarde over de 4.7k-weerstand
De maximale spanning die kan worden gemeten, wordt gevonden door deze schakeling op proteus te simuleren (uitgelegd in simulatiegedeelte).
3. Arduino neemt deze spanning als input van pin A0 in de vorm van analoge waarden tussen 0 en 1023. 0 is 0 volt en 1023 is 5v.
4. Arduino zet deze analoge waarde vervolgens om in de corresponderende AC-netspanning door middel van een formule. (Uitgelegd in code sectie).
Simulatie:
Exacte schakeling is gemaakt in proteus en vervolgens gesimuleerd. Om de maximale spanning te vinden die dit circuit kan meten, wordt de hit- en proefmethode gebruikt.
Bij het maken van de piekspanning van de dynamo 440 (311 rms), bleek de spanning op pin A0 5 volt te zijn, dwz maximaal. Daarom kan deze schakeling een maximale spanning van 311 rms meten.
Simulatie wordt uitgevoerd voor verschillende spanningen tussen 220 rms en 440 volt.
Code Verklaring:
De volledige ArduinoVoltmeter-code wordt aan het einde van dit project gegeven en wordt goed uitgelegd door de opmerkingen. Hier leggen we enkele delen ervan uit.
m is de analoge ingangswaarde ontvangen op pin A0, dwz
m = pinMode (A0, INPUT); // stel pin a0 in als invoerpin
Om variabele n aan deze formule n = (m * . 304177) toe te wijzen , worden eerst een soort berekeningen uitgevoerd met behulp van de gegevens die zijn verkregen in het simulatiegedeelte:
Zoals te zien is op de simulatiefoto, wordt 5v of 1023 analoge waarde verkregen op pin A0 wanneer de AC-ingangsspanning 311 volt is. Vandaar:
Dus elke willekeurige analoge waarde komt overeen met (311/1023) * m waarbij m een analoge waarde wordt verkregen.
Daarom komen we tot deze formule:
n = (311/1023) * m volt of n = (m *.304177)
Nu wordt deze spanningswaarde op de seriële monitor afgedrukt met behulp van seriële opdrachten, zoals hieronder wordt uitgelegd. En ook getoond op de multimeter zoals gedemonstreerd in de video hieronder.
Waarden die op het scherm worden afgedrukt, zijn:
Analoge ingangswaarde zoals gespecificeerd in de code:
Serial.print ("analoge ingang"); // dit geeft de naam "analoge ingang" aan de afgedrukte analoge waarde Serial.print (m); // dit drukt eenvoudig de analoge ingangswaarde af
Vereiste wisselspanning zoals gespecificeerd in de code:
Serial.print ("wisselspanning"); // dit geeft de naam "wisselspanning" aan de afgedrukte analoge waarde Serial.print (n); // dit drukt eenvoudig de wisselspanningswaarde af