Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Sistema de Control de Dispositivos Sobre TCP/IP e Infrarrojo (página 3)



Partes: 1, 2, 3

4
Infrarrojo

4.1 Características

¿Qué es el infrarrojo?

La radiación
infrarroja o radiación térmica es un tipo de
radiación electromagnética de mayor longitud de
onda que la luz visible, pero
menor que la de las microondas.

Consecuentemente, tiene menor frecuencia que la luz
visible y mayor que las microondas.

El infrarrojo es una radiación de energía
con una frecuencia por debajo de la sensibilidad de nuestros
ojos, de modo que no podemos verla. Aunque nosotros no podemos
ver frecuencias de sonido, sabemos
que existen ya que podemos escucharlas.

A pesar de que no podemos ver y oír el
infrarrojo, podemos sentirlo a través de sensores de
temperatura de
la piel.

Luz Infrarroja Visible Luz Ultravioleta

El infrarrojo en electrónica.

El infrarrojo es muy utilizado en electrónica ya
que es fácil de generar y no sufre interferencias
electromagnéticas, por ello es que se utiliza en comunicación y control.

Pero no es perfecto, algunas otras emisiones de luz
pueden contener también infrarrojo ( un ejemplo claro es
el sol) y por
ello pueden interferir en la
comunicación. Hay muchas cosas que pueden generar
infrarrojo, como todo lo que emita calo ( por ejemplo, el cuerpo,
lámparas, hornos, el motor de un auto,
rocas,
etc)

Para obtener una buena comunicación usando
infrarrojo y evitar la interferencia de señales
no deseadas, es necesario el uso de un código
que le pueda decir al receptor cual es el dato real transmitido,
y cual es el generado por el ambiente que
lo rodea. Como una analogía viendo en la noche el cielo,
tu puedes ver cientos de estrellas, pero puedes distinguir a lo
lejos si hay un avión con una luz intermitente. Esa luz
intermitente es el código que nos alerta.

Similar al avión en el cielo de la noche, en la
habitación donde el equipo de música esta colocado
puede tener cientos de fuentes de
infrarrojo, nuestro cuerpo, las lámparas, inclusive la
taza caliente de té.

Una forma de evitar todas esas fuentes es generando un
código. Los controles remotos utilizan el infrarrojo
pulsante en una cierta frecuencia. Los módulos receptores
de infrarrojo de un equipo de audio o TV, sintonizan en esta
frecuencia e ignoran todas las demás señales
infrarrojas que son recibidas.

La mejor frecuencia para esta función
esta entre 30 y 60khz, las mas usada esta alrededor de los 36khz.
Esto funciona exactamente como un sintonizador de radio, en una
estación especifica.

Tu taza de té caliente genera infrarrojo pero no
a 36khz, es una emisión infrarroja plana, por eso es
ignorada por el receptor infrarrojo del equipo de
audio.

Por todo esto el control remoto utiliza los 36khz ( o
aproximados) para transmitir la información. La luz infrarroja emitida por
los diodos IR,
está pulsando a 36000 veces por segundo cuando se
transmite un nivel lógico "1" y silencio para un "0". El
generar 36khz de una señal infrarroja pulsante es muy
fácil, más difícil es recibir e identificar
esa frecuencia.

Esta es la razón por la cual algunas
compañías producen los receptores infrarrojos
conteniendo los filtros, circuitos
decodificadores y modificador de salida que envía una onda
cuadrada, significando la existencia o no de una señal
entrante de 36khz infrarroja pulsante; esto significa que esas
pequeñas unidades que hay en plaza tienen un pin de salida
que se pone en alto (+5v), cuando hay una señal pulsante
de 36khz, y en bajo (0v) cuando no hay señal en esta
radiación.

Una onda cuadrada de aproximadamente 27 microsegundos
inyectada en la base de un transistor puede
conducir un led infrarrojo para transmitir esta onda de luz
pulsante.

Si se puede prender y apagar a esa frecuencia en el
transmisor, la salida del receptor va a indicar cuando el
transistor esta prendido o apagado.

Esos emuladores infrarrojos tienen inversión lógica
en su salida, cuando el burst de infrarrojo es captado, este
conduce la salida a un nivel bajo (nivel lógico "1". Para
evitar que el control remoto de Philips cambie de canales en un
Panasonic, ellos usan diferente codificación en el infrarrojo aunque todos
ellos usan básicamente la misma frecuencia de
transmisión, de 36 a 50 Khz.

Por ello todos usan una combinación diferente de
Bits, o difieren en como codifican los datos
transmitidos, para evitar la interferencia. Han sido creados
algunos estándares, de forma ilustrativa vamos a mostrar
uno usado por Philips, el estándar el RC5 que utiliza
longitud de bit fija ( código Manchester)

Cada vez que tu presionas el botón en el control
remoto Philips, envía un tren de 14 bits, 1.728 MS por
bit, todo el tren se repite cada 136ms si mantienes el
botón presionado. Cada bit es dividido en dos mitades. La
mitad de izquierda y de derecha tiene niveles opuestos, si el bit
que es transmitido es "1", a su lado izquierdo es cero, mientras
el lado derecho es uno. Si el bit transmitido es "0", su el lado
izquierdo es uno mientras que el derecho es cero.

Esto significa que la segunda mitad del bit tiene el
mismo valor que el
bit que es transmitido, como se puede ver en el lado derecho del
bit como "on", sombreado en azul, significa que el bit
transmitido =1.

Si queremos medir el nivel lógico correcto
directamente de la salida del receptor, se deberá medir la
primera mitad del bit.

La interpretación correcta es que cambia de
nivel exactamente a la mitad del tiempo del
bit. A la salida de un receptor de infrarrojo un bit "0" cambia
de nivel bajo a alto, mientras que el bit "1" cambia de nivel
alto a bajo.

Hay una mínima cantidad de pulsos entrantes de 27
microsegundos en el demodulador el cual debe interpretar si esta
a la frecuencia correcta y luego enviar su salida. La cantidad de
pulsos utilizados en un control remoto Philips son 32 pulsos por
cada mitad del bit, 64 pulsos por bit. Así que, un bit "0"
al ser transmitido, significa 32 pulsos cuadrados de 27 micro
segundos cada uno, luego 32 de 27 microsegundos de
silencio.

Pasaremos a decodificar la recepción de una
señal en la salida del demodulador. Se puede observar la
dirección del cambio a la
mitad del bit, si desciende significa bit "0", si asciende
significa bit "1". Pero es fácil muestrear el medio de la
primera mitad del bit, así directamente nos muestra cual es
el estado del
bit, como lo veremos mas a delante. El control remoto Philips
envía 14 bits en secuencia como se puede ver a la derecha.
Podemos ver los 14 bits del sistema RC-5. El
bit en rojo es nivel "on", mientras que el azul es
"off".

Los primeros dos bits, #1 y #2, se llaman
calibración ACG.

Ellos son niveles "on" y su propósito es calibrar
el control de ganancia automático del receptor de
infrarrojo.

En los controles remotos Philips, el bit #3 es el bit
"check", siempre que presionamos un botón del control,
inclusive presionando repetidamente el mismo botón, este
bit cambia de estado. Esta
facilidad es interesante. Supongamos que se presiona el numero 1
en el control ( intentando seleccionar la pista 1 en el equipo) y
presionándolo por dos segundos, luego con la otra mano
bloqueamos la señal infrarroja. El equipo recibirá
dos trenes de pulso, generados por tu mano interrumpiendo en dos
un largo tren. Otro sistema podría interpretar la
transmisión de dos botones 1 seleccionando la pista 11,
pero no pasa en los sistemas Philips.
Este bit cambia de estado cada vez que se presiona un
botón, así que si se bloquea la señal con la
mano no cambia ese bit, así que el equipo entenderá
que continua el mismo botón presionado. Para seleccionar
la pista 11 debemos realmente presionar dos veces el 1
repetidamente. Los siguientes 5 bits, #4 a #8, son usados para el
"sistema de dirección", o para identificar que clase de
dispositivos podría haber ejecutado el bit "comando". El
bit #8 es el bit menos significante..

Mostramos un ejemplo de las formas de onda en la salida
del Receptor (14bits)

Los pulsos son:

-Rojos son los pulsos de AGC ( Control Automático
de Ganancia)

-Azules son los Check Bit

-Blanco son las direcciones

-Verdes son los comandos

Codificación empleada por Sony
(RECS80):

Sony emplea una modulación
por anchura de pulso. Considerando un tiempo mínimo T de
600 microsegundos, cada bit de información esta codificado
mediante un nivel bajo y un nivel alto: Un "1"esta codificado con
un nivel bajo y alto de duración T respectivamente, y un
"0" esta codificado con un nivel bajo de duración T y un
nivel alto de duración 2T. Mientras la señal esta a
nivel alto, se esta transmitiendo la portadora de 36khz y por
tanto la radiación infrarroja.

La trama de bits generada al pulsar una tecla en el
mando tiene el siguiente formato: Primero se transmite una
cabecera, que consiste en el llamado bit START con una
duración a nivel alto de 3 T (1800 microsegundos);
seguidamente se transmiten 12 bits ( comenzando por el LSB) de
los cuales los 7 primeros corresponden al código de
COMANDO o funcion de la tecla pulsada, y los 5 restantes a la
dirección del dispositivo.

En la figura anterior el comando es 16h y la
dirección es 02h. Si se mantiene pulsada la tecla, la
trama se repite periódicamente cada 25ms.

La detección de la señal utilizando un
modulo detector de infrarrojos genérico o un fotodiodo con
una resistencia
pull-up conectada a +Vcc, hace que la señal se invierta y
por tanto permanezca en reposo a nivel alto cuando no existe
emisión IR.

Para nuestro emisor utilizaremos un código
similar al RECS80 y esta dado por el circuito integrado MC145026,
el código enviado es recibido por un modulo receptor de
infrarrojos y decodificador por el circuito integrado
decodificador MC145027, ambos son de Motorola.

5 Sistema
WEB en el
proyecto

5.1 World Wide Web

A continuación daremos un pequeño resumen
sobre como funciona el sistema web.

El sistema WWW (World Wide
Web) fue creado en los años 80 con el propósito
de compartir información a través de la internet. Consiste en una
arquitectura
ClienteServidor, en la
que el servidor es quien almacena la información que los
usuarios pueden consultar a través del software cliente (Navegador
Web). Inicialmente la información consistía solo en
páginas de texto
enriquecido e imágenes,
escritas en lenguaje
HTML
(HiperText Markup Language).

Este lenguaje, además de texto enriquecido
(tamaños de letra, colores, tablas,
etc), tambien nos permite definir links o enlaces. Estos
consisten en una porción de texto que tiene la
característica de enviarnos a otra página (otra
dirección web), mediante un click sobre éste. El
servidor aloja estas páginas como archivos dentro
de su unidad de almacenamiento.
Cuando el usuario desea visitar un sitio web, le indica la
dirección web, o URL, al navegador. Mediante esta
dirección, el cliente sabe a qué servidor
conectarse, y qué archivos descargar de éste, para
mostrar la página.

5.2 CGI-BIN

La web funcionó por años como un medio
para compartir información escrita, hasta que
surgió la idea del comercio via
internet. A partir de este momento surgieron cosas como consultar
listas de precios,
stock, enviar números de tarjeta via web, consultar estado
de cuenta bancaria, etc.

Si todo esto tuviera que hacerse mediante el sistema web
recien descrito, tendría que haber una persona
modificando al instante los archivos que el servidor sirve a sus
clientes; una
tarea nada práctica y muy estresante. Así fue que
surgió un sistema en el que el servidor no trabaja solo
con archivos de texto estáticos, sino que también
puede interactuar con programas que
corren en el servidor. Estos programas pueden consultar bases de
datos, hacer cálculos, etc.

De este modo surge el sistema de CGI-BIN (Common Gateway
Interface).

5.3 El proyecto y el
WWW

Dado que un servidor web puede interactuar con otros
programas que corren en esa computadora,
es posible escribir un programa capaz de
acceder al puerto
paralelo de ésta, y comunicarse via web con un cliente
para mostrar su estado o recibir instrucciones.

Para el proyecto fue utilizada como servidor, una
computadora con sistema operativo
linux, donde
se instaló un software servidor web (thttpd), y se
programó una aplicación que interactúa con
éste, nuestro CGI-BIN.

Éste consiste en un programa escrito en lenguaje C,
que accede al puerto paralelo, y un sistema de scripts en
lenguaje BASH, que genera una interfaz web.

El servidor buscara un servidor DHCP el cual le
asignara una ip para ser
integrante de la red la cual estara
conectado.

Seguidamente mostramos la rutina de programación que implementamos para la
programación del web remoto, el lenguaje
utilizado fue C para Linux. Esta rutina leera el puerto y
escrbira sobre el mismo de acuerdo a la orden del usuario en el
servidor.

Rutina 1

———————————————————————————–

#define PUERTO 0x378

#include <stdio.h>

#include <sys/io.h>

#include <string.h>

main (int argc, char **argv)
{

char salida;

char val;

int i;

if ((ioperm(PUERTO, 1, 1)) == -1) return
1;

switch (argc)
{

case 1:

/* llamado sin argumentos */

/* imprime el status del puerto
*/

val = inb(PUERTO);

for (i = 0; i < 8; i++) {

if (val & ( 128 >> i))
printf("1 ");

else printf("0 ");

}

printf("n");

return 0;

case 3:

/* Recibe 2 argumentos… estos deben
ser un numero

de 0 a 7, indicando el bit que se
activara o

desactivara, y la accion (on, off)
*/

salida = inb(PUERTO);

val = 1 <<
atoi(argv[1]);

if (!strcmp ("on", argv[2]))
{

salida = salida | val;

printf("%in", salida);

}

else {

salida = salida & (~val);

printf ("%in", salida);

}

outb(salida, PUERTO);

return 0;

default:

fprintf(stderr, "Mal uso de los
argumentosn");

return 1;

}

/* nunca llega aca, pero lo
implementamos igual */

return 0;

}

Rutina 2

———————————————————————————–

#!/bin/sh

# Esta funcion cumple la tarea de
imprimir el header

# necesario por los CGI BIN

function cgi_header () {

echo "Content type:
text/html"

echo

}

# Esta funcion crea la interfaz que
muestra el estado del puerto

# y proporciona los links para
manejarlo

function iface_puerto () {

echo "<table border=0 cellpadding=3
cellspacing=1>"

# Doy una etiqueta a las
columnas

echo -e "<tr>"

echo -e "<td bgcolor="#c0c0c0">
# </td>"

echo -e "<td bgcolor="#c0c0c0">
Estado </td>"

echo -e "<td
bgcolor="#c0c0c0">&nbsp; Acciones
&nbsp;</td>"

echo "</tr>"

PN=7

# pport devuelve por defecto el estado
de cada bit del puerto

# paralelo, separados por
espacios.

for M in $(/home/helinet/pport);
do

echo -e " <tr>"

echo -e " <td
bgcolor="Blue">$PN</td>"

if [ $M = "0" ]; then

echo -e "<td bgcolor="Red"
align="Center">$M</td>"

echo -e "<td><a
href="cgi-prueba.cgi?on=$PN">Encender</a></td>"

else

echo -e "<td bgcolor="Green"
align="Center">$M</td>"

echo -e "<td><a
href="cgi-prueba.cgi?off=$PN">Apagar</a></td>"

fi

echo "</tr>"

# Resto desde 7 hasta 0 por cada bucle,
para saber cual bit

# manejar.

PN=$(expr $PN – 1)

done

echo "</table>"

}

## Comienza programa
principal

# Separador de argumentos de un CGI
BIN

IFS=&

# Interpreto los argumentos y llamo a
las funciones

# apropiadas

for ARG in $QUERY_STRING; do

case $ARG in

on*)

# Esta funcion envia un uno binario al
bit del

puerto

PORT=$(echo $ARG | cut -d'=' -f
2)

/home/helinet/pport $PORT on 2>&1
>/dev/null

;;

off*)

