Está en la página 1de 27

Capítulo 7

Telemando por infrarrojos


Debido a la popularidad de este tipo de mandos, raro va a ser no encontrarlos en
cualquier hogar u oficina. Algunos de los aparatos más comunes que cuentan con ellos
son los televisores, vídeos, cadenas de música, aparatos de aire acondicionado, etc.

Esto nos permite decodificar las órdenes del mando de cada uno de estos aparatos y con
un único transmisor poderlos controlar sin necesidad de ninguna instalación adicional.

Existen además otras aplicaciones, como pueden ser la regulación de la iluminación de


una sala, el control de subida o bajada de persianas o toldos, para las que su uso puede
ser muy apropiado.

Con anterioridad a la aparición de esta tecnología, se utilizaban la radiofrecuencia y los


ultrasonidos. La primera tiene las desventajas de provocar interferencias
electromagnéticas, necesitar autorización administrativa y que su alcance no está
limitado, por lo que podría interferir en el funcionamiento de otros equipos existentes en
otras salas o viviendas. Los segundos presentan problemas de interferencias por
multitrayecto y son susceptibles a los ultrasonidos generados por una multitud de
objetos y sucesos cotidianos como pueden ser la caída de una moneda, el sonido de una
campanilla, un timbre, un reloj, sonidos generados por aparatos eléctricos como los
televisores, etc. En aquellas aplicaciones en las que sólo se requiere un alcance de unos
pocos metros y que la transmisión quede confinada en una sala, la transmisión por
infrarrojos es la solución ideal. De ahí el éxito que han tenido este tipo de mandos en los
últimos años.

7.1 Introducción

En el mercado existen una multitud de soluciones para este tipo de dispositivos. Existen
diferentes circuitos integrados que implementan todas las funciones de comunicación y
decodificación de las señales y que permiten realizar sin apenas esfuerzo todas las
funciones del telemando.

1
Nuestro objetivo es más ambicioso desde un punto de vista didáctico, por lo que se van
a desarrollar tanto el transmisor como el receptor con componentes de propósito
general. En cualquier caso, no se deben olvidar los codificadores y decodificadores
comerciales en tanto en cuanto los incorporan muchos equipos y aparatos de consumo.

La transmisión por luz infrarroja no está exenta de problemas, como el ruido y las
interferencias. Las dos principales fuentes que suelen aparecer son:

 La luz solar, que incorpora una importante componente de luz


infrarroja, lo que genera bastante ruido en el fotodiodo y puede
saturar el receptor, disminuyendo la sensibilidad.

 Los tubos fluorescentes o las lámparas de bajo consumo presentan


también una componente de luz infrarroja oscilante a la frecuencia de
100 Hz.

Los motivos anteriormente expuestos desaconsejan la transmisión en banda base. La


mayoría de los sistemas comerciales utilizan una modulación ASK con una frecuencia
de portadora que oscila entre los 36 y los 40 Khz. aunque hay algunos que utilizan una
modulación FSK con una frecuencia de la portadora de hasta 50 Khz.

7.1.1 Estándares de codificación de comandos


Para la codificación de los comandos existen dos estándares internacionales que son
RC-5 y RECS 80; pero éstos no son los únicos, ya que hay muchos fabricantes que
tienen sus propias codificaciones, como NEC, DENON, SIRCS, MOTOROLA, etc.

De todas ellas la más popular es la RC-5.

7.1.1.1 Codificación RC-5

Para la codificación de bits utiliza un código bifase, de modo que un “0” se codifica por
una transición de nivel alto a nivel bajo y un “1” como una de nivel bajo a nivel alto. La
trama es de 14 bits con la siguiente estructura:

S1 S2 T D4 D3 D2 D1 D0 C5 C4 C3 C2 C1 C0
Tabla 1 – Trama de comando del estándar RC-5.

Cada bloque de bits tiene la siguiente función:

 S1-S2 – Son los bits de arranque y sirven para el ajuste del CAG y la
sincronización del receptor.

2
 T – Es el bit de toggle, que va alternándose entre una trama y otra
cuando se repite varias veces la transmisión del mismo comando.

 D0-D4 – Contienen el número de dispositivo a controlar.

 C0-C5 – Contienen el comando a ejecutar.

7.1.1.2 Codificación RECS 80

La codificación de bits empleada es una modulación del ancho de pulso de modo que
cada bit se transmite como un pulso a nivel alto de duración T seguido por otro a nivel
bajo de duración 2T si se transmite un “0” y de duración 3T si se transmite “1”. En
cuanto a la longitud de la trama, depende de cada implementación y del número de
comandos que es capaz de transmitir. En general, la estructura consiste en una secuencia
de referencia de duración 3T, un bit de toggle para indicar si se trata de una repetición
del comando o de uno nuevo y, por último, la secuencia de bits de información que
puede contener un código de identificación de dispositivo y otro de comando, seguido
de un tiempo de inactividad antes de repetir o iniciar una nueva secuencia.

7.1.2 Codificación de los comandos


Para no complicar en exceso el diseño del telemando, se va a utilizar un formato de
trama muy sencillo. Va a consistir en una secuencia formada por un bit de activación,
seguido de un bit de arranque, ocho bits de información (comenzando por el menos
significativo) y uno de parada. Esta elección no es casual, sino que coincide con la
estructura de trama del módulo de comunicación serie SCI del microcontrolador y, por
tanto, se podrá utilizar este módulo para la recepción.

Activación Arranque Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Parada
1 0 X X X X X X X X 1
Tabla 2 – Estructura de la trama de comando.

Los ocho bits de información pueden dividirse en una parte para la identificación de
dispositivo y otra para la señalización de comando. De este modo, se pueden estructurar
de ocho formas diferentes. La elección de una u otra dependerá en cada caso de la
aplicación, esta decisión se deja abierta al ser irrelevante de cara al diseño.

Estructura de la información Nº de dispositivos Nº de comandos


0 Id. Disp. y 8 Comando 1 256
1 Id. Disp. y 7 Comando 2 128
2 Id. Disp. y 6 Comando 4 64
3 Id. Disp. y 5 Comando 8 32
4 Id. Disp. y 4 Comando 16 16

3
5 Id. Disp. y 3 Comando 32 8
6 Id. Disp. y 2 Comando 64 4
7 Id. Disp. y 1 Comando 128 2
Tabla 3 – Estructuras posibles de codificación de la información.

Para la transmisión de bits se va a utilizar un código NRZ unipolar con una frecuencia
de 100 Hz que va a determinar la velocidad de transmisión de la trama.

7.1.3 Tipo de modulación


Se va a utilizar una modulación ASK con una frecuencia de 38 Khz. La razón que
motiva esta decisión es la existencia de un buen número de dispositivos comerciales que
utilizan esta modulación y el hecho de estar lo suficientemente alejada de la
interferencia de 100 Hz. provocada por los tubos fluorescentes y de la velocidad de
transmisión.

7.2 Transmisor de infrarrojos

Disponiendo de un microcontrolador, el diseño de un transmisor de infrarrojos podría


limitarse al modulador y al driver que gobierna al diodo fototransmisor, que suele
demandar bastante corriente, ya que todo el conformado y transmisión de la trama se
puede hacer por software a través de un puerto.

También se puede realizar una transmisión serie convencional utilizando el módulo de


comunicación serie SCI del MC68331, lo que simplifica enormemente las tareas para
algunas aplicaciones concretas como podrían ser las de comunicación con un PC o con
otro microcontrolador.

El objetivo que en esta sección se pretende es el diseño de un mando de control remoto


totalmente independiente, que pueda alimentarse con pilas, sin perjuicio de la utilidad
que se le pueda dar a algunos de los bloques para otras aplicaciones de telemando.

7.2.1 Diagrama de bloques del transmisor


El conjunto del transmisor se ha descompuesto en seis módulos que pueden ser
diseñados con independencia según se detalla en la figura 1.

4
 Figura 1 – Diagrama de bloques del transmisor.

7.2.2 Generador de reloj


Como la velocidad de transmisión se ha determinado que sea de 100 baudios, será
necesario generar una señal de reloj de esa frecuencia para marcar el ritmo de la
transmisión. Para ello se usará un temporizador 555 en configuración aestable y con un
ciclo de trabajo próximo al 50 %.


Figura 2 – Esquema de conexión del 555.

La frecuencia de la señal generada viene dada por la fórmula:

1.44 R2
f  , y el ciclo de trabajo por: Duty 
 R1  2  R2   C R1  2  R2

La elección del condensador más adecuado puede realizarse a partir de las curvas
proporcionadas por el fabricante.

5

Figura 3 – Frecuencia de oscilación libre (Gráfica obtenida del catálogo del fabricante National).

A partir de la frecuencia de diseño de 100 Hz, podemos observar que el par formado por
la recta de carga y el valor del condensador que adopta los valores más razonables son
la de 100 K y un condensador de 100 nF.

Para el valor del condensador de 100 nF se obtiene:

1.44
R1  2  R2   144 K
100  100  10 9

Por otro lado se quiere un ciclo de trabajo próximo al 50 %, para ello es necesario que
R1  R2 . Si se toma un valor de R1  0.1  R2 y eligiendo aquellos valores comerciales

más próximos se obtiene R2  68 K y R1  8.2 K. Debido a las tolerancias de los


componentes la frecuencia resultante no se ajustará al valor de diseño. Para resolverlo se
colocará en lugar de la resistencia de 68 K la combinación serie de una resistencia de
56 K y un potenciómetro multivuelta de 20 K para permitir el ajuste de la frecuencia
exacta.

Con los valores calculados se obtendrá un ciclo de trabajo de aproximadamente el 47 %.

Una vez conectado a la alimentación, será necesario ajustar con el potenciómetro la


frecuencia de trabajo que se medirá con el osciloscopio.

7.2.3 Generador del intervalo de trama


Cada trama consiste en la transmisión de un conjunto de once bits. Para ello se cargará
la palabra que compone la trama en dos registros de desplazamiento en cascada y se
sacarán en serie. La función que va a realizar el generador del intervalo de trama es la
de mantener activo al registro de desplazamiento sólo mientras se transmite ésta y al
finalizar inhibe el funcionamiento.

6
Para realizar esta función se va a utilizar un contador para implementar un autómata que
al recibir la señal de arranque mediante un pulsador mantiene activa la señal LOAD
durante ocho ciclos de reloj. El esquema se muestra en la figura 4.


Figura 4 – Generador del intervalo de trama.

La descripción del funcionamiento es bastante sencilla:

 El pulsador, dotado de un circuito antirebotes, genera un pulso a nivel


bajo en el terminal LOAD del contador.

 El contador que se encontraba inhibido por la señal RCO (fin de


cuenta) aplicada a través de un inversor a la entrada ENP carga el
valor 4 (0100) existente en los terminales D, C, B y A.

 La señal RCO cambia a nivel bajo y desinhibe el contador que


prosigue la cuenta hasta el valor 15 (1111).

 Cuando alcanza este valor, la señal RCO pasa a nivel alto e inhibe de
nuevo el contador.

La misma señal RCO negada utilizada para activar e inhibir el contador es la que activa
e inhibe el registro de desplazamiento. Como se puede observar, la señal se mantiene a
nivel alto durante los once ciclos de reloj que tarda el contador en finalizar la cuenta y
luego retorna a nivel bajo que es su estado normal.

7
A continuación se representa el diagrama de estados que gobierna el autómata:

 Figura 5 – Diagrama de estados del autómata generador del intervalo de trama.

7.2.4 Registro de desplazamiento


Se trata del alma del control remoto. El registro de desplazamiento recibe la trama a
través de sus entradas en paralelo y la saca en serie al ritmo que le marca el reloj.

El valor de los bits de activación, arranque y parada vienen van cableados de forma
permanente y los ocho bits de selección de dispositivo y comando se configuran a través
de ocho microinterruptores.

El registro permanece con el código de la trama precargado y en estado de inhibición.


Cuando el generador de intervalo de trama activa el registro comienza la transmisión
hasta el último bit de la trama, tras el cual pasa de nuevo a estado de inhibición.

8

Figura 6 – Registro de desplazamiento.

Para evitar que se produzca una transmisión espúrea durante la conexión inicial del
circuito, se ha introducido una red de inicialización, conectada al terminal de inhibición,
que garantiza un tiempo de 400 ms. Suficiente para que se estabilice el autómata.

Una peculiaridad importante es que en la salida serie aparece el valor precargado en el


último biestable H y que será, por tanto, el valor de reposo del terminal serie. Cuando se
produce la activación del circuito, el primer impulso de reloj llevará a la salida serie el
valor contenido en la entrada G y, por tanto, sólo se dispone de siete bits.
Afortunadamente el circuito cuenta con una entrada de datos serie que ataca al biestable
A y que pondremos a 1 para que haga la función de bit de parada.

Como se puede observar, con la conexión realizada la línea permanece en reposo o nivel
lógico cero hasta que el generador de intervalo saca al circuito de su estado de
inhibición. A partir de ese instante se transmite un 1 para la sincronización de trama, el
bit de arranque, los cinco bits de información y por último el de parada.

7.2.5 Modulador ASK


Como ya se ha comentado se va a utilizar una modulación digital ASK con una
frecuencia de 38 Khz. de modo que se transmitirá la señal modulada para denotar un “1”
lógico y no se emitirá para denotar el “0” lógico.

Para ello se va a utilizar un 555 en modo aestable al igual que se hizo con el circuito de
reloj y se utilizará el terminal de reset para gobernar la transmisión.

9
Sin entrar en detalles justificativos, diremos que la utilización de una onda cuadrada
para modular la señal infrarroja presenta una serie de ventajas desde el punto de vista de
la potencia transmitida, por lo que no será necesario filtrar la salida del 555.

A la salida del temporizador se conectarán dos inversores Schmitt Trigger en serie para
regenerar la señal sin negar la lógica.


Figura 7 – Modulador ASK

Para el cálculo de los componentes de ajuste se consulta la gráfica de la figura 3 y se


observa que para la recta de carga de 100 K se precisa un valor de condensador de
entre 100pF y 1nF, por lo que si elegimos un valor comercial de 220 pF, se obtiene:

Para el valor del condensador de 100 nF se obtiene:

1.44
R1  2  R2   172 K
38000  220  10 12

Por otro lado se quiere un ciclo de trabajo próximo al 50 % para ello es necesario que
R1  R2 . Si se toma un valor pequeño de R1  2 K el ciclo de trabajo será de 49.4 %

y el valor de R2  85 K. Para resolver la desviación de frecuencia debida a la


tolerancia de los componentes se colocará en lugar de la resistencia de 85 K la
combinación serie de una resistencia de 75 K y un potenciómetro multivuelta de 20
K para permitir el ajuste de la frecuencia exacta.

Una vez conectado a la alimentación será necesario ajustar con el potenciómetro la


frecuencia de trabajo que se medirá con el osciloscopio.

7.2.6 Emisor de luz infrarroja


La señal procedente del modulador debe ser aplicada al fotodiodo de luz infrarroja que
se encarga de la emisión.

10
Se ha utilizado el diodo CQY89 que habitualmente se encuentra disponible en las
tiendas de electrónica. Tiene una longitud de onda de emisión es de 930 nm. con un
ángulo de emisión de 40º. Admite una intensidad media de corriente de 100 mA con la
que alcanza una potencia de emisión de 15 mW.

Para la excitación del LED IR se ha utilizado el circuito de la figura 8. Podemos


observar que para la polarización de la base se han utilizado dos diodos 1N4148. Con
ello se consigue la tensión adecuada en la base del transistor y se evitan los efectos de
carga que introduciría un divisor resistivo.


Figura 8 – Transmisor de luz infrarroja.

Como el modulador proporciona una onda cuadrada, para que la corriente media por el
LED sea de 100 mA, se deberá hacer pasar una corriente de 200 mA durante el ciclo
activo.

Como en el LED cae una tensión de 1.7 V. y la tensión mínima colector-emisor, fuera de
la saturación, es VCE  0.2 V., la resistencia de emisor necesaria para limitar la
corriente del diodo a 200 mA es:

5  1.7  0.2
R  15.5 
0 .2

El valor comercial más próximo disponible es 18 .

La tensión en la base del transistor ha de ser menor que:

VB  VE  0.7  5  1.7  0.2  0.7  3.8 V.

Utilizando los dos diodos en serie, la tensión en la base es: VB  5  1.4  3.6  3.8 V.

La tensión en el emisor del transistor será: VE  5  1.4  0.7  2.9 V. y la potencia


disipada en la resistencia de 233 mW, por lo que es recomendable utilizar una

11
resistencia de ½ W. La corriente de pico en el LED será de 161 mA y la corriente media
de 80.5 mA.

7.2.7 Alimentación
El módulo transmisor ha de ser un elemento móvil para que realice la función de
telemando para la que fue diseñado. Para ello se alimentará con una pila de 9 V. Será
necesario el empleo de un regulador de tensión LM7805, conectado a la pila para
proporcionar a la salida los 5 V. que requiere todo el sistema. Dado lo popular de este
regulador se omite el esquema de conexión del mismo.

Una cuestión que debe tenerse en cuenta es la demanda de corriente del circuito.
Durante la transmisión la corriente media que va a consumir el circuito es de unos 100
mA durante los 80 ms que dura la transmisión, con una corriente de pico de 200 mA.
Como no se conocen datos sobre el comportamiento de la pila, debemos observar que
debe ser capaz de mantener una tensión superior a 7.5 V. para que el regulador funcione
correctamente. Si la pila no es capaz de soportar esa demanda de corriente, se deberá
desacoplar la misma mediante un condensador de gran capacidad en paralelo que sea
capaz de aportar el exceso de corriente que no es capaz de dar la pila.

7.3 Receptor de infrarrojos

El receptor de infrarrojos debe ser capaz de demodular la señal ASK de 38 Khz. y


entregar los pulsos de la trama.

Para la recepción existen dispositivos comerciales que integran todos los circuitos
necesarios para la correcta demodulación de la señal. Estos dispositivos de pequeño
tamaño integran en el mismo encapsulado, el receptor de luz infrarroja, una lente y toda
la lógica necesaria para distinguir señales moduladas a una determinada frecuencia.
Algunos de estos dispositivos son: el IS1U60 y el IS1U621 de Sharp, el PNA4602 y el
PNA4612 de Panasonic, el LTM-97DS-38 de LiteOn o el SFH5110 de Siemens.

12
Para el transmisor del título anterior se adapta perfectamente el IS1U60, cuyo diagrama
de bloques se muestra en la figura 9.

 Figura 9 – Diagrama de bloques del receptor integrado IS1U60 (extraído del catálogo de Sharp).

Continuando con los objetivos didácticos de esta práctica, se va a desarrollar un receptor


mediante elementos discretos, sin perjuicio de la utilidad y comodidad de usar
cualquiera de los componentes antes enumerados.

7.3.1 Diagrama de bloques del receptor


El receptor se puede descomponer en cuatro bloques que pueden ser diseñados
independientemente.

 Figura 10 – Diagrama de bloques del receptor.

7.3.2 Foto-receptor
La función de recepción la va a realizar el fotodiodo BPW41. Este dispositivo presenta
su máxima sensibilidad con señales cuya longitud de onda es de 950 nm. y tiene un
ángulo de recepción de  65º respecto de la normal.

13
Este dispositivo se polariza en inversa, de modo que la corriente que pasa por él se
comporta linealmente con respecto a la potencia de luz incidente.


Figura 11 – Corriente inversa en función de la irradiancia.

De este modo se puede asimilar el fotodiodo a un generador de corriente dependiente


linealmente de la luz incidente en el mismo. Las distintas formas en que puede
implementarse el circuito foto-receptor dependen del tipo de carga que presenten ante
dicho generador de corriente.

 Carga resistiva: La carga es una simple resistencia. Se trata de una


solución muy sencilla con un comportamiento plano con la
frecuencia. Como no elimina las bajas frecuencias puede suceder que
el receptor se sature con la iluminación ambiente.

 Carga reactiva (LC o RLC): Es la que promete un mejor


comportamiento, ya que sólo presenta una alta impedancia en el
margen de frecuencias deseado. El problema reside en la dificultad
de obtener las bobinas y en la forma de ajustar la sintonía por las
altas tolerancias de los componentes L y C.

 Carga activa: Por medio de transistores con carga RC se puede


implementar una carga activa que presente una baja impedancia
frente a la corriente continua y que permita evitar la saturación de los
transistores por efecto de la iluminación ambiente.

En principio se va a utilizar el circuito de la figura 12 por su sencillez. El efecto de la


