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?
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
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.
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.
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!
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.
tiblu
kevin vermeer
kenny