Hur man skapar en digital likspänningsmätare med Arduino?

En voltmeter är en spänningsmätanordning som används för att mäta spänningen på vissa punkter i en elektrisk krets. Spänning är den potentialskillnad som skapas mellan två punkter i en elektrisk krets. Det finns två typer av voltmetrar. Vissa voltmetrar är utformade för att mäta spänningen i likströmskretsar och andra voltmetrar är avsedda att mäta spänningen i växelströmskretsar. Dessa voltmetrar karakteriseras vidare i två kategorier. Den ena är digital voltmeter som visar mätningarna på en digital skärm och den andra är en analog voltmeter som använder en nål för att peka på skalan för att visa oss den exakta avläsningen.



Digital voltmeter

I det här projektet ska vi skapa en voltmeter med Arduino Uno. Vi kommer att förklara två konfigurationer av en digital voltmeter i den här artikeln. I den första konfigurationen kommer mikrokontrollern att kunna mäta spänningen i området 0 - 5V. I den andra konfigurationen kommer mikrokontrollern att kunna mäta spänningen i området 0 - 50V.



Hur man skapar en digital voltmeter?

Som vi vet att det finns två typer av voltmetrar, analog voltmeter och digital voltmeter. Det finns några ytterligare typer av analoga voltmetrar som är baserade på enhetens konstruktion. Några av dessa typer inkluderar permanentmagnetrörelse spole voltmeter, likriktartyp voltmeter, rörlig järn typ voltmeter, etc. Huvudsyftet med att införa den digitala voltmeter på marknaden berodde på större sannolikhet för fel i analoga voltmetrar. Till skillnad från analog voltmeter, som använder en nål och en skala, visar den digitala voltmätaren avläsningarna direkt i siffror på skärmen. Detta tar bort möjligheten till Nollfel . Procentandelen fel minskas från 5% till 1% när vi har gått från analog voltmeter till digital voltmeter.



Nu som vi vet abstrakt av detta projekt, låt oss samla in mer information och börja skapa en digital voltmeter med Arduino Uno.



Steg 1: Samla in komponenterna

Det bästa sättet att starta något projekt är att göra en lista över komponenter och gå igenom en kort studie av dessa komponenter eftersom ingen vill stanna mitt i ett projekt bara på grund av en saknad komponent. En lista över komponenter som vi ska använda i detta projekt ges nedan:

  • Arduino uno
  • 10k-ohm potentiometer
  • Bygeltrådar
  • 100k-ohm motstånd
  • 10k-ohm motstånd
  • 12V AC till DC-adapter (om Arduino inte drivs av dator)

Steg 2: Studera komponenterna

Arduino UNO är ett mikrokontrollkort som består av ett mikrochip ATMega 328P och är utvecklat av Arduino.cc. Detta kort har en uppsättning digitala och analoga datapinnar som kan anslutas till andra expansionskort eller kretsar. Detta kort har 14 digitala stift, 6 analoga stift och programmerbara med Arduino IDE (Integrated Development Environment) via en typ B USB-kabel. Det kräver 5V för att driva och a C-kod att driva.

Arduino uno



LCD-skärmar ses i varje elektronisk enhet som måste visa lite text eller siffra eller vilken bild som helst för användarna. En LCD är en displaymodul där flytande kristaller används för att producera en synlig bild eller text. A 16 × 2 LCD-skärm är en mycket enkel elektronisk modul som visar 16 tecken per rad och totalt två rader på skärmen åt gången. En 5 × 7 pixelmatris används för att visa ett tecken i dessa LCD-skärmar.

16 × 2 LCD-skärm

TILL Bakbord är en lödfri enhet. Den används för att tillverka och testa tillfälliga elektroniska kretsar och mönster för prototyp. De flesta av de elektroniska komponenterna är helt enkelt anslutna till ett brödbräda genom att bara sätta in stiften i brädbrädet. En remsa av metall läggs ner i brädbrädans hål och hålen är anslutna på ett specifikt sätt. Hålens anslutningar visas i diagrammet nedan:

Bakbord

Steg 3: Kretsschema

Den första kretsen vars mätområde är från 0 till 5V visas nedan:

Voltmeter för 0-5V

Den andra kretsen vars mätområde är från 0 till 50V visas nedan:

Voltmeter 0-50V

Steg 4: Arbetsprincip

Arbetet med detta Arduino-baserade digitala DC-voltmeter förklaras här. I den digitala voltmätaren omvandlas spänningen som mäts i analog form till motsvarande digitala värde med en analog till digital omvandlare.

I den första kretsen vars mätområde är från 0 till 5V kommer ingången att tas på Analog pin0. Den analoga stiftet kommer att läsa vilket värde som helst från 0 till 1024. Sedan kommer detta analoga värde att konverteras till digital genom att multiplicera det med total spänning, som är 5V och dela det med total upplösning, vilket är 1024.

I den andra kretsen, eftersom intervallet ska ökas från 5V till 50V, måste en spänningsdelarkonfiguration göras. Spänningsdelarkretsen är gjord med hjälp av ett 10k-ohm och ett 100k-ohm-motstånd. Denna spänningsdelarkonfiguration hjälper oss att föra ingångsspänningen till området för Arduino Unos analoga ingång.

Alla matematiska beräkningar görs i programmeringen av Arduino Uno.