luz ambiente va a provocar una merma en la sensibilidad que, por lo general, podrá
resolverse con un posterior filtrado y amplificación.

14

Figura 12 – Circuito foto-receptor con carga resistiva.

Para el caso en que las condiciones de iluminación de una aplicación concreta


provoquen problemas de saturación y mal funcionamiento, se propone un circuito con
carga activa alternativo con una inmunidad al ruido mayor.


Figura 13 - Circuito foto-receptor con carga activa.

7.3.2.1 Red de desacoplo

Antes de entregar la señal al filtro paso banda es interesante desacoplar las bajas
frecuencias. Para ello se utilizará un filtro RC paso alto con una frecuencia de corte
situada, al menos, una década por encima de la interferencia de 100 Hz que provocan
los tubos fluorescentes y, al menos, una década por debajo de la señal modulada de
38Khz., es decir 1Khz < fc < 3.8 Khz. Con el fin de eliminar los efectos de carga entre
etapas se utilizará un seguidor de tensión, según se puede observar en el esquema
general de la figura 14.


Figura 14 – Esquema completo de la etapa de foto-recepción.

La red RC formada por un condensador de 220 pF y una resistencia de 560 K presenta


una frecuencia de corte de 1290 Hz. y una impedancia de carga de alta. Por último, el

15
amplificador operacional utilizado para el seguidor de tensión tiene que ser capaz de
seguir la señal de 38 Khz. y, por tanto, deberá tener un Slew-Rate de:

SR  2  f osc  Amax  2  38000  5  1.2 V/s.

Se ha escogido el TL082 que tiene un SR de 13 V/s y un producto GxBW de 4 Mhz.,


suficiente para la solución adoptada.

7.3.3 Filtro paso banda


Para reducir el ruido antes de la demodulación se debe realizar un filtrado paso banda
que sólo permita pasar la señal de interés cuya frecuencia es de 38 Khz.

El espectro de la señal tiene el aspecto de una sinc por el efecto de la modulación que
consiste en enventanar el tono de 38 Khz, por lo que es conveniente que la banda de
paso tenga un ancho finito, ya que si no eliminaríamos una parte importante del espectro
de la señal. Esto es una ventaja ya que no va a ser necesario utilizar filtros con un orden
elevado.

El filtro paso banda se va a realizar mediante la conexión en cascada de dos filtros de


Sallen-Key, uno paso bajo y el otro paso alto. El resultado corresponde con el cuadrado
de la función de transferencia de un filtro paso banda.
2
 
2  
As A As
H BP       
s s  s 
s2   1 s2   1  s2   1
Q Q  Q 

H BP    
 A  2
2
El módulo de la función de transferencia vale:  
1   
2 2
  
Q 

La frecuencia central vendrá amplificada por el factor (AQ)2.

El problema principal que presentan este tipo de montajes es que los componentes
discretos, como son los condensadores y resistencia, presentan una tolerancia bastante
grande para la precisión del filtro. Por ello, nos iremos a resistencias con una tolerancia
del 1% y condensadores del 5% si es posible. El caso peor se presenta cuando las
frecuencias de normalización fp de ambos filtros son coincidentes y están bastante
alejadas de la frecuencia objetivo, ya que ésta queda en banda atenuada y encima se está
amplificando otra frecuencia próxima diferente.

16

Figura 15 – Filtro paso banda.

La estrategia que se propone es la de comprar un lote de resistencias y condensadores de


los valores que se necesitan y con la ayuda de un polímetro (los hay que miden
capacidades) elegir aquéllos que presentan el menor error y se aproximan más a los
valores de diseño.

Para obtener la frecuencia central objetivo, fp = 38 Khz, se han elegido los siguientes
valores comerciales C = 470 pF y R= 9 K (el valor de la resistencia existe con
tolerancia del 1 %), por lo que la frecuencia real obtenida es fp = 37.625 Hz, valor
totalmente aceptable.

Para que las frecuencias de corte estén situadas en torno a 36 y 40 Khz el valor que
deberá adoptar el factor de calidad es Q = 1.9059, con lo que la ganancia del
amplificador deberá de ser:

1
A  3  2.475
Q

Con los valores comerciales para las resistencias resistencias de 150 K y 100 k, en el
amplificador se obtiene una ganancia de 2.5 y el factor de calidad vale Q = 2.

La ganancia máxima que se puede obtener con el conjunto a la frecuencia de interés es


(AQ)2 =(2.5  2)2 =25.

En cuanto al amplificador, se seguirá usando el TL082 cuyas características son


sobradas para el uso requerido.

7.3.4 Demodulador
El demodulador se va a encargar de reconstruir la señal en banda. La parte clave del
mismo es el detector de envolvente. La modulación ASK es un caso particular de la

17
demodulación AM con la ventaja de que la saturación que se pueda presentar en los
amplificadores no tiene ningún efecto negativo en la señal y, por tanto, la ganancia de
los mismos no es un factor crítico. Esto es así porque la información no va codificada en
la amplitud, sino en la frecuencia, en este caso frecuencia “0” o “32 Khz”.

El demodulador completo se compone de tres partes diferenciadas, que son: el


amplificador de entrada, el detector de envolvente y el regenerador.

7.3.4.1 Amplificador de entrada

Se trata de un amplificador no inversor cuya función es la de adaptar el nivel de la señal


recibida a un valor adecuado para el buen funcionamiento del detector de envolvente.
Experimentalmente se ha determinado que una ganancia en torno a 50 es adecuada. Con
la pareja de resistencias de 120 K y 2K7 se obtiene una ganancia de 45 (33dB). En
cuanto al offset de tensión, la medida obtenida es de 340 mV., valor que se puede asumir
como aceptable.


Figura 16 – Demodulador.

7.3.4.2 Detector de envolvente

El detector de envolvente está formado por un rectificador de media onda con carga RC.
Si se aplica un tono senoidal al detector, durante el semiciclo positivo el diodo conduce
produciéndose una caída de tensión de 0.7 V. Una vez que la tensión alcanza este valor
el condensador comienza a cargarse y la tensión sube hasta el máximo y desciende de
nuevo hasta los 0.7 V. A partir de ese punto el diodo entra en corte y el condensador
comienza su descarga hasta que la tensión vuelve a superar el umbral de los 0.7 voltios
en el ciclo siguiente. Se pretende que la tensión caiga sólo un 10 % durante el tiempo de
descarga, para lo cual:

 T /2 1/ 2 f
exp    0.9 ;     125 s
   ln 0.9

18
Como  = RC, se han escogido los siguientes valores: R =120 K y C = 1nF, con lo que
 = 120 s.

El tiempo que tarda la señal en alcanzar el 10 % de su valor una vez finalizado el pulso
es:

t    ln 0.1  287 s que es el 2.8 % de la duración de un bit.

7.3.4.3 Regenerador

A la salida del detector de envolvente se aplican dos inversores Trigger-Schmitt en


cascada para regenerar la señal sin invertir la lógica.

A la salida de esta etapa ya tenemos la señal demodulada y disponible.

7.4 Conexión al microcontrolador

De las diferentes posibilidades de conexión al MC68331 sólo vamos a plantear la


conexión del receptor a través del módulo de recepción serie SCI del QSM, para
aprovechar las facilidades que este módulo proporciona, ya que la programación de un
receptor puede llegar a ser laboriosa y compleja, aunque bastante interesante.

La conexión es sencilla. La salida de datos del receptor se conecta a la entrada de datos


serie RXD del microcontrolador.

7.4.1 Programa básico de atención de comunicaciones


Si recordamos el protocolo de comunicación del telemando, se trata de palabras de ocho
bits de los cuales una parte puede reservarse como identificación de dispositivo y la otra
como código de instrucción. La velocidad de transmisión es de 100 baudios y la trama
no contiene bit de paridad.

La trama de datos a recibir tiene la estructura siguiente:

Bit 10 7 0 Bit 1
Parada Código de instrucción Identificador Arranque

19
Tabla 3 – Estructura de la trama de datos.

La aplicación de ejemplo realiza lo siguiente:

1. Habilita las interrupciones del receptor y se queda esperando a recibir


un dato.

2. Una vez recibido, comprueba si es válido o no.

3. Si es valido, lo guarda en un buffer de memoria.

4. Si no es valido, no hace nada y sigue esperando al dato siguiente.

Cabe notar que no se hace comprobación del desbordamiento del buffer, ya que se
entiende que es un programa de prueba y con un tamaño de 500 tramas es suficiente
para comprobar la recepción de ordenes.

******************************************************************************

* REGISTROS SIM *

******************************************************************************

SIMCR EQU $FFFA00 * Controla la configuración del sistema ($00CF).

SYNCR EQU $FFFA04 * Fija frecuencia y modo de operación del reloj ($3F08).

RSR EQU $FFFA06 * Guarda la causa de un reset (Ej.-$80, reset hardware).

PORTE EQU $FFFA11 * Registro de lectura y escritura en el puerto E.

PORTE1 EQU $FFFA13 * Tiene exactamente la misma función que el anterior.

DDRE EQU $FFFA15 * Determina el sentido del puerto E pin a pin.

PEPAR EQU $FFFA17 * Asignación del puerto E (Puerto o control de BUS).

PORTF EQU $FFFA19 * Registro de lectura y escritura en el puerto F.

PORTF1 EQU $FFFA1B * Tiene exactamente la misma función que el anterior.

DDRF EQU $FFFA1D * Determina el sentido del puerto F pin a pin.

PFPAR EQU $FFFA1F * Asignación del puerto F (Puerto F o control de BUS).

PICR EQU $FFFA22 * Configuración de interrupciones periódicas ($000F).

PITR EQU $FFFA24 * Contiene la cuenta del timer periódico ($0000).

SYPCR EQU $FFFA21 * Controla las funciones de monitorización del sistema

* como es el caso del Watchdog. ($40 anula watchdog).

SWSR EQU $FFFA27 * Se debe escribir periódicamente con Watchdog activado.

CSPAR0 EQU $FFFA44 * Sirve junto con CSPAR1 para configurar la función de

CSPAR1 EQU $FFFA46 * los pins de Chip Select (CS, Port C, etc.).

PORTC EQU $FFFA41 * Registro de escritura en el puerto C.

******************************************************************************

* REGISTROS GPT-PWM *

******************************************************************************

20
GPTMCR EQU $FFF900 * Configuración del GPT.

