🛠 Lire un capteur analogique 0–10 V sur les entrées Opta

Arduino Opta (micro automate, STM32H747) · intermediaire · Schéma : IMG-opta-plc-intermediaire-2-opta-entree-analogique.svg — transmetteur de pression 0-10 V alimenté en 24 V dont la sortie analogique est raccordée à la borne I1 de l'Opta avec le diviseur interne 12 bits

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

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

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels