Lectura de una señal IR y funcionamiento de uno de los 5 motores

Antes de que me juzgues, soy bastante nuevo en electrónica además de los conceptos básicos , así que sé amable. Sin embargo, soy bastante hábil con las computadoras a un alto nivel; Soy decente escribiendo código y tengo experiencia con Java, C# y JavaScript.

Básicamente, lo que quiero es enviar una señal IR desde una computadora a un receptor IR en una caja a unos 2 o 3 pies de distancia. (sí, tiene que ser IR). Una vez que el receptor recibe la señal, debe encender uno de los cinco motores pequeños durante, oh, 500 mseg (cada uno de los cuales toma ~ 1.5-3v) dependiendo de cuál de las 5 señales se le envía.

Ahora hay varias partes en esto:

1. Envío de la señal IR

Este transmisor debe enviar datos al menos a 2 pies, hasta 5. (Creo que no debería ser un problema). Tendré que controlarlo a través de USB. He encontrado dos:

http://adafruit.com/products/387 - un LED IR barato ($.75). Sin embargo, no estoy seguro de si uno de estos puede enviar múltiples señales.

No puedo publicar más de 2 enlaces, así que busque en Amazon Syba SD-U1IRDA-NM USB Fast Infra-Red Adapter, un adaptador IR más caro ($12). Una de las ventajas de esto es que ya tiene un puerto USB.

2. Recibir la señal IR

El receptor debe ser bastante pequeño ( tal vez hasta un máximo de 2 cm cúbicos). Hasta ahora he encontrado uno:

http://www.adafruit.com/products/157 - solo $1.95. Es pequeño, parece que funciona, es barato, etc. Si hay algún problema con su uso, me encantaría saberlo.

3. Procesando la señal IR y haciendo cosas

Ahora, algo necesita mover los motores. Supongo que un PIC (no estoy seguro de cuál, sugiera uno) ya que son baratos, populares y un pariente me dio un programador de PIC, alrededor de 2006 (supongo que esto no importa), para Navidad pasada (ella no tenía ni idea de lo que era, pero alguien le dijo que era un buen regalo para un programador)

Esta es el área en la que estoy más confuso. Supongo que de alguna manera conectaría la alimentación a dos patas del sensor, conectaría la tercera pata a parte del PIC, haría que el PIC ejecutara un código simple para averiguar cuál de las 5 señales recibió y luego encendió la energía para uno de los 5 motores, apagándolo ~500 mseg (nunca tiene que ser preciso) más tarde.

tl; dr: ¿Cuál, si hay alguno, PIC debo comprar? ¿Qué transmisor IR funciona? ¿Funciona este receptor de infrarrojos? ¿Cómo programo el PIC y cómo debo cablearlo para controlar los motores?

Solo una nota sobre las señales. IR generalmente usa codificación, como un código de barras. Por ejemplo, el control remoto de su televisión tiene un solo emisor de infrarrojos, pero puede enviar docenas o cientos de códigos diferentes. En términos simples, la operación deseada se codifica en una serie de pulsos, y el detector los decodifica y luego lleva a cabo la acción correspondiente.
@JYelton: Entonces, básicamente, estás diciendo que puedo usar el LED IR en lugar del USB, ¿pero necesitaré otra cosa allí para enviar varias series de pulsos?
Puede enviar señales con un LED IR utilizando varios medios. Puede usar un microcontrolador (como un control remoto) o simplemente construir un dispositivo USB que obtenga la información de pulso codificada de la computadora. La clave aquí es que necesitará alguna forma de generar los pulsos. Simplemente proporcionar energía a un LED IR no generará ningún dato significativo.

Respuestas (2)

Puede construir un decodificador RC5 simple usando un microcontrolador PIC.

Transmisor: use un control remoto universal con la configuración de TV Phillips. RC5 es un protocolo diseñado por Phillips para sus controles remotos de TV, VCR, etc. Al usar el protocolo RC5, elimina la necesidad de diseñar su transmisor. Simplemente use cualquier control remoto universal y prográmelo para Phillips TV. He visto controles remotos universales flotando en tiendas de solo 99 centavos en el sur de California.

Receptor: se puede construir un decodificador RC5 alrededor de un microcontrolador PIC. Eche un vistazo al decodificador RC5 con microcontrolador PIC . Este artículo describe el protocolo RC5, el hardware y el software necesarios para decodificar RC5. Muchos tienen que cambiar el código a su gusto. Para accionar motores, utilice controladores de transistores simples en las salidas del PIC. El controlador del motor depende del tipo de motor que esté utilizando.

ingrese la descripción de la imagen aquí

¡Genial gracias! El único problema con el uso del control remoto universal como controlador es que el transmisor debe estar controlado por computadora, y dado que tengo que hacer muchos de ellos, puede tomar un tiempo desmontarlos y crear muchos pequeños dongles USB usando el control remoto Phillips. , además, no estoy seguro de cómo convertiría un control remoto en un dispositivo USB.
También puedes mirar USB Infrared Toy . Es un diseño de código abierto y puede ayudarlo a desarrollar una interfaz USB a IR.
Eso sería perfecto si no fuera por su alto precio. Creo que podría terminar usando el transceptor IR de Amazon: cuesta $ 8 menos, lo que se suma rápidamente cuando tienes muchos dispositivos. Creo que sourceforge.net/projects/winlirc me ayudará a controlar el dispositivo.
@OwenVersteeg, en mi opinión, los costos/precios deben considerarse solo cuando se realiza una producción comercial a gran escala. No sé si su aplicación es comercial. Si es así, definitivamente puede absorber algunos costos de desarrollo de USB. Debe hacer un análisis de costo-beneficio y ver si un producto IR comercial vale la pena.
No estoy haciendo esto comercialmente (aunque podría hacerlo más adelante), pero estoy construyendo 50. Por lo tanto, elegir el de Amazon me ahorra $ 400 si funciona, y no veo ninguna razón para que no lo haga.