ICR EQU $FFF904 * Configuración de interrupciones del GPT.

DDRGP EQU $FFF906 * Determina el sentido del puerto GP.

PORTGP EQU $FFF907 * Registro de lectura y escritura del puerto GP.

OC1M EQU $FFF908 * Máscara para asignar los pin de captura de OC.

OC1D EQU $FFF909 * Registro de datos a comparar con el puerto OC.

TCNT EQU $FFF90A * Registro del GPT asociado a las capturas IC, OC y PAI.

PACTL EQU $FFF90C * Configuración del acumulador de pulsos PAI.

PACNT EQU $FFF90D * Es el contador de registro de eventos del PAI.

TIC1 EQU $FFF90E * Capturan el TCNT cuando se registra un evento en IC1.

TIC2 EQU $FFF910 * Capturan el TCNT cuando se registra un evento en IC2.

TIC3 EQU $FFF912 * Capturan el TCNT cuando se registra un evento en IC3.

TOC1 EQU $FFF914 * Cuando coincide con TCNT causa eventos en los pin OC.

TOC2 EQU $FFF916 * Si el valor coincide con TCNT causa un evento en OC2.
TOC3 EQU $FFF918 * Si el valor coincide con TCNT causa un evento en OC3.

TOC4 EQU $FFF91A * Si el valor coincide con TCNT causa un evento en OC4.

TI4O5 EQU $FFF91C * Pin compartido (Puede realizar una función TIC o TOC).

TCTL1 EQU $FFF91E * Configura el modo de comparación y nivel de salida.

TCTL2 EQU $FFF91F * Configura que flanco provoca la captura en los IC.

TMSK1 EQU $FFF920 * Habilita las interrupciones de IC y OC.

TMSK2 EQU $FFF921 * Habilita las interrupciones del PAI y del TIMER.

TFLG1 EQU $FFF922 * Registro de flags de interrupciones de IC y OC.

TFLG2 EQU $FFF923 * Registro de flags de interrupciones del PAI y TIMER

CFORC EQU $FFF924 * Fuerza una salida en los pin OC y PWM.

PWMC EQU $FFF925 * Configuración del PWM.

PWMA EQU $FFF926 * Determina el ancho de pulso. ($80 es medio ciclo)

PWMB EQU $FFF927 * Determina el ancho de pulso. ($80 es medio ciclo)

PWMCNT EQU $FFF928 * Registro del contador del PWM.

PWMBUFA EQU $FFF92A * Buffer para prevenir glitches cuando modificamos PWMA.

PWMBUFB EQU $FFF92B * Buffer para prevenir glitches cuando modificamos PWMB.

PRESCL EQU $FFF92C * Guarda el valor del multiplicador del GPT.

******************************************************************************

* REGISTROS QSM-QSI *

******************************************************************************

QSMCR EQU $FFFC00 * Configuración del QSM.

QILR EQU $FFFC04 * Configuración del nivel de interrupción.

QIVR EQU $FFFC05 * Configuración del vector de interrupción.

SCCR0 EQU $FFFC08 * Control 0 del SCI determina velocidad de transmisión.

21
SCCR1 EQU $FFFC0A * Control 1 del SCI para configuraciones varias.

SCSR EQU $FFFC0C * Registro de estado del SCI.

SCDR EQU $FFFC0E * Registro de datos del SCI (RDR y TDR).

PORTQS EQU $FFFC15 * Registro de lectura y escritura del Puerto QS.

PQSPAR EQU $FFFC16 * Asignación de pins como Puerto QS o como QPSI.

DDRQS EQU $FFFC17 * Dirección E/S de los pins del Puerto QS.

******************************************************************************

* CONTROL DEL QSM - SCI *

******************************************************************************

BIT_FE EQU 16 * Bit indicador de error de trama (Frame Error).

BIT_PE EQU 17 * Bit de error de paridad (Parity Error).

TRAMA_NULA EQU $FF * Valor de inicialización antes de recibir trama

ERR_TRAMA EQU $AA * Valor devuelto cuando hay error de trama


ERR_PARIDAD EQU $80 * Valor devuelto cuando hay error de paridad

******************************************************************************

* VECTORES DEL RESET *

******************************************************************************

ORG $0

PILA_RESET DC.L FIN_PILA

PC_RESET DC.L PRINCIPAL

******************************************************************************

* VECTORES DE INTERRUPCIÓN *

******************************************************************************

ORG $110

VECTOR_QSM DC.L LEER_SCI * Vector de interrupción $44

******************************************************************************
* PUNTERO DE PILA *

******************************************************************************

ORG $4000

PILA DS.L 200

FIN_PILA:

******************************************************************************
* BUFFER DE RECEPCIÓN *

******************************************************************************

22
ORG $2000

BUFFER DS.B 500

INI_BUFFER:

******************************************************************************

* SUBRUTINAS *

******************************************************************************

ORG $1000

******************************************************************************

* CONFIGURACION DEL HARDWARE DEL MICRO *

******************************************************************************

*************************** INHAB_WDOG ****************************

* Inhabilita el Watchdog que es una función de monitoriración del *


* sistema para detectar la entrada en un bucle infinito. *

*******************************************************************

INHAB_WDOG:

MOVE.B #$40,SYPCR * Inhabilitamos WatchDog