# Esta funcion envia un cero al bit del
puerto

PORT=$(echo $ARG | cut -d'=' -f
2)

/home/helinet/pport $PORT off
2>&1 >/dev/null

;;

esac

done

cgi_header

echo "<html>"

echo "<title>Control remoto
WEB</title>"

echo "<body
bgcolor="#e0e0e0">"

echo "<center>"

echo "<h1>Control Remoto
Web</h1>"

echo "<table border=0 width=450
cellpadding=5>"

echo "<tr><td
colspan=2>"

echo "<hr>"

echo
"</td></tr><tr><td>"

iface_puerto

echo "</td><td
valign="Top">"

echo "<p
align="Justify">"

echo "Haga click en los links al lado de
cada puerto. La columna &quot;Dispositivo&quot; indica el
estado de cada uno de los 4 puertos disponibles."

echo "</p>"

echo
"</td></tr><tr><td colspan=2>"

echo "<hr>"

echo "<font face="Helvetica"
size=1>"

echo " Proyecto Final
CIT,2006"

echo "</font>"

echo
"</td></tr></table>"

echo "</center>"

Descripción del Emisor

6.1 Funcionamiento

Nosotros pensamos o creemos darle mas importancia al
puerto paralelo, ya que según lo que hemos consultado
podemos manejar dispositivos que son diferentes a un computador,
como por ejemplo el manejo de un emisor de
infrarrojos.

