¿Cómo haría para medir una señal analógica que tiene voltajes tanto positivos como negativos en un pin analógico arduino a una alta frecuencia de muestreo?

Tengo una señal que fluctúa entre -70mV y 50mV. ¿Cómo haría para que el arduino mega leyera esto en un pin analógico a una frecuencia de muestreo alta? En última instancia, estoy tratando de graficar los datos en tiempo real para que se vea así.

ingrese la descripción de la imagen aquí

Miré la pregunta publicada anteriormente en EESE sobre la lectura de voltajes positivos / negativos y brinda información sobre una señal de movimiento lento que varió de -55V a 55V. Sin embargo, dudo que esta solución se aplique a mi situación (atenuando la señal con dos resistencias y luego compensando el rango usando un circuito de suma de amplificador operacional).

Intente usar un amplificador de instrumentación como el INA282 (está diseñado como un amplificador de detección de corriente, pero todo lo que realmente hace es amplificar la señal en una cantidad fija y cambiar el nivel para que se centre alrededor de un voltaje de entrada, después de todo)
Almacenarías la adquisición y la trazarías en pseudo-tiempo real
Sólo curioso. tu texto dice mV . Su gráfico muestra m V . Eso es sólo tres órdenes de diferencia de magnitud. ¿Cuál es?

Respuestas (1)

  1. Usando las bibliotecas estándar de Arduino, tendrá problemas para muestrear más de 10000 muestras por segundo.

  2. Si logra muestrear lo suficientemente rápido, necesitará un lugar para colocar los datos capturados. La memoria es notoriamente escasa en Arduinos, y la otra opción incorporada es el puerto serie para volcarlo a una PC. También puede intentar escribirlo en una tarjeta SD. No sé cómo son las bibliotecas para eso, o si hay un adaptador de tarjeta SD disponible para Arduinos.

  3. Los Arduinos tienen un convertidor de analógico a digital de 10 bits. Suponiendo una referencia de 5V, está hablando de pasos de 5mV. Para el rango que describe (120 mV), solo usaría 24 de los 1023 pasos del ADC. Necesitas un amplificador que multiplique por aproximadamente 30, y que agregue 2.5 V al resultado.

Si "menos de 10 kHz" se ajusta a su definición de "frecuencia de muestreo alta" y puede construir una placa de circuito pequeña para el amplificador, entonces podría hacer algo útil.

El problema con las bibliotecas estándar de Arduino para ADC es la frecuencia de muestreo inconsistente. Si incluye interrupciones y modo ADC continuo, puede ir más rápido. Para mi proyecto, tenía que enviar datos a la PC y podía llegar a una frecuencia de muestreo de aproximadamente 50 kHz, que estaba limitada por la velocidad máxima en baudios para el chip RS232 a uart integrado.