Circuito decodificador de señales IF de control remoto, para

Anuncio
IMPULSO, REVISTA DE ELECTRÓNICA, ELÉCTRICA Y SISTEMAS COMPUTACIONALES
7
Circuito decodificador de señales IF de control
remoto, para el manejo de aplicaciones en la PC
Eduardo Romero Aguirre
Resumen— Es tal el uso de la PC en aplicaciones
tradicionalmente consideradas domésticas, que ha comenzado a
reemplazar en los hogares (de la clase media alta) a
reproductores de musica, películas y sintonizadores de radio o
TV.
A pesar de lo anterior, se ha limitado al usuario a tener que
manipular cada una de las aplicaciones a través del teclado o del
ratón, siendo que en la vida cotidiana, nuestra interacción con
dichos aparatos caseros es a través de un dispositivo de mando
inalámbrico regularmente infrarrojo.
Por tal motivo, en este artículo presenta a detalle el diseño del
hardware y firmware, necesarios para la implementación de un
circuito decodificador de señales infrarrojas provenientes de un
mando remoto para su utilización en el manejo de aplicaciones,
en especial las multimedia.
Se describe además en forma concisa el protocolo RC-5 y sus
características. Se expone el uso del microcontrolador PIC
16F628 como parte fundamental del circuito, debido a que es el
encargado de decodificar la señal, identificar el comando de
control y enviar dicho comando en forma serial a la PC.
También se verifica en forma exhaustiva la compatibilidad del
dispositivo diseñado con el software de aplicación PC Remote
Control 4.0©, el cual es el encargado de traducir los datos
enviados de manera serial a la PC, a un conjunto de acciones o
tareas que debe tomar ejecutar la aplicación que se quiera
manejar.
Palabras
clave—
Protocolo
RC-5,
señal
microcontrolador, software de aplicación,
Manchester, decodificación.
infrarroja,
codificación
I. INTRODUCCIÓN
ctualmente, el control remoto de aparatos electrónicos es
algo habitual. Es notoria la cantidad de aparatos
electrónicos con mando a distancia que hoy en día
podemos encontrar en los hogares.
Resulta evidente que los mandos a distancia han sido una
revolución en todos los ámbitos, incluyendo al de la
computación. Por otro lado, las computadoras son un recurso
muy comúnmente usado en ambientes laborales y educativos,
A
Manuscrito recibido el 30 de junio del 2005. Este trabajo es respaldado por
impulso, revista de, electrónica, eléctrica y sistemas computacionales.
Eduardo Romero A. actualmente esta en Dpto. de Ing. Eléctrica del Instituto
Tecnológico de Sonora. Ave. Antonio Caso S/N Col. Villa ITSON; Ciudad
Obregón, Sonora, México; C.P. 85130; (e-mail [email protected]).
que poco a poco se está trasladando hacia la mayoría de los
hogares, desplazando a la mayoría de los aparatos domésticos
tales como: reproductores de música, películas, juegos de
video y sintonizadores de radio o TV.
Pero a pesar de lo anterior, la PC tiene la desventaja de no
contar con un dispositivo inalámbrico que permita al usuario
ejecutar de manera remota, tareas cotidianas como: subir el
volumen, comenzar la reproducción de un video, avanzar a la
siguiente dispositiva de una presentación, etc. En vez de esto
se tiene que acercar físicamente a donde se encuentra el
teclado o el ratón para poder manejar la aplicación en curso.
II. COMUNICACIÓN INALAMBRICA POR
INFRARROJO
El espectro infrarrojo es una radiación por debajo del rango
de frecuencias visibles. Este es empleado más a menudo que la
radiofrecuencia en aplicaciones domesticas debido a su
inmunidad a la interferencia electromagnética y su bajo costo
de implementación.
Sin embargo, otras fuentes pueden contener luz infrarroja e
interferir con la comunicación de los dispositivos, tal es el
caso de la luz del sol. Cualquier fuente de calor genera rayos
infrarrojos, incluso nuestro cuerpo, por tal razón se debe
establecer una clave de comunicación para que nuestro
receptor discrimine las emisiones de rayos infrarrojos que no
sean parte del mensaje que deseamos recibir.
El método preferido para eliminar tales interferencias es
modular a una cierta frecuencia el haz infrarrojo. Así, el
receptor sólo interpretará está frecuencia infrarroja,
desechando las demás [1].
Actualmente se ha establecido que una frecuencia de 30 a
60KHz de pulsaciones infrarrojas es una forma adecuada de
transmitir información a baja velocidad. Por tal motivo, la
mayoría de los mandos o controles remotos hacen uso de ella
(36-40KHz).
En particular, generar una señal pulsante infrarroja de
36KHz no representa una gran complicación, la problemática,
como suele suceder la mayoría de las veces, estriba en el
desarrollo de la etapa que se encargará de recibir e identificar
esta frecuencia.
8
IMPULSO, REVISTA DE ELECTRÓNICA, ELÉCTRICA Y SISTEMAS COMPUTACIONALES
Fig 2: Ejemplo de mensaje del protocolo RC-5.
Fig. 1. Circuito típico de transmisión por infrarrojo.
Un circuito típico para un transmisor puede observarse en la
figura 1. Un tren de pulsos, que denotará un estado lógico, es
inyectado a la base de un transistor, el cual a su vez controlará
la activación de un led infrarrojo para generar la señal pulsante
[2].
.
Del lado del receptor, esté tratará de identificar esta
frecuencia pulsante y le asignará el estado lógico
correspondiente para convertirla en una secuencia de bits.
Protocolo de comunicación por infrarrojo, RC-5.
A continuación se describe éste protocolo que fue inventado
por la compañía Phillips© para uso en sus equipos de control
remoto [3].
Un mensaje individual es transmitido por un total de 14 bits
en codificación Manchester. Cada bit tiene una duración de
1.776 ms. La codificación Manchester utiliza una transición
del nivel bajo al alto para representar un 1 lógico y una
transición del nivel alto al bajo para el 0 lógico [2, 4]. En la
figura 2 puede visualizarse un ejemplo de mensaje del
protocolo RC-5.
Los primeros 2 bits de inicio son usados para sincronización
y ajuste del receptor, el bit de control (toggle) cambia cada vez
que se presiona una tecla y permanece constante cuando se
mantiene presionada una tecla del control. Los bits de
dirección proporcionan, una característica muy poderosa, ya
que cambiandolos podemos controlar más de un dispositivo
con el mismo control, por ejemplo controlar dos televisores,
uno con la dirección 00000 y otro con la dirección 00001. Por
último, los 6 bits de comando determinan la función o la orden
que se da al dispositivo, como por ejemplo, subir o bajar
volumen [2].
Fig. 3. Diagrama esquemático del sistema [6].
Con respecto a la parte receptora, que es la que se
desarrolla en este trabajo, podemos identificar al sensor
inalámbrico, el cual capta el haz infrarrojo modulado. Un
microcontrolador PIC 16F628 recibe las variaciones de señal
provenientes del sensor y las convierte en una serie de bits, los
cuales son decodificados y traducidos en comandos RC-5 que
son enviados por el puerto serie (ya con niveles de voltaje
compatibles con RS-232).
Aunque no tan evidente, pero no por eso menos importante,
están tanto el programa de control (firmware) para el PIC
16F628 como el software de interfaz que debe ejecutar la PC.
Para el diseño del hardware receptor por principios de
cuenta se procedió a caracterizar la señal entregada por el
sensor infrarrojo. En la figura 4, se puede ver la pantalla del
osciloscopio mostrando distintas formas de la señal a la salida
del sensor para diferentes comandos RC-5 (ver tabla 1). Vale
la pena mencionar que con esta prueba se pudo constatar que
el sensor infrarrojo invierte la señal original transmitida por el
control remoto.
El algoritmo del programa de control (firmware) para el PIC
16F628 [7, 8, 9], representado en el diagrama de estados de la
figura 5, está diseñado para monitorear constantemente el tren
de pulsos que genera el sensor infrarrojo. En el instante que se
detecta que el primer bit es un “1” en la trama, el programa
ignora los siete bits siguientes, los cuales corresponden a: un
segundo bit de inicio, un bit de control (toggle), y los bits de
dirección (constantes porque el dispositivo a controlar no
cambia). Posteriormente, el firmware debe extraer del tren de
pulsos los seis bits que corresponden al comando de control
del protocolo RC-5.
III. DESARROLLO DEL HARDWARE Y EL FIRMWARE
El diagrama a bloques del sistema puede ser visto en
la figura 3. En primer término se encuentra el transmisor, el
cual es un control remoto universal de la marca Zenith©
modelo ZEN100 [5], al cual se le introdujo el código de
programación 807, que corresponde al de un televisor Philips®
con protocolo infrarrojo RC-5.
TABLA 1. DATOS RC-5 MOSTRADOS EN LA FIGURA 4.
Señal
Descripción
Bits
de
inicio
Bit de
control
(Toggle)
Bits de
dirección
Bits de
comando
A
Chan +
11
X
00000
100000
B
Chan -
11
X
00000
100001
C
Mute
11
X
00000
001101
IMPULSO, REVISTA DE ELECTRÓNICA, ELÉCTRICA Y SISTEMAS COMPUTACIONALES
9
TABLA 2. LECTURA DEL PUERTO SERIE POR CADA TREN DE PULSO ENVIADO
POR EL CONTROL REMOTO.
Fig. 4. Formas de la señal a la salida del sensor infrarrojo correspondiente a:
a) chan +, b) chan -,
c) mute.
INICIO
Configuración
del MCU
n
au
es o
roc and
p
e y om
cib o c
Re uev
n
Transmite
comando por
puerto serie
Sin
error
No
Recepción de
tren de
pulsos
Con error
Descartar
comando en
caso de
decodificación
errónea
S1 = 0
Si
Descartar de la
trama: el segundo
bit de inicio, el bit
de control y los
bits de
direcciones
Verificar el
estado lógico
del bit de
inicio S1
Extraer
comando
RC-5
Botón del control
remoto
0
1
2
3
4
5
6
7
8
9
Vol +
Vol Chan +
Chan Enter
Sleep
Power
Mute
IV. DATO ENVIADO AL PUERTO
Hexadecimal
Decimal
00
01
02
03
04
05
06
07
08
09
10
11
20
21
0A
26
0C
0D
0
1
2
3
4
5
6
7
8
9
16
17
32
33
10
38
12
13
La figura 6 muestra el circuito final del decodificador de
comandos RC-5. Se puede notar que su tamaño es reducido
(más aun que el propio control remoto), lo cual facilita su
portabilidad. Lo único que se necesita para su conexión a la
PC, es de un cable serial.
IV. SOFTWARE DE INTERFAZ
Para validar el funcionamiento del circuito, se
desarrolló una programa (figura 7), en Visual Basic 6.0© para
manejar las presentaciones en PowerPoint©. La técnica
empleada en este punto es la de construcción de prototipos de
software [11], en la cual se unen el desarrollo del software y el
diseño de la interfaz en un solo punto.
S1 = 1
Fig. 5. Diagrama de estados del programa del control (firmware) para el
microcontrolador PIC16F628.
En la decodificación de la secuencia de bits al comando
RC-5 (6 bits), el programa del microcontrolador debe agregar
dos bits en “0” en la parte más significativa para poder formar
un dato de un byte (ver la tabla 2), mismos que envía al puerto
serie de la computadora a través de un convertidor de voltaje
TTL/RS-232; MAX232.
En una versión anterior del decodificador [10] se empleo un
conector serial tipo DB-25 y el voltaje de alimentación era
proporcionado por una batería cuadrada de 9 V.
En esta versión, con la finalidad de reducir el tamaño del
circuito, se sustituyó el conector por un DB-9 y para evitar
energizar el circuito con baterías, se optó por obtener el voltaje
directamente desde el puerto serie de la PC al cual se conecta.
Esto requirió de la inclusión de un C.I. regulador, debido a que
el voltaje entregado por el puerto serie es diferente en cada
PC. Esto es consecuencia de las distintas variantes del
estándar RS-232, que sólo definen como un nivel lógico
válido cualquier voltaje que sea superior a ±3 V.
Fig. 6. a) Control universal ZEN100 marca Zenith©; b) Circuito decodificador
(baterías); c) Circuito decodificador (energizado desde la PC).
10
IMPULSO, REVISTA DE ELECTRÓNICA, ELÉCTRICA Y SISTEMAS COMPUTACIONALES
Fig. 7. Panel principal del programa desarrollado.
Uno de los puntos relevantes del programa desarrollado es el
referente a su interacción con la API de Windows©, ya que a
través de ella, cada dato que se recibe se interpreta como si se
hubiera introducido a través del teclado de la PC [12],
haciendo esto transparente a PowerPoint©.
Funcionamiento con PC Remote Control©
Para investigar en que grado era compatible el
decodificador diseñado con los programas comerciales para
manejo en forma remota de aplicaciones se optó por PC
Remote Control (figura 8) debido a que es el que cuenta con
más funciones y comandos para el manejo de aplicaciones.
PC Remote Control es una aplicación de tipo shareware
desarrollado por Moisés Cambra [13] y está disponible en
idioma español. Además es capaz de procesar información
recibida por puerto serial (genérico o propietario), TCP/IP, etc.
y asignarle cualquiera de las siguientes acciones:
‰ Pulsación de tecla (incluyendo a aquellas que requieran
combinarse con Alt, Crtl y Shift).
‰ Movimiento del mouse (incluyendo las pulsaciones de los
botones derecho, central e izquierdo).
‰ Acceso a la función PostMessage de la API de Windows.
‰ Control del volumen maestro.
‰ Cierre de sesión, apagado o reinicio de la PC.
‰ Manipulación de ventanas.
Lo anterior es particularmente útil ya que lo que se
requiere manejar con el decodificador son:
‰ Presentaciones multimedia.
‰ Lectura de archivos extensos o navegación a distancia de
páginas.
‰ Reproducciones de CD-ROM’s, DVD’s, VCD’s o
archivos de audio.
‰ Cualquier aplicación que pueda ser manejada con teclas
rápidas o el ratón.
la aplicación. Para corregir ese error, se rediseñó de forma
total el módulo del programa encargado de tal tarea.
El siguiente conjunto de pruebas fue con PC Remote, para
esto el software requirió de un corto periodo de aprendizaje,
en el que se compara los datos que provienen del puerto serie
con los previamente aprendidos, y si la comparación resulta
cierta, se ejecuta la acción especificada para ese comando
infrarrojo de forma transparente en la ventana activa.
De esta forma, PC Remote Control se configuró para
manejar PowerPoint©, Winamp© y PowerDVD© en forma
inalámbrica con el control remoto. Habilitando funciones
comunes tales como: avanzar diapositiva, retroceder
diapositiva, reproducir siguiente canción, disminuir volumen,
detener/reanudar reproducción, etc. El resultado fue
satisfactorio, independientemente del sistema operativo.
En lo que respecta al hardware del decodificador, se tuvo el
contratiempo de que funcionaba correctamente en PC’s de
escritorio, no así cuando se conectaba a PC’s portátiles. Al
realizar pruebas adicionales se llegó a la conclusión de que la
falla era producto de que el voltaje que entregaban las PC’s
portátiles era mucho menor que el de las PC’s de escritorio
(pero sin salirse del estándar), lo que ocasionaba que el voltaje
de alimentación al circuito no fuera el adecuado. Esto se
solucionó cambiando el tipo de regulador.
También se determinó que otros parámetros fundamentales
a evaluar eran el alcance y la direccionalidad, y con ellos
establecer los límites adecuados para la operación del sistema.
Debido a que la luz es un factor que influye en la recepción
del sensor infrarrojo, fue necesario establecer su magnitud por
medio de un medidor de intensidad luminosa.
La figura 9 engloba los resultados de las pruebas de alcance
y dirección entre el transmisor (control remoto) y el receptor
(circuito decodificador). En línea recta se obtuvo una distancia
máxima de operación de 9.68 metros con una iluminación de
1.31 pie-candelas, mientas que a una iluminación mayor, 7.22
pie-candelas, la distancia máxima de operación fue de 8.57
metros. El ángulo de apertura máximo fue de 80° (40°
izquierda y 40° derecha) a una iluminación de 1.31 piecandelas, con una distancia máxima de operación de 6 metros.
V. PRUEBAS REALIZADAS
Una vez integrados todos los elementos de hardware y
firmware, se procedió a validar el funcionamiento de todo el
sistema.
En las primeras pruebas se utilizó el software de interfaz
diseñado para PowerPoint©. El resultado fue satisfactorio con
las versiones para Windows 98© y 2000©, no así para la de
Windows XP©, en donde a pesar de que los comandos eran
recibidos correctamente en la PC, no era posible transferirlos a
Fig. 8. Pantallas de PC Remote Control.
IMPULSO, REVISTA DE ELECTRÓNICA, ELÉCTRICA Y SISTEMAS COMPUTACIONALES
11
[2]
Fig. 9. Alcance y dirección del decodificador.
VI. CONCLUSIONES.
Se puede observar que el diseño del circuito final es
muy simple, sin embargo; el desempeño obtenido es bueno.
En la actualidad se planea usarse en las salas audiovisuales y
de videoconferencia del ITSON. Sin embargo debido a su
flexibilidad, no se descarta la posibilidad de introducirle más
mejoras.
También se pudo corroborar que la funcionalidad del
circuito se incrementa cuando opera en conjunto con PC
Remote Control. Con lo que es posible controlar cualquier
aplicación de Windows© que soporte teclas de acceso rápido
(HotKeys o KeyShortcuts) o manejo a través del ratón, con la
ventaja de que puede especificarse una ventana de destino
preferida para que tenga lugar la acción simulada, de esta
forma no es necesario cambiar la aplicación activa.
En lo que respecta a su precio, cabe mencionar que
comparado con versiones comerciales, su bajo costo ($200)
resulta atractivo.
REFERENCIAS
[1]
Vishay (2001), Photo Modules for PCM Remote Control Systems, PA,
U.S.A: Vishay Intertechnology, Inc. Disponible en:
http://www.vishay.com/ir-receiver-modules/devices-tsop17x-list/
[2003, 05 de octubre]
San Bergmans (2001), Philips RC-5 Protocol, Oisterwijk, Holanda: SBProjects. Disponible en: http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm
[2003, 15 de septiembre].
[3] Infra Red Protocols, Koninklijke Philips Electronics N.V. Disponible en:
www.remotecontrol.philips.com
[2003, 15 de septiembre].
[4] Vleeschauwer David, Phillips RC5 infrared remote protocol,
Denderleeuw, Belgica: Davshomepage, Disp. en
http://users.pandora.be/davshomepage/rc5.htm
[2003, 15 de septiembre].
[5] Instructivo control ZEN100.,Zenith Electronics Corporation.
[6] Núñez, Rogelio, Et al. (2002), “Manejo de presentaciones PowerPoint
con un control de televisión usando el microcontrolador MC68HC11”,
Reporte Técnico, Departamento de Ingeniería Eléctrica, ITSON,
México.
[7] Microchip (2003), PIC16F62X Data Sheet, U.S.A., Microchip
Technology Incorporated. Disponible en:
http://www.microchip.com/1010/pline/picmicro/category/embctrl/8kbyt
es/devices/16c628/index.htm
[2003, 05 de octubre].
[8] Microchip (2003), Complete Reference Manual Mid-Range, U.S.A.,
Microchip Technology Incorporated. Disponible en:
http://www.microchip.com/1010/pline/picmicro/category/embctrl/8kbytes/
devices/16c628/index.htm
[2003, 05 de octubre].
[9] VALLEJO, Horacio Daniel. “Microcontroladores PIC: funcionamiento,
programación, diseños”. Ed. Quark. 2002, Argentina. Cap. II Manejo de
las instrucciones de un PIC.
[10] [PRESSMAN, R. S. “Ingeniería del software: un enfoque práctico”. Ed.
McGraw-Hill. Quinta edición 2002, España. Cap. XII Modelado del
análisis. Pág. 205.
[11] MSDN Library Visual Studio 6.0 (1998). La función SendKeys, [CDROM]. Estados Unidos: Microsoft Corporation, [2003, 10 de octubre].
[12] http://www.pcremotecontrol.com
[2004, 30 de Agosto]
Eduardo Romero Aguirre obtuvo el grado de Ingeniero en Electrónica
opción Instrumentación en el Instituto Tecnológico de Orizaba en 1995 y el
grado de Maestro en Ciencias en Ingeniería Electrónica en el área de Sistemas
Digitales, en el Centro Nacional de Investigación y Desarrollo Tecnológico CENIDET de Cuernavaca, Morelos, México en 1999. Ha realizado diversos
proyectos relacionados con sistemas de adquisición de datos. Actualmente
labora como profesor/investigador de tiempo completo en el Departamento de
Ingeniería Eléctrica del Instituto Tecnológico de Sonora y es profesor con
perfil PROMEP.
Descargar