Lecturas rápidas del sensor

1

Estoy desarrollando un registrador de datos para usar en escuelas secundarias como ( enlace ). La principal diferencia es que la mía se supone que se debe usar principalmente con un iPad. Tengo una conexión entre un microcontrolador y un iPad en funcionamiento, pero tengo una pregunta sobre la comunicación entre los sensores y el 'hub', que es la parte que hace posible conectar hasta 3 sensores al iPad.

En el nivel de prototipo, mi hub consta de un Atmega328 (arduino) y los sensores se conectan directamente a los pines del convertidor A / D.

Pero como se supone que este sistema es compatible con una variedad de sensores, esta solución no es lo suficientemente genérica (es decir, si se deben conectar sensores de distancia, no funcionará en el pin anlog, ya que sería la diferencia entre 2 marcas de tiempo ). Así que estoy pensando en agregar un microcontrolador en cada sensor y dejar que el microcontrolador se comunique con el microcontrolador del concentrador, que luego transmitirá los datos al iPad.

¿Qué protocolos deben usarse para comunicarse entre estos microcontroladores? ¿Y está en el camino por recorrer?

  1. La longitud del cable sería de 2 m como máximo.
  2. La cantidad máxima de cables es 4 y debe incluir +5 y GND para el sensor.
  3. En algunos casos, las lecturas deben ser rápidas 20 hz o preferiblemente incluso más.
  4. Debería ser posible enviar algún tipo de identificación junto con el concentrador, por lo que el concentrador sabe qué tipo de sensores están conectados.

Es posible ver un video del prototipo aquí .

    
pregunta Morten Y

2 respuestas

2

Para varios sensores, un surtido de analógico y digital, una solución simple sería utilizar un Arduino Mega con un " Mega Sensor Shield " ( parte inferior de la página ) ($ 11-12) adjunto a la misma. DfRobot ofrece un Mega Sensor Shield con conector XBee a bordo ($ 18-20), lo que podría ser aún más útil:

Esta combinación permite conectar diferentes sensores, ya que cada uno de los 54 digitales y 16 IO analógicos del Arduino Mega se distribuyen en cabezales separados de 3 pines. Consta de señal, tierra y Vcc (5 voltios). Por lo tanto, los sensores que necesitan energía también lo recibirían del Sensor Shield.

Como las placas Arduino en sí mismas no pueden proporcionar más de 200 a 500 mA por placa, según las especificaciones de la placa, el Sensor Shield también tiene un conector para aceptar la energía de una verruga de la pared. El Arduino se apaga del escudo, al igual que todos los sensores.

La razón para recomendar el conector XBee es que la incorporación del registro de datos remoto, a través de un módulo Bluetooth o WiFi XBee, se vuelve fácil. Esto es especialmente valioso en un entorno donde los cables largos desde la ubicación del sensor / registrador a una computadora para visualización de datos o almacenamiento a largo plazo conllevan riesgos de daños.

Los protectores de sensor también están disponibles con un módulo de tarjeta SD a bordo, o conectores provistos para uno. De nuevo, esto podría ser útil si el registrador de datos necesita almacenar grandes volúmenes de datos localmente.

    
respondido por el Anindo Ghosh
1

20Hz no es particularmente rápido, 20khz debería ser alcanzable en condiciones normales.

Las opciones obvias son:

  • serie genérica
  • I2C
  • Dallas 1-Wire (en realidad un cable + tierra)
  • USB

Los dos primeros están disponibles en la mayoría de los microcontroladores. I2C no fue realmente diseñado para descargar cables, pero funciona bastante bien de todos modos. Puede poner varios dispositivos en una línea con varias técnicas. Algunos sensores (p. Ej., Temperatura) están disponibles con interfaces I2C incorporadas. Está diseñado para el sondeo por el dispositivo maestro, que también elige la velocidad de reloj para la transmisión.

Serial UART es el más fácil de usar y depurar.

1-Wire es propietario y es más difícil de implementar, pero hace que el cableado sea trivial. Es más lento que I2C.

USB tiene toda la autodetección y la facilidad de conexión a una PC, pero requiere un hardware especial en el microcontrolador y generalmente es mucho más exigente. También es el más rápido por un largo camino.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas