Comunicación entre PIC a más de 30 pies

Tengo un dispositivo basado en PIC24F que normalmente se conecta a una PC a través de USB. El dispositivo se puede controlar a través del software de PC de esta manera. Quiero agregar una caja de control manual opcional que también se puede enchufar en un conector separado en el dispositivo principal y se puede usar para controlar el dispositivo y leer/mostrar datos del dispositivo principal. Esta caja de control manual también estará basada en PIC. Estoy tratando de decidir qué técnica de comunicación usar entre el dispositivo principal y la caja de control manual opcional. Me gusta la idea de SPI, pero sé que no está destinado a ser utilizado en largas distancias. ¿Crees que mi mejor opción sería usar los módulos UART con transceptores de línea RS-232 para aumentar la señal a +/-12 voltios? ¿Hay realmente otras opciones?

Hay RS485, pero 30 pies es fácil en un entorno tranquilo. ¿Está tranquilo?
¿Tiene una fuerte preferencia con respecto a los protocolos alámbricos/inalámbricos?
Muchas de las opciones a continuación, basadas en dispositivos USB RS232 son económicas y fáciles, yo usaría RS232. 30 pies tendrán una velocidad máxima. lammertbies.nl/comm/info/RS-485.html

Respuestas (7)

Una opción (suponiendo que su dispositivo deseado lo admita... muchos Microchip PIC lo hacen) es un sistema de mensajería CAN. Se usa ampliamente en automóviles, por ejemplo, para que un sensor de velocidad de rotación de neumáticos y un acelerómetro puedan comunicarse con la computadora de la bolsa de aire. El protocolo está diseñado para que pueda tener un número ilimitado de dispositivos comunicándose en un bus sin colisiones.

Lo uso en mi empresa para comunicarme hasta unos 200 pies entre un producto y un controlador. La tasa de baudios estándar más alta es de 1 Mbit/s. Es bastante fácil de implementar en C. Necesitará un transceptor CAN si elige hacer esto; algo así como el MCP2551 de Microchip.

Aquí está la especificación , aquí están las notas de aplicación pertinentes AN713 y AN754

+1 CAN es robusto. Sin embargo, no creo que especifique la capa de hardware/física. Que voltaje y esquema de cables usas?
Por lo general, usamos 5 V CC a lo largo de un par trenzado blindado. Esto es poco común, la mayoría de las aplicaciones automotrices usan 12 voltios. Para una carrera de 30 pies en algo menos ruidoso que un microondas, primero intentaría usar CAT5 alimentado a 5 V CC, porque es barato y probablemente funcionará bien. editar: trabajo en iluminación industrial, no automotriz
+1 para CAN. La capa de hardware se define especialmente. si opta por un protocolo como CANopen

RS-485 funcionará bien, pero deberá agregar un transceptor RS-485 entre su UART y el bus RS-485. Hay muchos protocolos de software que utilizan esta capa física. Modbus es uno de los que he usado en el pasado. Es muy simple de implementar y existen muchos controladores industriales que lo admiten.

Implementé el protocolo DMX utilizado para los sistemas de iluminación teatral, que es una especie de RS-485, y funcionó en un entorno ruidoso al menos hasta 100 pies. Esto estaba usando un PIC16F877A y un controlador de línea RS-485 para transmitir, y varias otras unidades receptoras con los mismos microcontroladores, conectados en cadena a lo largo de la línea de 100 pies con una resistencia de terminación al final... funcionó bien.

Microchip en realidad tiene una hoja de datos muy buena sobre el tema con algunos diagramas de circuitos y código ensamblador de ejemplo.

Sí, RS232 funcionará. Mantenga la velocidad en baudios agradable y baja, y 30 pies no es un problema. Pero las largas tiradas de cable son una molestia, por lo que la conexión inalámbrica parece atractiva. Especialmente porque un cable RS-232 de 30' de calidad cuesta algo de dinero.

Otras ideas a tener en cuenta:

  • si la comunicación unidireccional es aceptable, coloque un receptor IR en la caja y prográmelo para escuchar un control IR del consumidor. Use los códigos de un control remoto popular para que funcione un control remoto universal de $8.

  • si controla el software host en la PC, haga que abra un puerto ethernet y sirva páginas web con las funciones y controles deseados en ellas. Cualquier iPad o teléfono inteligente con wifi se convierte en un control remoto, y el monitoreo remoto es fácil. Incluso podría reemplazar el USB con un puerto ethernet, pero eso agregará algo de complejidad a la caja.

  • Mire los módulos inalámbricos de banda ISM como el material 24L01 de Nordic y las partes CCxxxx de TI. Sparkfun vende algunos en módulos. Si se trata de un producto real, el uso de módulos precertificados por la FCC puede ahorrar algo de dinero porque la certificación de la FCC es costosa. Yo diría que los módulos tienen sentido en volúmenes de productos de hasta 5000 piezas.

Editar: Deberías usar este control remoto.

Para agregar a la respuesta RS232 : asegúrese de implementar una verificación de errores mejorada además de la paridad (CRC o lo que sea). Es posible que pueda usar un cable CAT5e o CAT6, según su entorno, que es económico.

He usado estos, Receptor RF Link 4800bps - 315MHz y Transmisor RF Link - 315MHz

Tengo 2 frecuencias diferentes, una para enviar y otra para recibir. Los he usado con éxito hasta 30 pies usando 5v para alimentarlos. Sparkfun también tiene otros dispositivos de comunicación inalámbrica.

Acabo de mirar los productos xbee y bluetooth.
xbee, por lo que he oído, funciona muy bien, probablemente recogeré algunos pronto.
Vale la pena mencionar que creo que los módulos de RF vinculados no tienen verificación o corrección de errores. Depende totalmente del usuario verificar que los datos transmitidos sean válidos. Cualquier ruido durante la transferencia de datos puede causar errores, que no serán detectables a menos que realice una verificación de paridad o CRC.
@Fake Name Sí, tiene razón, no hay errores al verificar los módulos de RF vinculados, son dispositivos muy simples, por lo que no hay campanas ni silbatos.

Hay varios dispositivos ZigBee que se pueden usar como un UART y deberían ser fáciles de controlar desde un dispositivo PIC. Por ejemplo, el XBee es bastante fácil de usar y muy económico. En mi experiencia, he podido transmitir y recibir datos en una oficina llena de gente a distancias superiores a los 100 pies, y en un espacio abierto podríamos hacerlo mucho mejor, especialmente con buenas antenas. En mi opinión, la conexión inalámbrica es mucho más preferible que una de 30 pies. cable largo!

Estoy de acuerdo. ¡Los módulos Digi xbee pueden ser más baratos que un cable! Recorrerán 10-20 m sin antena y 100 m a través de paredes incluso con un cable de 1/4 de longitud de onda como antena. También proporcionan una verificación completa de errores e incluso encriptación.

La interfaz MIDI fue diseñada para comunicarse de manera confiable a más de 50 pies. El hardware requerido (un optoaislador y un diodo y algunas resistencias y un IC o inversor de transistores) cuesta menos y tiene un mejor rendimiento en líneas largas que el hardware requerido para la comunicación RS232 de +/- 12 V.