Sommario:

Misurazione della tensione con Arduino: 5 passaggi
Misurazione della tensione con Arduino: 5 passaggi

Video: Misurazione della tensione con Arduino: 5 passaggi

Video: Misurazione della tensione con Arduino: 5 passaggi
Video: Misurare una corrente con Arduino a ACS712 - #103 2024, Novembre
Anonim
Image
Image
Misurazione della tensione con Arduino
Misurazione della tensione con Arduino

La misurazione della tensione è abbastanza semplice utilizzando qualsiasi microcontrollore rispetto alla misurazione della corrente. La misurazione delle tensioni diventa necessaria se si lavora con le batterie o se si desidera creare il proprio alimentatore regolabile. Sebbene questo metodo si applichi a qualsiasi uC ma in questo tutorial, impareremo come misurare la tensione usando Arduino.

Ci sono sensori di tensione disponibili sul mercato. Ma ne hai davvero bisogno? Scopriamolo!

Passaggio 1: basi

Nozioni di base
Nozioni di base
Nozioni di base
Nozioni di base
Nozioni di base
Nozioni di base

Un microcontrollore non può comprendere direttamente la tensione analogica. Ecco perché dobbiamo usare un convertitore analogico-digitale o ADC in breve. Atmega328 che è il cervello di Arduino Uno ha 6 canali (contrassegnati da A0 ad A5), ADC a 10 bit. Ciò significa che mapperà le tensioni di ingresso da 0 a 5V in valori interi da 0 a (2^10-1) cioè pari a 1023 che fornisce una risoluzione di 4,9 mV per unità. 0 corrisponderà a 0V, da 1 a 4,9 mV, da 2 a 9,8 mV e così via fino a 1023.

Passaggio 2: misurazione 0-5V

Misura 0-5V
Misura 0-5V
Misura 0-5V
Misura 0-5V
Misura 0-5V
Misura 0-5V
Misura 0-5V
Misura 0-5V

Innanzitutto, vedremo come misurare la tensione con una tensione massima di 5V. Questo è molto semplice in quanto non sono necessarie modifiche speciali. Per simulare la variazione di tensione, utilizzeremo un potenziometro il cui pin centrale è collegato a uno qualsiasi dei 6 canali. Ora scriveremo il codice per leggere i valori da ADC e convertirli nuovamente in letture di tensione utili.

Lettura del pin analogico A0

valore = analogRead(A0);

Ora, la variabile "valore" contiene un valore compreso tra 0 e 1023 a seconda della tensione.

tensione = valore * 5,0/1023;

Il valore ottenuto viene ora moltiplicato per la risoluzione (5/1023 = 4,9 mV per unità) per ottenere la tensione effettiva.

E infine, visualizza la tensione misurata sul monitor seriale.

Serial.print("Tensione = ");

Serial.println(voltaggio);

Passaggio 3: misurazione della tensione superiore a 5 V

Misurazione della tensione superiore a 5V
Misurazione della tensione superiore a 5V

Ma il problema sorge quando la tensione da misurare supera i 5 volt. Questo può essere risolto utilizzando un circuito divisore di tensione composto da 2 resistori collegati in serie come mostrato. Un'estremità di questo collegamento in serie è collegata alla tensione da misurare (Vm) e l'altra estremità a terra. Alla giunzione di due resistori apparirà una tensione (V1) proporzionale alla tensione misurata. Questa giunzione può quindi essere collegata al pin analogico dell'Arduino. La tensione può essere trovata usando questa formula.

V1 = Vm * (R2/(R1+R2))

La tensione V1 viene quindi misurata dall'Arduino.

Passaggio 4: costruire il divisore di tensione

Costruire il divisore di tensione
Costruire il divisore di tensione
Costruire il divisore di tensione
Costruire il divisore di tensione
Costruire il divisore di tensione
Costruire il divisore di tensione

Ora per costruire questo partitore di tensione, dobbiamo prima scoprire i valori dei resistori. Seguire questi passaggi per calcolare il valore dei resistori.

  1. Determinare la tensione massima che deve essere misurata.
  2. Decidere un valore adatto e standard per R1 nell'intervallo kilo-ohm.
  3. Usando la formula, calcola R2.
  4. Se il valore di R2 non è (o è vicino a) un valore standard, modificare R1 e ripetere i passaggi precedenti.
  5. Poiché Arduino può gestire un massimo di 5V, V1 = 5V.

Ad esempio, lasciare che la tensione massima (Vm) da misurare sia 12V e R1 = 47 kilo-ohm. Quindi utilizzando la formula R2 risulta essere uguale a 33k.

Ora, costruisci un circuito divisore di tensione usando questi resistori.

Con questa configurazione, ora abbiamo un limite superiore e inferiore. Per Vm = 12V si ottiene V1 = 5V e per Vm = 0V si ottiene V1 = 0V. Cioè, per 0 a 12V a Vm, ci sarà una tensione proporzionale da 0 a 5V a V1 che può quindi essere alimentata all'Arduino come prima.

Passaggio 5: lettura della tensione

Lettura della tensione
Lettura della tensione
Lettura della tensione
Lettura della tensione

Con una leggera modifica al codice, ora possiamo misurare da 0 a 12V.

Il valore analogico viene letto come prima. Quindi, utilizzando la stessa formula citata in precedenza, viene misurata la tensione tra 0 e 12V.

valore = analogRead(A0);

tensione = valore * (5,0/1023) * ((R1 + R2)/R2);

I moduli sensore di tensione comunemente disponibili non sono altro che un circuito divisore di tensione. Questi sono classificati da 0 a 25 V con resistori da 30 kiloohm e 7,5 kiloohm.

Quindi, perché ACQUISTARE, quando puoi fai da te!

Grazie per essere rimasto fino alla fine. Spero che questo tutorial ti abbia aiutato.

Iscriviti al mio canale YouTube per ulteriori progetti e tutorial in arrivo. Grazie ancora!

Consigliato: