Cum se face un voltmetru digital DC folosind Arduino?

Un voltmetru este un dispozitiv de măsurare a tensiunii care este utilizat pentru a măsura tensiunea pe anumite puncte dintr-un circuit electric. Tensiunea este diferența de potențial care se creează între două puncte dintr-un circuit electric. Există două tipuri de voltmetre. Unele voltmetre sunt proiectate pentru a măsura tensiunea circuitelor de curent continuu, iar alte voltmetre sunt destinate măsurării tensiunii în circuitele de curent alternativ. Aceste voltmetre sunt caracterizate în continuare în două categorii. Unul este voltmetrul digital care arată măsurătorile pe un ecran digital, iar celălalt este un voltmetru analogic care folosește un ac pentru a indica pe scară pentru a ne arăta exact citirea.



Voltmetru digital

În acest proiect, vom face un voltmetru folosind Arduino Uno. Vom explica două configurații ale unui voltmetru digital în acest articol. În prima configurație, microcontrolerul va putea măsura tensiunea în intervalul 0 - 5V. În a doua configurație, microcontrolerul va putea măsura tensiunea în intervalul 0 - 50V.



Cum se face un voltmetru digital?

După cum știm, există două tipuri de voltmetre, voltmetru analog și voltmetru digital. Există câteva alte tipuri de voltmetre analogice care se bazează pe construcția dispozitivului. Unele dintre aceste tipuri includ voltmetru cu bobină cu magnet permanent, voltmetru cu redresor, voltmetru cu fier în mișcare etc. Scopul principal al introducerii voltmetrului digital pe piață s-a datorat probabilității mai mari de erori la voltmetrele analogice. Spre deosebire de voltmetrul analogic, care folosește un ac și o scală, voltmetrul digital arată citirile direct în cifre pe ecran. Aceasta elimină posibilitatea de Eroare zero . Procentul de eroare este redus de la 5% la 1% când am trecut de la voltmetru analogic la voltmetru digital.



Acum, pe măsură ce știm rezumatul acestui proiect, permiteți-ne să adunăm mai multe informații și să începem să facem un voltmetru digital folosind Arduino Uno.



Pasul 1: Colectarea componentelor

Cea mai bună abordare pentru a începe orice proiect este de a face o listă de componente și de a parcurge un scurt studiu al acestor componente, deoarece nimeni nu va dori să rămână în mijlocul unui proiect doar din cauza unei componente lipsă. O listă a componentelor pe care le vom folosi în acest proiect este prezentată mai jos:

  • Arduino uno
  • Potențiometru de 10k-ohm
  • Sârme jumper
  • Rezistor 100k-ohm
  • Rezistor de 10k-ohm
  • Adaptor de 12V AC la DC (dacă Arduino nu este alimentat de computer)

Pasul 2: Studierea componentelor

Arduino UNO este o placă de microcontroler care cuprinde un microcip ATMega 328P și este dezvoltată de Arduino.cc. Această placă are un set de pini de date digitale și analogice care pot fi interfațate cu alte plăci sau circuite de expansiune. Această placă are 14 pini digitali, 6 pini analogici și poate fi programată cu Arduino IDE (mediu de dezvoltare integrat) printr-un cablu USB de tip B. Este nevoie de 5V pentru alimentare PE și a Codul C să funcționeze.

Arduino uno



Ecranele LCD sunt văzute în fiecare dispozitiv electronic care trebuie să afișeze un anumit text sau cifră sau orice imagine utilizatorilor. Un LCD este un modul de afișare, în care cristalul lichid este utilizat pentru a produce o imagine sau un text vizibil. A Afișaj LCD 16 × 2 este un modul electronic foarte simplu care afișează 16 caractere pe linie și un total de două linii pe ecranul său la un moment dat. O matrice de 5 × 7 pixeli este utilizată pentru a afișa un caracter pe aceste LCD-uri.

Afișaj LCD 16 × 2

LA Breadboard este un dispozitiv fără lipire. Este folosit pentru a realiza și testa prototipuri temporare de circuite și modele electronice. Majoritatea componentelor electronice sunt conectate pur și simplu la o placă de prindere doar prin introducerea pinilor în placă de prindere. O fâșie de metal este așezată în găurile panoului și găurile sunt conectate într-un mod specific. Conexiunile găurilor sunt prezentate în diagrama de mai jos:

Breadboard

Pasul 3: Diagrama circuitului

Primul circuit al cărui domeniu de măsurare este de la 0 la 5V este prezentat mai jos:

Voltmetru pentru 0-5V

Al doilea circuit al cărui domeniu de măsurare este de la 0 la 50V este prezentat mai jos:

Voltmetru 0-50V

Pasul 4: Principiul de lucru

Funcționarea acestui proiect de voltmetru digital pe bază de Arduino este explicată aici. În voltmetrul digital, tensiunea măsurată în formă analogică va fi convertită la valoarea digitală corespunzătoare utilizând un convertor analog în digital.

În primul circuit al cărui domeniu de măsurare este de la 0 la 5V, intrarea va fi luată pe pinul analogic0. Pinul analogic va citi orice valoare de la 0 la 1024. Apoi această valoare analogică va fi convertită în digital prin înmulțirea acestuia cu tensiunea totală, care este 5V și împărțirea acestuia la rezoluția totală, care este 1024.

În cel de-al doilea circuit, întrucât intervalul urmează să fie mărit de la 5V la 50V, trebuie făcută o configurație divizor de tensiune. Circuitul divizor de tensiune se realizează utilizând un rezistor de 10k-ohm și un rezistor de 100k-ohm. Această configurație a divizorului de tensiune ne ajută să aducem tensiunea de intrare în intervalul de intrare analogică Arduino Uno.