En la salida de nuestro puerto vamos a tener voltajes
tipo TTL con señales no balanceadas, por lo que estamos
propensos a recibir ruido y por
ende provocar errores.

En esta interfaz son utilizados cables gemelos de 12
hilos que se utilizan para conectar unidades de
almacenamiento, por ejemplo, discos duros, lectoras de
cd,
etc.

También podríamos haber elegido la manera
de conectar el emisor directo al puerto paralelo externo, pero
por un tema de espacios y con la idea de reducir tamaño
elegimos implementarlo en el interior del gabinete.

En este diseño
tomamos en cuenta, que al ser una computadora que se armo con
piezas que teníamos al alcance, tuvimos la
precaución de proteger nuestro diseño de las
tensiones parásitas, que entran dentro de los 5v TTL
aproximadamente.

Podremos medir incluso hasta 3,6V que aún puede
ser considerado como un 1 También otra razón por la
cual elegimos no usar cables largos es porque se podría
encontrar un voltaje menor y nuestro circuito lógico al
cual estamos controlando lo interpretaría de forma
errónea. Si se llega a medir un voltaje inferior de 3,6V,
será necesario verificar nuestro puerto si está
activado o presenta un error.

Por esto es recomendable conectar un cable corto y
añadir un circuito buffer ( como por ejemplo el 74LS244,
ya que solo aporta corriente y estabiliza voltajes.

Es necesario tener en cuenta que esta interfaz, como los
demás componentes de la computadora
son muy delicados, se debe tener mucho cuidado al conectar
cualquier cosa. Nuestro emisor será alimentado a partir de
la tensión de fuente del PC, o sea, 5V.

Esta interfaz utiliza recursos del
sistema que en muchos equipos están estandarizados,
así que de forma predeterminada el puerto LPT1 utiliza la
interrupción IRQ7.

Cuando la CPU (Unidad
Central de Proceso)
detecta una petición de interrupción (IRQ) detiene
(interrumpe) su estado actual para procesar la
interrupción específica del dispositivo que ha
generado dicha interrupción. Del puerto paralelo
utilizaremos los bits

D0, D1, D2, D3, y el Pin 1 (Strobe). La
comunicación con el emisor será unidireccional, o
sea, hacia el buffer los BIT serán transmitidos
unidireccionalmente. Mostramos en la siguiente figura un esquema
de las conexiones entre el puerto paralelo, buffer y
codificador.

Interfaz Puerto Paralelo, Buffer y
Codificador

A continuación describiremos el codificador, que
por decirlo de alguna manera, será el principal componente
en esta etapa.

6.2 Codificador

Integrado MC145026

Este integrado es un decodificador diseñado por
motorola. Este transmite simultáneamente datos trinarios
definidos por el estado de los pines de entrada A1-A5 y
A6/D6-A9/D9. Estos pins pueden estar en cualquiera de sus tres
estados, osea, bajo, alto o abierto, permitiendo 19683
códigos posibles. La secuencia de transmisión es
iniciada por un nivel bajo en el pin de entrada del TE (
Transmisión Enable). Este pin nosotros lo conectamos a una
de las salidas del buffer que es donde esta el valor del BIT 1
(STROBE) del puerto paralelo, este bin, como ya lo
habíamos dicho antes, pasa a bajo cuando el puerto
paralelo esta transmitiendo. Seria parecido a una bandera que
pasa a estado , "0".

Debido a que ninguna aplicación del MC145026
debería ser diseñada para confiar en la primera
palabra de datos, no se envía ninguna señal durante
3 periodos de datos. Cada digito trinario transmitido es
codificado en pulsos. Un "0" lógico (bajo) es codificado
como dos pulsos cortos consecutivos, un "1" lógico (alto)
como dos pulsos largos consecutivos, y uno abierto (alta
impedancia) como pulso largo seguido de uno corto. El estado de
la entrada se determina usando un dispositivo de salida
débil para intentar forzar cada entrada a alto y luego a
bajo.

Si solo se obtiene un estado bajo, se asume que la
entrada esta conectada a VDD. Si solo se obtiene un estado bajo,
se asume que la entrada esta conectada a VSS. Si ambos, alto y
bajo pueden ser forzados como entrada, se asume un estado abierto
y es considerado, es codificado como tal.

La entrada TE tiene un dispositivo pull-up así
que un simple swich puede ser usado para forzar al entrada a
bajo.

Mientras TE esta en alto y finaliza la
transmisión de la 2da palabra, el codificador es
deshabilitado por completo, el oscilador es inhibido, y la
corriente de drenaje es reducida a corriente de reposo. Cuando TE
es llevado a bajo, se inicia el oscilador y la secuencia de
transmisión empieza.

Luego, las entradas son seleccionadas secuencialmente y
se hacen determinaciones, como los estados lógicos de
entrada.

Esta información se transmite serialmente
vía el pin 15 o sea el DATA OUT. La figura que sigue a
continuación nos da más claridad a lo explicado
anteriormente.

Diagramas de Tiempo

Datos binarios

Los pines del Integrado son las
siguientes.

A1-A5, A6/D6-A9/D9 (Dirección,
dirección / entrada de datos) son los pines 1-7,9 y 10.
Las entradas dirección/datos se codifican y los datos son
enviados vía serial a través del pin DATA
OUT.

RS,CTC,RTC (pines 11,12 y 13)

Estos pines son parte de la sección del oscilador
del codificador. Si una fuente de señal externa es usada
en vez de un oscilador externo, podría ser conectado a la
entrada RS, y los pines RTC y CTC pueden dejarse
abiertos.

TE ( Transmisión Enable)

Esta entrada de habilitación de
transmisión se activa en bajo, inicia la
transmisión cuando se fuerza a
estado bajo. Un dispositivo interno pull-up mantiene esta entrada
normalmente en alto. La corriente de pull-up se especifica en la
tabla de características eléctricas.

DATA OUT, pin 15, (salida de datos)

Esta es la salida del codificador que presenta
serialmente las palabras de datos codificados.

VSS (Alimentación
negativa) pin 8.

VDD (Alimentación positiva) pin
16

6.3 El Transmisor Infrarrojo

En la emisión de señal infrarroja
tendremos la dirección binaria que es ingresada en el
codificador de forma paralela. Estos datos binarios seran los que
nos envia el buffer de recepción de datos que se encuentra
conectado al Puerto paralelo.

La dirección binaria sera enviada serialmente por
el pin de salida de datos del codificador, o sea, el pin
15.

Para enviar los datos seriales del codificador
implementamos un oscilador Schmitt trigger, el cual a traves de
un potenciometro que implementamos podemos variar la frecuencia
de trabajo.

Este cambia su estado de salida cuando la tensión
en su entrada sobrepasa un determinado nivel; la salida no vuelve
a cambiar cuando la entrada baja de ese voltaje, sino que el
nivel de tensión para el cambio es otro distinto,
más bajo que el primero. A este efecto se conoce como
ciclo de histéresis. Ésta es la principal
diferencia con un comparador normal, que es un simple
amplificador operacional sin realimentación, y que su
salida depende únicamente de la entrada mayor.

El trigger Schmitt usa la histéresis para
prevenir el ruido que podría solaparse a la señal
original y que causaría falsos cambios de estado si los
niveles de referencia y entrada son parecidos.

Para su implementación se suele utilizar un
amplificador operacional realimentado positivamente

Por ejemplo, si el trigger inicialmente está
activado, la salida estará en estado alto a una
tensión Vout = +Vs, y las dos resistencias
formarán un divisor de tensión entre la salida y la
entrada. La tensión entre las dos resistencias (entrada +)
será V+, que es comparada con la tensión en la
entrada −, que supondremos 0V (en este caso, al no haber
realimentación negativa en el operacional, la
tensión entre las dos entradas no tiene porque ser igual).
Para producir una transición a la salida, V+ debe
descender y llegar, al menos, a 0V. En este caso la
tensión de entrada es . Llegado este punto la tensión a la salida
cambia a Vout=−Vs. Por un razonamiento equivalente podemos
llegar a la condición para pasar de −Vs a +Vs:

Con esto se hace que el circuito cree una banda centrada
en cero, con niveles de disparo
±(R1/R2)VS. La
señal de entrada debe salir de esa banda para conseguir
cambiar la tensión de salida.

Si R1 es cero o R2 es infinito (un
circuito abierto), la banda tendrá una anchura de cero y
el circuito funcionará como un comparador
normal.

El símbolo para un trigger Schmitt es un
triángulo que tiene en su interior el símbolo de la
histéresis

La señal del codificador y del oscilador son
ingresadas en un compuerta NAND de conmutación rapida
con ciclo de histeresis, o sea, con Smith Trigger.

Esta señal sale de la compuerta nand y se envia
a traves de la base del transistor de alta tensión, el
MPSA92, que se encargara de hacer oscilar la señal sobre
el led emisor.

  • 6.4 Esquemas Eléctricos e Impresos

Vista real de
Diseño

Placa de Impreso

Ubicación de
Componentes

7
Descripción del
Receptor

7.1 Módulo Receptor de
Infrarrojo

Nuestro modulo consistirá de un receptor de
infrarrojos del tipo Sony SBX 1620-12.

Este modulo receptor tiene un rango de
recepción que esta comprendido entre 30 a 56 Khz. Nosotros
al utilizar en el emisor un oscilador variable que lo podemos
variar entre 35 y 40 Khz., con este receptor vamos a poder
satisfacer nuestras necesidades.

Este consiste de un foto diodo con circuito integrado
y también tiene la ventaja que es compatible con TTL y
CMOS. Se caracteriza por tener una recepción a larga
distancia y elevada sensibilidad.

En el siguiente diagrama en
bloques, mostramos la descripción del mismo.

Este posee un control automático de ganancia, un
control automático de umbral, un pasa banda, y un
demodulador.

Los dos primeros, el control automático de
ganancia y el control automático de umbral, cumplen la
función de controlar dinámicamente los puntos de
trabajo de la señal y también los niveles de umbral
para descartar las interferencias que pueden provenir del
ambiente que lo rodea. Por ejemplo, luces, radiación
solar, etc.

Este modulo receptor ya trae incluido una estructura que
lo aísla de las interferencias o frecuencias externas
(cápsula metálica). Como conclusión podemos
decir que la función de este modulo es darnos una
señal de salida pura y filtrada de ruidos.

El ángulo de
recepción que soporta es de +50, – 50
grados

En la siguiente figura mostramos esquemáticamente
el modulo receptor y sus pines de conexión.

Estos son tres: Dato (Out) ,VCC (+5), y Tierra
(GND)

7.2 El decodificador

Como decodificador utilizaremos el integrado de
Motorola, MC145027. Este es un decodificador que recibe los datos
transmitidos por el codificador MC145026.

Estos datos como habíamos dicho anteriormente,
son transmitidos serialmente y consisten en dos palabras
idénticas, estas son examinadas BIT a BIT durante la
recepción.

Los primeros dígitos trinarios se asume que son
la dirección. Si la dirección recibida coincide con
la local, los siguientes 4 bits de datos son almacenados
inmediatamente , pero no son transferidos al latch de datos de la
salida. Al ser recibida la segunda palabra codificada, la
dirección debe coincidir nuevamente, si coinciden, los
nuevos BIT de datos, son chequeados contra los datos previamente
almacenados. Si los dos tramos de datos ( 4 bits cada uno)
coinciden, los datos los reemplaza. Al mismo tiempo el pin de
salida VT es llevado a alto y permanece así hasta que
reciba un error o no se reciba señal de entrada por cuatro
periodos de datos.

Aunque la información de la dirección
puede estar codificada en trinario, la información de
datos debe ser tanto un "1" o un "0". Una línea de datos
trinarios (abierto) es codificada como un "1"
lógico.

Descripción de los
Pines.

A1-A5 ( Entradas de Dirección), son
los pines del 1 al 5.

Estas son las entradas de dirección locales. Los
estados de estos pines deben coincidir con los de las respectivas
entradas del codificador para que el pin VT vaya a alto. La
dirección local puede ser codificada tanto con datos
trinarios como binarios.

D6-D9 (Salidas de datos), son los pines
15,14,13,12.

Estas salidas presentan la información binaria
que esta en las entradas A6/D6 al A9/D9 del codificador. Solo son
reconocidos datos binarios, un dato trinario "abierto" del
codificador es decodificado como estado alto , o se a un "1"
lógico.

Data In ( Entrada de datos), es el pin 9. Este pin es la
entrada de datos del decodificador. El voltaje de datos esta en
niveles lógicos Cmos.

R1, C1, son los pines 6 y 7.

Estos pines aceptan una resistencia y un capacitor
utilizados para determinar si ha sido recibido un pulso corto o
uno largo. La constante de tiempo R1xC1 =3.95RTCCTC.

R2/C2, es el pin 10.

Este Pin acepta una resistencia y un capacitor, que son
usados para detectar tanto el fin de luna palabra recibida como
el fin de una transmisión. La constante de tiempo R2xC2
puede ser 33.5 periodos reloj del codificador ( 4 periodos de
datos) R2C2= 77RTCCTC. Esta constante de tiempo es utilizada para
determinar si el pin DATA IN se mantuvo en bajo por cuatro
periodos de datos ( fin de la transmisión). Un comparador
interno separado, vigila el voltaje equivalente a 2 periodos de
datos (0.4 R2C2) para detectar el tiempo muerto entre las
palabras recibidas durante una transmisión.

VT (Salida validadora de
transmisión)
es el pin 11.

Esta salida validadora de transmisión se pone en
alto después de la segunda palabra de una secuencia de
codificación, cuando las siguientes condiciones son
cumplidas:

A) la dirección de ambas palabras coinciden con
la dirección local del decodificador.

B) los bits de datos recibidos de ambas palabras
coinciden.

VT se mantiene en alto hasta que reciba una diferencia o
no hay señal de entrada por 4 periodos de
datos.

VSS ( Alimentación negativa) , es
el pin 8

VDD ( Alimentación positiva), es el
pin 16

Aclaración:

Antes de conectar el transmisor de infrarrojo y el
receptor, es interesante verificar si el codificador esta
oscilando a la misma frecuencia que el decodificador. Para eso
para eso, configuramos las entradas del codificador igual al del
decodificador.

En el decodificador tenemos un pin que es el VT, que
significa transmisión valida de datos ( Valid
Transmisión). En este pin podemos conectar un led con una
resistencia de 470 ohmios, y luego conectar la salida del
codificador a la entrada del decodificador, o sea, con un cable
directo.

Seguidamente pasamos a bajo el pin TE que es el pin 14
del codificador y ahí vemos si en el decodificador VT se
enciende. Si es así, significa que ambos integrados
están oscilando a la misma frecuencia. De lo contrario
tendremos que chequear ambos osciladores.

En la hoja de datos de estos integrados podemos elegir
que frecuencia vamos a usar, y de acuerdo a la que elegimos,
serán los valores de
las capacitancias y resistores que usaremos para el
oscilador.

A continuación mostramos de forma grafica como
conectar ambos integrados para calibrarlos.

También mostramos la tabla de las frecuencias que
podemos elegir. Cabe destacar que en nuestro caso elegimos una
frecuencia de 1.71 Khz.

Esquema eléctrico para calibrar los
integrados

 f osc (Khz.)

RTC 

CTC' 

R

 R1

C

R

C

362

10 k

120 pF

20 k

10 k

470 pF

100 k

910 pF

181

10 k

240 pF

20 k

10 k

910 pF

100 k

1800 pF

88.7

10 k

490 pF

20 k

10 k

2000 pF

100 k

3900 pF

42.6

10 k

1020 pF

20 k

10 k

3900 pF

100 k

7500 pF

21.5

10 k

2020 pF

20 k

10 k

8200 pF

100 k

0.015 F

8.53

10 k

5100 pF

20 k

10 k

0.02 F

200 k

0.02 F

1.71

50 k

5100 pF

100 k

50 k

0.02 F

200 k

0.1 F

1.71

50 k

5100
pF

100 k

50 k

0.02
F

200 k

0.1 F

Opciones para elegir la frecuencia
y diseño de osciladores.

Conexiones y cálculos para
el diseño

7.3 Control de Relays

Para comandar el sistema de Relays utilizamos un
integrado el ULN2803 que internamente posee una serie de transistores que
se encuentran bajo la configuración par Darlington, y cuya
característica principal es la de manejar altas corrientes
y tensiones.

