Circuito voltmetro CC basato su Arduino - Dettagli costruttivi e test

Circuito voltmetro CC basato su Arduino - Dettagli costruttivi e test

In questo post, costruiremo un voltmetro DC usando Arduino dove le letture vengono visualizzate in 16x2 LCD.





Il design del voltmetro proposto può leggere fino a 30 V con una tolleranza di +/- 0,5 volt. Vedremo come funziona questa configurazione ed esploreremo altre possibilità che possiamo realizzare oltre alla misurazione della tensione.

Questo progetto è abbastanza semplice, anche i principianti possono realizzarlo con facilità, ma è necessario prestare attenzione durante la prototipazione del circuito poiché applicheremo la tensione esterna, qualsiasi collegamento errato ad Arduino può portare a danni fatali alla scheda.





Lascia che l'avvertimento sia un lato, esploriamo come funziona.

Qui stiamo usando il processo di conversione da analogico a digitale. La tensione da qualsiasi sorgente è una funzione analogica, le letture visualizzate sull'LCD 16x2 sono una funzione digitale.



La sfida è convertire quelle funzioni analogiche in funzioni digitali. Fortunatamente, Arduino ha funzionalità per leggere funzioni analogiche e convertirle in funzioni discrete.

Microcontrollore Arduino dotato di convertitore analogico-digitale (ADC) a 10 bit. Ciò significa che Arduino può leggere 2 ^ 10 = 1024 livelli di tensione discreti.

In altre parole, la tensione applicata al pin analogico di Arduino viene campionata con 1024 livelli di tensione discreti rispetto ad una tensione di riferimento il valore campionato viene visualizzato nell'LCD. Questo è il principio alla base di questo voltmetro o quasi qualsiasi voltmetro digitale.

Tuttavia, la tensione esterna applicata non viene misurata direttamente da Arduino. La tensione viene ridotta con l'aiuto di divisori di tensione e alcuni calcoli vengono eseguiti nel programma per ottenere la lettura della tensione effettiva.

Come funziona

Il circuito è costituito da due resistenze, un display LCD e un Arduino che è il cervello del voltmetro digitale. Il due resistore funge da partitore di tensione, il nodo del divisore è collegato al pin analogico # A0 di Arduino, che legge la tensione di ingresso. La connessione a terra viene stabilita tra Arduino e la fonte di tensione esterna.

La tensione minima che può misurare da questo voltmetro è 0.1V, questa soglia è impostata nel programma, in modo che legga 0.00 volt dopo aver scollegato la sorgente di tensione e non visualizzi letture a causa della carica statica attorno alla sonda di misura.

Prototipo dell'autore:

Risultati del test del voltmetro CC basato su Arduino

Non invertire la polarità durante la misurazione della tensione, non danneggerà il circuito ma non legge alcuna tensione e visualizza 0,00 V, finché non si corregge la polarità. Regolare il contrasto del display LCD al livello ottimale ruotando il potenziometro.

Assicurati di non applicare alcuna fonte di tensione che potrebbe superare i 30 V, potrebbe danneggiare la tua scheda Arduino. Tecnicamente è possibile aumentare la tensione di misurazione massima di questo circuito cambiando i valori della resistenza e modificando il programma, ma per la configurazione illustrata 30V è il limite.

Per una lettura accurata, scegliere resistori fissi con un valore di tolleranza minimo, i resistori svolgono un ruolo importante nella calibrazione della lettura della tensione.

Schema elettrico:

Circuito voltmetro CC basato su Arduino

L'altra possibilità di questo voltmetro è che possiamo modificare il programma per automatizzare alcune attività.

Ad esempio, rilevare la piena tensione della batteria e scollegare la batteria dal caricabatterie o scollegare la batteria se la tensione scende al di sotto del livello di tensione preimpostato e così via, queste attività possono essere eseguite anche senza display LCD. Tuttavia questo è oggetto di un altro articolo.

Programma:

//--------Program developed by R.Girish---------//
#include
LiquidCrystal lcd(12,11,5,4,3,2)
int analogInput = 0
float vout = 0.0
float vin = 0.0
float R1 = 100000
float R2 = 10000
int value = 0
void setup()
{
pinMode(analogInput, INPUT)
lcd.begin(16, 2)
lcd.print('DC VOLTMETER')
Serial.begin(9600)
}
void loop()
{
value = analogRead(analogInput)
vout = (value * 5.0) / 1024
vin = vout / (R2/(R1+R2))
if (vin<0.10) {
vin=0.0
}
lcd.setCursor(0, 1)
lcd.print('INPUT V= ')
lcd.print(vin)
delay(500)
}
//--------Program developed by R.Girish---------//

Si prega di controllare le letture con un buon voltmetro / multimetro.




Precedente: Circuito di blocco dell'accensione per auto Bluetooth - Protezione per auto senza chiave Avanti: Circuito di allarme di sicurezza della porta magnetica per avvisare se la porta è stata aperta