Toate calculele matematice se fac în programarea Arduino Uno.

Pasul 5: Asamblarea componentelor

Conexiunea modulului LCD la placa Arduino Uno este aceeași în ambele circuite. Singura diferență este că în primul circuit, domeniul de intrare este redus, deci este trimis direct la pinul analogic al Arduino. În cel de-al doilea circuit, o configurație divizor de tensiune este utilizată pe partea de intrare a plăcii microcontrolerului.

  1. Conectați pinul Vss și Vdd al modulului LCD la sol și, respectiv, 5V al plăcii Arduino. Pinul Vee este pinul care este utilizat pentru a regla constrângerile afișajului. Este conectat la potențiometrul al cărui pin este conectat la 5V, iar celălalt este conectat la masă.
  2. Conectați pinul RS și E al modulului LCD la pinul 2 și respectiv pinul 3 al plăcii Arduino. Pinul RW al LCD-ului este conectat la masă.
  3. Deoarece vom folosi modulul LCD în modul de date pe 4 biți, sunt folosiți cei patru pini D4 până la D7. Pinii D4-D7 ai modulului LCD sunt conectați la pinul-pin7 al plăcii microcontrolerului.
  4. În primul circuit, nu există circuite suplimentare pe partea de intrare, deoarece tensiunea maximă care trebuie măsurată este de 5V. În cel de-al doilea circuit, întrucât domeniul de măsurare este de la 0-50V, se face o configurație a divizorului de tensiune folosind un rezistor de 10k-ohm și un rezistor de 100k-ohm. Trebuie remarcat faptul că toate motivele sunt comune.

Pasul 6: Noțiuni introductive despre Arduino

Dacă nu sunteți familiarizați cu Arduino IDE înainte, nu vă faceți griji, deoarece mai jos puteți vedea pași clari de ardere a codului pe placa microcontrolerului utilizând Arduino IDE. Puteți descărca cea mai recentă versiune a Arduino IDE de la aici și urmați pașii menționați mai jos:

  1. Când placa Arduino este conectată la computer, deschideți „Panoul de control” și faceți clic pe „Hardware și sunet”. Apoi faceți clic pe „Dispozitive și imprimante”. Găsiți numele portului la care este conectată placa Arduino. În cazul meu, este „COM14”, dar poate fi diferit pe computer.

    Găsirea portului

  2. Va trebui să includem o bibliotecă pentru a utiliza modulul LCD. Biblioteca este atașată mai jos în linkul de descărcare împreună cu codul. Mergi la Schiță> Includeți bibliotecă> Adăugați bibliotecă .ZIP.

    Includeți biblioteca

  3. Acum deschideți IDE-ul Arduino. Din Instrumente, setați placa Arduino la Arduino / Genuino UNO.

    Placă de setare

  4. Din același meniu Instrument, setați numărul de port pe care l-ați văzut în panoul de control.

    Setarea portului

  5. Descărcați codul atașat mai jos și copiați-l în IDE. Pentru a încărca codul, faceți clic pe butonul de încărcare.

    Încărcare

Puteți descărca codul prin făcând clic aici.

Pasul 7: Cod

Codul este destul de simplu și bine comentat. Dar totuși, unele sunt explicate mai jos.

1. La început, biblioteca este utilizată astfel încât să putem interfața modulul LCD cu placa Arduino Uno și să-l programăm în consecință. Decât sunt inițializați pinii plăcii Arduino care vor fi folosiți pentru conectarea cu modulul LCD. Apoi, diferite variabile sunt inițializate pentru a stoca valori pe timpul de rulare, care vor fi utilizate ulterior în calcule.

#include „LiquidCrystal.h” // include bibliotecă pentru interfața modulului LCD cu placa Arduino LiquidCrystal lcd (2, 3, 4, 5, 6, 7); // pini ai modulului LCD de utilizat tensiune de plutire = 0,0; float temp = 0,0; // variabilă pentru a stoca valoarea digitală a intrării în valoare_analogică; // variabilă pentru a stoca valoarea analogică la intrare

2. configurare nulă () este o funcție care rulează o singură dată când dispozitivul pornește sau este apăsat butonul de activare. Aici am inițializat ecranul LCD pentru a începe. Când LCD-ul va porni, va fi afișat textul “Arduino Based Voltmeter Digital”. Baud Rate este, de asemenea, setat în această funcție. Baud Rate este viteza în biți pe secundă prin care Arduino comunică cu dispozitivele externe.

void setup () {lcd.begin (16, 2); // începeți comunicarea cu LCD lcd.setCursor (0,0); // porniți cursorul de la început lcd.print („bazat pe Arduino”); // Imprimați textul în prima linie lcd.setCursor (0,1); // Mutați cursorul la următoarea linie lcd.print („Voltmetru digital”); // tipăriți text în a doua linie de întârziere (2000); // așteptați două secunde}

3. bucla nulă () este o funcție care rulează continuu într-o buclă. Aici valoarea analogică este citită pe partea de intrare. Apoi, această valoare analogică este convertită în formă digitală. Se aplică o condiție și măsurătorile finale sunt afișate pe ecranul LCD

bucla void () {analog_value = analogRead (A0); // Citirea valorii analogice temp = (analog_value * 5.0) / 1024.0; // inversarea valorii analogice în tensiune digitală = temp / (0,0909); dacă (tensiune< 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 }

Aplicații

Unele dintre aplicațiile sale ale unui voltmetru digital includ:

  1. Circuitul realizat mai sus poate fi utilizat pentru măsurarea diferitelor game de tensiuni cu precizie ridicată în orice circuit electric.
  2. Dacă facem mici modificări în circuit, microcontrolerul va putea măsura și tensiunea din circuitele de curent alternativ.