🛠 Lire un capteur analogique 0–10 V sur les entrées Opta
Objectifs
Configurer les entrées multifonctions I1..I8 en mode analogique pour lire des transmetteurs 0–10 VDC. L'Opta offre une résolution utilisateur configurable de 12 à 16 bits (LSB 166 µV, précision ±5 %, répétabilité ±2 %, cycle d'acquisition 10 µs). Vous apprendrez à convertir la lecture brute en tension réelle via le diviseur embarqué (facteur 0,3034).
Matériel
- Arduino Opta alimentée en 24 VDC
- Un transmetteur 0–10 V (pression, température, potentiomètre alimenté)
- Raccords sur I1, I2, I3 (broches A0, A1, A2) et 0 V commun
- IDE Arduino, core Opta
Code complet
// opta_analogique_0_10v.ino — surveillance de 3 transmetteurs 0..10 V
const float VOLTAGE_MAX = 3.3; // pleine echelle ADC
const float RESOLUTION = 4095.0; // 12 bits
const float DIVIDER = 0.3034; // diviseur embarque 10 V -> ~3,3 V
const int TERMINAUX[] = {A0, A1, A2}; // borne I1, I2, I3
void setup {
Serial.begin(9600);
analogReadResolution(12); // 12..16 bits configurables sur Opta
}
void loop {
for (int i = 0; i < 3; i++) {
int brut = analogRead(TERMINAUX[i]);
float volts = brut * (VOLTAGE_MAX / RESOLUTION) / DIVIDER; // 0..10 V
Serial.printf("I%d : %d -> %.3f VDC\n", i + 1, brut, volts);
}
delay(1000);
}
Vérification attendue
Avec un transmetteur à 5 V en sortie, la ligne correspondante affiche environ 5,000 VDC. En passant à analogReadResolution(16), la stabilité des décimales s'améliore (suréchantillonnage). La plage mesurable est 0–10 VDC uniquement en mode analogique — pas 24 V.
Erreurs fréquentes
- Envoyer plus de 10 V sur une entrée en mode analogique : la plage est 0–10 VDC ; un signal 0–20 mA ou 0–10 V doit être respecté, une shunt-résistance est nécessaire pour les boucles de courant.
- Mauvais facteur de conversion : oublier de diviser par 0,3034 donne des tensions fausses d'un facteur 3 ; reprenez le sketch officiel du manuel utilisateur.
- Résolution mal comprise : 16 bits en configuration utilisateur ne vaut pas 16 bits de précision — la précision reste ±5 %.
- Masse commune oubliée : sans 0 V commun entre le capteur et l'Opta, la lecture dérive ou oscille.
Autres tutoriels pour cette carte
- Premier sketch : faire clignoter une LED sur Arduino Opta
- Lire une entrée numérique 24 V (capteur de proximité)
- Commander une charge 230 V avec un relais de sortie
- Server Modbus TCP : exposer les relais sur Ethernet
- Remonter des données machine en MQTT via Ethernet
- Exploiter le double cœur : M7 pour le PLC, M4 en coprocesseur
Exemples de code pour cette carte
relais_securise.inoArduinoentrees_numeriques.inoArduinoanalogique_0_10v.inoArduinomodbus_tcp_esclave.inoArduinomodbus_rtu_maitre.inoArduinomqtt_telemetrie.inoArduino