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

Arduino Opta (micro PLC, 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

Objetivos

Configurar las entradas multifunción I1..I8 en modo analógico para leer transmisores de 0–10 VDC. El Opta ofrece una resolución de usuario configurable de 12 a 16 bits (LSB 166 µV, precisión ±5 %, repetibilidad ±2 %, ciclo de adquisición 10 µs). Aprenderá a convertir la lectura bruta en tensión real mediante el divisor integrado (factor 0,3034).

Material

Código completo

// 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);
}

Verificación esperada

Con un transmisor entregando 5 V a la salida, la línea correspondiente muestra aproximadamente 5,000 VDC. Al pasar a analogReadResolution(16), la estabilidad de los decimales mejora (sobremuestreo). El rango medible es de 0–10 VDC únicamente en modo analógico — no 24 V.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales