Red de sensores Arduino de larga distancia - ¿Protocolo 1Wire o RS422?

3

Tengo algunos sensores de cada uno de los cuales necesito - leer un voltaje - Poder encenderlos. (Están alimentados por una fuente de alimentación de CA 220V).

La distancia a cubrir es de unos 40 metros.

No quiero usar muchos cables para lograr esto.

Las soluciones que he estado considerando son las siguientes: - Protocolo de 1 cable: es bastante simple, pero algunas personas han reportado algunos problemas;

  • rs422, funciona bien en largas distancias, pero podría ser una solución cara.

En caso de que elija el protocolo de 1 cable, ¿cómo puedo conectar mis sensores a una interfaz de 1 cable?

Si rs422 no es demasiado complicado y expansivo, optaría por esta opción, ya que podría considerar la posibilidad de extender la red a más de 200-250 metros en el futuro.

¿Cómo conectaría mis sensores a una interfaz rs422? ¿Cómo lograría que mi Arduino hablara con RS22? ¿Has probado algún chip RS422? He visto algunos de ellos en línea, pero no estoy seguro de cuál elegir.

¿Sería demasiado complicado hacer un cable RS22 yo mismo? He mirado en ebay y he encontrado solo cables no lo suficientemente largos y extensos.

    
pregunta geraldCelente

1 respuesta

6

Personalmente no elegiría RS422 o 1-wire.

RS422 es realmente una conexión punto a punto, como RS232 (y generalmente se usa para extender RS232), y 1 cable es realmente solo para conexiones locales dentro de una PCB.

En su lugar, debe utilizar RS485.

RS485 es como RS422 (RS232 con señalización diferencial), excepto que está diseñado para ser punto a multipunto, o completamente peer-to-peer.

La comunicación suele ser semidúplex (aunque no siempre, pero es más simple mantenerlo semidúplex), y usualmente usaría un chip MAX485 (o similar) para convertir la conexión UART de un microcontrolador a RS485. Se utiliza un único pin GPIO para cambiar al modo de transmisión cuando desea enviar datos en la red, y de lo contrario, está en modo de recepción constante esperando que lleguen los datos.

Necesitaría un pequeño microcontrolador con cada sensor para conectarlo al bus, algo simple, como un ATTiny o un PIC16, algo con un UART de hardware preferiblemente y, por supuesto, las instalaciones que necesite para comunicarse con su sensor.

Luego, escribiría un protocolo (o usaría uno existente) mediante el cual el Arduino envía un mensaje con un identificador de "dirección" en el bus, junto con un comando, y el sensor programado con la dirección correspondiente reacciona a ese comando, posiblemente luego devolviendo datos a Arduino (un protocolo típico de "respuesta de llamada").

En cuanto al cableado, no necesita nada especial. El simple cable serial blindado de dos núcleos está bien, aunque eso puede considerarse una exageración: si no es un entorno demasiado ruidoso, cualquier cable de dos núcleos funcionaría. Lo mejor, aunque por supuesto es un par trenzado, y la mejor calidad absoluta es el par trenzado blindado. Una buena opción es el cable Ethernet CAT5. Es barato, viene en rollos de 305 m, y tiene 4 pares trenzados. Por supuesto, solo necesitas uno de esos pares, por lo que los otros tres podrían usarse para otras cosas, como por ejemplo el poder de transporte.

    
respondido por el Majenko

Lea otras preguntas en las etiquetas

Comentarios Recientes

Arduino programa que acaba de hacer; Entiende cómo hacerlos! # 1 Los protocolos de cables se pueden descargar desde Arduino, de forma similar a esta página # en todos nuestros sensores, incluimos imágenes de ejemplos de uno de ellos para acompañarlos. Una nota: ¡en el momento en que piense que ha buscado todas las herramientas de nosotros, lea ese enlace! Algunas herramientas para leer información basada en números eléctricos son: Aardvark Aardvark Acalvark Ascalon Arduino comunicador LCD MCUSignal Bloop trigger... Lees verder