Proyecto
Final de Carrera
“Sistema de Control de
Dispositivos Sobre TCP/IP e Infrarrojo”
·
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
PROYECTO
AÑO 2006: Carrera de Ingeniero Tecnológico en Electrónica
DOCENTE : Juan
G. Demczylo Kcenev
INTEGRANTES: Diego
de León Cenoz
PROPUESTA: Sistema
de Control de Dispositivos sobre TCP/IP e Infrarrojo
OBJETIVOS:
·
Diseñar
un Sistema de Control a Distancia, utilizando protocolos TCP/IP e Infrarrojo.
·
El acceso a este sistema será a través de
Internet o Lan Local.
·
El usuario podrá ingresar al sistema desde
cualquier lugar donde este ubicado, siempre y cuando este conectado a una red
informática que utilice protocolos orientados a conexión por TCP/IP (Internet o
Lan Local)
·
Podrá comandar y chequear los dispositivos que
se encuentran conectados al sistema de control, sin necesidad de estar en el
lugar donde se encuentran los mismos.
·
La comunicación entre los dispositivos será a
través de infrarrojo
·
El Sistema estará alojado en un Servidor Linux.
Índice:
1 Presentación y Objetivos
1.1-------------------------
Diagramas en Bloques
2 Definiciones y
Terminologías
2.1
--------------------------Sistemas de Control
2.2
--------------------------Arquitectura de la Internet
2.3
--------------------------Protocolos (TCP/IP)
2.4
--------------------------Redes Lan
3 Interfases
3.1
--------------------------Puerto Paralelo
4 Infrarrojo
4.1
--------------------------Características
5 Sistema Web en el
Proyecto
5.1
--------------------------WWW
5.2
--------------------------CGI-BIN
5.3
--------------------------El proyecto y el WWW
6 Descripción del Emisor
6.1
--------------------------Funcionamiento
6.2
--------------------------Codificador
6.3
--------------------------El Transmisor Infrarrojo
6.3
--------------------------Esquemas Eléctricos e Impresos
7 Descripción del
Receptor
7.1
--------------------------Modulo Receptor
7.2
--------------------------Decodificador
7.3
--------------------------Control de Relays
7.4
--------------------------Esquemas Eléctricos e Impresos
8 Conclusiones
9 Lista de Componentes
10 Bibliografía
11 Hojas de Datos
Presentación y
Objetivos:
El
objetivo de este proyecto como lo habíamos dicho anteriormente, es diseñar un
sistema de control a distancia de dispositivos.
Para eso optamos por elegir
el protocolo de comunicación TCP/IP ( Transport Control Protocol / Internet
Protocol), el cual nos pareció interesante y muy útil ya que este es utilizado
en las redes informáticas que hoy día cualquier persona tiene acceso, un claro
ejemplo es Internet.
Nuestro sistema de control
estará alojado en un servidor remoto dentro de la red, ya sea Internet o Lan
local, podremos acceder a este,
mediante cualquier PC o terminal que también este en esa misma red. A esto se denomina “acceso remoto” a un servidor.
Con este medio de acceso,
podremos ingresar al sistema desde cualquier parte de la red.
Esto ultimo fue lo que nos
llamo mas la atención y nos llevo a embarcarnos a este tipo de proyecto y hacer
interactuar la informática con la electrónica.
También cabe aclarar que
este servidor que alojara nuestro sistema de control, tendrá a la vez conectado
un emisor de infrarrojos que controlara los dispositivos dentro de su alcance.
El emisor estará conectado
a uno de los puertos del servidor, en este caso optamos por el puerto paralelo.
El receptor de infrarrojos
tendrá varias borneras de conexión, las cuales irán conectados los dispositivos
que queramos comandar ( Luces, aparatos electrónicos, etc.)
Consideramos que el diseño
de este proyecto también se podrá ajustar a las exigencias de quien lo quisiera
usar y / o implementar en algún sector donde fuera útil.
Es decir, seria la base de
algo que a futuro se podrá ampliar o agregar mas funciones de control. Deseamos
que este proyecto sea de gran interés para quien lo quisiera aplicar o conocer
las características que implementamos.
2 Definiciones y Terminologías
2.1
Sistemas de Control
Los sistemas de control
según la Teoría Cibernética se aplican en esencia para los organismos vivos,
las maquinas y las organizaciones. En este proyecto, el sistema de control
estará volcado a la electrónica-informática.
Estos sistemas fueron relacionados por primera vez en 1948 por
Norbert Wiener en su obra Cibernética y sociedad con aplicación en la
teoría de los mecanismos de control. Un sistema de control está definido como
un conjunto de componentes que pueden regular su propia conducta o la de otro
sistema con el fin de lograr un funcionamiento predeterminado.
Clasificación
de los sistemas de control según su comportamiento
A)
Sistema de control de lazo abierto: Es aquel sistema en el que la acción de
control está muy relacionada con la entrada pero su efecto es independiente de
la salida. Estos sistemas se caracterizan por:
Tienen la capacidad para
poder establecerles (calibrar) una relación entre la entrada y la salida con el
fin de lograr la exactitud deseada.
No tienen el problema de la
inestabilidad.
B)
Sistema de control de lazo cerrado: Son los sistemas en los que la acción de
control está en cierto modo muy dependiente de la salida. Estos sistemas se
caracterizan por su propiedad de retroalimentación.
Tipos de sistemas de control
Los sistemas de control son
agrupados en tres tipos básicos:
1. Hechos por el hombre.
Como los sistemas eléctricos o electrónicos que están permanentemente
capturando señales de estado del sistema bajo su control y que al detectar una
desviación de los parámetros pre-establecidos del funcionamiento normal del
sistema, actúan mediante sensores y actuadotes, para llevar al sistema de
vuelta a sus condiciones operacionales normales de funcionamiento.
2. Naturales, incluyendo
sistemas biológicos. Por ejemplo los movimientos corporales humanos como el
acto de indicar un objeto que incluye como componentes del sistema de control
biológico los ojos, el brazo, la mano, el dedo y el cerebro del hombre. En la
entrada se procesa el movimiento o no, y la salida es la dirección hacia la
cual se hace referencia.
3. Cuyos componentes están unos
hechos por el hombre y los otros son naturales. Se encuentra el sistema de
control de un hombre que conduce su vehículo, este sistema está compuesto por
los ojos, las manos, el cerebro y el vehículo. La entrada se manifiesta en el
rumbo que el conductor debe seguir sobre la vía y la salida es la dirección
actual del automóvil.
Características de un sistema de control
a)Señal de corriente de entrada:
Considerada
como estímulo aplicado a un sistema desde una fuente de energía externa con el
propósito de que el sistema produzca una respuesta específica.
b)Señal de corriente de salida:
Respuesta
obtenida por el sistema que puede o no relacionarse con la respuesta que
implicaba la entrada.
c)Variable Manipulada:
Es
el elemento al cual se le modifica su magnitud, para lograr la respuesta
deseada.
d)Variable Controlada: Es el elemento que se
desea controlar.
e)Conversión:
Mediante
receptores se generan las variaciones o cambios que se producen en la variable.
f)Variaciones externas:
Son
los factores que influyen en la acción de producir un cambio de orden correctivo.
g)Fuente de energía:
Es
la que entrega la energía necesaria para generar cualquier tipo de actividad
dentro del sistema.
Retroalimentación:
La
retroalimentación es una característica importante de los sistemas de control
de lazo cerrado. Es una relación secuencial de causas y efectos entre las
variables del sistema. Dependiendo de la acción correctiva que tome el sistema,
éste puede apoyar o no una decisión, cuando en el sistema se produce un retorno
se dice que hay una retroalimentación negativa; si el sistema apoya la decisión
inicial se dice que hay una retroalimentación positiva.
La
ingeniería en los sistemas de control
Los
problemas considerados en la ingeniería de los sistemas de control, básicamente
se tratan mediante dos pasos fundamentales como son:
El
análisis
El
diseño
En
el análisis se investiga las características de un sistema existente. Mientras
que en el diseño se escogen los componentes para crear un sistema de control
que posteriormente ejecute una tarea particular. Existen dos métodos de diseño:
Diseño
por análisis
Diseño
por síntesis
El
diseño por análisis modifica las características de un sistema existente o de
un modelo estándar del sistema y el diseño por síntesis en el cual se define la
forma del sistema a partir de sus especificaciones.
La representación de los problemas en los sistemas de control se lleva a cabo
mediante tres representaciones básicas o modelos:
- Ecuaciones
Diferenciales y otras relaciones matemáticas.
- Diagramas en bloque.
- Gráficas en flujo
de análisis.
Los
diagramas y las gráficas de flujo son representaciones gráficas que pretenden
el acortamiento del proceso correctivo del sistema, sin importar si está
caracterizado de manera esquemática o mediante ecuaciones matemáticas. Las
ecuaciones diferenciales se emplean cuando se requieren relaciones detalladas
del sistema. Cada sistema de control se puede representar teóricamente por sus
ecuaciones matemáticas.
2.2 Arquitectura de la Internet
Internet
es una red mundial de computadoras interconectadas con un conjunto de
protocolos, el más destacado, el TCP/IP. Aparece por primera vez en 1960.
También se usa este nombre como sustantivo común y por tanto en minúsculas para
designar a cualquier red de redes que use las mismas tecnologías que Internet,
independientemente de su extensión o de que sea pública o privada.
Cuando
se dice red de redes se hace referencia a que es una red formada por la
interconexión de otras redes menores.
Al
contrario de lo que se piensa comúnmente, Internet no es sinónimo de World Wide
Web. Ésta es parte de Internet, siendo la World Wide Web uno de los muchos
servicios ofertados en la red Internet. La Web es un sistema de información
mucho más reciente (1995) que emplea Internet como medio de transmisión.
Algunos
de los servicios disponibles en Internet aparte de la Web son el acceso remoto
a otras máquinas (SSH y telnet), transferencia de archivos (FTP), correo
electrónico (SMTP), boletines electrónicos (news o grupos de noticias),
conversaciones en línea (IRC y chats), mensajería instantánea, transmisión de
archivos (P2P, P2M, Descarga Directa), etc
El
género de la palabra Internet es ambiguo según el Diccionario de la Real
Academia Española. Es común escuchar hablar de "el Internet" o
"la Internet". Algunas personas abogan por "la Internet",
pues Internet es una red y el género de la palabra es femenino. El artículo se
utiliza como calco del inglés, the Internet, sin embargo, tampoco es
necesario en castellano.
Cronología
1969,
DARPA comienza a planificar la creación de una red que conecte computadores en
caso de una eventual guerra atómica que incomunique a los humanos sobre la
tierra, con fines principalmente de defensa.
1972,
se realizó la Primera demostración pública de ARPANET, una nueva Red de
comunicaciones financiada por la DARPA que funcionaba de forma distribuida
sobre la red telefónica conmutada. El éxito de ésta nueva arquitectura sirvió
para que, en 1973, la DARPA iniciara un programa de investigación sobre posibles
técnicas para interconectar redes (orientadas al tráfico de paquetes) de
distintas clases. Para éste fin, desarrollaron nuevos protocolos de
comunicaciones que permitiesen este intercambio de información de forma
"transparente" para las computadoras conectadas. De la filosofía del
proyecto surgió el nombre de "Internet", que se aplicó al sistema de
redes interconectadas mediante los protocolos TCP e IP.
1983,
el 1 de enero, ARPANET cambió el protocolo NCP por TCP/IP. Ese mismo año, se
creó el IAB con el fin de estandarizar el protocolo TCP/IP y de proporcionar
recursos de investigación a Internet. Por otra parte, se centró la función de
asignación de identificadores en la IANA que, más tarde, delegó parte de sus
funciones en el Internet registry que, a su vez, proporciona servicios a los
DNS.
1986,,
la NSF comenzó el desarrollo de NSFNET que se convirtió en la principal Red en
árbol de Internet, complementada después con las redes NSINET y ESNET, todas
ellas en Estados Unidos. Paralelamente, otras redes troncales en Europa, tanto
públicas como comerciales, junto con las americanas formaban el esqueleto
básico ("backbone") de Internet.
1989,
con la integración de los protocolos OSI en la arquitectura de Internet, se
inició la tendencia actual de permitir no sólo la interconexión de redes de
estructuras dispares, sino también la de facilitar el uso de distintos
protocolos de comunicaciones.
En
el CERN de Ginebra, un grupo de Físicos encabezado por Tim Berners-Lee, crearon
el lenguaje HTML, basado en el SGML. En 1990 el mismo equipo construyó el
primer cliente Web, llamado WorldWideWeb (WWW), y el primer servidor web.
2006,
el 3 de enero, Internet alcanzó los mil cien millones de usuarios. Se prevé que
en diez años, la cantidad de navegantes de la Red aumentará a 2.000 millones.
En
julio de 1961 Leonard Kleinrock publicó desde el MIT el primer documento sobre
la teoría de conmutación de paquetes. Kleinrock convenció a Lawrence Roberts de
la factibilidad teórica de las comunicaciones vía paquetes en lugar de circuitos,
lo cual resultó ser un gran avance en el camino hacia el trabajo informático en
red. El otro paso fundamental fue hacer dialogar a los ordenadores entre sí.
Para explorar este terreno, en 1965, Roberts conectó una computadora TX2 en
Massachusetts con un Q-32 en California a través de una línea telefónica
conmutada de baja velocidad, creando así la primera (aunque reducida) red de
computadoras de área amplia jamás construida. En los EE.UU. se estaba buscando
una forma de mantener las comunicaciones vitales del país en el posible caso de
una Guerra Nuclear. Este hecho marcó profundamente su evolución, ya que aún
ahora los rasgos fundamentales del proyecto se hallan presentes en lo que hoy
conocemos como Internet.
Tecnología de Internet
Internet
incluye aproximadamente 5000 redes en todo el mundo y más de 100 protocolos
distintos basados en TCP/IP, que se configura como el protocolo de la red. Los
servicios disponibles en la red mundial de PC, han avanzado mucho gracias a las
nuevas tecnologías de transmisión de alta velocidad, como DSL y Wireless, se ha
logrado unir a las personas con videoconferencia, ver imágenes por satélite
(ver tu casa desde el cielo), observar el mundo por webcams, hacer llamadas
telefónicas gratuitas, o disfrutar de un juego multijugador en 3D, un buen
libro PDF, o álbumes y películas para descargar.
El
método de acceso a internet vigente hace algunos años, la telefonía básica, ha
venido siendo sustituida gradualmente por conexiones más veloces y estables,
entre ellas el ADSL, Cable Módems, o el RDSI. También han aparecido formas de
acceso a través de la red eléctrica, e incluso por satélite (sólo para
descarga).
Internet
también está disponible en muchos lugares públicos tales como bibliotecas,
hoteles o cibercafés. Una nueva forma de acceder sin necesidad de un puesto
fijo son las redes inalámbricas, hoy presentes en aeropuertos, universidades o
poblaciones enteras. Grandes áreas de San Francisco, Londres, Filadelfia o
Toronto están cubiertas por estas redes, que permiten conectarse a un usuario
con cualquier dispositivo eléctrico (portátiles, móviles, PDA...).
Internet y sociedad
Sitios
de internet por países.
Internet
tiene un impacto profundo en el trabajo, el ocio y el conocimiento. Gracias a
la web, millones de personas tienen acceso fácil e inmediato a una cantidad
extensa y diversa de información en línea. Un ejemplo de esto es el desarrollo
y la distribución de colaboración del software de Free/Libre/Open-Source (SEDA)
por ejemplo GNU, Linux, Mozilla y OpenOffice.org.
Comparado
a las enciclopedias y a las bibliotecas tradicionales, la web ha permitido una
descentralización repentina y extrema de la información y de los datos. Algunas
compañías e individuos han adoptado el uso de los weblogs, que se
utilizan en gran parte como diarios actualizables. Algunas organizaciones
comerciales animan a su personal para incorporar sus áreas de especialización en
sus sitios, con la esperanza de que impresionen a los visitantes con
conocimiento experto e información libre.
Internet
ha llegado a gran parte de los hogares y de las empresas de los países ricos,
en este aspecto se ha abierto una brecha digital con los países pobres, en los
cuales la penetración de Internet y las nuevas tecnologías es muy limitada para
las personas.
Desde
una perspectiva cultural del conocimiento, internet ha sido una ventaja y una
responsabilidad. Para la gente que está interesada en otras culturas
proporciona una cantidad significativa de información y de una interactividad
que sería inasequible de otra manera.
2.3
Protocolos
(TCP/IP)
El
protocolo dentro de una red informática, es el que permite el encaminamiento de
la información a través de Internet, o sea, es el que define una red de
conmutación de paquetes de información. La información se fragmenta en pequeños
trozos o paquetes ( con una capacidad aproximadamente de 1500 caracteres) que
se envían independientemente por la red. Cada paquete es enviado con la
dirección del ordenador al que va dirigida la información, yendo cada paquete
por una ruta distinta hasta alcanzar su objetivo.
A
continuación describiremos el protocolo TCP/IP que será el que utilizaremos en
nuestro proyecto.
TCP/IP: Es un conjunto de protocolos, en total
mas de 100 protocolos, que proporcionan las reglas para comunicarse. Un protocolo contiene los detalles de los
formatos de los mensajes, y describen como responde una computadora cuando
llega un mensaje, especificando como maneja el error un PC u otras condiciones
no normales. Permite reflexionar sobre la comunicación por computadora de
manera independiente del hardware de red de cualquier marca.
TCP
( Protocolo de Control de Transmisión) e IP (Protocolo de Internet), el IP se
encarga de la transmisión de datos y el TCP asegura que todo funcione
correctamente, dividiendo la información a enviar en paquetes, y añadiendo a
cada paquete los caracteres de control de errores.
Estos
paquetes, que serian paquetes de información de datos, se envían a la red, y el
IP lo transporta hasta el host remoto (destino), al otro extremo, TCP recibe
los paquetes y comprueba si no hay errores. Si hubiese un error, TCP pide que
se le vuelva a enviar el paquete nuevamente, encargándose de encontrar la mejor
ruta y encargándose de que la información llegue en buen estado.
El
conjunto de protocolos que componen el TCP/IP abarca los 7 niveles OSI
(Organización Internacional de Estándares), y para la red ARPANET, del
Departamento de Defensa de los Estados Unidos, a principios de 1970. Y en 1980
se le incluyo en la versión Unís 4.2 de Barkeley, siendo en 1983 el protocolo
militar estándar en Estados Unidos.
Se
hizo popular gracias a su independencia del fabricante, ya que soporta
múltiples tecnologías, puede funcionar en maquinas de todo tamaño
(multiplataforma), y su uso mayoritario ahora esta en Internet.
2.4
Redes Lan
LAN es la abreviatura de Local Area Network (Red
de Área Local o simplemente Red Local). Una red local es la interconexión de
varios ordenadores y periféricos. Su extensión esta limitada físicamente a un
edificio o a un entorno de unos pocos kilómetros. Su aplicación más extendida
es la interconexión de ordenadores personales y estaciones de trabajo en
oficinas, fábricas, etc; para compartir recursos e intercambiar datos y
aplicaciones. En definitiva, permite que dos o más máquinas se comuniquen.
El
término red local incluye tanto el hardware como el software necesario para la
interconexión de los distintos dispositivos y el tratamiento de la información.
En
los días anteriores a los ordenadores personales, una empresa podía tener
solamente un ordenador central, accediendo los usuarios a este vía terminales
de ordenador sobre un cable simple de baja velocidad. Las redes como SNA de IBM
(la Arquitectura de Red de Sistemas) fueron diseñadas para unir terminales u
ordenadores centrales a sitios remotos sobre líneas alquiladas. Las primeras
Lan fueron creadas al final de los años 1970 y se solían crear líneas de alta
velocidad para conectar grandes ordenadores centrales a un solo lugar. Muchos
de los sistemas fiables creados en esta época, como Ethernet y ARCNET fueron
los más populares.
El
crecimiento CP/M y DOS basados en el ordenador personal significaron que en un
lugar físico existieran docenas o incluso cientos de ordenadores. La intención
inicial de conectar estos ordenadores fue, generalmente compartir espacio de
disco e impresoras láser, tales recursos eran muy caros en este tiempo. Había
muchas expectativas en este tema desde el 1983 en adelante y la industria
informática declaró que el siguiente año sería “El año de las Lan”.
En
realidad esta idea se vino abajo debido a la proliferación de las
incompatibilidades de la capa física y la implantación del protocolo de red, y
confusión sobre la mejor forma de compartir los recursos. Lo normal es que cada
vendedor tuviera tarjeta de red, cableado, protocolo y sistema de operación de
red. Con la aparición de Netware surgió una nueva solución, la cual ofrecía:
soporte imparcial para los 40 o más tipos que existían de tarjetas y cables y
sistemas operativos mucho más sofisticados que los que ofrecían la mayoría de
los competidores. Netware dominaba el campo de las Lan de los ordenadores
personales desde antes de su introducción en 1983 hasta mediados de los años
1990, cuando Microsoft introdujo Windows NT Advance Server y Windows for
Workgroups.
De
todos los competidores a Netware, sólo Banyan VINES tenía fuerza técnica
comparable, pero Banyan se ganó una base segura. Microsoft y 3Com trabajaron
juntos para crear un sistema de operaciones de red simple el cual estaba
formado por la base de 3Com's 3+Share, el Gestor de redes Lan de Microsoft y el
Servidor de IBM. Ninguno de estos proyectos fue especialmente satisfactorio
Componentes
Algunos Componentes de una red ocal
Servidor: El servidor es
aquel o aquellos ordenadores que van a compartir sus recursos hardware y
software con los demás equipos de la red. Sus características son potencia de
cálculo, importancia de la información que almacena y conexión con recursos que
se desean compartir.
Estación de trabajo: Los
ordenadores que toman el papel de estaciones de trabajo aprovechan o tienen a
su disposición los recursos que ofrece la red así como los servicios que
proporcionan los Servidores a los cuales pueden acceder.
Gateways o pasarelas: Es
un hardware y software que permite las comunicaciones entre la red local y
grandes ordenadores (mainframes). El gateway adapta los protocolos de
comunicación del mainframe (X25, SNA, etc.) a los de la red, y viceversa.
Bridges o puentes: Es un
hardware y software que permite que se conecten dos redes locales entre sí. Un
puente interno es el que se instala en un servidor de la red, y un puente
externo es el que se hace sobre una estación de trabajo de la misma red. Los
puentes también pueden ser locales o remotos. Los puentes locales son los que
conectan a redes de un mismo edificio, usando tanto conexiones internas como
externas. Los puentes remotos conectan redes distintas entre sí, llevando a
cabo la conexión a través de redes públicas, como la red telefónica, RDSI o red
de conmutación de paquetes.
Tarjeta de red: También
se denominan NIC (Network Interface Card). Básicamente realiza la función de
intermediario entre el ordenador y la red de comunicación. En ella se
encuentran grabados los protocolos de comunicación de la red. La comunicación
con el ordenador se realiza normalmente a través de las ranuras de expansión
que éste dispone, ya sea ISA o PCMCIA. Aunque algunos equipos disponen de este
adaptador integrado directamente en la placa base.
El medio: Constituido por
el cableado y los conectores que enlazan los componentes de la red. Los medios
físicos más utilizados son el cable de par trenzado, par de cable, cable
coaxial y la fibra óptica (cada vez en más uso esta última).
Concentradores de cableado:
Una LAN en bus usa solamente tarjetas de red en las estaciones y cableado
coaxial para interconectarlas, además de los conectores, sin embargo este
método complica el mantenimiento de la red ya que si falla alguna conexión toda
la red deja de funcionar. Para impedir estos problemas las redes de área local
usan concentradores de cableado para realizar las conexiones de las estaciones,
en vez de distribuir las conexiones el concentrador las centraliza en un único
dispositivo manteniendo indicadores luminosos de su estado e impidiendo que una
de ellas pueda hacer fallar toda la red.
3 Interfases
3.1 Puerto Paralelo
A continuación daremos una breve descripción del
puerto paralelo para luego entender con
mas claridad el funcionamiento de nuestro proyecto
¿QUÉ
ES UN PUERTO? :
El
puerto es el lugar donde se intercambian datos con otro dispositivo. Los
microprocesadores disponen de puertos para enviar y recibir bits de datos.
Estos puertos se utilizan generalmente como direcciones de memoria con
dedicación exclusiva. Los sistemas completos de computadoras disponen de
puertos para la conexión de dispositivos periféricos, como impresoras y aparato
de módem.
También
nos permiten utilizar una computadora personal para controlar todo tipo
circuitos electrónicos utilizados, principalmente, en actividades de
automatización de procesos, adquisición de datos, tareas repetitivas y otras
actividades que demandan precisión.
Existen
dos métodos básicos para transmisión de datos en las computadoras modernas. En
un esquema de transmisión de datos en serie un dispositivo envía datos a
otro a razón de un BIT a la vez a través de un cable. Por otro lado, en un
esquema de transmisión de datos en paralelo un dispositivo envía datos a
otro a una tasa de n número de bits a través de n número de
cables a un tiempo. Sería fácil pensar que un sistema en paralelo es n
veces más rápido que un sistema en serie, sin embargo esto no se cumple,
básicamente el impedimento principal es el tipo de cable que se utiliza para
interconectar los equipos. Si bien un sistema de comunicación en paralelo puede
utilizar cualquier número de cables para transmitir datos, la mayoría de los
sistemas paralelos utilizan ocho líneas de datos para transmitir un byte a la
vez, como en todo, existen excepciones, por ejemplo el estándar SCSI permite
transferencia de datos en esquemas que van desde los ocho bits y hasta los
treinta y dos bits en paralelo. En esta descripción explicaremos las
transferencias de ocho bits ya que ésta es la configuración del puerto paralelo
de una PC.
Un típico sistema de comunicación en paralelo puede
ser de una dirección (unidireccional) o de dos direcciones (bidireccional).
El más simple mecanismo utilizado en un puerto paralelo de una PC es de tipo
unidireccional y es el que analizaremos en primer lugar. Distinguimos dos
elementos: la parte transmisora y la parte receptora. La parte
transmisora coloca la información en las líneas de datos e informa a la
parte receptora que la información (los datos) están disponibles; entonces la
parte receptora lee la información en las líneas de datos e informa a la parte
transmisora que ha tomado la información (los datos). Observamos que ambas
partes sincronizan su respectivo acceso a las líneas de datos, la parte
receptora no leerá las líneas de datos hasta que la parte transmisora se lo
indique en tanto que la parte transmisora no colocará nueva información en las
líneas de datos hasta que la parte receptora remueva la información y le
indique a la parte transmisora que ya ha tomado los datos, a ésta coordinación
de operaciones se le llama acuerdo ó entendimiento. Podemos decir
que en estos ámbitos tecnológicos es recomendable utilizar ciertas palabras en
inglés que nos permiten irónicamente un mejor entendimiento de los conceptos
tratados. La coordinación de operaciones entre la parte transmisora y la parte
receptora se le llama handshaking, que en español es el acto con el cual
dos partes manifiestan estar de acuerdo.
El
handshaking
Para implementar el handshaking
se requieren dos líneas adicionales. La línea de estroboscopio (en
inglés strobe) es la que utiliza la parte transmisora para indicarle a
la parte receptora la disponibilidad de información. La línea de admisión
(acknowledge) es la que utiliza la parte receptora para indicarle a la
parte transmisora que ha tomado la información (los datos) y que está lista
para recibir más datos. El puerto paralelo provee de una tercera línea de
handshaking llamada en inglés busy (ocupado), ésta la puede
utilizar la parte receptora para indicarle a la parte transmisora que está
ocupada y por lo tanto la parte transmisora no debe intentar colocar nueva
información en las líneas de datos. Una típica sesión de transmisión de datos
se parece a lo siguiente:
Parte transmisora:
- La parte transmisora
chequea la línea busy para ver si la parte receptora está ocupada.
Si la línea busy está activa, la parte transmisora espera en un
bucle hasta que la línea busy esté inactiva.
- La parte transmisora coloca
la información en las líneas de datos.
- La parte transmisora activa
la línea de strobe.
- La parte transmisora espera
en un bucle hasta que la línea acknowledge está activa.
- La parte transmisora
inactiva la línea de strobe.
- La parte transmisora espera en un bucle hasta que la línea acknowledge
esté inactiva.
- La parte transmisora repite
los pasos anteriores por cada byte a ser transmitido.
Parte receptora:
- La parte receptora inactiva
la línea busy (asumiendo que está lista para recibir información).
- La parte receptora espera
en un bucle hasta que la línea strobe esté activa.
- La parte receptora lee la
información de las líneas de datos (y si es necesario, procesa los datos).
- La parte receptora activa
la línea acknowledge.
- La parte receptora espera
en un bucle hasta que esté inactiva la línea de strobe.
- La parte receptora inactiva
la línea acknowledge.
- La parte receptora repite los pasos anteriores por cada byte que
debe recibir.
Se debe ser muy cuidadoso al seguir éstos pasos,
tanto la parte transmisora como la receptora coordinan sus acciones de tal
manera que la parte transmisora no intentará colocar varios bytes en las líneas
de datos, en tanto que la parte receptora no debe leer más datos que los que le
envíe la parte transmisora, un byte a la vez.
El hardware del puerto paralelo
El puerto
paralelo de una típica PC utiliza un conector hembra de tipo D de 25 patitas
(DB-25 S), éste es el caso más común, sin embargo es conveniente mencionar los
tres tipos de conectores definidos por el estándar IEEE 1284, el
primero, llamado 1284 tipo A es un conector hembra de 25 patitas de tipo
D, es decir, el que mencionamos al principio. El orden de las patitas del
conector es éste:
Vista del
puerto paralelo en el Pc
Pines del Puerto Paralelo
Conectores Macho y Hembra
El segundo conector se llama 1284 tipo B que
es un conector de 36 patitas de tipo centronics y lo encontramos en la
mayoría de las impresoras; el tercero se denomina 1284 tipo C, se trata
de un conector similar al 1284 tipo B pero más pequeño, además se dice que
tiene mejores propiedades eléctricas y mecánicas, éste conector es el
recomendado para nuevos diseños. La siguiente tabla describe la función de cada
patita del conector 1284 tipo A:
|
Patita
|
E/S
|
Polaridad activa
|
Descripción
|
|
1
|
Salida
|
0
|
Strobe
|
|
2
~ 9
|
Salida
|
-
|
Líneas
de datos
(BIT 0/patita
2, BIT 7/patita 9)
|
|
10
|
Entrada
|
0
|
Línea
acknowledge
(activa
cuando el sistema remoto toma datos)
|
|
11
|
Entrada
|
0
|
Línea
busy
(si está
activa, el sistema remoto no acepta datos)
|
|
12
|
Entrada
|
1
|
Línea
Falta de papel
(si está activa,
falta papel en la impresora)
|
|
13
|
Entrada
|
1
|
Línea
Select
(si está
activa, la impresora se ha seleccionado)
|
|
14
|
Salida
|
0
|
Línea
Autofeed
(si está
activa, la impresora inserta una nueva
línea por cada retorno de carro)
|
|
15
|
Entrada
|
0
|
Línea
Error
(si está activa,
hay un error en la impresora)
|
|
16
|
Salida
|
0
|
Línea
Init
(Si se
mantiene activa por al menos 50
micro-segundos, ésta señal
auto inicializa la impresora)
|
|
17
|
Salida
|
0
|
Línea
Select input
(Cuando está
inactiva, obliga a la
impresora a salir de línea)
|
|
18
~ 25
|
-
|
-
|
Tierra
eléctrica
|
Configuración del puerto paralelo estándar
Observamos que el puerto
paralelo tiene 12 líneas de salida (8 líneas de datos, strobe, autofeed, init,
y select input) y 5 de entrada (acknowledge, busy, falta de papel, select y
error). El estándar IEEE 1284 define cinco modos de operación:
Modo compatible
Modo nibble
Modo byte
Modo EPP, puerto paralelo ampliado
Modo ECP, puerto de capacidad extendida
El objetivo del estándar es
diseñar nuevos dispositivos que sean totalmente compatibles con el puerto
paralelo estándar (SPP) definido originalmente por la IBM (en éste artículo
trataremos solamente el modo compatible que será el utilizado en el proyecto).
Hay tres
direcciones de E/S asociadas con un puerto paralelo de la PC, éstas direcciones
pertenecen al registro de datos, el registro de estado y el registro
de control. El registro de datos es un puerto de lectura-escritura
de ocho bits. Leer el registro de datos (en la modalidad unidireccional)
retorna el último valor escrito en el registro de datos. Los registros de
control y estado proveen la interfase a las otras líneas de E/S.
La distribución de las diferentes señales para cada
uno de los tres registros de un puerto paralelo lo mostramos en las siguientes
tablas:
|
Dirección
|
Nombre
|
Lectura/Escritura
|
BIT #
|
Propiedades
|
|
Base
+ 0
|
Puerto
de datos
|
Escritura
|
BIT
7
|
Dato
7
|
|
Bit 6
|
Dato 6
|
|
Bit 5
|
Dato 5
|
|
Bit 4
|
Dato 4
|
|
Bit 3
|
Dato 3
|
|
Bit 2
|
Dato 2
|
|
Bit 1
|
Dato
1
|
|
BIT
0
|
Dato
0
|
Registro
de datos
|
Dirección
|
Nombre
|
Lectura/Escritura
|
BIT #
|
Propiedades
|
|
Base
+ 1
|
Puerto
de estado
|
Sólo
Lectura
|
BIT
7
|
Busy
|
|
Bit 6
|
Acknowledge
|
|
BIT
5
|
Falta
de papel
|
|
Bit 4
|
Select In
|
|
Bit 3
|
Error
|
|
Bit 2
|
IRQ (Not)
|
|
Bit 1
|
Reservado
|
|
BIT
0
|
Reservado
|
Registro
de estado
|
Dirección
|
Nombre
|
Lectura/Escritura
|
BIT #
|
Propiedades
|
|
Base
+ 2
|
Puerto
de control
|
Lectura/Escritura
|
BIT
7
|
No
usado
|
|
BIT
6
|
No
usado
|
|
BIT
5
|
Permite
puerto
bidireccional
|
|
BIT
4
|
Permite
IRQ a
través de la
línea
acknowledge
|
|
BIT
3
|
Selecciona
impresora
|
|
BIT
2
|
Inicializa
impresora
|
|
BIT
1
|
Nueva
línea
automática
|
|
BIT
0
|
Strobe
|
Registro
de control
Una PC soporta hasta tres puertos paralelo separados,
por tanto puede haber hasta tres juegos de registros en un sistema en un momento
dado. Existen tres direcciones base para el puerto paralelo asociadas con tres
posibles puertos paralelo: 0x3BCh, 0x378h y 0x278h, nos referimos a éstas como
las direcciones base para el puerto LPT1, LPT2 y LPT3, respectivamente. El
registro de datos se localiza siempre en la dirección base de un puerto
paralelo, el registro de estado aparece en la dirección base + 1, y el registro
de control aparece en la dirección base + 2. Por ejemplo, para un puerto LPT2
localizado en 0x378h, ésta es la dirección del registro de datos, al registro
de estado le corresponde la dirección 0x379h y su respectivo registro de
control está en la dirección 0x37Ah. Cuando la PC se enciende el BIOS ejecuta
una rutina para determinar el número de puertos presentes en el sistema
asignando la etiqueta LPT1 al primer puerto localizado, si existen más puertos
entonces se asignarán consecutivamente las etiquetas LPT2 y LPT3 de acuerdo a
la siguiente tabla:
|
Dirección inicial
|
Función
|
|
0000:0408
|
Dirección
base para LPT1
|
|
0000:040A
|
Dirección
base para LPT2
|
|
0000:040C
|
Dirección
base para LPT3
|
|
0000:040E
|
Dirección
base para LPT4
|
Direcciones base en el BIOS
Para trabajar con el
puerto paralelo necesitamos en primer lugar conocer la dirección base asignada
por el BIOS (estamos hablando de una PC compatible con IBM), podemos utilizar
un programa llamado Debug.exe que nos indique la(s) dirección(es)
asignada(s): en la plataforma Windows vamos al menú inicio,
seleccionamos programas y luego MS-DOS para abrir una ventana de Símbolo
de MS-DOS y aquí podemos introducir los comandos indicados más abajo. Si se
trabaja en ambiente DOS basta con teclear en la línea de comandos la palabra debug,
el programa responde colocando un signo de menos - en donde tecleamos
sin dejar espacios en blanco d040:08L8 y presionamos la tecla entrar,
entonces el programa debug.exe nos indica en una serie de números la(s)
dirección(es) para el (los) puerto(s) paralelo(s) disponibles en nuestro
sistema, la siguiente imagen muestra el resultado obtenido en nuestro pc:
Se puede observar una
serie de números de dos dígitos (ocho en total), se trata del volcado de
memoria que empieza en la dirección 40:0008h. Los primeros seis pares de
números representan las direcciones base para los puertos paralelo instalados,
en la imagen de arriba se aprecia que el único puerto paralelo de mi máquina
está en la dirección 0x378h (78 03). Los números están invertidos porque Intel
almacena tal información en un formato de "byte de bajo orden - byte de
alto orden". Una vez que obtenemos la información deseada cerramos el
programa Debug.exe simplemente tecleando la letra q y presionando
la tecla entrar. Para cerrar la ventana de Símbolo de MS-DOS
tecleamos la palabra exit y presionamos la tecla entrar.
Mediante la siguiente rutina podemos
conocer la dirección asignada al puerto
paralelo, el código fuente escrito es lenguaje c para windows y es el
siguiente:
|
/**********************************************************************
* puerto1.c
*
* Proyecto 2006 – Carrera
de Ing. Tec en Electrónica
*
* Vamos a determinar el
valor del Puerto *
**********************************************************************/
#include
<stdio.h>
#include
<dos.h>
int main()
{
unsigned int __far *puntero_a_direccion;
int i;
puntero_a_direccion=(unsigned int __far
*)0x00000408;
for (i=0; i<3; i++)
{
if
(*puntero_a_direccion == 0)
printf("No se
encontro puerto asignado a LPT%d n", i+1);
else
printf("La
direccion asignada a LPT%d es 0x%Xhn",
i+1, *puntero_a_direccion);
puntero_a_direccion++;
}
return 0;
}
|
También mostramos otra rutina que nos
permite determinar el número de puertos paralelos instalados en la
computadora y almacena sus respectivas direcciones en el arreglo llamado direccion[i],
en caso de encontrarse una dirección válida además se establece en 1 el valor
del arreglo llamado disponible[i] simplemente como una medida de
seguridad adicional. Como resultado de éstas acciones el programa despliega un
menú basado en los puertos encontrados, en este punto podemos seleccionar, en
caso de que disponga de más de un puerto, el puerto en donde está conectado
nuestro dispositivo.
Una vez seleccionado el
puerto podemos escribir un valor cualquiera comprendido entre 0 y 255.
Independientemente del puerto seleccionado toda la funcionalidad del programa
está encapsulada en la función de tipo int llamada puerto( ) a la
cual se le pasa un único parámetro que es la dirección del puerto seleccionado.
La función está codificada de tal forma que al escribir un 0 el programa
termina, de ésta manera al cerrar el programa las líneas de datos del puerto
paralelo están todas en un nivel lógico bajo. Éste programa y el circuito
asociado son útiles para entender de forma visual la forma de representar
valores en formato binario.
|
/******************************************************************
* puerto2.c *
* Proyecto 2006 – Carrera de Ing. Tec en Electrónica *
* Escribe datos al puerto
paralelo de la PC *
*****************************************************************/
#include
<stdio.h>
#include
<dos.h>
int puerto(int
direcc);
int seleccion;
int main()
{
unsigned int __far
*puntero_a_direccion;
int i,
direccion[3]={0,0,0}, disponible[3]={0,0,0};
puntero_a_direccion =
(unsigned int __far *)0x00000408;
printf("Seleccione el puerto:n");
/* ¿Cuantos puertos
existen? */
for (i=0; i<3; i++)
{
if
(*puntero_a_direccion == 0)
printf("Puerto LPT%d...............no disponiblen", i+1);
else
{
disponible[i] = 1;
direccion[i] = *puntero_a_direccion;
printf("Puerto
LPT%d...............%dn", i+1, i+1);
}
puntero_a_direccion++;
}
printf("Salir del
programa........0n");
scanf("%d",
&seleccion);
do
{
switch(seleccion)
{
case 0:/*
Salir del programa */
printf("Salio del Programa!n");
return 0;
break;
case 1:/* Puerto LPT1 */
if(disponible[0]==1)
puerto(direccion[0]);
else
{
printf("ERROR: PUERTO NO DISPONIBLEn");
return
0;
}
break;
case 2:/* Puerto LPT2 */
if(disponible[1]==1)
puerto(direccion[1]);
else
{
printf("ERROR: PUERTO NO DISPONIBLEn");
return
0;
}
break;
case 3:/* Puerto LPT3 */
if(disponible[2]==1)
puerto(direccion[2]);
else
{
printf("ERROR: PUERTO NO DISPONIBLEn");
return
0;
}
break;
default:
printf("ERROR: OPCION INCORRECTA!n");
break;
}
if(seleccion!=0)
{
printf("Seleccione otra opcionn");
scanf("%d", &seleccion);
}
}
while(seleccion!=0);
return 0;
}
int puerto(int direcc)
{
unsigned char valor;
/* Solo valores entre 0 y 255 */
printf("Ahora
puede escribir cualquier valorn");
printf("entre 1 y
255, 0 para terminar el programan");
do
{
printf("Valor
al puerto?n");
scanf("%d", &valor);
outp(direcc,
valor);
printf("Se ha
escrito %d al puerton", valor);
}
while(valor!=0);
return seleccion=0;
}
|
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 Cliente-Servidor, 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">
Acciones </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 "Dispositivo" 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 mas 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 Modulo 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'
|
Rs
|
R1
|
C1
|
R2
|
C2
|
|
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 Modulo 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 mf , 25v (Filtrado)
C5
= 1000 mf , 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
- Sistemas
de Comunicaciones electrónicas, 2º Edición, Wayne Tomasi
- Electrónica
Digital, Tocci
- Electrónica
y Aplicaciones, Grob
- Programación
C (Linux), 1º Edición, Stolarsky
- CGI-BIN Programmer, John Brown
- Protocolos
de Comunicaciones, José Miguel Alonso.
Referencias