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.



Digital voltmeter

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 vil mikrokontrolleren være 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 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:

  • Arduino uno
  • 10k-ohm potentiometer
  • Jumper Wires
  • 100k-ohm modstand
  • 10k-ohm modstand
  • 12V AC til DC-adapter (hvis Arduino ikke får strøm fra computeren)

Trin 2: Studere komponenterne

Arduino UNO er et mikrokontrolkort, der består af et mikrochip ATMega 328P og er udviklet af Arduino.cc. Dette kort har et sæt digitale og analoge datatappe, der kan grænseflade med andre udvidelseskort eller kredsløb. Dette kort har 14 digitale ben, 6 analoge ben og programmerbare med Arduino IDE (integreret udviklingsmiljø) via et type B USB-kabel. Det kræver 5V til strøm og en C-kode at operere.

Arduino uno



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ærm er 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.

16 × 2 LCD-skærm

TIL Brødbræt er 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 stribe 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:

Brødbræt

Trin 3: Kredsløbsdiagram

Det første kredsløb, hvis måleområde er fra 0 til 5V, vises nedenfor:

Voltmeter til 0-5V

Det andet kredsløb, hvis måleområde er fra 0 til 50V, er vist nedenfor:

Voltmeter 0-50V

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 foretages en spændingsdelerkonfiguration. 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 bruges en spændingsdelerkonfiguration på indgangssiden af ​​Microcontroller-kortet.

  1. Forbind 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.
  2. Tilslut RS- og E-stiften på LCD-modulet til henholdsvis pin2 og pin3 på Arduino-kortet. LCD-skærmens RW-pin er forbundet til jorden.
  3. 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.
  4. 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 fortrolig med Arduino IDE før, skal du ikke bekymre dig, for nedenfor kan du se klare trin til at brænde kode på mikrocontrollerkortet ved hjælp af Arduino IDE. Du kan downloade den nyeste version af Arduino IDE fra her og følg nedenstående trin:

  1. 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.

    Find port

  2. 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.

    Inkluder bibliotek

  3. Åbn nu Arduino IDE. Fra Tools skal du indstille Arduino-kortet til Arduino / Genuino UNO.

    Indstillingsbræt

  4. Fra den samme værktøjsmenu skal du indstille det portnummer, du så i kontrolpanelet.

    Indstilling af port

  5. Download nedenstående kode, og kopier den til din IDE. For at uploade koden skal du klikke på upload-knappen.

    Upload

Du kan downloade koden ved at klik her.

Trin 7: Kode

Koden er ret 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-kort 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.

#include '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 værdi for 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 den hastighed i bits per 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 based'); // 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. En betingelse anvendes, 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) { voltage=0.0; } lcd.clear(); // Clear any text on the LCD lcd.setCursor(0, 0); // Mve the cursor to the initial position lcd.print('Voltage= '); // Print Voltgae= lcd.print(voltage); // Print the final digital value of voltage lcd.setCursor(13,1); // move the cursor lcd.print('V'); // print the unit of voltage delay(30); // wait for 0.3 seconds }

Ansøgninger

Nogle af dets anvendelser af et digitalt voltmeter inkluderer:

  1. Ovenstående kredsløb kan bruges til at måle forskellige spændingsområder med høj præcision i ethvert elektrisk kredsløb.
  2. Hvis vi foretager små ændringer i kredsløbet, vil Microcontroller også være i stand til at måle spændingen i vekselstrømskredse.