Este integrado es un circuito de interfase que activa
una serie de Relays

a partir de las señales que se generan en el
decodificador que implementamos, el MC145027. Este ultimo va a
indicar que driver

activar para posteriormente a través del ULN2803
activar el relay que corresponda.

Por lo tanto, es a través de los Relays que se
tiene el control de la activación de los elementos de
potencia que se
están controlando, los Relays, tienen la capacidad de
manejar corrientes constantes de aproximadamente 50ma

con voltajes que pueden ser también

altos, corrientes alternas o continuas.

Elegimos los Relays como elementos de control porque de
manera universal pueden controlar cualquier tipo de
dispositivo.

O sea, que se puede conectar a los bornes de salida de
este modulo cualquier elemento de potencia ya sea de corriente alterna
como de corriente continua, mismos que pueden ser dispositivos
resistivos como lo de una lámpara incandescente, o
elementos magnéticos como los motores,
etc.

Pines de
conexión

Diagrama eléctrico de cada
Driver ( Entrada/ Salida)

De la siguiente manera implementaremos nuestro sistema
de drivers sobre los Relays.

A continuación presentamos algunos ejemplos de
conexión que se podrían implementar a la salida del
modulo receptor

Ejemplo 1: Conexión con
fuente de corriente alterna y motor

Ejemplo 2: Conexión con
fuente de corriente continua y lámpara.

