TITULO
AGRADECIMIENTO
Agradezco a Dios por permitirme concluir esta etapa en mi vida, ya que sin
su ayuda este trabajo no habr
í
a concluido.
A mis padres por su insistencia y confiaza que demostrar
ó
n durante este
tiempo, gracias por su apoyo y paciencia.
A mis hermanos gracias por su apoyo incondicional en todo momento.
A mis esposa que me ha acompa
ñ
ado en buenos y malos momentos. Gracias
por tu amor, ayuda y comprensi
ó
n.
Al mi maestro y amigo Ing. Carlos Barroeta Zamudio quien puso el empe
ñ
o
por llevarme de la mano para realizar este trabajo .
El presente queda como testimonio de eterno agradecimiento por el amor y
confianza que siempre me han brindado, gracias por darme la fuerza para
superarme.
“
… y sobre todas tus posesiones adquiere inteligencia
”
OBJETIVO
ÍNDICE
INTRODUCCION ... 6
1. PLANTEAMIENTO DEL PROBLEMA ... 8
2. MARCO TEÓRICO ... 16
2.1 Motor de C.D de Armadura Controlada ... 16
2.2 Acerca de Internet. ... 19
2.2.1 Modelo OSI ... 19
2.2.2 Protocolo TCP/IP ... 26
2.2.3 Transmisión Control Protocol (TCP) y User Datagram Protocol (UDP) ... 28
2.2.4 Internet Protocol (IP) ... 28
2.3 Criptografía ... 30
2.3.1 Criptografía tradicional ... 30
2.3.2. Criptografía de clave pública. ... 31
2.3.4 Autentificación. ... 32
2.3.5 Certificados. ... 34
2.3.5.1 Certificados Digitales / TLS y SSL ... 35
3. DESARROLLO DEL SISTEMA ... 37
3.1. Sistema de Adquisición de Datos ... 38
3.1.1 Diseño del Sensores ... 38
3.2 Microcontrolador ... 45
3.2.2 Interface de Comunicación Serial (SCI) ... 46
3.3 Control de Velocidad ... 48
3.3.1 Convertidor Digital-Analógico ... 49
3.3.2 Convertidor de Corriente a Voltaje y Voltaje a Corriente ... 50
3.3.3 Diseño del Actuador para el control de velocidad ... 53
3.4 Diseño del Actuador para controlar la fuente Luminosa. ... 58
3.5 Diagramas de Flujo ... 59
3.5.1 Microcontrolador ... 59
3.5.3 Página WEB ... 61
4. Análisis de la Propuesta Técnica ... 62
4.1 Implementando Base de Datos ... 62
4.1.1 Tabla de usuarios ... 63
Tabla de datos ... 64
4.1.2 Tabla del Punto de Control ... 64
4.1.3 Tabla de histórico ... 65
4.2 Configurando Herramientas: Apache, Open SSL y PHP 5 ... 66
4.2.1 Apache 2.2.15 ... 66
4.2.2 Open SSL ... 67
4.3 Creación del Certificado simulando ser una Autoridad Certificadora (CA). ... 67
4.3.1 Creando el certificado digital ... 68
4.3.2 Generar la petición de certificado ... 69
4.3.4 Emitir el certificado ... 70
4.4. Configurando Apache y OpenSSL ... 72
4.5 Apache y PHP 5 ... 73
4.6 Interface de Usuario. ... 76
4.6.1 Modulo de Administración ... 77
4.6.2 Modulo de Gráficas ... 80
5. Comparativo de una conexión segura y una no segura ... 82
5.1 ¿Como saber que nuestro certificado está funcionando? ... 82
5.1.1 Trabajando con Página sin Certificado ... 82
5.1.2 Trabajando con Página con Certificado ... 82
5.2 ¿Es posible conocer la información que viaja por internet ahora que está funcionando Apache y OpenSSL? ... 85
6. Conclusiones ... 87
7. Anexos ... 89
Norma X509 – Versión 1 y 2 ... 89
IN T R O D U C C IO N
IN T R O D U C C IO N
En la actualidad se pueden observar incontables procesos donde se realiza un monitoreo y administración remota, con lo que se logran disminuir costos operativos en las distintas compañías que emplean dichos métodos.
A lo largo de este trabajo se observa una de las posibilidades que se tiene para realizar el monitoreo y la administración de un proceso, en este caso de solo dos variables, a través de una conexión remota, no segura, así como las ventajas y desventajas que se tienen al hacer dichos procedimientos.
Al realizar un control de manera remota en cualquier tipo de proceso tenemos la desventaja de que no lo estamos observando físicamente, por lo que se hace necesario que el método utilizado para realizar el monitoreo y operación deben ser lo más confiables para evitar cualquier tipo de imprevisto, es decir, que si es cierto que no estamos físicamente visualizando el proceso se pueda tener la certeza de que la información obtenida es suficientemente confiable para así tomar las decisiones adecuadas dependiendo del comportamiento del sistema.
En este trabajo el control se realiza vía remota a través de Internet, lo que lo hace accesible a cualquier persona, claro siempre y cuando tenga el permiso necesario para acceder y/o modificar el proceso. Ya que se está tocando el tema de Internet no puedo dejar pasar el tema de la inseguridad que presenta que el que un proceso crítico trabaje sobre la red global, esto es debido a la gran activad de gente que se dedica a estar escuchando nuestras peticiones o solicitudes a un determinado sitio en la Red y la información recopilada por ellos puede ser usada en nuestra contra, de ahí la necesidad de usar un método de cifrado para que nuestra información transmitida en la web sea lo más segura posible y por consiguiente se tengan los resultados esperados sin tener la preocupación de que en cualquier momento el proceso se encuentre en peligro por un intruso.
Es común que los términos Web, Red e Internet se usen intercambiablemente. Desde el punto de vista técnico son objetos completamente diferentes. Internet hace referencia a la red física que conecta diferentes computadores y lugares. Sus preocupaciones son protocolos de transmisión de datos (TCP/IP), manejo de nombres de dominio, etc.. La Web
hace referencia a la arquitectura lógica de la información que ha sido posible construir sobre esa red física. Confundirlos es como confundir el cerebro, una red neuronal, con el conocimiento que posee una persona. Todos tenemos casi el mismo material cerebral, pero los conocimientos y la información que cada uno posee difieren.
del cifrado y la selección realizada. Como ya sabemos el cifrado es una técnica que codifica un dato para convertirlo en un galimatías, es decir, cosa confusa o embrollada, si se conoce la clave se puede descifrar el galimatías para volver a obtener el dato original. Existe cifrado que es reversible y otro no, cuando hablamos de un cifrado no reversible decimos que es un cifrado de tipo “hash”. En este trabajo se opto por hacer el uso de ambos métodos (el reversible y el no reversible), se describirán a continuación en el transcurso del trabajo.
Una etapa no menos importante de nuestro desarrollo es aquella que contempla los diferentes dispositivos y aplicaciones que se utilizarán en las distintas etapas. La Interfaz Gráfica de Usuario, conocida por sus siglas en inglés Graphic User Interface, GUI, debe de ser lo suficientemente potente para permitirle que el usuario interactúe con el sistema remotamente. Además los dispositivos que controlen el sistema deben de trabajar en tiempo real, tener respuesta en un tiempo menor a 10ms, para que con esto tener la seguridad de que el método propuesto es confiable para trabajar sobre un proceso crítico.
El sistema propuesto funciona localmente y esto influye directamente en el desarrollo del sistema, ya que como se menciono en el párrafo anterior el control de la variable en tiempo real es importante, por lo cual se puede evaluar la posibilidad de seleccionar 2 tipos de aplicaciones principales, la primera que interactúa directamente con el controlador (esta haciendo el control) y la otra que nos sirva para realizar la consulta y monitoreo del sistema, es decir, tendremos una GUI.
Además durante el desarrollo del proyecto nos topamos con la necesidad de escoger adecuadamente el tipo de formularios e información que estos manejan en forma minuciosa, es decir, no se le debe restar importancia al tipo de formularios utilizados ya que estos influyen directamente en la seguridad de nuestro sistema. Si nuestra información es entendible para un intruso o no.
1
1 ..
P L A N T E AMIEN
P L A N T E
A M IE N TO
T O
D E L
D E L
P R O B L E M A
P R O B L E M A
En la actualidad existen varias formas de realizar el control a distancia de diferentes tipos de variables, como son la iluminación, humedad, temperatura, nivel, flujo, densidad, PH, etc. Una de las industrias que realiza dicha actividad es la que se dedica a la automatización de Edificios inteligentes, BA por sus siglas en inglés Building Automation, la cual se está creciendo considerablemente en nuestro país.
Por lo anterior haremos referencia a la automatización de Edificios Inteligentes para tener una referencia real de donde estamos ocupando un control a distancia, si bien es cierto que en este caso las variables no son tan críticas como en un proceso industrial, hay que considerar que tienen una importancia y no pueda pasar desapercibida. También cabe resaltar que se hace mención de Edificios inteligentes solo como una referencia, más no como la parte principal del desarrollo del trabajo.
Fig. 1.1. Imagen obtenida de diagrama de funcionamiento de Tour Andover Controls
Fig. 1.2. Representación a bloques de un sistema controlado vía remota
Con el diagrama podemos observar que es posible el manipular “n” número de variables con este tipo de estructura, también surge una pregunta en el funcionamiento de este modelo y es ¿Qué tan segura se encuentra la información?, es decir, si tenemos acceso a través de Intranet y/o Internet. ¿Cómo sabemos si el proceso no se está comprometido? Si bien es sabido que la mayoría de los ataques a un sistema son realizados por usuarios del mismo o por gente que se encuentra dentro de la misma empresa, entonces hay que asegurarla en dos etapas, la local y la remota.
Antes de seguir, convendría que repasáramos las definiciones de algunos términos que se repetirán con frecuencia a lo largo del trabajo.
• Conexión entre redes: una red de redes. Se trata de redes de área local conectadas entre sí por medio de dispositivos de conexión entre redes, como un puente o un router.
• Internet: la Red de redes por excelencia. TCP/IP es el estándar de-facto para el conjunto internacional de computadoras heterogéneas que lo conforman.
Ethernet
Servidor de Aplicación y
BD Manejador 1
Manejador “n”
Interface de Comunicación 1 Protocolo
Propietario
Manejador 1
Manejador “n”
Interface de Comunicación
n Protocolo
Propietario Cliente con
Aplicación
Cliente con Aplicación o por
Web
• Intranet: una red corporativa interna que sólo funciona en el entorno de la empresa, sin conexión a Internet, pero que utiliza protocolos de Internet, como el Protocolo Simple de Transporte de Correo (SMTP) y el Protocolo de Transporte de Hipertexto (HTP), el mismo protocolo que utilizan los navegadores web. Una extranet es una intranet que proporciona acceso a la red corporativa a determinados empleados que se encuentran fuera de la compañía.
[image:12.612.123.520.248.510.2]De lo anterior surge la necesidad de hablar un poco acerca de la importancia del cifrado de información, veamos el siguiente ejemplo para ver en una forma simple de lo que estamos hablando utilizando la imagen de la figura anterior solo agregando dos elementos.
Fig. 1.2. Representación a bloques de un sistema controlado vía remota con agentes externos
Servidor de Aplicación y
BD Manejador 1
Manejador “n”
Interface de Comunicación
1 Protocolo
Propietario
Manejador 1
Manejador
Interface de Comunicación
n Protocolo
Propietario
Cliente con Aplicación Ethernet
Internet Aplicación o por Cliente con Web Agente no
deseado
Al agregar estos dos agentes externos en los canales de Ethernet e Internet podemos observar que la información que entrega nuestro proceso, así como su administración se encuentran comprometidas, esto es debido a que si los datos que viajan a por este medio y no tienen algún tipo de protección entonces son accesibles para cualquier escucha de esté. De tal manera que pudieran en un momento determinado tener acceso a nuestra información o en casos más críticos modificar algún punto de referencia (también conocido como Set-Point por sus siglas en inglés) de nuestro proceso.
De lo anterior surge la importancia de asegurar la información, tendencia que se está siguiendo actualmente ya que cada vez más frecuentemente son conocidos los casos de robo de información y/o sabotaje.
[image:13.612.71.543.344.593.2]Para la elaboración de este trabajo hacemos una pequeña modificación al esquema anterior para eliminar unos de los agentes externos, pero no por eso le quitamos la complejidad que implica el tener un proceso trabajando sobre Internet. A continuación mostramos el esquema propuesto.
Fig. 1.3. Representación a bloques del sistema propuesto con agentes externos
Como ya se mencionó anteriormente buscamos el proteger la integridad de nuestro proceso, así como también el prevenir que algún intruso intervenga en este a través del cifrado de datos.
Agente no deseado Servidor de
Aplicación y BD Variable 1
Variable 2
Manejador Adquisición
de Datos
Cliente con Aplicación
Comunicación Serial
Internet
Cliente con Aplicación o por
Con el diagrama anterior se generaliza la propuesta para alcanzar nuestro objetivo, cabe resaltar que cada parte tiene varias etapas involucradas que se retomarán durante el desarrollo del trabajo.
Primeramente vamos a retomar el caso de la selección y medición de las variables. En este trabajo se decidió realizar el control de iluminación de una fuente luminosa y velocidad de un motor de CD, solo como ejemplos ilustrativos para dar paso a la importancia que tiene la confidencialidad de la información en cualquier etapa del proceso. Se eligieron ambas variables ya que son fáciles de ubicar y por consiguiente la ejemplificación resulta más sencilla. En este punto lo que se realiza básicamente es seleccionar los sensores adecuados para obtener intensidad luminosa y revoluciones por segundo para posteriormente poderlo interpretar y manipular en la siguiente fase.
Para la próxima etapa lo que se hace es que toma la señal y se estandariza de 0 a 5 volts, esto para poder aprovechar todo el rango de valores del convertidor analógico/digital, que se ocupa con una resolución de 8 bits. Después de hacer adecuación de la señal es cando se introduce al microcontrolador, donde este va a obtener los valores de las 2 variables para con esto interpretarlos y poderlos controlar.
El controlador para este caso tiene cuatro funciones primordiales, las cuales son:
a) Convertir la señal analógica a digital.
b) Con la información obtenida determinar el valor de la salida correspondiente a cada variable y con esto poder obtener el valor deseado.
c) Enviar la lectura del valor obtenido de cada variable a través del puerto serie para que la aplicación encargada de subir la información a la base de datos actualice la información.
d) Actualizar los valores de referencia del controlador.
Por el momento solo mencionaremos estas funciones principales que realiza el controlador, sin entrar en detalle, ya que cada una de ellas se desglosa en varias partes a su vez.
Fig. 1.4 Primeros pasos para poder realizar el control vía remota
Una vez que ya tenemos entendida las funciones que realiza el controlador vamos a pasar al Servidor donde en nuestro caso reside la aplicación que obtiene la información del controlador, la Base de Datos y el servidor Web para poder realizar las consultas o administración del proceso vía remota. Para ver en forma más gráfica lo mencionado anteriormente presentamos la figura 1.5.
Fig. 1.5 Servidor encargado de la administración de la información
Para describir un poco más a fondo como está constituido nuestro servidor vamos a mencionar como están constituidas cada una de sus partes.
En primer lugar la aplicación que se comunica con la base de datos fue hecha en Java, ¿por que en Java? por qué es multiplataforma y puede funcionar en cualquier sistema operativo que el usuario final desee, es decir, puede trabajar en el sistema operativo, Windows, Linux o Unix por ejemplo. En ese trabajo se decidió utilizar Windows XP como sistema operativo.
En segundo lugar. La base de datos que se eligió fue MySQL Server 5.0, ¿por que?, la primer razón y tal vez la más importante es porque es libre o gratuita, además que nos permite bajo el sistema operativo Windows crecer hasta una capacidad de 2Gb de tamaño
Aplicación para comunicación
Base de Datos Servidor Web Contenedor de BD
Servidor de Aplicación y
BD Variable 1
Variable 2
Manejador Adquisición
de Datos Comunicación
de la base de datos y en Linux hasta 4Tb. Además esta base de datos ya soporta métodos para el cifrado de información.
El servidor Web en conjunto con el contenedor de páginas dinámicas (PHP) tienen la función de este es el interpretar los requerimientos hechos a través de un navegador Web, en nuestro caso Internet Explorer o Mozilla, para poder acceder a la información contenida en la base de datos y poderla consultar vía una Red de Área Local (por sus sigla en inglés
LAN) o por medio de internet. Específicamente el módulo de PHP es el que nos va a permitir realizar las conexiones con la base de datos para consulta o actualización de la información. Básicamente lo que se hace con estas dos partes es hacer accesible la información de nuestro proceso a cualquier equipo montado en la Red de Área Local siempre y cuando este pueda pasar por una seria de filtros que se mencionarán en el transcurso del trabajo.
Hay que resaltar que de los diferentes procesos que se ejecutan en el ordenador cada uno de ellos lleva consigo una parte de cifrado de datos, en nuestro caso a través del algoritmo DES, ya que la aplicación antes mencionadas almacena la información dentro de la base de datos en forma cifrada, esto es, si deseamos ver en forma directa la base de datos por medio de una consulta lo que obtendremos será solo basura. De igual manera al generarse la consulta a través de la Red local obtendremos solo basura si no lo hacemos por medio de la página que contiene la información necesaria para descifrar la información. En la figura 1.7 veremos en forma más gráfica lo antes mencionado.
Fig. 1.6 Ejemplo de la lógica de cifrado utilizada en el sistema propuesto
Ahora que se ha visto la estructura básica del sistema queda un poco más claro el funcionamiento del mismo, aunque no se han tocado todos los puntos en forma detallada si
Cifrado/Descifrado de información en
Cliente Final Aplicación de comunicación
Comunicación Serial Manejador
Información almacenada
Consulta o Actualización de la Base de datos
Envío y recepción de información en forma cifrada SERVIDOR
2
2 ..
M A R C O
M A R C O
T E Ó R IC O
T E Ó R IC O
Para el desarrollo del trabajo es necesario tener el conocimiento previo de ciertos temas, los cuales se tocan en este capítulo. Los cuales son:
• Motor de C.D de Armadura Controlada, ya que esta fue la forma en que se realizo el control de velocidad del motor en el presente trabajo.
• Internet, tema básico para tener una noción más amplia del monitoreo remoto por esta vía.
• Modelo OSI, nos permite estandariza el software y los dispositivos de red.
• Criptografía, indispensable para decidir el sistema de cifrado de información a utilizar.
2.1 Motor de C.D de Armadura Controlada
En este inciso veremos cual es la función de transferencia de un motor controlado por armadura debido a que el presente trabajo se utilizo esta forma para levar a cabo el control del motor de c.d..
La figura 2.1.1 muestra un motor de c.d. de armadura controlada. La corriente if(t) en el
embobinado del campo se mantiene constante If, por tanto el campo magnético Φ es
constante. La armadura está conectada eléctricamente a las terminales de salida de un amplificador, el cual amplifica la señal la señal de error del sistema que está siendo controlado. La carga está mecánicamente acoplada a la armadura, ya directa o a través de trenes de engranes.
El voltaje a la armadura vq(t) está representado por va(t) en la figura 2.1.1. La resistencia
Rq=Ra; la inductancia de la armadura iq(t)=ia(t) y el voltaje generado en la armadura debido
al movimiento egq(t)=eb(t). De la Ec. 2.1.1 obtenemos
vq(t)=Rqiq
( )
t +Lqdiq( )
tdt +Kqf!if
( )
t (Ec.2.1.1) Sustituyendova(t)=Raia
( )
t +La dia( )
tdt +Kqf!m
( )
t If va(t)=Raia( )
t +La dia( )
tdt +Kbt!m
( )
t If(
Ec.2.1.2)
es conocida como la fuerza contraelectromotriz constante. El témino If es la corriente de
campo constante y wm(t) es la velocidad angular del motor y de la carga.
Fig. 2.1 Un motor de c.d. de armadura controlada.
El término Kbt también es llamado constante de par. Cuando se designa como fuerza
contraelectromotriz constante, la dimensión Kbt está en volts por radián en el sistema mks
de unidades.
La siguiente ecuación muestra el par desarrolado por el motor:
Tm
( )
t =Kqfif( )
t ia( )
t =KqfIfia( )
t =Kbtia( )
tdonde Kbt es la constante de par y tiene la dimensión newton-metros por amper en el
sistema mks de unidades.
El par es también expresado en términos del momento de inercia y la fricción viscosa del motor y de la carga.
Tm
( )
t =Jeq!!
!m+ feq
!
!m=Jeq!!m+ feq!m Ec.2.1.4
donde θm=θL es el desplazamiento angular de la flecha del motor, Jeq=Jm+JL, y feq=fm+fL.
Va
( )
s =(
Ra+sLa)
Ia( )
s +Kbt!m( )
s Ec.2.1.5Tm
( )
s =KbtIa( )
s Ec.2.1.6Tm
( )
s =(
Jeqs+ feq)
!m( )
s Ec.2.1.7donde Ωm(s)= Transfomada de Laplace de ωm(t). Combinando estas tres ecuaciones y
eliminando Ia(s), obtenemos:
!m
( )
sVa
( )
s =Kbt Ra+sLa
(
)
(
Jeqs+feq)
+Kbt2 Ec.2.1.8
La Ec. 2.1.8 puede escribirse de diferentes formas. Dividiendo tanto el numerador como el denominador del lado derecho de la ecuación, entre (Ra+sLa)(feq+sJeq), obtenemos
!m
( )
sVa
( )
s =Kbt / R
a+sLa
(
)
(
Jeqs+ feq)
"# $%
1+ K
bt/
(
Ra+sLa)
(
Jeqs+feq)
"
# $%&Kbt
= G s
( )
1+G s
( )
H s( )
Ec.2.1.9
donde
G s
( )
= Kbt Ra+sLa(
)
(
Jeqs+feq)
Ec.2.1.10
y
H s
( )
=Kbt Ec.2.1.11Otra forma de la ecuación 2.1.8 se obtiene factorizando Ra y feq.
!m
( )
sVa
( )
s =Kbt /R afeq
1+s!
a
(
)
1+s!m
(
)
+Kbt2/R afeq
Ec. .1.1
donde τa=La/Ra es la constante de tiempo de la armadura y τm=Jeq/feq es la constante de
2.2 Acerca de Internet.
Debido a la relevancia que tiene el Internet en este trabajo he considerado de mucha importancia el conocer un poco de sus antecedentes así como su forma de trabajo para estar consciente de lo que implica que el sistema elaborado trabaje sobre la Red Global.
No se puede iniciar esta explicación sin tener en cuenta el modelo OSI, que nos permite estandariza el software y los dispositivos de red, asegurando la compatibilidad y la interoperabilidad entre dispositivos de diferentes fabricantes
2.2.1 Modelo OSI
Esté modelo consta de 7 capas, pero ¿porque capas?, por que:
a) Con esto se divide la comunicación en capas más pequeñas. Divide el proceso de comunicación en partes más pequeñas.
b) Facilita el desarrollo de componentes de red. c) Facilita el diseño de las redes.
d)
d) Facilita la corrección de errores. e)
e) Facilita la administración de la red..
Las capas del modelo OSI son las siguientes:
# Capa Nombre
7 Aplicación
6 Presentación
5 Sesión
4 Transporte
3 Red
2 Enlace de Datos
[image:21.612.83.528.175.633.2]1 Física
Fig. 2.1 Ejemplo de un intercambio de información usando el modelo OSI
1.- Capa Física. Proporciona los medios eléctricos, mecánicos, de procedimiento y funcionales para activar y mantener el enlace físico entre sistemas. Codifica los datos
Medio de Transmisión
binarios proporcionados por el nivel de enlace de datos, convirtiéndolos en voltajes, pulsos de luz u otros impulsos adecuados. Incluye: V.35, EIA/TIA-232, RJ45, Manchester, etc.
2.- Capa Enlace de Datos. Direccionamiento Físico. Maneja notificación de errores con CRC, la topología de red, control de flujo y direccionamiento físico de la trama (frame). Responsable del Media Acces Control, impide el exceso de colisiones. CSMA/CD, Paso de Testigo. Indicador de Protocolo. Incluye: FFDI, IEEE 802.3, IEEE 802.5, Frame Relay, PPP, etc.
3.- Capa de Red. Define la entrega de paquetes extremo a extremo. Responsable del enrutamiento del paquete. Define las identificaciones de los hosts, como determinar las rutas y como aprender las rutas. Define como dividir el paquete en paquetes que se ajusten a un MTU – Fragmentación. Incluye: IP, IPX, AppleTalk, ICMP, etc.
De la Capa de Red
T2 Datos H2
Canal de Enlace de Datos
Frame
A la Capa física
A la Capa de Red
T2 Datos H2
Canal de Enlace de Datos
De la Capa física
Frame
Enlace datos
Capa Física
10101000000010111 110
Medio de Transmisión
10101000000010111 110 Enlace de datos
4.- Capa de Transporte. Provee confiabilidad, control de flujo y corrección de errores a través de TCP, Segmentación y reensamble. Se reordenan los paquetes cuando lleguen desordenados (TCP). TCP es orientado a conexión. UDP no es orientado a conexión y no confirma la recepción de paquetes, es poco confiable.
Datos H3 Paquete
A la Capa de Enlace de Datos
Capa de Red De la Capa de Transporte
Datos H3 Paquete
De la Capa de Enlace de Datos
Capa de Red A la Capa de Transporte
Capa de Red
Enlace de Datos
Capa Física
Capa de Red
Datos Datos
Física Física Capa de Red
Datos Datos
Física Física
Origen Destino
Capa de Red
Enlace de Datos
A la Capa de Red Capa de
Transporte
De la Capa de Sesión
Segmentos
Datos H4 Datos H4 Datos H4
De la Capa de Red Capa de
Transporte
A la Capa de Sesión
Segmentos
5.- Capa de Sesión. Define como comenzar, controlar y terminar las conversaciones (sesiones). Define mecanismos para control de diálogo. Incluye: SQL, NFS, NetBios names, DECnet, SCP, etc.
6.- Capa de Presentación. Su principal función es definir formatos de datos. Provee encriptación y compresión (Code formatting). Garantiza que los datos que llegan desde la red puedan ser utilizados por la aplicación y que la información enviada por la aplicación sea entendida por el destino. Incluye: JPEG, ASCII, GIF, TIFF, MPEG, etc.
H5 De la Capa de
Presentación
Capa de Sesión
A la Capa de Transporte
H5 A la Capa de
Presentación
Capa de Sesión
De la Capa de Transporte
Datos H6 Paquete
A la Capa de Sesión Capa de Presentación
De la Capa de Aplicación
Datos H6 Paquete
De la Capa de Sesión Capa de Presentación
7.- Capa de Aplicación. Provee servicios de comunicación a las aplicaciones. Incluye: Telnet, HTTP, FTP, Browsers, SMTP, etc.
Viéndolo en forma gráfica, podemos decir lo siguiente:
# Capa Nombre Tarea
7 Aplicación Procesos de red a aplicación
6 Presentación Representación de Datos
5 Sesión Comunicación entre host
4 Transporte Conexión de extremo a extremo
3 Red Direccionamiento y mejor ruta
2 Enlace de Datos Acceso a los medios
1 Física Transmisión binaria
Con la explicación breve de cada capa del modelo OSI que se dio anteriormente surge la siguiente pregunta ¿Con que capa(s) se va a trabajar? y haciendo una valoración de la
A la Capa de Sesión Capa de Aplicación
Usuario
Datos H7 Mensage
X.500 X.400
… FTAM
A la Capa de Sesión Capa de Aplicación
Usuario
Datos H7 Mensage
X.500 X.400
De lo anterior surge la necesidad de conoce un poco más a detalle el protocolo TCP/IP con el cual se decidió trabajar, debido a que es con el que trabajamos enlaces a través de Internet.
2.2.2 Protocolo TCP/IP
Ahora hablaremos un poco acerca de los protocolos y el ¿por que de estos?. Los protocolos establecen una descripción formal de los formatos que deberán presentar los mensajes para poder ser intercambiados por equipos de cómputo; además definen las reglas que ellos deban seguir para lograrlo. Las computadoras y los humanos tienen una cosa en común, ambos usan lenguajes complejos para comunicarse. Con alrededor de 30 millones de usuarios en línea, Internet conecta computadoras que usan diferentes sistemas operativos y lenguajes: UNIX, DOS, Macintosh y otros.
Para facilitar la comunicación entre estos sistemas, Internet emplea un tercer lenguaje: TCP/IP (Protocolo de Control de Transmisión/Protocolo de Internet). Este fue creado en la época de los setenta, siendo parte de la investigación del DARPA sobre la conectividad de diferentes tipos de computadoras y redes. Debido a que se emplearon fondos públicos para desarrollar TCP/IP, los estándares son no propietarios; esto es, que nadie tiene derechos exclusivos de uso. TCP/IP es hardware y software independientes, manera que cualquier tipo de computadora puede conectarse a Internet y compartir información con otras computadas.
TCP/IP es un conjunto o suite de protocolos diseñado con una arquitectura en capas. Las capas permiten a los diseñadores del protocolo dividir en módulos las tareas y servicios que realizará el mismo. Es diseño también especifica la manera en que un módulo interactúa con otros. La arquitectura en capas de los protocolos está diseñada como una pila en la que los protocolos de más alto nivel interactúan con protocolos de niveles más bajos.
El modelo TCP/IP está diseñado por cuatro capas:
• La capa de aplicaciones:Es la capa más alta de la pila; ésta provee servicios de alto nivel a los usuarios como transferencia de archivos, entrega de correo electrónico, y acceso a terminales remotas. Los programas de aplicación recogen diferentes protocolos de transporte dependiendo del tipo de servicio de transporte que requieran.
• La capa de transporte: Tiene como tarea principal la de proveer comunicación punto a punto entre las aplicaciones. Los protocolos de transporte (TCP y UDP) usan el servicio de entrega de paquetes que provee la capa de Internet.
datos no se verifica en este nivel, por lo que el mecanismo de verificación es implementado en capas superiores (Transporte o Aplicación).
• La capa de acceso: Al medio acepta datagramas de la capa de Internet y los envía físicamente. El "módulo" para el acceso al medio es con frecuencia un manejador de dispositivo (Device Driver) para una pieza particular de hardware, y la "capa" de acceso al medio puede consistir de múltiples módulos.
Para que la información fluya a través de las capas, ésta pasa por un proceso de encapsulamiento. Los mensajes o información recibida por la capa de TCP es encapsulada con un encabezado de TCP en un paquete llamado "Segmento de TCP", este segmento de TCP es entregado a la capa de IP, en el que se le agrega un encabezado de IP y el paquete llamado "datagrama de IP" es creado. El paso final incluye el encapsulamiento del datagrama de IP en paquetes creados para la capa de acceso al medio.
2.2.3 Transmisión Control Protocol (TCP) y User Datagram Protocol (UDP)
Estos dos protocolos son de la capa de transporte de la suite TCP/IP. Ambos utilizan el servicio de entrega de paquetes de IP, y pueden distinguir entre múltiples procesos en la misma máquina usando un número de puerto. Las funciones que realiza TCP son las siguientes:
Servicios de Entrega de Paquetes.
• TCP provee de un servicio confiable de entrega de paquetes orientado-a-conexión, o sea, TCP se encarga de dar la ilusión de que la comunicación entre dos computadoras es de punto-a-punto con un flujo continuo de información, a diferencia de IP, donde se sabe que la información fluye en paquetes y que dicha información puede ser retransmitida varias veces antes de alcanzar su destino.
• El concepto de conexión es muy importante porque le permite a un puerto local dar servicio a muchos puertos remotos concurrentemente. Esta es la base del modelo de aplicación cliente-servidor el cual es utilizado en redes.
Responsabilidades:
• La comunicación punto-a-punto confiable indica que TCP acepta la responsabilidad de la secuenciación de datos, validación y, si es necesario, retransmisión; la aplicación o procesos que use los servicios de TCP no necesita preocuparse de todo lo anterior, puede asumir que los datos que envía serán recibidos íntegros, en el orden exacto en el que fueron enviados.
• Otra de las responsabilidades de TCP es el control de flujo, el cual es un mecanismo que previene al transmisor de enviar datos más rápido de lo que el receptor pueda manejar.
• UDP provee la capacidad de acceder a los puertos, a diferencia de TCP, con servicios sin-conexión y no-confiables. Muchas aplicaciones necesitan direccionar a IP y el acceso a puertos de TCP, pero manejando ellas mismas la verificación de los datos, por lo que UDP es la solución. También es utilizado por aplicaciones que solamente envían mensajes cortos y pueden enviar de nuevo los mensajes si la respuesta no llega en corto tiempo.
• TCP toma la información que se quiere transmitir, la divide en pedazos y numera cada uno de estos, de tal manera que el receptor pueda verificar la llegada de los mismos y colocarlos en orden.
2.2.4 Internet Protocol (IP)
Servicios de Entrega de Paquetes.
• IP provee un servicio de entrega de datagramas "sin conexión"; llamado así porque no se lleva a cabo una coordinación entre el punto transmisor y el punto receptor. Cada paquete es tratado independientemente, los cuales pueden llegar en desorden y hasta podrían no llegar.
• La entrega "sin-conexión" es similar a poner una carta en el buzón: se deposita (datagrama) y se olvida de ella. Se asume que el servicio postal (red IP) entregará la carta a su destino.
• Este servicio "sin-conexión" es no confiable porque IP puede garantizar la entrega, pero es llevado a cabo con el mejor esfuerzo, esto es, los datagramas no son descartados fácilmente. Los datagramas pueden no ser entregados por la falta de recursos o por una falta en el hardware de la red.
Servicios de Direccionamiento.
• El servicio de direccionamiento de IP determina rápidamente si una dirección IP dada por la capa de transporte pertenece a la red local o a otra red.
• Las direcciones IP son números de 32 bits divididos en 4 octetos. Cada dirección es la combinación del identificador único de la red y el identificador único de la máquina.
• El problema inmediato con las direcciones IP es que son difíciles de memorizar. Por esta razón, las computadoras son identificadas con nombres particulares. El DNS fue implementado para facilitar el uso de las direcciones IP a las personas.
Responsabilidades.
• Una función de la capa de Internet es definir la Unidad Básica de Transferencia de Datos" usada en las redes TCP/IP: el Datagrama IP.
• IP también es responsable de la selección del camino por el que viajan los datos, esto es llamado "Enrutamiento".
• El protocolo Internet también incluye un conjunto de reglas que define cómo se procesarán los paquetes, incluyendo cuándo generar mensajes de error y cuándo se descartan datagramas. Parte de esta proceso incluye la "fragmentación de datos" y el "reensamblado", aunque IP realiza esta función solo cuando el hardware lo requiera.
cualquier marca de hardware en particular. Los protocolos TCP/IP definen la unidad de transmisión de datos, llamada datagrama, y especifican cómo transmitir los datagramas en una red en particular.
• Interconexión universal. Una red de redes TCP/IP permite que se comuniquen cualquier par de computadoras conectadas a ella. Cada computadora tiene asignada una dirección reconocida de manera universal dentro de la red de redes. Cada datagrama lleva en su interior las direcciones de su fuente y su destino. Las computadoras intermedias de conmutación utilizan la dirección de destino para tomar decisiones de ruteo.
• Acuses de recibo punto-a-punto. Los protocolos TCP/IP de una red de redes
proporcionan acuses de recibo entre la fuente y el último de destino en vez de proporcionar los entre máquinas sucesivas a lo largo del camino, aun cuando las dos máquinas no estén conectadas a la misma red física.
• Estándares de protocolos de aplicación. Los protocolos TCP/IP incluyen estándares para muchas aplicaciones comunes, incluyendo correo electrónico, transferencia de archivos y acceso remoto.
Ahora que hemos entendido más claramente los protocolos y modelos utilizados en Internet nos es más fácil el hacer la distinción de por que se van a ocupar estos.
2.3 Criptografía
2.3.1 Criptografía tradicional
Este tipo de criptografía acarrea un problema. Imagínese que existe otro emisor que también envía mensajes cifrados al receptor anterior. Si el segundo emisor tiene la misma clave que el primer emisor, en caso de poder interceptar mensajes de éste, podría descifrarlos ya que utilizan la misma clave. Si, por el contrario, utiliza una clave distinta, el receptor deberá tener tantas claves como potenciales emisores, lo que conduce a una gran complejidad en el mantenimiento de claves.
Este tipo de criptografía puede utilizar distintos algoritmos para cifrar los datos. Los más utilizados son los siguientes:
• DES: "Digital Encription Standard", es un algoritmo de encriptación por bloques, normalmente utiliza bloques de 64 bits para encriptar los datos, utiliza una clave de 56 bits y tiene varios modos de funcionamiento como son:
o ECB: "Electronic Codebook mode". o CBC: "Cipher Block Chaining mode". o CFB: "Cipher FeedBack mode".
Este algoritmo puede utilizar un estilo de relleno como PKCS#5 "Public Key Cryptography Standard".
• IDEA: "International Data Encryption Algorithm".
2.3.2. Criptografía de clave pública.
La idea del uso de criptografía con "clave pública" es bastante sencilla, aunque los algoritmos y los fundamentos matemáticos en los que se basa no lo sean tanto.
En el ejemplo de la figura, los mensajes enviados por Emisor 1 y 2 sólo pueden ser descifrados por Receptor.
Este tipo de criptografía puede utilizar distintos algoritmos para cifrar los datos. El más utilizado es el RSA "Rivest, Shamir and Adlerman asymmetricCipher algorithm".
Con este cifrado conseguimos privacidad aunque no conseguimos autentificar al emisor.
2.3.4 Autentificación. 2.3.4.1 Firma digital
Una firma digital sirve básicamente para lo mismo que una firma realizada con una pluma o bolígrafo en un escrito, pero la firma digital tiene una ventaja añadida: además de probar que un documento está escrito por una determinada persona o institución, asegura que el documento no fue alterado después de ser firmado.
Lo que se consigue con esto NO es cifrar un mensaje para que sólo pueda ser leído por otra persona (puede ser descifrado por todo aquel que posea la clave pública), sino asegurar a quien lo lee, que realmente ha sido enviado por quien posee la clave privada y que el contenido no ha sido alterado.
2.3.4.2 Huella digital o "fingerprint".
El proceso de cifrar un mensaje con la clave privada puede consumir un tiempo de proceso valioso. Si es indiferente que el mensaje pueda ser leído por cualquier persona, y no sólo aquellos que posean la clave pública, puede obtenerse mediante una función hash un texto mucho más corto que el mensaje original llamado "huella digital" o fingerprint. Si se altera el mensaje original, también varía la huella digital. Lo que se cifra mediante la clave privada no es el mensaje original completo, sino esta "huella digital"; el resultado se añade al documento a transmitir.
De todos los algoritmos de hashing, los más utilizados son los siguientes:
• MD-2, MD-5: "Message Digest algorithm".
• SHA-1: "Secure Hash Algorithm"
Existe un algoritmo de Clave pública, diseñado solo para firmar documentos, el DSA.
2.3.5 Certificados.
¿Cómo puede una persona que recibe una clave pública saber que esa clave corresponde realmente a quien dice ser y no a otra persona con pretensiones desconocidas?
Dicho de otra forma: ¿Cómo puede una persona suministrar su clave pública a quien la desee? Sólo con enviarla no es suficiente. Alguien con pretensiones desconocidas podría suministrar una clave pública haciéndose pasar por otra persona y descifrar con la clave privada los mensajes codificados con esa clave pública.
Precisamente para eso, sirve un certificado, para obtener la clave pública de otra persona o entidad.
Un certificado es una declaración firmada digitalmente por una entidad en la que se confía (de la que se tiene su clave pública), indicando que la clave pública de otra persona o entidad tiene un determinado valor.
2.3.5.1 Certificados Digitales / TLS y SSL
Debido a las carencias de seguridad del protocolo HTTP se implementa una capa adicional para el transporte de información que resuelve los aspectos de seguridad carentes en los servidores web. Esta capa viene definida por el estándar TLS o Transport Layer Protocol que gracias a las librerías OpenSSL permite encriptar la información a través de conexiones seguras SSL o Secure Sockets Layer.
SSL es un estándar definido por Netscape Comunication Corporation y que actualmente implementan todos los servidores seguros. En estándar SSL no solamente proporciona la encriptación y confidencialidad de los datos si no que también proporciona la autentificación de cliente-servidor y garantiza la integridad de los datos a través del protocolo TPC/IP. Estas son las características deseables para que podamos considerar una conexión segura.
• SSL versión 1. Fue utilizado internamente por Netscape Communications. Este contenía algunos problemas serios y nunca se libero al público.
• SSL versión 2. Fue incorporado en el Navegador Netscape 1.0 al 2.x. Este tenía algunas debilidades. Con el objeto de provocar cierta incertidumbre acerca de SSL, Microsoft también introdujo la competencia private communication technology (PCT), el protocolo de tecnología de comunicación privada en su primer liberación para internet Explorer el 1996.
• Netscape Communications responde al reto de PCT de Microsoft introduciendo SSL
3.0 que resolvía los problemas de SSL 2.0 y agregaba nuevas características. En este punto Microsoft se rinde y agrega soporte para SSL 3.0 en todas las versiones basadas en software TCP/IP, si embargo su software aun soporta PCT por asuntos de compatibilidad con versiones anteriores.
SSL 3.0 fue liberado en Marzo de 1996, implementado en Internet Explorer 3.0y Netscape Navigator 3.0.
Aunque SSL proporciona autenticación y privacidad de la información entre extremos sobre Internet mediante el uso de criptografía con normalidad sólo el servidor es autentificado mientras que el cliente se mantiene sin autentificar.
El Certificado Digital es un documento digital mediante el cual un tercero confiable EC (Entidad Certificadora) garantiza la vinculación entre la identidad de un sujeto o entidad y su clave pública.
Instalando el Certificado Digital el servidor Web proporcionará automáticamente la información sobre la web al navegador de cualquier cliente si este está verificado y confirmado por una EC (Entidad Certificadora) o tercero confiable ésta confirmará que el certificado es válido y garantizará la veracidad de los datos. Además toda comunicación se realizará a través del canal seguro que nos proporciona SSL garantizando la confidencialidad, autenticidad y privacidad de los datos.
Para la elaboración de este trabajo se opto por utilizar este método de cifrado de información, debido a que el uso e implementación de un certificado digital creado por nosotros mismos no incrementa costos pero si la seguridad del sistema.
Actuaciones
Existen tres condiciones para que el certificado sea válido y por lo tanto aceptado por la mayoría de navegadores. De no cumplirse estas tres condiciones el navegador alertará de la invalides del certificado y en muchos casos recomendará al usuario abandonar la conexión.
• El nombre común CN (Common Name) debe coincidir con la dirección URL que el usuario teclea en su navegador.
• Es certificado debe estas firmado por una EC (Entidad Certificadora) en la que el browser o navegador del clienta haya depositado su confianza.
3.
3.
D ESARROLLO
D
E S A R R O L L O
D E L
D E L
S I STEMA
S I
S T E M A
En el transcurso de este capítulo se explicará cuales son las distintas etapas del sistema, los criterios utilizados para la elección de los circuitos integrados, así como características, y función en el sistema.
Para comenzar en la siguiente figura se presenta un sistema de control empleado, en el cual podemos observar los diferentes elementos que intervienen en las distintas etapas del diseño del sistema.
Fig. 3.1- Sistema empleado
Observando la figura anterior se pude resaltar el hecho de que se utilizaron los convertidores de Voltaje-Corriente y Corriente-Voltaje después de que se llevo a cabo la conversión de la señal digital a analógica, esto se debe a que se desea tener una señal analógica lo más aproximada al valor correspondiente de voltaje del dato digital
Aplicación regulación de SP y
datos . Sensor de
Velocidad µc
DAC Conv. I-V Actuador Motor Conv. V-I Convertidor F-V Base de Datos Servidor WEB con PHP y SSL INTERNET Interface con el
usuario Sensor de
Luz
ADC Actuador
lejos del sistema de control, es decir, que no importe la distancia a la que se encuentra la variable manipulada.
3.1. Sistema de Adquisición de Datos
La Adquisición de Datos tiene como objetivo el entregar una señal entre 0v y 5v al microcontrolador, para que en este la convierta en un dato digital y así poder trabajar con ella. El diseño de esta constituida por las siguientes partes: Parte 1: 1) Sensor de Velocidad, b)Convertidor de Frecuencia a Voltaje y c) Microcontrolador, ver figura 3.1.1. Parte 2: a)Sensor de Intensidad Luminosa y b) Microcontrolador ver figura 3.1.2.
Fig. 3.1.1- Diagrama de bloques para el sistema de Adquisición para la Velocida.
Fig. 3.1.2- Diagrama de bloques para el sistema de Adquisición para la Intensida Luminosa.
3.1.1 Diseño del Sensores a) Sensor de Velocidad
El sensor utilizado para la realización de este trabajo es de tipo optoreflectivo, debido a que en el motor se ha adaptado un disco rotatorio, así que cuando el motor esta en movimiento el sensor entrega una señal de frecuencia (pulso) entre 0v y 5v. Debido a que nos interesa la frecuencia no se toma en cuenta el ruido que puede ser inducido en este dispositivo debido a una distancia mayor entre el sensor y los circuitos (mayor longitud del cable, ver figura 3.1.1.1).
Sensor de Velocidad
Convertidor
F-V µc
Sensor de intensida
Fig. 3.1.1.1- Señal entregada por el sensor cuando se encuentra el motor en movimiento.
Como se ha mencionado anteriormente se tiene que el sensor entrega un pulso de entre 0v y 5v, así como también se observa que el la señal de salida de este contiene rebotes, creándose la necesidad de diseñar un eliminador de rebotes. Entonces se puede decir que el diseño del sensor se divide en dos etapas: a) Diseño del circuito que entrega una frecuencia con niveles de entre 0v y 5v y b) Diseño del eliminador de rebotes.
Diseño del circuito que entrega una señal en frecuencia. Como se tiene un sensor de tipo optoreflectivo, que consta de un diodo emisor de luz (de un lado) y de una fototransistor (del otro lado), se crea la necesidad de alimentar a ambos para obtener la señal deseada.
Por lo anterior se observa que en el LED existe una diferencia de voltaje de 1.02v, con una
corriente menor a 10 mA.
Diseño del eliminador de rebotes. Como se observa en la figura 3.1.1.1 el sensor entrega una señal que contiene pulsos no deseados y para que estos no afecten a las etapas posteriores del sistema deben de ser eliminados; de ahí la necesidad de realizar este circuito.
Para eliminar un rebote se puede colocar un Flip-Flop de tipo D, pero en este caso se decidió utilizar un circuito optoaislador, debido a que con este se pueden separar las etapas de entrada del sensor y el eliminador de rebotes, además, gracias a su tiempo de respuesta los rebotes que se encuentran en el sensor optoreflectivo son nulos. El CI que se utilizó fue el 4N33, ya que cumple con todas las características anteriormente mencionadas, y también contiene transistores en configuración de tipo Darlington que nos aseguran la exclusión de los saltos.
Para realizar el diseño se toma las siguientes consideraciones: la corriente IF debe de ser
aproximada a 10mA cuando el sensor entrega una señal de 5v, e IF cercana a cero en otro
caso.
Fig.3.1.1.4- Eliminador de rebotes.
La resistencia de 22k! a la salida del eliminador sirve para reforzar la corriente que este entrega, y con esto la señal este lista para la siguiente etapa.
En general el diagrama de los circuitos utilizados en el se queda como se muestra en la figura 3.1.1.5.
Ω ≈
Ω = =
470 500 10
5
R R
b) Sensor de Intensida Luminosa
[image:43.612.213.379.256.383.2]El diseño del sensor de luminosidad resulta ser muy sencillo ya que se ocupo una fotoresistencia que sumandole una resistencia en serie nos permite obtener valores de voltaje entre 0.2v y 4.98v suficientes para establecer los paramétros deseados de encendido y apagado, un valor mínimo y máximo, utilizando la conversion del puerto analógico digital del microprocesador y los valores fijados por el software se logra controlar la fuente luminosa. A continuación el diagrama para la lectura de la intensidad luminosa, ver imagen 3.1.1.6.
Figura 3.1.1.6 Diagrama del sesor de intensidad luminosa.
3.1.2 Diseño del Convertidor de Frecuencia a Voltaje
Como se ha menciona anteriormente el sensor entrega una señal en frecuencia, por lo que se decidió utilizar otro circuito para introducir la señal al microcontrolador posteriormente (Convertidor Frecuencia a Voltaje). En el diseño del convertidor de frecuencia a voltaje se eligió el circuito integrado LM331 de elaborado por National Semiconductors, esto fue debido a sus características como son su bajo costo, precisión en la conversión de frecuencia a voltaje y a su fácil cálculo de los componentes pasivos que utiliza.
Se diseño un convertidor de F-V para obtener una salida de 5v a la máxima velocidad del motor.
La fórmula proporcionada por el fabricante para convertir una frecuencia a voltaje es:
(
t t)
S L IN
out RC
R R f V
=2.09
La frecuencia máxima obtenida en el motor es de 740 Hz (fmax=740 Hz), por lo que
tenemos que el periodo (T) es de 1.35ms (T=1.35ms).
Sabemos que: t=talto +tbajo, deseamos que en nuestro circuito se tenga un 80% de ciclo útil (tiempo alto), es decir:
ms T T T a alto 08 . 1 % 80 = ∴ =
Conocemos que t =1.1RtCt, por lo que podemos decir que ta =1.1RtCt .
Si proponemos el valor de Ct, debido a que es más fácil obtener un valor de resistencia
comercial aproximado a los cálculos.
Si
C
t=
10
nf
y además se sabe quet a t C t R 1 . 1
= , se puede calcular el valor de Rt como se
muestra a continuación:
(
)
Ω = = = = − − k R x R x x nf ms R t t t 18 . 98 10 09818 . 0 10 11 10 08 . 1 10 1 . 1 08 . 1 6 9 3Aproximando el valor tenemos que R = k! t 100
Para obtener la corriente promedio tenemos los siguiente:
mA v
V
debido a que I<1mA el valor obtenido para Rt sirve para el circuito.
Ahora se obtendrán los valores de CD y RD, para lo cual se tiene la siguiente condición:
bajo D
DR T C <<
5
para cumplir lo anterior proponemos:
50 10 5 bajo D D bajo D D T R C T R C = = donde
(
)(
)
ms T ms ms T ms T k nf T y T T T bajo bajo alto alto alto bajo 25 . 0 1 . 1 35 . 1 1 . 1 100 10 1 . 1 = − = ∴ = Ω = − =entonces tenemos que:
6 10 5 50 25 . 0 − = = x R C ms R C D D D D
Si proponemos el valor de CD=47pf se podrá hallar el valor de RD
El siguiente paso es calcular el valor de la resistencia de Span (RS) despejando la fórmula
que nos proporciona el fabricante.
(
)
( )(
)
(
)(
)(
)(
)
Ω = Ω Ω = = = k R v nf k k Hz R V C R R f R C R R R f V S S out t t L IN S t t S L IN out 93 . 30 5 10 100 100 740 09 . 2 09 . 2 09 . 2El diagrama del circuito quedaría de la siguiente forma:
Fig 3.1.2.1- Diagrama del Convertidor de Frecuencia a Voltaje
3.2 Microcontrolador
La tercer etapa que se realizo en la adquisición de datos fue el convertir una señal analógica en el intervalo de 0v a 5v a un dato digital. Esto se logró por medio de uno de los convertidores Analógicos a Digital (ATD) que contiene el microcontrolador MCHC12B32.
3.2.1 Puerto Analógico-Digital (PAD)
El puerto Analógico a Digital (PAD) esta provisto de entradas para la conversión Analógico-Digital en un subsistema o de propósito general. Cuando el convertidor A/D no esta activado, el puerto tiene 8 pines de entrada de propósito general, PAD7-PAD0. El bit
Los pines del PAD son entradas, no puede asociar el registro de dirección de datos con este puerto. El puerto no tiene entrada resistiva y no reduce la señal de control.
El ATD (Analog to Digital Convert) es de 8 canales, 10 bits, entradas multiplexadas, aproximaciones sucesivas, con una precisión de ±2% mínima en el bit menos significativo (LSB).
El tiempo del convertidor (ATD) está sincronizado con el reloj P (del PWM). El modulo del ATD consiste de 16 palabras (32 bytes) en el bloque de registro de control del mapa de memoria usados para control, pruebas, y configuración.
3.2.1.1 Descripción del Funcionamiento
Una secuencia de conversión simple consiste en 4 u 8 conversiones, dependiendo del estado en el que se encuentre el bit del modo de 8 canales (S8CM) cuando el ATDCTL5 esta escribiendo. Hay 8 modos básicos de conversión. El modo de No Búsqueda (No Scan), el bit SCF esta activado después de que la primer secuencia de 4 u 8 conversiones han sido realizadas, el módulo del ATD continua reiniciando la secuencia. En el Booth-Mode el bit
CCF asociado con cada registro esta activado cuando este registro es cargado con el resultado apropiado de la conversión. Esta bandera es limpiada automáticamente cuando este resultado en el registro es leído. La conversión es iniciada a través de la escritura del registro de control.
En el Anexo C se describe mas detalladamente cuales son los registros a configurar dentro del microprocesador y se da un ejemplo de la configuración de este.
3.2.2 Interface de Comunicación Serial (SCI)
El SCI (Serial Comunication Interface) es un sistema de tipo NRZ (no.return to zero) que es compatible con es estándar de la norma RS-232. El sistema SCI tiene un modo de operación simple que permite al pin disponible no utilizado usarse como entrada o salida de propósito general.
3.2.2.1 Descripción del funcionamiento de la SCI
transmisión está basado en módulos de contador, permitiendo flexibilidad para elegir la tasa de transmisión.
Dos pines del puerto proveen de la interface para la transmisión de datos (TXD) y la
recepción de datos (RXD).
1 XD
1 XD
R T
S S
P P
↔ ↔
Formato de Datos:
El formato de datos seriales requiere de las siguientes condiciones.
• Una línea desocupada en estado alto para transmitir o recibir datos.
• Un bit de inicio (0 lógico), recepción o transmisión, indica el inicio de cada carácter.
• Un dato que se transmite o recibe, el bit menos significativo va al inicio.
• Un bit de paro (1 lógico) usado para indicar el fin de la comunicación.
Un formato consiste en:
• 1 bit de inicio.
• Un carácter de 8 o 9 bits de datos.
• Un bit de paro.
El SCI soporta paridad de hardware en la recepción o transmisión.
3.2.2.2 Interface de Comunicación Serial
Tasa de Transmisión
del SCI
BR División para
P=4MHz
BR División para
P=8MHz
110 2273 4545
300 833 1667
600 417 833
1200 208 417
2400 104 208
4800 52 104
9600 26 52
14,400 17 26
19,200 13 17
38,400 – 13
Tabla. 3.2.1 Generación de la Tasa de Transmisión
3.3 Control de Velocidad
Como se ha mencionado anteriormente el diseño del actuador de nuestro sistema cuenta con las siguientes etapas: 1)Conversión Digital a Analógica, 2)Convertidor de Voltaje a Corriente, 3)Convertidor de Corriente a Voltaje, y 4) Etapa de Potencia
[image:49.612.155.455.99.341.2]
Fig. 3.3.1 Diagrama a bloques para el Actuador.
µc DAC Conv. Conv. Etapa de
3.3.1 Convertidor Digital-Analógico
Debido a que la señal de control que el microcontrolador es digital, es decir, un valor representado por unos y ceros, se requiere una señal analógica que sea la que controle la velocidad del motor, por lo que es imprescindible el transformar la señal digital a un valor continuo en el tiempo. Esta tarea se realiza con un Convertidor Analógico Digital (DAC).
El DAC consta de un conjunto de resistencias de precisión conectadas en paralelo con un voltaje de Referencia (Vref). Donde la trayectoria de las resistencias puede cerrarse por
medio de un interruptor de estado sólido. Además, el valor de las resistencias de salida es igual a la suma de las corrientes.
En este caso se decidió utilizar el DAC0808, donde las entradas del circuito (DA0-DA7) son
las salidas del microcontrolador PA0-PA7. En la figura 3.3.2 se puede observar que la
conversión del dato analógico a digital no sólo requiere del DAC0808, sino también de otro circuito que lo acompaña (el Amp. Op. LF351); esto se debe a que el voltaje en el pin 4 esta restringido a una salida de -0.55 a 0.4v cuando VEE=-5V debido a los métodos de switcheo
de corriente empleados por el DAC0808. El voltaje de salida negativo de acuerdo con el DAC0808 es extendido a -5V cuando la fuente negativa es mayor a -10V. Para estabilizar la salida del DAC0808 se utilizo el circuito LF351 gracias a que su capacidad de respuesta a las variaciones en la entrada (datos) es más rápida que la se obtiene utilizando un LM741.
donde el voltaje de salida (Vout)del circuito esta dado por la fórmula: + + + + + + + = 256 128 64 32 16 8 4 2 0 1 2 3 4 5 6
7 A A A A A A A
A V Vout ref
3.3.2 Convertidor de Corriente a Voltaje y Voltaje a Corriente
En este sistema se decidió utilizar un Convertidor Voltaje-Corriente y Corriente-Voltaje debido a que se ha mencionado que en este sistema se puede variar o cambiar el proceso, y se sabe que en ocasiones la planta necesita estar alejada de la PC; es por esto que se utilizo en el sistema los convertidores.
[image:51.612.223.395.328.505.2]Convertidor Voltaje-Corriente. Se diseño un convertidor voltaje a corriente que produce una salida de 4mA a una entrada de voltaje de 0v, y 20mA con una alimentación de 5v; como se muestra en la figura siguiente.
Fig. 3.3.2.1. Gráfica de Voltaje VS Corriente para el diseño del Conv. V-I
Para calcular el valor de la resistencia de span V-I se emplea la siguiente fórmula:
( ) ( )