Su pregunta es una serie de subpreguntas, que probablemente podrían (y deberían) ser preguntas propias cuando llegue a ese punto.

Pero para abordar las cosas en una perspectiva macro:

Envío de la señal IR:

Un simple emisor de infrarrojos (LED IR) es todo lo que se utiliza en los controles remotos domésticos más comunes. Puede encontrarlos fácilmente en cualquier fuente de electrónica acreditada. La distancia que necesita cubrir (2-5 pies) es trivial para la mayoría de estos. Puede volverse más difícil con la interferencia o la saturación de IR, como en el exterior debido a la luz solar, pero supongo que su aplicación es en interiores/oficinas. Querrá usar algo de 900nm a 1000nm (NIR) en longitud de onda; mi recomendación es evitar los listados en 890nm o menos, ya que algunos de ellos pueden emitir luz visible. (Aunque esa recomendación es más para la iluminación IR del equipo de cámara de visión nocturna que para los controles remotos).

El ángulo de visión del LED es importante, porque tendrá un efecto en qué tan bien deben alinearse el emisor y el receptor. Un Optek OP265W tiene un ángulo de visión de 90°, lo que brinda mucha cobertura, pero puede disminuir el brillo (y, por lo tanto, el rango operativo). Sin embargo, dijiste que tu rango es pequeño (2-5 pies). También tienen paquetes de ángulo de 18°, que usaría para una aplicación de larga distancia.

Recepción de la señal IR:

Coincidir con el emisor en longitud de onda y frecuencia, principalmente. El que vinculó es más sensible de aproximadamente 900 a aproximadamente 970 nm. Su hoja de datos muestra que hay varias frecuencias portadoras que hacen que una parte u otra sea más o menos ideal. Por ejemplo, se recomienda el TSOP38238 para aplicaciones de 38 kHz. (Más sobre la frecuencia a continuación).

Estos dispositivos son pequeños, generalmente no más grandes que un LED de retención pasante de 5 mm o un transistor TO-92 estándar. Pero tenga en cuenta que necesitará algunos circuitos de apoyo para controlar el receptor y decodificar las señales, y también para controlar los motores. Lo que nos lleva a:

Procesando la señal IR y haciendo cosas:

Digamos que tienes el receptor IR en una placa pequeña, ¿qué más hay? Bueno, necesitará un microcontrolador para decodificar los pulsos, algunos transistores o relés (o una combinación de ellos) para impulsar los motores y, por supuesto, una fuente de alimentación. Así que no olvide estos elementos críticos cuando calcule el espacio necesario para el receptor y sus componentes electrónicos asociados.

Definitivamente puede usar un PIC (o cualquier otro micro), y probablemente lo recomiende ya que mencionó que ya tiene un programador. Aunque no soy un experto en PIC, querrá preguntar sobre los aspectos de programación por separado.

La generación (y decodificación) de los pulsos generalmente se realiza con modulación de ancho de pulso, en la que varía la longitud o duración de los pulsos en un reloj. Para el receptor que vinculó, las frecuencias están en el rango de 30 a 56 kHz. Hay muchos artículos sobre codificación y PWM, deberá investigar qué le parece adecuado para su aplicación.

Terminará conectando el sensor IR al PIC, con algunos componentes de filtrado de apoyo, y también conectando algunos pines de salida a los motores. No mencionaste qué tamaño de motores, o si son paso a paso, CC o CA. Esos atributos afectarán los componentes que seleccione (transistores de potencia, relés, etc.). Dado que necesita pulsos de 500 ms, recomendaría buscar transistores de potencia o MOSFET, pero se necesita más información antes de que alguien pueda hacer una recomendación.

Editar:

Los motores que menciona son de 1.5-3 voltios, que supongo que son pequeños motores de CC. Todavía van a tomar (casi con seguridad) más corriente que la fuente de la lata micro, por lo que deberá buscar los circuitos de conducción del motor de los micros. Aquí hay uno de Seattle Robotics .


En resumen, deberá investigar métodos de codificación para la transmisión IR (la modulación de ancho de pulso es la más común). También busque formas de controlar motores desde microcontroladores (mucha información en la red): la conclusión es que no puede controlar los motores con el micro directamente; no puede proporcionar suficiente corriente.

Le sugiero que divida el proyecto en partes más pequeñas y pregunte sobre ellas específicamente según sea necesario, obtendrá más detalles.

Algunas referencias útiles:

Con respecto a los motores: tienes razón, lo son. Pero no necesito una velocidad constante para estos motores, así que supongo que no necesito un controlador de motor (tratando de mantener todo muy pequeño)
El LED que mencionaste era de 890nm. ¿Es esto lo suficientemente cerca? El LED que encontré originalmente tenía solo 20 grados; Creo que podría necesitar uno de 90 grados como el que mencionaste.
Es posible que deba experimentar con el ángulo de visión. A corta distancia de la que hablas, no creo que tenga una importancia crítica. Además, con los motores, no entró en detalles sobre lo que está tratando de hacer con ellos. Puede que se necesite o no un controlador de motor (PWM). Todo depende.
@JYelton Podría usar el transceptor de Amazon simplemente porque es menos trabajo para mí (de lo contrario, tengo que hacer 50 transmisores a mano) + Debería poder controlarlo fácilmente a través de las API de Windows.
Además, para los motores: creo que por ahora solo quiero hacer dispositivos donde notifique al usuario a través de un motor de vibración. (Tenía otra idea para la que tal vez me gustaría usar un PWM, pero por ahora me quedo con esta idea)