lectura fluctuante de ADC para entrada de transductor de presión de 4-20 mA

0

Estoy trabajando en un proyecto de medición de la presión del agua, en el que usé un transductor de presión que me da una salida de 4 a 20 mA de forma actual.

Estoy usando una resistencia de 250 ohmios para convertir la corriente en voltaje, y luego le doy este voltaje a ADC del canal 0 (A0) de arduino UNO.

La lectura de ADC está fluctuando continuamente hasta 10 números decimales.

También verifico conectando multímetro y mida la lectura de corriente del sensor, para una presión particular. pero la lectura actual es estable (aunque no fluctúe 1 o 2 puntos).

también he comprobado el valor de voltaje después de 250 Ohms + Ve y tierra. El voltaje convertido también se muestra muy estable.

pero ¿por qué la lectura de ADC está fluctuando ...?

Estoy usando arduino uno, no tengo ningún cambio en AREF, AVCC, etc. ...

por favor sugiera una solución efectiva,

Gracias de antemano.

Mi código es el siguiente ...

const int analogInPin = A0; // Pin de entrada analógica al que está conectado el potenciómetro

int sensorValue = 0; // valor leído desde el bote

configuración de vacío () {   // inicializar las comunicaciones seriales a 9600 bps:   Serial.begin (9600); }

bucle de vacío () {

// lee el análogo en valor:   sensorValue = analogRead (analogInPin);

// imprime los resultados al Monitor Serial:   Serial.print ("Lectura:");   Serial.println (sensorValue);

retardo (1000); }

    

2 respuestas

0

Su multímetro promedia en una buena parte de un segundo, por lo que en realidad no mide lo mismo.

Observe la señal de entrada del ADC con un osciloscopio y ajústelo a rango de CA con una sensibilidad de quizás 100 mV o 250 mV / división. Dado que su ADC es de 10 bits y una referencia de 5.0 V, está informando (como se agregó en los comentarios) +/- 5% de variación pico a pico de 5.0 V a escala completa, que es +/- 250 mV (y aproximadamente + / -50 cuentas ADC).

Eso te dirá cuán real es esa señal. Podría ser causado por variaciones reales en la presión o vibraciones del sensor.

También podría verse afectado por la interacción entre la conexión a tierra de comunicaciones en serie y cualquier conexión a tierra en el circuito del sensor.

    
respondido por el Spehro Pefhany
0

Una variación de 10 conteos de un máximo de 1023 es aproximadamente el 1% de la escala total, no está mal para un Arduino. Esto equivale a unos 50 mV y probablemente tenga mucho ruido en la señal de entrada y el AREF.

Si el problema es el ruido y el ruido es una fluctuación aleatoria, entonces debería poder mejorar las lecturas promediando. Intente sumar 16 o 32 valores y luego divida el resultado entre 16 o 32. (Propuse 16 y 32 porque son potencias enteras de 2, por lo que realizar una división de enteros sin signo es fácil y rápido ... cambiar).

    
respondido por el Elliot Alderson

Lea otras preguntas en las etiquetas