Steg 5: Montering av komponenterna

Anslutningen av LCD-modulen till Arduino Uno-kortet är densamma i båda kretsarna. Den enda skillnaden är att ingångsområdet i den första kretsen är lågt, så det skickas direkt till den analoga stiftet på Arduino. I den andra kretsen används en spänningsdelarkonfiguration på ingångssidan av Microcontroller-kortet.

  1. Anslut LCD-modulens Vss- och Vdd-stift till marken respektive 5V på Arduino-kortet. Vee-stiftet är det stift som används för att justera skärmens begränsningar. Den är ansluten till potentiometern vars ena stift är ansluten till 5V och den andra är ansluten till jord.
  2. Anslut RS- och E-stiftet på LCD-modulen till pin2 respektive pin3 på Arduino-kortet. LCD-skärmens RW-stift är ansluten till marken.
  3. Eftersom vi kommer att använda LCD-modulen i 4-bitars dataläge, så används dess fyra stift D4 till D7. D4-D7-stiften på LCD-modulen är anslutna till pin4-pin7 på mikrokontrollkortet.
  4. I den första kretsen finns det inga ytterligare kretsar på ingångssidan eftersom den maximala spänningen som ska mätas är 5V. I den andra kretsen, eftersom mätområdet är från 0-50V, görs en spänningsdelarkonfiguration med ett 10k-ohm och ett 100k-ohm-motstånd. Det måste noteras att alla grunder är gemensamma.

Steg 6: Komma igång med Arduino

Om du inte känner till Arduino IDE tidigare, oroa dig inte, för nedan kan du se tydliga steg för att bränna kod på mikrokontrollkortet med Arduino IDE. Du kan ladda ner den senaste versionen av Arduino IDE från här och följ stegen nedan:

  1. När Arduino-kortet är anslutet till din dator öppnar du 'Kontrollpanelen' och klickar på 'Hårdvara och ljud'. Klicka sedan på 'Enheter och skrivare'. Hitta namnet på den port som Arduino-kortet är anslutet till. I mitt fall är det “COM14” men det kan vara annorlunda på din dator.

    Hitta port

  2. Vi måste inkludera ett bibliotek för att använda LCD-modulen. Biblioteket bifogas nedan i nedladdningslänken tillsammans med koden. Gå till Skiss> Inkludera bibliotek> Lägg till .ZIP-bibliotek.

    Inkludera bibliotek

  3. Öppna nu Arduino IDE. Från Verktyg ställer du Arduino-kortet till Arduino / Genuino UNO.

    Inställningsbräda

  4. Från samma verktygsmeny ställer du in portnumret som du såg på kontrollpanelen.

    Ställ in port

  5. Ladda ner koden som bifogas nedan och kopiera den till din IDE. Klicka på uppladdningsknappen för att ladda upp koden.

    Ladda upp

Du kan ladda ner koden genom att klicka här.

Steg 7: Kod

Koden är ganska enkel och väl kommenterad. Men ändå, några förklaras nedan.

1. I början används biblioteket så att vi kan ansluta LCD-modulen till Arduino Uno-kortet och programmera den därefter. Än stiften på Arduino-kortet initialiseras som kommer att användas för att ansluta till LCD-modulen. Sedan initieras olika variabler för att lagra värden på körtiden som kommer att användas senare i beräkningarna.

#include 'LiquidCrystal.h' // inkluderar bibliotek för gränssnitt LCD-modul med Arduino-kort LiquidCrystal lcd (2, 3, 4, 5, 6, 7); // stift på LCD-modulen som ska användas flottörspänning = 0,0; float temp = 0,0; // variabel för att lagra digital värden för ingången int analog_value; // variabel för att lagra analogt värde vid ingången

2. ogiltig installation () är en funktion som bara körs en gång när enheten startar eller aktiveringsknappen trycks in. Här har vi initierat LCD-skärmen för att starta. När LCD-skärmen startar kommer texten “Arduino Based Digital Voltmeter” att visas. Baud Rate ställs också in i denna funktion. Baud Rate är den hastighet i bitar per sekund som Arduino kommunicerar med de externa enheterna.

ogiltig installation () {lcd.begin (16, 2); // starta kommunikation med LCD lcd.setCursor (0,0); // starta markören från början lcd.print ('Arduino baserad'); // Skriv ut text i första raden lcd.setCursor (0,1); // Flytta cursoor till nästa rad lcd.print ('Digital Voltmeter'); // skriva ut text i andra radens fördröjning (2000); // vänta i två sekunder}

3. ogiltig slinga () är en funktion som löper kontinuerligt i en slinga. Här läses det analoga värdet på ingångssidan. Sedan konverteras detta analoga värde till digital form. Ett villkor tillämpas och de slutliga mätningarna visas på LCD-skärmen

ogiltig slinga () {analog_value = analogRead (A0); // Läser av det analoga värdet temp = (analog_value * 5.0) / 1024.0; // omvandla det analoga värdet i digital spänning = temp / (0,0909); if (spänning< 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 }

Applikationer

Några av dess tillämpningar av en digital voltmeter inkluderar:

  1. Kretsen ovan kan användas för att mäta olika spänningsområden med hög precision i alla elektriska kretsar.
  2. Om vi ​​gör små förändringar i kretsen kan mikrokontrollern också mäta spänningen i växelströmskretsar.