Hvordan laver man et digitalt DC-voltmeter ved hjælp af Arduino?
Et voltmeter er et spændingsmåleapparat, der bruges til at måle spændingen på bestemte punkter i et elektrisk kredsløb. Spænding er den potentielle forskel, der oprettes mellem to punkter i et elektrisk kredsløb. Der er to typer voltmetre. Nogle voltmetre er designet til at måle spændingen på jævnstrømskredsløb, og andre voltmetre er beregnet til at måle spændingen i vekselstrømskredse. Disse voltmetre er yderligere karakteriseret i to kategorier. Den ene er digital voltmeter, der viser målingerne på en digital skærm, og den anden er et analogt voltmeter, der bruger en nål til at pege på skalaen for at vise os den nøjagtige aflæsning.
I dette projekt skal vi lave et voltmeter ved hjælp af Arduino Uno. Vi forklarer to konfigurationer af et digitalt voltmeter i denne artikel. I den første konfiguration er mikrokontrolleren i stand til at måle spænding i området 0 - 5V. I den anden konfiguration vil mikrokontrolleren være i stand til at måle spændingen i området 0 - 50V.
Hvordan man laver et digitalt voltmeter?
Som vi ved, at der er to typer voltmetre, analog voltmeter og digital voltmeter. Der er nogle yderligere typer af analoge voltmetre, der er baseret på enhedens konstruktion. Nogle af disse typer inkluderer Permanent magnet bevægelig spole voltmeter, ensretter type voltmeter, bevægelig jern type voltmeter osv. Hovedformålet med at introducere det digitale voltmeter på markedet skyldtes større sandsynlighed for fejl i analoge voltmetre. I modsætning til analogt voltmeter, der bruger en nål og en skala, viser det digitale voltmeter aflæsningerne direkte i cifre på skærmen. Dette fjerner muligheden for Nul fejl. Procentdelen af fejl reduceres fra 5% til 1%, når vi er skiftet fra analog voltmeter til digital voltmeter.
Nu som vi kender abstrakt af dette projekt, lad os samle lidt mere information og begynde at lave et digitalt voltmeter ved hjælp af Arduino Uno.
Trin 1: Samling af komponenterne
Den bedste metode til at starte ethvert projekt er at lave en liste over komponenter og gennemgå en kort undersøgelse af disse komponenter, fordi ingen vil holde sig midt i et projekt bare på grund af en manglende komponent. En liste over komponenter, som vi skal bruge i dette projekt, er angivet nedenfor:
Trin 2: Studere komponenterne
Arduino UNO er et mikrocontrollerkort, der består af et mikrochip ATMega 328P og er udviklet af Arduino.cc. Dette kort har et sæt digitale og analoge datapinde, der kan interfaces med andre udvidelseskort eller kredsløb. Dette kort har 14 digitale stifter, 6 analoge stifter og programmerbare med Arduino IDE (integreret udviklingsmiljø) via et type B USB-kabel. Det kræver 5V til strøm PÅ og en C-kodeat operere.
LCD-skærme ses i alle elektroniske enheder, der skal vise en tekst eller et ciffer eller et hvilket som helst billede til brugerne. Et LCD er et displaymodul, hvor flydende krystal bruges til at producere et synligt billede eller en tekst. EN 16 × 2 LCD-skærmer et meget simpelt elektronisk modul, der viser 16 tegn pr. linje og i alt to linjer på skærmen ad gangen. En 5 × 7 pixelmatrix bruges til at vise et tegn i disse LCD-skærme.
EN Brødbræter en loddefri enhed. Det bruges til at fremstille og teste midlertidige prototype elektroniske kredsløb og designs. De fleste af de elektroniske komponenter er simpelthen forbundet til et brødbræt bare ved at indsætte deres ben i brødbrættet. En strimmel af metal lægges ned på brødbrætets huller, og hullerne forbindes på en bestemt måde. Forbindelserne af hullerne er vist i nedenstående diagram:
Trin 3: Kredsløbsdiagram
Det første kredsløb, hvis måleområde er fra 0 til 5V, vises nedenfor:
Det andet kredsløb, hvis måleområde er fra 0 til 50V, er vist nedenfor:
Trin 4: Arbejdsprincip
Arbejdet med dette projekt med Arduino-baseret digitalt DC-voltmeter forklares her. I det digitale voltmeter konverteres den spænding, der måles i den analoge form, til sin tilsvarende digitale værdi ved hjælp af en analog til digital konverter.
I det første kredsløb, hvis måleområde er fra 0 til 5V, vil indgangen blive taget på Analog pin0. Den analoge pin vil læse enhver værdi fra 0 til 1024. Derefter konverteres denne analoge værdi til digital ved at multiplicere den med total spænding, som er 5V og dividere den med total opløsning, som er 1024.
I det andet kredsløb, da området skal øges fra 5V til 50V, skal der konfigureres en spændingsdeler. Spændingsdelerkredsløbet er lavet ved hjælp af en 10k-ohm og en 100k-ohm-modstand. Denne spændingsdelerkonfiguration hjælper os med at bringe indgangsspændingen til området for Arduino Unos analoge indgang.
Alle de matematiske beregninger udføres i programmeringen af Arduino Uno.
Trin 5: Samling af komponenterne
Forbindelsen af LCD-modulet til Arduino Uno-kortet er den samme i begge kredsløb. Den eneste forskel er, at inputområdet i det første kredsløb er lavt, så det sendes direkte til den analoge pin på Arduino. I det andet kredsløb anvendes en spændingsdelerkonfiguration på indgangssiden af Microcontroller-kortet.
- Tilslut Vss og Vdd-stiften på LCD-modulet til henholdsvis jorden og 5V på Arduino-kortet. Vee-pin er den pin, der bruges til at justere skærmens begrænsninger. Den er forbundet til potentiometeret, hvis ene ben er forbundet til 5V, og den anden er forbundet til jord.
- Tilslut RS- og E-stiften på LCD-modulet til henholdsvis pin2 og pin3 på Arduino-kortet. LCD-skærmens RW-ben er forbundet til jorden.
- Da vi bruger LCD-modulet i 4-bit datatilstand, bruges dets fire ben D4 til D7. D4-D7-stifter på LCD-modulet er tilsluttet pin4-pin7 på mikrokontrolkortet.
- I det første kredsløb er der ingen yderligere kredsløb på indgangssiden, fordi den maksimale spænding, der skal måles, er 5V. I det andet kredsløb, da måleområdet er fra 0-50V, laves en spændingsdelerkonfiguration ved hjælp af en 10k-ohm og en 100k-ohm-modstand. Det skal bemærkes, at alle grunde er fælles.
Trin 6: Kom godt i gang med Arduino
Hvis du ikke er bekendt med Arduino IDE før, skal du ikke bekymre dig, for nedenfor kan du se klare trin til at brænde kode på mikrocontrolerkortet ved hjælp af Arduino IDE. Du kan downloade den nyeste version af Arduino IDE herfra og følge nedenstående trin:
- Når Arduino-kortet er tilsluttet din pc, skal du åbne "Kontrolpanel" og klikke på "Hardware og lyd". Klik derefter på "Enheder og printere". Find navnet på den port, som dit Arduino-kort er tilsluttet. I mit tilfælde er det "COM14", men det kan være anderledes på din pc.
- Vi bliver nødt til at medtage et bibliotek for at bruge LCD-modulet. Biblioteket er vedhæftet nedenfor i downloadlinket sammen med koden. Gå til Skitse> Inkluder bibliotek> Tilføj .ZIP-bibliotek.
- Åbn nu Arduino IDE. Fra værktøjer skal du indstille Arduino-kortet til Arduino / Genuino UNO.
- Fra den samme værktøjsmenu skal du indstille det portnummer, du så i kontrolpanelet.
- Download nedenstående kode og kopier den til din IDE. For at uploade koden skal du klikke på upload-knappen.
Du kan downloade koden ved at klikke her.
Trin 7: Kode
Koden er ganske enkel og godt kommenteret. Men stadig, nogle forklares det nedenfor.
1. I starten bruges biblioteket, så vi kan interface LCD-modulet med Arduino Uno-kortet og programmere det i overensstemmelse hermed. End stifter på Arduino-kortet initialiseres, der vil blive brugt til at oprette forbindelse til LCD-modulet. Derefter initialiseres forskellige variabler for at gemme værdier på kørselstiden, som vil blive brugt senere i beregningerne.
# inkluderer "LiquidCrystal.h" // inkluderer bibliotek til interface LCD-modul med Arduino-kort LiquidCrystal lcd (2, 3, 4, 5, 6, 7); // stifter på LCD-modul, der skal bruges flydespænding = 0,0; float temp = 0,0; // variabel til lagring af digital vaue af input int analog_value; // variabel til at gemme den analoge værdi ved indgangen
2. ugyldig opsætning ()er en funktion, der kun kører en gang, når enheden starter, eller der trykkes på aktiveringsknappen. Her har vi initialiseret LCD'et til at starte. Når LCD-skærmen starter, vises teksten “Arduino Based Digital Voltmeter”. Baudrate er også indstillet i denne funktion. Baudrate er hastigheden i bits pr. Sekund, hvormed Arduino kommunikerer med de eksterne enheder.
ugyldig opsætning () {lcd.begin (16, 2); // start kommunikation med LCD lcd.setCursor (0,0); // start markøren fra starten lcd.print ("Arduino-baseret"); // Udskriv tekst i første linje lcd.setCursor (0,1); // Flyt cursoor til næste linje lcd.print ("Digital Voltmeter"); // udskrive tekst i anden linjes forsinkelse (2000); // vent i to sekunder}
3. ugyldig sløjfe ()er en funktion, der kører kontinuerligt i en løkke. Her læses den analoge værdi på indgangssiden. Derefter konverteres denne analoge værdi til digital form. Der anvendes en betingelse, og de endelige målinger vises på LCD-skærmen
ugyldig sløjfe () {analog_value = analogRead (A0); // Aflæsning af den analoge værdi temp = (analog_værdi * 5.0) / 1024.0; // omvendt den analoge værdi i digital spænding = temp / (0,0909); hvis (spænding <0,1) {spænding = 0,0; } lcd.clear (); // Ryd enhver tekst på LCD lcd.setCursor (0, 0); // Flyt markøren til startpositionen lcd.print ("Voltage ="); // Udskriv Voltgae = lcd.print (spænding); // Udskriv den endelige digitale værdi af spænding lcd.setCursor (13,1); // flyt markøren lcd.print ("V"); // udskriv enheden med spændingsforsinkelse (30); // vent i 0,3 sekunder}
Ansøgninger
Nogle af dets anvendelser af et digitalt voltmeter inkluderer:
- Ovenstående kredsløb kan bruges til at måle forskellige spændingsområder med høj præcision i ethvert elektrisk kredsløb.
- Hvis vi foretager små ændringer i kredsløbet, kan mikrokontrolleren også måle spændingen i vekselstrømskredse.