Cabe destacar que dependiendo de la exigencia de cada
usuario sobre este dispositivo, serán las conexiones a
diseñar en los bornes de conexión, o sea que
podemos adecuarlo a nuestra medida y conectar una infinidad de
dispositivos que queramos controlar.

7.4 Esquemas Eléctricos e Impresos

Vista real del
Diseño

Ubicación de
Componentes

Placa de Impreso

8.0
Conclusiones

Mediante este proyecto pudimos hacer interactuar la
electrónica con la informática.

Aplicando conocimientos adquiridos durante la carrera,
otros adquiridos durante la investigación y búsqueda de
información, pudimos concretar nuestra meta para
desarrollar el mismo.

Pudimos comprender muchos detalles sobre el
funcionamiento de las diferentes etapas que se implementaron,
programación, codificación, comunicación
infrarroja, decodificación, control de potencia, etc. A
pesar de que tuvimos muchas fallas y equivocaciones, estas fueron
muy útiles para mejorar y entender a que se
debieron.

Como lo hemos dicho anteriormente en la primer parte de
este informe, este
diseño se realizo con fines de "mezclar" por decirlo de
alguna manera, dos campos que siempre fueron de gran interés
para nosotros, ellos son, la
Electrónica-informática.

9 Lista de
Componentes

9.1 Control de Emisor de Infrarrojo

Resistores

R1 = 51k

R2 = 10k

R3 = 100k

R4 = 100k

R5 = 4.7k

R6 = 100k

R7 = 100k

R8 = 100k

Integrados

IC1 = 74LS244

IC2 = MC145026

IC3 = TLD62

IC4 = SN74HC00

Capacitores

C1 = 5.6nf

C3 = 0.1nf

Transistores

Q1 = MPSA92 PNP

Diodos Leds

D1 = Led emisor de infrarrojo

Fuente de alimentación

VCC = 5v. Este modulo emisor será alimentado a
partir de la fuente del servidor.

9.2 Módulo Receptor

Receptor de Infrarrojos = Sony SBX 1620-12

Resistencias

R1 = 680 ohm

R2 = 470 ohm

R3 = 51k

R4 = 100k

R5 = 200k

R6 = 100k

R10 = 470 ohm

R11 = 470 ohm

R12 = 470 ohm

R13 = 470 ohm

Capacitores

C1 = 20nf

C2 = 100nf

C3 = 100nf

C4 = 2200 m f , 25v
(Filtrado)

C5 = 1000 m f , 25v
(Filtrado)

Transistores

Q1 = KSP 42037 NPN

Diodos Led

D1 = Led Piloto de recepción de datos del
decodificador

D2 = " " " encendido de la fuente de
alimentación

D3 = Led Piloto de Relay 1

D4 = Led Piloto de Relay 2

D5 = Led Piloto de Relay 3

D6 = Led Piloto de Relay 4

Integrados

IC1 = Decodificador MC145027

IC2 = ULN2803

Borneras y Relays

CN1 = Bornera 1 RL1 = Relay 1

CN2 = Bornera 2 RL2 = Relay 2

CN3 = Bornera 3 RL3 = Relay 3

CN4 = Bornera 4 RL4 = Relay 4

Fuente de Alimentación

Regulador de Tensión = 7805

BR1 = Puente rectificador de onda completa

F1 = Fusible de Protección

V1 = Tensión de alimentación externa,
220v, 50HZ

Diagrama eléctrico del
Modulo Emisor Infrarrojo

Diagrama Eléctrico del Receptor
Infrarrojo y Control

10
Bibliografía

  1. Sistemas de Comunicaciones electrónicas, 2º
    Edición, Wayne Tomasi
  2. Electrónica Digital, Tocci
  3. Electrónica y Aplicaciones, Grob
  4. Programación C (Linux), 1º
    Edición, Stolarsky
  5. CGI-BIN Programmer, John Brown
  6. Protocolos de Comunicaciones, José Miguel
    Alonso.

Referencias

  • Proyecto diseñado y realizado por Diego G. de
    León Cenoz –
  • Ingeniero Tecnológico en
    Electrónica
  • Instituto Tecnológico Superior, U.T.U,
    Arias-Balparda, Montevideo Uruguay

 

Diego G. de León Cenoz

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter