L'Arduino est un microcontrôleur polyvalent capable de mesurer la tension en utilisant son convertisseur analogique-numérique (ADC) intégré. Cette capacité est essentielle pour les applications telles que la surveillance des niveaux de batterie, la détection des signaux d'entrée et la mesure des sorties de capteurs. Ce tutoriel vous guidera tout au long du processus de mesure de la tension avec un Arduino.
Ce dont vous aurez besoin
- Conseil d'administration d'Arduino (par exemple, uno, mega, nano)
- Diviseur de tension (Si la tension de mesure supérieure à 5 V)
- Fils de planche à pain et de cavalier
- Source de tension à mesurer (par exemple, batterie, capteur ou alimentation réglable)
- Un ordinateur avec l'ide Arduino installé
Étape 1: Comprendre la mesure de tension sur Arduino
L'ADC d'Arduino convertit les tensions analogiques (0V à 5V sur la plupart des planches) en valeur numérique 10 bits. Cela signifie que l'ADC fournit une valeur entre 0 et 1023, où 0 correspond à 0v et 1023 correspond à 5V (ou à la tension de référence).
Formule clé
Pour calculer la tension d'entrée:
Voltage = (ADC_Value / 1023.0) * Reference_Voltage
Note: Pour la plupart des tableaux Arduino, la tension de référence par défaut est 5V. Si vous utilisez la variante 3.3 V, ajustez la formule en conséquence.
Étape 2: Mesure de tension directe
Pour des tensions jusqu'à 5V, vous pouvez connecter la source de tension directement à une broche analogique.
Câblage
Composant | Épingle arduino |
---|---|
Source de tension (+) | A0 |
Source de tension (-) | GND |
Exemple de code
#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
}
Étape 3: Mesurer des tensions plus élevées avec un diviseur de tension
Pour mesurer les tensions supérieures à 5V, utilisez un diviseur de tension pour réduire la tension d'entrée.
Formule de diviseur de tension
Le diviseur de tension échelle la tension d'entrée à l'aide de deux résistances:
Vout = Vin * (R2 / (R1 + R2))
Par exemple, pour mesurer jusqu'à 12v:
- R1 = 10k ohms
- R2 = 10k ohms
- Facteur d'échelle = 0,5 (Vout = VIN / 2)
Câblage
Composant | Connexion |
---|---|
Source de tension (+) | Diviseur de tension Entrée R1 |
Diviseur de tension R1 / R2 Jonction | Arduino A0 |
Source de tension (-) | GND |
Exemple de code
#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
}
Étape 4: Utilisation d'une tension de référence externe
Pour des mesures plus précises, vous pouvez utiliser une tension de référence externe en la connectant à la broche Aref.
Étapes pour définir la référence externe
- Connectez une tension de référence stable (par exemple, 3,3 V) à la broche Aref.
- Dans le code, définissez la tension de référence:
analogReference(EXTERNAL);
- Ajustez les calculs dans le code de la nouvelle tension de référence.
Étape 5: meilleures pratiques pour des mesures précises
- Évitez le bruit: Utilisez des fils courts et une mise à la terre appropriée pour réduire le bruit électrique.
- Calibrez votre configuration: Vérifiez les lectures avec un multimètre pour assurer la précision.
- Protégez l'Arduino: Utilisez des résistances ou des diodes pour protéger la broche d'entrée analogique de la surtension.
- Filtre des signaux bruyants: Ajouter un condensateur sur l'entrée pour lisser les fluctuations de tension.
Applications de la mesure de la tension
- Surveillance des niveaux de batterie
- Détection des signaux analogiques des capteurs
- Mesurer les tensions d'alimentation
- Projets multimètres de bricolage
Dépannage
-
Lectures incorrectes:
- Vérifiez le câblage et assurez-vous des valeurs de résistance correctes pour le diviseur de tension.
- Vérifiez la tension de référence dans les calculs.
-
Valeurs fluctuantes:
- Ajouter un condensateur (10 µF ou 100 µF) à travers l'entrée.
-
Protection sur la surtension:
- Assurer la tension d'entrée ne dépasse pas les limites calculées du diviseur de tension.
Conclusion
La mesure de la tension avec un Arduino est simple et très utile pour de nombreux projets électroniques. Que vous surveilliez les niveaux de batterie ou que vous vous interfiez avec les capteurs, la compréhension de la mesure de tension ouvre un large éventail de possibilités. Expérimentez avec différentes configurations et intégrez la mesure de tension dans vos projets!