Estoy trabajando en un proyecto que implica leer periódicamente 16x voltajes analógicos de 0 ~ 5V de circuitos divisores de voltaje FSR idénticos utilizando un ADC. Cada FSR está conectado a una etapa de ganancia/LPF antes de ser leído por un ADC. El circuito de acondicionamiento de señal de cada FSR es idéntico.
Originalmente, iba a utilizar 4x LM324 para las etapas de ganancia y filtro de las 16 señales (junto con todos los pasivos necesarios para las redes de retroalimentación). Teniendo 16 de todo (incluidos pasivos) parecía innecesariamente redundante si todos los circuitos de ganancia/filtro eran exactamente los mismos, así que pensé en usar un mux analógico para cambiar entre la señal de cada FSR, y tener la señal muxada alimentada en un solo circuito de acondicionamiento de señal y ADC.
Mi razonamiento detrás de esto: si necesitaba modificar el circuito de ganancia/filtro, simplemente podría actualizar los componentes una vez, en lugar de actualizar los 16 de todo.
Actualmente, estoy implementando este diseño utilizando un PSoC 5 LP, ya que tiene el mux analógico / amplificador operacional / ADC todo en un solo paquete:
No tengo mucha experiencia en el diseño de aplicaciones de adquisición de datos multicanal como esta, y me gustaría saber si este diseño parece bueno/malo, o si crees que hay una forma mejor (o más elegante) de abordar esta tarea.
EDICIÓN (1): La hoja de datos para el chip específico PSoC 5 LP (CY8C5888LTI-LP097) se encuentra aquí. Por "FSR", me refiero a "resistencia de detección de fuerza". Las 16 mediciones de ADC se toman a aproximadamente 200 Hz (es decir, todas las 16 mediciones deben tomarse en menos de 1/200a de segundo). Actualmente estoy operando el ADC Delta-Sigma con una resolución de 12 bits. La salida de cada divisor de voltaje FSR varía de 0V (aprox. 0 fuerza aplicada al FSR) a ~5V (fuerza máxima antes de que el FSR se sature).
EDICIÓN (2): Las señales de los circuitos divisores de voltaje FSR estarían en el extremo inferior de las frecuencias acústicas (los FSR están midiendo las fuerzas/presiones ejercidas por un ocupante en la superficie de una silla de oficina), desde aproximadamente 500 Hz hasta frecuencias de CC (0 Hz). No tengo la intención de capturar todo el contenido de frecuencia de las señales, de ahí la menor tasa de muestreo.
También, aquí hay una imagen del circuito divisor de voltaje para las resistencias de detección de fuerza.
1 votos
Hoja de datos requerida para PSoC 5 LP. Por favor proporcionar enlace. Además, ¿qué tasa de refresco estás considerando? ¿Cuánto tiempo de establecimiento has estimado (de una señal grande a una pequeña o negativa)? ¿Qué profundidad de bits para el ADC? ¿Cuáles son tus señales de entrada exactamente? ¿Qué significa "FSR"? Deja todas tus respuestas en la pregunta - no comiences a documentar cosas como comentarios.
3 votos
¿Has tenido en cuenta el hecho de que tu filtro único necesitará tiempo para estabilizarse cada vez que el multiplexor cambie a un nuevo canal?
0 votos
Consideré brevemente eso antes, pero definitivamente necesito reconsiderar el diseño ahora que tú y @DaveTweed lo mencionan!
0 votos
¿Es tu algoritmo simplemente seleccionar un nuevo canal de mux, esperar a que se estabilice y luego muestrear el nivel cercano a CC? (puede sobremuestrearlo y filtrar para rechazar ruido pero efectivamente es una sola muestra) ¿O tienes la intención de hacer algo diferente? Gracias.
0 votos
Por el momento, solo tengo todos los canales muestreados lo más rápido posible cada 1/200 de segundo. Así que una vez cada 1/200 s, el PSoC medirá/multiplexará/medirá/multiplexará/... hasta que se hayan almacenado en un búfer las 16 lecturas/conversiones del ADC. Después de las 16 lecturas de los FSR, se almacenan los datos del acelerómetro de una IMU. Después de que se completen las mediciones de los FSR e IMU, transmito el conjunto completo de datos a través de UART a un MCU separado que maneja dispositivos de almacenamiento masivo y comunicaciones Wi-Fi. Nota: Las transmisiones por UART no tienen lugar cada 1/200 de segundo, tienen lugar aproximadamente una vez cada 5 segundos.