Necesito muestrear señales de voltaje 50Hz de cuatro sensores de corriente CT y comparar las formas de onda con una señal de voltaje de la red (descender y compensar para ADC) para medir con precisión el consumo de energía de cuatro dispositivos .
Me gustaría obtener al menos 360 muestras para cada forma de onda por período, lo que significa un total de 1800 muestras por segundo. Dado que la frecuencia de la señal es de 50Hz, esto significa una velocidad de lectura de 90kHz .
Tengo un ADC de 10 bits MCP3008 disponible que utiliza una interfaz SPI, una placa Arduino Uno y una Raspberry Pi 2.
El MCP3008 tiene una tasa de muestreo máxima de 200kps ( hoja de datos ).
Los pines de entrada analógicos de Arduino Uno se pueden leer en 10kHz ( documentos oficiales ).
La Raspberry Pi puede trabajar con interfaces SPI a 20kHz usando el controlador estándar de Linux, como se mencionó aquí , aunque al omitir el controlador estándar de Linux supuestamente puede funcionar más rápido (no No sé cuánto más rápido: hay muchos números diferentes lanzados en línea).
El Arduino Uno puede trabajar con interfaces SPI a velocidades mucho más altas que la Raspberry Pi.
De lo que puedo recopilar, hay tres configuraciones para elegir:
- Leyendo los 5 valores directamente usando analogueRead () del Arduino (claramente no funcionará)
- Usar el ADC MCP3008 con la Raspberry Pi (¿es posible hacerlo lo suficientemente rápido con algunas modificaciones?)
- Uso del ADC MCP3008 con el Arduino
¿Se puede lograr la velocidad requerida utilizando cualquiera de las configuraciones mencionadas anteriormente? Si no, ¿cuál sería la velocidad máxima que se puede alcanzar?