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
- Arduino Board (ad esempio, uno, mega, nano)
- Divisore di tensione (se misura una tensione superiore a 5 V)
- Breadboard e fili jumper
- Fonte di tensione da misurare (ad es. Batteria, sensore o alimentazione regolabile)
- 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
- Collegare una tensione di riferimento stabile (ad es. 3,3 V) al pin AREF.
- Nel codice, impostare la tensione di riferimento:
analogReference(EXTERNAL);
- Regola i calcoli nel codice per la nuova tensione di riferimento.
Passaggio 5: migliori pratiche per misurazioni accurate
- Evita il rumore: Utilizzare fili corti e un'adeguata messa a terra per ridurre il rumore elettrico.
- Calibra la tua configurazione: Verifica le letture con un multimetro per garantire l'accuratezza.
- Proteggi l'Arduino: Utilizzare resistori o diodi per proteggere il pin di ingresso analogico dalla sovratensione.
- Filtra segnali rumorosi: Aggiungi un condensatore attraverso l'ingresso per levigare le fluttuazioni di tensione.
Applicazioni di misurazione della tensione
- Monitoraggio dei livelli della batteria
- Sensare i segnali analogici dai sensori
- Misurare le tensioni dell'alimentazione
- Progetti multimetri fai -da -te
Risoluzione dei problemi
-
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.
-
Valori fluttuanti:
- Aggiungi un condensatore (10 µF o 100 µF) attraverso l'ingresso.
-
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!