Me gustaría configurar una "matriz de sensores" que tenga 4 sensores conectados. Se espera que cada sensor envíe datos a velocidades de hasta 8 Hz. Los datos se enviarían a una MCU que se encuentra a 1 o 2 metros de distancia. Esta MCU almacenará los datos en una tarjeta SD.
Para ilustrar esto un poco mejor:
Estaba pensando en usar I2C para comunicarme entre la MCU y los sensores en la matriz de sensores, pero no estoy seguro de qué tan bien funcionaría I2C a esta distancia y si sería lo suficientemente rápido.
SPI parece ser un gran no no en términos de distancia.
Otras interfaces que podrían funcionar son CAN y RS485, aunque nunca las he usado antes. He profundizado en el uso de CAN y aunque parece que podría funcionar bien, también parece que podría ser un poco "excesivo" para lo que necesito.
Entonces, ¿qué interfaz de comunicación en serie podría funcionar mejor en este tipo de escenario?
Cualquier ayuda es apreciada.
No dijiste cuántos datos está produciendo cada sensor y cuál es el entorno (¿al lado de un motor grande?). Puede resultar que I2C simplemente funcione si no tiene mucha EMI del exterior.
Existen estándares de interfaz para distancias cortas (baratas y fáciles) y distancias más largas (más costosas y complejas). Los estándares clásicos de larga distancia son ciertamente RS-485 y CAN.
En su escenario, si no quiere usar CAN o RS-485, podría usar quizás SPI con controladores RS-422, para que cada línea (SCK, MOSI, CS) se transmita como un par diferencial. Será tan robusto como RS-485, no requerirá otra MCU en la placa del sensor, pero requerirá más cables de señal.
Si puede pagar una MCU básica, pequeña y económica en la placa del sensor, entonces podría usar RS-485 fácilmente.
4 sensores a 8 Hz es algo así como 1 kbit/s, asumiendo lecturas de 32 bits. Un UART simple de 5 V funcionará sin problemas a lo largo de varios metros a tales velocidades en baudios.
SPI también se puede usar directamente si sus sensores permiten velocidades de datos arbitrariamente lentas. Disminuya la velocidad de sus señales (usando un filtro RC) en el transmisor y regenere los bordes rápidos usando disparadores Schmitt en el receptor, si los bordes muestran un problema.
Eugenio Sh.
wesley lee
τεκ
KalleMP