RTS

*----------------------------------------------------------------------------*

**************************** QSM_CFG *****************************

* Configuración del QSM_SCI *

******************************************************************

QSM_SCI_CFG

MOVE.W #$008F,QSMCR * Supervisor de arbitrio 15.

MOVE.B #$44,QIVR * Vector de interrupción $44.

MOVE.B #$06,QILR * Nivel de interrupción 6 para el SCI.

MOVE.W #$0A3D,SCCR0 * velocidad de TX/RX de 100 baudios.

RTS

*----------------------------------------------------------------------------*

************************** RECEPTOR_CFG **************************

* Configura y habilita el módulo receptor del QSM-SCI. Inhabi- *

* lita al tiempo el transmisor al tratarse de una comunicación *

* semi-duplex. *

******************************************************************

RECEPTOR_CFG

MOVE.W #$0424,SCCR1 * Interrupciones habilitadas para la recepción (RIE)

RTS * tramas de 7 bits + bit de paridad impar RTS

23
******************************************************************************

* RUTINAS DE CONTROL *

******************************************************************************

************************** LEER_SCI *****************************

* Rutina LEER_SCI de atención a la interrupción del modulo serie*

* El dato recibido se deja disponible en el registro D0 *

*****************************************************************

LEER_SCI

MOVE.L D1,-(A7)

MOVE.L SCSR,D1 * Lectura de los registros de estado y de datos.

* a la vez; se resetean los flags de estado.

* automáticamente.
BTST.L #BIT_FE,D1 * Se comprueba el error de trama.

BNE TRAMA_ERROR

BTST.L #BIT_PE,D1 * Se comprueba el error de paridad.

BNE PARIDAD_ERROR

ANDI.W #$007F,D1 * Nos quedamos con los bits 0 a 6 en D3.

MOVE.W D1,D0 * Copia en D0 el dato bueno.

BRA FIN_LECTURA

TRAMA_ERROR

MOVE.W #ERR_TRAMA,D0

BRA FIN_LECTURA

PARIDAD_ERROR

MOVE.W #ERR_PARIDAD,D0

FIN_LECTURA

MOVE.L (A7)+,D1

RTE

*----------------------------------------------------------------------------*

******************************************************************************

* PRINCIPAL *

******************************************************************************

ORG $400

PRINCIPAL

BSR INHAB_WDOG * Se inhabilita watchdog

BSR QSM_SCI_CFG * Se configura el QSM

MOVEA.L #INI_BUFFER,A0 * Carga dirección inicio del buffer de datos.

24
BSR RECEPTOR_CFG * Se activan las interrupciones del receptor

NUEVA_TRAMA

MOVE.W #TRAMA_NULA,D0 * Valor de cuando no se recibe trama.

BUCLE

CMP.W #TRAMA_NULA,D0 * Espera a la recepción de una trama

BEQ BUCLE

CMP.W #ERR_TRAMA,D0 * Comprueba si hay error en la trama

BEQ NUEVA_TRAMA

CMP.W #ERR_PARIDAD,D0 * Comprueba si hay error en la paridad

BEQ NUEVA_TRAMA

MOVE.B D0,(A0)+ * Copia la trama recibida en el buffer.

BRA NUEVA_TRAMA

END

25
26
ÍNDICE DE CONTENIDO

7. TELEMANDO POR INFRARROJOS......................................................................1

7.1 INTRODUCCIÓN..............................................................................................................................1

7.1.1 ESTÁNDARES DE CODIFICACIÓN DE COMANDOS.........................................................................2


7.1.1.1 Codificación RC-5.................................................................................................................2
7.1.1.2 Codificación RECS 80...........................................................................................................3
7.1.2 CODIFICACIÓN DE LOS COMANDOS.............................................................................................3
7.1.3 TIPO DE MODULACIÓN................................................................................................................4

7.2 TRANSMISOR DE INFRARROJOS..............................................................................................4

7.2.1 DIAGRAMA DE BLOQUES DEL TRANSMISOR................................................................................4


GENERADOR DE RELOJ..............................................................................................................................5
7.2.3 GENERADOR DEL INTERVALO DE TRAMA....................................................................................6
7.2.4 REGISTRO DE DESPLAZAMIENTO.................................................................................................8
7.2.5 MODULADOR ASK......................................................................................................................9
7.2.6 EMISOR DE LUZ INFRARROJA....................................................................................................10
7.2.7 ALIMENTACIÓN.........................................................................................................................12

7.3 RECEPTOR DE INFRARROJOS.................................................................................................12

7.3.1 DIAGRAMA DE BLOQUES DEL RECEPTOR..................................................................................13


7.3.2 FOTO-RECEPTOR........................................................................................................................13
Red de desacoplo...............................................................................................................................15
7.3.3 FILTRO PASO BANDA..................................................................................................................16
7.3.4 DEMODULADOR.........................................................................................................................18
7.3.4.1 Amplificador de entrada......................................................................................................18
7.3.4.2 Detector de envolvente........................................................................................................18
7.3.4.3 Regenerador........................................................................................................................19

7.4 CONEXIÓN AL MICROCONTROLADOR................................................................................19

7.4.1 PROGRAMA BÁSICO DE ATENCIÓN DE COMUNICACIONES.........................................................19

También podría gustarte