Misurare la tensione con l'Arduino

Measuring Voltage with the Arduino

L'Arduino è un microcontrollore versatile in grado di misurare la tensione utilizzando il suo convertitore da analogico a digitale incorporato (ADC). Questa capacità è essenziale per applicazioni come il monitoraggio dei livelli di batteria, i segnali di input per rilevare e la misurazione delle uscite del sensore. Questo tutorial ti guiderà attraverso il processo di misurazione della tensione con un Arduino.


Cosa avrai bisogno

  1. Arduino Board (ad esempio, uno, mega, nano)
  2. Divisore di tensione (se misura una tensione superiore a 5 V)
  3. Breadboard e fili jumper
  4. Fonte di tensione da misurare (ad es. Batteria, sensore o alimentazione regolabile)
  5. Un computer con l'IDE Arduino installato

Passaggio 1: comprensione della misurazione della tensione su Arduino

L'ADC di Arduino converte le tensioni analogiche (da 0V a 5 V sulla maggior parte delle schede) a un valore digitale a 10 bit. Ciò significa che l'ADC fornisce un valore compreso tra 0 e 1023, dove 0 corrisponde a 0 V e 1023 corrisponde a 5 V (o alla tensione di riferimento).

Formula chiave

Per calcolare la tensione di ingresso:

Voltage = (ADC_Value / 1023.0) * Reference_Voltage

Nota: Per la maggior parte delle schede Arduino, la tensione di riferimento predefinita è 5 V. Se si utilizza la variante 3.3V, regola la formula di conseguenza.


Passaggio 2: misurazione della tensione diretta

Per tensioni fino a 5 V, è possibile collegare la sorgente di tensione direttamente a un pin analogico.

Cablaggio

Componente Arduino Pin
Sorgente di tensione (+) A0
Sorgente di tensione (-) GND

Codice di esempio

#define analogPin A0

void setup() {
  Serial.begin(9600);
}

void loop() {
  int adcValue = analogRead(analogPin); // Read ADC value
  float voltage = (adcValue / 1023.0) * 5.0; // Convert to voltage

  Serial.print("Voltage: ");
  Serial.print(voltage, 2); // Print voltage with 2 decimal places
  Serial.println(" V");

  delay(1000); // Update every second
}

Passaggio 3: misurare tensioni più elevate con un divisore di tensione

Per misurare tensioni superiori a 5 V, utilizzare a divisore di tensione Per ridimensionare la tensione di ingresso.

Formula del divisore di tensione

Il divisore di tensione ridimensiona la tensione di ingresso usando due resistori:

Vout = Vin * (R2 / (R1 + R2))

Ad esempio, per misurare fino a 12V:

  • R1 = 10k ohm
  • R2 = 10k ohm
  • Fattore di ridimensionamento = 0,5 (VOUT = VIN / 2)

Cablaggio

Componente Connessione
Sorgente di tensione (+) Venditore di tensione Ingresso R1
Giunzione del divisore di tensione R1/R2 Arduino A0
Sorgente di tensione (-) GND

Codice di esempio

#define analogPin A0
const float R1 = 10000.0; // Resistor R1 value in ohms
const float R2 = 10000.0; // Resistor R2 value in ohms

void setup() {
  Serial.begin(9600);
}

void loop() {
  int adcValue = analogRead(analogPin); // Read ADC value
  float voltage = (adcValue / 1023.0) * 5.0; // Voltage at A0

  // Scale up to actual input voltage
  float inputVoltage = voltage * ((R1 + R2) / R2);

  Serial.print("Input Voltage: ");
  Serial.print(inputVoltage, 2); // Print with 2 decimal places
  Serial.println(" V");

  delay(1000); // Update every second
}

Passaggio 4: utilizzando una tensione di riferimento esterna

Per misurazioni più accurate, è possibile utilizzare una tensione di riferimento esterna collegandola al pin AREF.

Passaggi per impostare il riferimento esterno

  1. Collegare una tensione di riferimento stabile (ad es. 3,3 V) al pin AREF.
  2. Nel codice, impostare la tensione di riferimento:
analogReference(EXTERNAL);
  1. Regola i calcoli nel codice per la nuova tensione di riferimento.

Passaggio 5: migliori pratiche per misurazioni accurate

  1. Evita il rumore: Utilizzare fili corti e un'adeguata messa a terra per ridurre il rumore elettrico.
  2. Calibra la tua configurazione: Verifica le letture con un multimetro per garantire l'accuratezza.
  3. Proteggi l'Arduino: Utilizzare resistori o diodi per proteggere il pin di ingresso analogico dalla sovratensione.
  4. Filtra segnali rumorosi: Aggiungi un condensatore attraverso l'ingresso per levigare le fluttuazioni di tensione.

Applicazioni di misurazione della tensione

  1. Monitoraggio dei livelli della batteria
  2. Sensare i segnali analogici dai sensori
  3. Misurare le tensioni dell'alimentazione
  4. Progetti multimetri fai -da -te

Risoluzione dei problemi

  1. Letture errate:

    • Verificare il cablaggio e assicurarsi che i valori di resistenza corretti per il divisore di tensione.
    • Controllare la tensione di riferimento nei calcoli.
  2. Valori fluttuanti:

    • Aggiungi un condensatore (10 µF o 100 µF) attraverso l'ingresso.
  3. Protezione da sovratensione:

    • Assicurarsi che la tensione di ingresso non superi i limiti calcolati del divisore di tensione.

Conclusione

La tensione di misurazione con un Arduino è semplice e molto utile per molti progetti elettronici. Che tu stia monitorando i livelli della batteria o l'interfacciamento con i sensori, la comprensione della misurazione della tensione apre una vasta gamma di possibilità. Sperimenta diverse configurazioni e integra la misurazione della tensione nei tuoi progetti!

Lascia un commento

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.