Académique Documents
Professionnel Documents
Culture Documents
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA ELCTRICA
ii
UNIVERSIDAD DE LOS ANDES
FACULTAD DE INGENIERA
ESCUELA DE INGENIERA ELCTRICA
APROBACIN
_____________________________
Prof. Francisco Viloria
C.I. 9.164.539
__________________________
Prof. Leonardo Zambrano
C.I. 8.020.142
_______________________________
Prof. Rubn Rojas
C.I. 8.025.075
iii
DEDICATORIA
Dedicatoria
Quiero dedicar este trabajo a mis padres Jess
Omar y Berenice, quienes me han dado todo en
esta vida y han hecho posible la culminacin de
este trabajo.
Todo para ustedes
iv
Br. Jess O. Lacruz J. Diseo de un Controlador Supervisorio para un Mdulo de
Temperatura. Universidad De Los Andes. Tutor: Prof. Francisco Viloria. Junio 2009
RESUMEN
RESUMEN
NDICE GENERAL
APROBACIN ...........................................................................................................................ii
DEDICATORIA........................................................................................................................ iii
RESUMEN .................................................................................................................................iv
INTRODUCCIN.......................................................................................................................1
Capitulo
pp.
1. MARCO TERICO..............................................................................................................4
1.1. INSTRUMENTACIN VIRTUAL .................................................................................4
1.2. SISTEMA FSICO ...........................................................................................................4
1.3. ELEMENTOS BSICOS QUE CONFORMAN UN SISTEMA GENRICO...............5
1.3.1. Computador ...............................................................................................................5
1.3.2. Transductor................................................................................................................5
1.3.3. Acondicionamiento de la seal..................................................................................6
1.3.4. Circuitos de adquisicin de datos ..............................................................................6
1.3.5. Circuitos de anlisis...................................................................................................6
1.3.6. Software .....................................................................................................................6
1.4. TERMOPARES................................................................................................................7
1.5. CONTROL PID................................................................................................................9
1.5.1. Accin proporcional ................................................................................................10
1.5.2. Accin derivativa.....................................................................................................11
1.5.3. Accin integral ........................................................................................................11
1.6. CONTROL PID DISCRETO .........................................................................................12
1.7. SUPERVISIN REMOTA DE PROCESOS INDUSTRIALES ...................................16
1.8. MODELO DE REFERENCIA OSI................................................................................18
1.8.1. Nivel fsico ..............................................................................................................19
1.8.2. Nivel de enlace ........................................................................................................19
1.8.3. Nivel de red .............................................................................................................19
1.8.4. Nivel de transporte ..................................................................................................20
1.8.5. Niveles de sesin, presentacin y aplicacin...........................................................20
1.9. ESTRUCTURAS DE PROTOCOLOS EN INTERNET ...............................................20
1.9.1 Capa De Acceso a La Red ........................................................................................21
1.9.2. Nivel IP o nivel Internet ..........................................................................................21
1.9.3. Capa De Transporte .................................................................................................22
1.9.4. Nivel de Aplicacin .................................................................................................23
1.10. SERVIDOR WEB ........................................................................................................23
1.11. INTERFAZ DE ENTRADA COMN ........................................................................24
1.12. JAVASCRIPT ..............................................................................................................24
2. DESCRIPCION DE LA ARQUITECTURA ....................................................................26
2.1. COMPONENTES DE HARDWARE ..............................................................................26
2.1.1. Horno .......................................................................................................................26
vi
2.1.2. Termopar .................................................................................................................27
2.1.3. Acondicionamiento de seal....................................................................................27
2.1.4. Microcontrolador .....................................................................................................28
2.1.5. Circuito de acoplamiento de seal...........................................................................30
2.1.6. Rel..........................................................................................................................30
2.1.7. Servidor Web...........................................................................................................31
2.1.7.1. Conexin del mdulo sbc65ecr con el PIC18F452 ..........................................32
2.2. COMPONENTES DE SOFTWARE ...............................................................................33
2.2.1. PIC18F452...............................................................................................................33
2.2.1.1. Programa Principal. ..........................................................................................33
2.2.1.2. Rutina de interrupcin por desbordamiento del TIMER1. ...............................37
2.2.1.3. Funcin controlador..........................................................................................39
2.2.1.4 Rutina de interrupcin por desbordamiento del TIMER2 .................................41
2.2.2. Mdulo sbc65ecr .....................................................................................................42
2.2.2.4. Monitoreo de las variables del controlador. .....................................................44
2.2.2.5 Cambio en los parmetros del controlador ........................................................49
3. DISEO DE PGINAS WEB ............................................................................................54
3.1. TIPOS DE PGINAS WEB SOPORTADAS ...............................................................54
3.2. CREACION DE PGINAS WEB .................................................................................55
3.3. PGINA WEB DISEADA..........................................................................................60
3.3.1. Introduccin.............................................................................................................62
3.3.2. Monitoreo Temperatura...........................................................................................62
3.3.3. Cambio del Setpoint ................................................................................................63
3.3.4. Controlador..............................................................................................................65
3.3.5. Ajuste del controlador .............................................................................................66
3.3.6. Configuracin ..........................................................................................................67
4. PRUEBAS AL SISTEMA ...................................................................................................70
4.1. DISEO DEL MDULO QUE CONTIENE AL CONTROLADOR ..........................70
4.2. IDENTIFICACIN DEL SISTEMA .............................................................................72
4.3. SINTONIZACIN DEL CONTROLADOR .................................................................75
4.4. PRUEBAS AL CONTROLADOR.................................................................................76
4.5. CONEXIN DEL MDULO SBC65ECR CON EL CONTROLADOR .....................78
CONCLUSIONES.....................................................................................................................84
RECOMENDACIONES ...........................................................................................................86
REFERENCIAS ........................................................................................................................87
ANEXOS ...................................................................................................................................89
vii
LISTA DE FIGURAS
Figura
pp.
viii
4.5. Curva de Reaccin realizada experimentalmente...............................................................74
4.6. Ajuste del Setpoint a 150 C partiendo de temperatura ambiente ......................................76
4.7. Ajuste del Setpoint a 200 C partiendo de 150 C ..............................................................77
4.8. Ajuste del Setpoint a 100 C partiendo de 200 C ..............................................................77
4.9. Conexin del controlador al mdulo sbc65ecr ...................................................................79
4.10. Prueba comunicacin entre los mdulos (Vista Explorador Web)...................................80
4.11. Prueba comunicacin entre los mdulos (Vista Pantalla Controlador)............................80
4.12. Cambio de los parmetros en el controlador (Introduccin de datos)..............................81
4.13. Cambio de los parmetros en el controlador (Recarga de la Pgina)...............................82
4.14. Monitoreo de los parmetros del controlador...................................................................82
ix
LISTA DE TABLAS
Tabla
pp.
INTRODUCCIN
Los avances tecnolgicos producidos durante los ltimos aos en el campo de las
comunicaciones ha permitido que los costos de sistemas supervisorios a distancia hayan
disminuido cuantiosamente, lo cual ha trado como consecuencia que las empresas hayan
optado por este tipo de control cuando es requerido por las condiciones del proceso y por la
posibilidad de tener informacin de las variables controladas sin necesidad de apersonarse en
la sala de control respectiva.
Estos avances tecnolgicos han permitido la implementacin de sistemas con buenas
prestaciones y tamaos reducidos, que adems cuentan con la ventaja del gran auge que ha
tenido la red Internet en el mundo y especficamente en Venezuela, llegando incluso a sitios
bastante inhspitos donde hace algunos aos no se pensaba que estos servicios pudieran llegar.
La implementacin de servidores Web en microcontroladores ha permitido prescindir
del uso del computador de escritorio para la puesta en marcha de sistemas supervisorios a
distancia, ya que en circuitos de tamao reducido se han implementado el hardware y el
software necesarios para realizar el monitoreo y control de variables industriales a un costo
relativamente bajo, comparado con el uso de equipos especializados para el mismo fin.
2
el servidor Web y el controlador de temperatura; diseo de la pgina de interaccin entre el
operador y el servidor Web.
El trabajo presentado muestra un prototipo de un sistema supervisorio de diminuto
tamao que permite la aplicacin de control PID o cualquiera de sus variantes, a la
temperatura en un horno, usando un microcontrolador para tal fin. El mdulo que conforma el
horno ha sido utilizado en anteriores oportunidades en los laboratorios de la Escuela de
Ingeniera Elctrica de la ULA, igualmente para la aplicacin de control PID, permitiendo el
ajuste de los parmetros concernientes al mismo a travs de Internet (Chacn, 2004), pero, en
ese caso se utilizaron equipos costosos para el acondicionamiento de la seal proveniente de la
termocupla y para generar la seal que acta sobre el elemento final de control. Adems, en
ese caso se utiliz un computador personal (Personal Computer, PC) dedicado a la ejecucin
del programa que implementa el servidor Web.
En el presente trabajo, se propone otra manera de aplicar control PID para la
manipulacin de la temperatura en el horno, mediante un microcontrolador, implementando en
el mismo el algoritmo que permite la aplicacin de control PID discreto, adems, en lugar de
usar un PC para la implementacin del servidor Web, se utiliza el mdulo sbc65ecr, el cual
teniendo un encapsulado compacto, permite: la ejecucin del programa del servidor; el
almacenamiento de pginas Web en una memoria EEPROM (Memoria de slo lectura
programable y borrable elctricamente de sus siglas en ingls Electrically-Erasable
Programmable Read-Only Memory) externa de 512Kb; comunicacin serial RS232, SPI (Bus
de interface de perifricos de sus siglas en ingls Serial Peripheral Interface) e I2C (Circuitos
Inter-Integrados de sus siglas en ingls Inter-Integrated Circuit), para la comunicacin con
dispositivos externos y 32 terminales de entrada salida configurables por el usuario. Estas,
entre otras caractersticas, hacen del mdulo sbc65ecr una excelente herramienta para la
construccin de un sistema supervisorio como el presentado en este trabajo.
El prototipo presentado permitir la elaboracin de prcticas en el laboratorio de
control, donde los estudiantes puedan interactuar con un sistema completo donde se identifica
cada uno de los elementos de un sistema de control y a su vez se puede hacer ajuste de sus
3
parmetros a distancia usando un navegador Web o tambin de manera local usando un
teclado matricial para tal fin.
En el captulo I se desarrolla el marco terico, en el cual se explican los conceptos
fundamentales que permiten una mejor comprensin del sistema supervisorio presentado. En
el captulo II se describe la arquitectura presentada: en relacin al hardware y cada uno de los
elementos que conforman el sistema; relativo al software se explica cmo fue elaborado el
programa para el PIC que controla el horno y cmo fue modificado el programa del mdulo
sbc65ecr para que el mismo cumpliese con los requerimientos del sistema. En el captulo III se
explica cules son los requerimientos para la elaboracin de pginas Web que puedan ser
almacenadas en el mdulo y adems cmo se construy el sitio Web que permite el monitoreo
del sistema, pasando por cada una de las secciones que lo integran. En el captulo IV se
explican las pruebas realizadas al sistema y cmo se realiz la puesta a punto de la planta
(modelaje del sistema, ajuste de parmetros). Finalmente se completa el trabajo con las
conclusiones y recomendaciones derivadas del prototipo diseado.
CAPTULO I
MARCO TERICO
En este captulo se explican conceptos bsicos relacionados con la estructura de los sistemas
de control, y con las partes que componen el sistema de control implementado en el diseo.
Tambin se aclaran conceptos relacionados al servidor Web y cmo el mismo es
implementado en el mdulo sbc65ecr.
5
Tabla 1.1. Instrumentos Tradicionales vs. Virtuales (Mnuel y Biel, 2002)
Instrumento Tradicional
Instrumento Virtual
Hardware es la clave.
Software es la clave
Alto costo/funcin
Arquitectura "cerrada"
Arquitectura "abierta".
6
de datos (Mnuel y Biel, 2002).
1.3.3. Acondicionamiento de la seal
Por lo general la seal elctrica que entrega el transductor debe ser tratada o escalada de tal
forma que pueda ser aceptada por el sistema de adquisicin. En general consta de tres etapas
(Mnuel y Biel, 2002):
Amplificacin
Linealizacin
Aislamiento
1.4. TERMOPARES
Tomas Seebeek descubri en 1822, que en un circuito formado por dos metales distintos A y
B homogneos con uniones a diferentes temperaturas aparece una corriente elctrica o una
fuerza electromotrz (si se abre el circuito), la cual depende de los tipos de metales
involucrados y de la diferencia de temperaturas de las uniones. La f.e.m. producida depende de
los efectos Peltier y Thompson, el primero fue descubierto por Jean C. Peltier en 1834 y
consiste en el calentamiento o enfriamiento de una unin entre metales al circular una
corriente a travs de ella, Peltier descubri que al invertir el sentido de la corriente a travs de
una unin, si la misma se calentaba (ceda calor), entonces ahora se enfriara (absorbe calor) y
viceversa. Este efecto solo depende de la composicin de la unin, y viene descrita por el
coeficiente de Peltier, el cual es llamado Tensin Peltier (Creus, 1998; Palls Areny,
2007).
8
El efecto Thompson consiste en la absorcin o liberacin de calor por parte de un
conductor homogneo por el que circule una corriente. El calor que se libera es proporcional a
la corriente, por lo tanto el mismo cambia de direccin al cambiar de sentido el flujo de
corriente. Realizando anlisis de las ecuaciones que describen estos efectos y considerando
que la corriente que circula es pequea, por lo que se puede despreciar el efecto Joule, se lleg
a la conclusin que el efecto Seebeek es la combinacin de los efectos Peltier y Thompson
(Creus, 1998; Palls Areny, 2007).
Si un termopar produce una f.e.m. E1 cuando las uniones estn a las temperaturas T1 y
T2 y produce E2 cuando estn a las temperaturas T2 y T3, producir E1 + E2 cuando las
uniones estn a las temperaturas T1 y T3 (Crdenas, 1997).
La medicin de temperaturas con termopares implica una serie de limitaciones que
deben ser consideradas, la temperatura mxima a medir debe ser menor que la temperatura de
fusin de los metales que conforman el termopar, tambin se debe tomar en cuenta que el
medio que se esta midiendo no ataca ninguno de los metales. Otra limitante, no menos
importante, es que la circulacin de corriente a travs del termopar debe ser pequea, ya que si
esto no se cumple el efecto Joule seria apreciable, y por lo tanto la temperatura de la unin
seria diferente a la temperatura del entorno, lo cual presentara una fuente importante de error
en las medidas. Se debe adems considerar que la unin de referencia debe estar a una
temperatura constante para poder realizar mediciones con la otra unin, ya que cualquier
cambio en la temperatura de referencia repercutira en errores en las medidas realizadas
(Creus, 1998; Palls Areny, 2007).
10
pertinentes. Comercialmente existen controladores que pueden tener una de las acciones de
control presentadas en la tabla 1.2 (Camacho, 1999).
11
1.5.2. Accin derivativa
La seal de salida es proporcional a la velocidad del cambio en el tiempo de la seal de error,
la funcin de transferencia correspondiente es Kds. Este tipo de accin es muy til en
procesos que presenten cambios rpidos en la seal medida ya que el mismo anticipa la
accin de control para mantener ms estable la variable controlada. La accin derivativa ayuda
a mejorar el tiempo de respuesta del sistema, y tambin a disminuir las oscilaciones en estado
estable, no corrige el error en estado estable ni responde a perturbaciones constantes (ya que la
derivada es igual a cero), por lo tanto, la misma se usa generalmente en conjunto con la accin
proporcional y/o integral. No debe ser usada en procesos que presenten mucho ruido, ya que la
derivada tendra un valor demasiado elevado que perjudicara la accin del controlador (Creus,
1998; Grupo de Desarrollo ARIAN S.A, 2002).
1.5.3. Accin integral
La tasa de cambio de la salida del controlador es proporcional a la seal de error en la entrada
del mismo. La funcin de transferencia es Ki/s. La accin integral tiene la capacidad de
corregir el error en estado estable, esto se puede observar en la figura 1.5, donde se tiene que
ante una seal de error constante, la salida varia a una tasa constante, de este modo el error se
va corrigiendo hasta finalmente desaparece. Este tipo de accin generalmente no se usa sola,
ya que esta slo tiene la capacidad de mejorar la respuesta en estado estable, descuidando el
tiempo de respuesta y las oscilaciones (Creus, 1998; Camacho, 1999).
12
Se debe conocer que tipo de accin tiene cada uno de los controladores estudiados para
que de esta manera, se logre seleccionar el ms adecuado de acuerdo a las caractersticas del
proceso que se desea controlar. De acuerdo a esto se tiene comercialmente las distintas
combinaciones para las acciones de los controladores (P, PI, PD, PID). El control PID
combina las tres acciones de control, permitiendo de esta manera eliminar el error en estado
estable, mejorar el tiempo de respuesta y disminuir la tendencia a las oscilaciones. De manera
general la salida del controlador responde a la forma de la ecuacin 1.1:
Isal = K p e + K i edt + K d
de
dt
(1.1)
F ( s ) = K p (1 +
1
+ sTd )
sTi
(1.2)
Se observa que se tienen tres parmetros ajustables (Kp, i, d), los cuales de acuerdo a
los valores que tengan, el controlador tendr un tipo de accin diferente. Para obtener estos
valores se debe sintonizar el controlador aplicando el mtodo de la ltima ganancia o el
mtodo de la curva de reaccin (Camacho, 1999). Se debe notar tambin que en los
controladores PID se puede eliminar la accin integral o la derivativa haciendo i d=0,
convirtiendo el controlador en un PD o PI respectivamente.
13
Para poder usar microcontroladores en la implementacin del control PID se debe
hacer un cambio en la seal, de analgica a digital, mediante un proceso conocido como
muestreo. En este caso la funcin de transferencia se ve modificada ya que se estara
trabajando en tiempo discreto y no en tiempo continuo. Para obtener la funcin de
transferencia en tiempo discreto se debe usar la transformada Z, la cual esta definida en la
ecuacin 1.3 para una funcin continua x(t) (Moreno, 2003):
X ( z ) = Z [ x(t )] = Z [ x(kT )] = k =0 x(kT ) Z k
(1.3)
Figura 1.6. Resultado de la multiplicacin de una seal continua por la funcin impulso
(www.todopic.com.ar:80/foros/index.php)
(1.4)
14
(1.5)
(1.6)
(1.7)
Esta ecuacin 1.7 se puede escribir como la siguiente sumatoria:
X * ( s ) = k =0 x(kT )e kTs
(1.8)
(1.9)
Analizando la ecuacin 1.9 se concluye que la transformada de Laplace de una seal
muestreada por impulsos x*(t) es la misma que la transformada z de la seal continua x(t), si
se define z = e-Ts (Moreno, 2003).
El tiempo de muestreo T es un factor de suma importancia en el sistema ya que
afectar la funcin de transferencia del mismo, debido al cambio de variable de tiempo
continuo a tiempo discreto. Por lo general se selecciona un valor de T de ocho a diez veces
menor, que el periodo de las oscilaciones sinusoidales amortiguadas de la salida del sistema a
lazo cerrado (Moreno, 2003).
Para discretizar la ecuacin de un controlador PID se debe hacer uso de la
transformada z, adems de algunas aproximaciones, para que el microprocesador pueda
realizar los clculos correspondientes. La primera de ellas corresponde a aplicar el mtodo de
Euler, conocido tambin como el mtodo de aproximacin de diferencias hacia atrs, el cual
consiste en sustituir las derivadas por la ecuacin 1.10 en diferencias (Moreno, 2003):
x&
x(k + 1) x(k )
G ( z ) G (s )
T
s = 1 z 1 / T
(1.10)
15
En cuanto al trmino integral, el mismo se aproxima usando el mtodo de la
aproximacin rectangular hacia adelante, obteniendo como resultado la ecuacin 1.11
(Moreno, 2003):
e( )d
0
k 1
e(i)
(1.11)
i =0
T
u ( k ) = K e( k ) +
i
(1.12)
i =0
La ecuacin 1.12 es conocida como la forma posicional del PID. Otro modo de
discretizar la ecuacin del PID consiste en hallar la ecuacin para u(k-1) con lo cual se
obtiene:
T
u (k 1) = K e(k 1) +
i
i =0
(1.13)
(1.14)
En donde:
T d
q 0 = K 1 +
+
2 i T
2
T
q1 = K 1
+ d
T
2 i
q2 =
K d
T
(1.15)
(1.16)
(1.17)
16
Con lo cual se obtiene la funcin de transferencia descrita por la ecuacin 1.18:
U ( z ) q 0 z 2 + q1 z + q 2
=
E( z)
z ( z 1)
(1.18)
La cual se conoce como forma de velocidad del PID, que presenta la ventaja de
eliminar posibles desbordamientos del trmino integral y adems evita el almacenamiento de
datos para el clculo de esta componente.
Un controlador PID discreto real presenta ciertos problemas, el primero de ellos es que
el error entre dos instantes consecutivos de muestreo puede tomar valores muy grandes, que al
ser multiplicados por la constante derivativa puede saturar el actuador, lo cual sucede cuando
se presenta ruido en el sistema. Este inconveniente se puede evitar situando la ganancia
derivativa en el lazo de realimentacin, lo cual presenta la ventaja de no experimentar
variaciones bruscas que saturen el actuador. Otro problema se puede presentar por la
saturacin integral llamada tambin efecto windup debido a que en sistemas lentos la integral
del error puede llegar a tomar valores muy grandes, lo cual hace que la accin integral tome
valores muy grandes tambin saturando el actuador durante mucho tiempo. Para evitar este
problema, se utilizan esquemas de control que permiten la desactivacin del efecto integral
cuando el mismo alcanza un cierto valor (Moreno, 2003).
17
en el lugar donde se est desarrollando el proceso, bien por cuestiones que implican seguridad
para el operador o por imposibilidades de acceso (Escudero, 2002).
El monitoreo de un sistema desde un sitio remoto trae mltiples beneficios, sobre todo
cuando el proceso se lleva a cabo en lugares donde se opera con materiales peligrosos, ya que
permite el trabajo de manera segura a los ingenieros u operadores. Otra razn a tomar en
cuenta es que se pueden controlar varias plantas desde una localizacin central, donde los
puntos de operacin de los controladores pueden cambiarse al momento. En este tipo de
sistemas se aplica la topologa Cliente/Servidor, en la cual el servidor se encuentra en el sitio
del sistema a controlar, y el cliente est situado en la localizacin que tenga el usuario
(Guzmn 2002).
Por lo general en este tipo de control, el cliente pasa la seal correspondiente al punto
de operacin r(t) al servidor, el mismo la recibe y realiza los cambios que se requieran en el
controlador. Luego el servidor transmite al cliente la seal de salida del sistema, y(t), la cual el
operador puede observar de acuerdo al tipo de visualizacin que se tenga. El Servidor est
situado cerca del controlador y transfiere a ste los parmetros que han sido recibidos desde el
computador del cliente. El controlador calcula la seal de comando basado en la seal de
referencia y los parmetros pasados por el cliente y la respuesta del sistema (Guzmn 2002).
18
generalmente se utiliza TCP/IP (Transmission Control Protocol/Internet Protocol), el cual
esta orientado a la conexin para servicio full duplex y garantiza el flujo de los datos. En caso
de perdida de datos, TCP solicita la retransmisin y reordena la secuencia de los paquetes.
7
Aplicacin
6
Presentacin
5
Sesin
4
Transporte
3
Red
2
Enlace
1
Fsica
19
1.8.1. Nivel fsico
Se encarga de las tareas de transmisin fsica de las seales elctricas entre los diferentes
sistemas. Define el nivel de tensin que debe utilizarse para representar un bit 1, cual para un
bit 0; tiempo de duracin de un bit; si la transmisin se puede efectuar simultneamente en
ambas direcciones o no; cmo se establece la conexin inicial y cmo se interrumpe cuando
ambos lados han finalizado la transmisin; define el tipo de conector de red y para que sirva
cada una y en general con todo lo que tiene que ver con el aspecto fsico material de conexin
entre dispositivos (Angulo, 1999).
1.8.2. Nivel de enlace
Permite que pueda haber ms de dos mquinas involucradas en las interconexiones, ya que se
ocupa de que los paquetes que salen del transmisor lleguen al destino final, aunque el emisor y
el receptor no estn adyacentes. Si slo se cuenta con el nivel de enlace, esto no sera posible
ya que este solo se ocupa de que los bits lleguen de un lado a otro, por lo tanto, slo permite
interconectar dos mquinas. Para poder interconectar ms de dos mquinas, necesitamos
identificarlas y conectarlas de alguna manera. sta es la tarea del nivel de red. La asignacin
de direcciones es uno de los conceptos bsicos del nivel de red. Esto le permite decidir cul de
los mltiples terminales conectados es el destinatario final de cada paquete (Angulo, 1999).
20
1.8.4. Nivel de transporte
Permite una conexin fiable sobre cualquier tipo de red. La funcin principal de este nivel
consiste en asegurar la calidad de transmisin entre los terminales que utilizan la red, lo que
implica recuperar errores, ordenar correctamente la informacin, ajustar la velocidad de
transmisin de la informacin (control de flujo), entre otras (Angulo, 1999).
1.8.5. Niveles de sesin, presentacin y aplicacin
La arquitectura Internet delega todos los trabajos por encima de transporte a la aplicacin. No
obstante, en el modelo OSI estn definidos como tres niveles diferentes e independientes, con
atribuciones propias. El nivel de sesin es el encargado de gestionar las conexiones de larga
duracin, la recuperacin de cadas de red de manera transparente. El nivel de presentacin se
encarga de conseguir que las diferentes plataformas (sistemas operativos, procesadores, etc.)
se puedan entender al conectarse por medio de una misma red. En el nivel de aplicacin
residen los programas. En este nivel se encuentran los servidores y tambin los clientes que
acceden a estos ltimos, etc (Angulo, 1999).
El modelo Internet gira en torno a los protocolos TCP/IP. IP es un protocolo que proporciona
mecanismos de interconexin entre redes de rea local y TCP proporciona mecanismos de
21
control de flujo y errores entre los extremos de la comunicacin. No se trata de una
arquitectura de niveles formal como la pila OSI. De hecho, se puede considerar que el modelo
de la red Internet consta slo de cuatro partes o niveles tal como se puede observar en la figura
1.9 (Angulo, 1999).
1.9.1 Capa De Acceso a La Red
Es la ms baja de las capas del protocolo. Corresponde a los tres niveles ms bajos del modelo
OSI (Red, Enlace y Fsica). Los protocolos de esta capa suministran al sistema los medios para
entregar los datos a otros dispositivos. Contrario a otros protocolos de alto nivel, estos
protocolos deben conocer los detalles de la estructura de los paquetes, direccionamiento, etc.
Entre las funciones a este nivel tenemos (Angulo, 1999).
Ofrece la capacidad de acceder a cualquier red fsica, o sea, brinda los recursos
que se deben implementar para transmitir datos a travs de la red.
Este nivel confiere unidad a todos los miembros de la red y, por consiguiente, es el que
permite que todos se puedan interconectar. El direccionamiento y la asignacin de direcciones
constituyen sus principales funciones. Todos los equipos conectados a Internet implementan
este nivel. El protocolo IP no es capaz de recuperar tramas perdidas, ni de garantizar que las
tramas se entregarn en el orden correcto, puesto que los paquetes pueden seguir caminos
diferentes y, por tanto, sufrir retardos diferentes, ni que el ritmo de recepcin sea el adecuado
para que el receptor procese convenientemente los datos. Dentro de este nivel se define el
protocolo ICMP (Internet Control Message Protocol, Protocolo de Mensajes de Control de
22
Internet), el cual se utiliza para enviar mensajes de error, indicando por ejemplo que un
servicio determinado no esta disponible o que un router no puede ser localizado (Angulo,
1999).
1.9.3. Capa De Transporte
Esta capa se encuentra ubicada arriba de la capa Internet. El objetivo principal del nivel de
transporte es establecer una comunicacin extremo a extremo a travs de una red. Oculta a los
niveles altos del sistema el tipo de red al que est conectado el Terminal. Los protocolos ms
importantes de esta Capa son (Angulo, 1999):
TCP (Transmission Control Protocol, Protocolo de Control de Transmisin). Este
protocolo proporciona fiabilidad a la aplicacin; es decir, garantiza la entrega de toda la
informacin en el mismo orden en que ha sido transmitida por la aplicacin de origen. Para
conseguir esta fiabilidad, el protocolo TCP proporciona un servicio orientado a la conexin
con un control de flujo y errores. Para proporcionar un servicio fiable a la aplicacin, el
protocolo TCP se basa en los principios siguientes (Angulo, 1999):
23
causa del funcionamiento de la red o de los protocolos que se implementan por debajo
del nivel de transporte, este protocolo se encargar de eliminarlas.
UDP (User Datagram Protocol, Protocolo de Datagrama del usuario). Es un protocolo
NO orientado a conexin que usa el IP para el transporte de mensajes entre mquinas.
Distingue destinos mltiples dentro de un mismo host, por lo que, varias aplicaciones pueden
usar simultneamente (multiplexaje) los servicios del UDP. El programa de aplicacin que usa
UDP debe ser responsable de la confiabilidad incluyendo prdida de mensajes, duplicacin,
retardos, entrega fuera de secuencia y prdidas de conexin. Se basa en la asignacin de
puertos para atender diferentes aplicaciones (Angulo, 1999).
1.9.4. Nivel de Aplicacin
El nivel de aplicacin es el nivel en el cual los programas se comunican con otros programas a
travs de la red. Los procesos que acontecen en este nivel son aplicaciones especficas que
pasan los datos codificados de acuerdo con un protocolo estndar. Algunos programas
especficos se considera que se ejecutan en este nivel. Estos programas y sus correspondientes
protocolos incluyen a HTTP (HyperText Transfer Protocol), FTP (Transferencia de archivos),
SMTP (correo electrnico), DNS (Resolucin de nombres de dominio) entre otros. Una vez
que los datos de la aplicacin han sido codificados en un protocolo estndar del nivel de
aplicacin son pasados hacia abajo al siguiente nivel de la pila (Angulo, 1999).
24
a la espera de peticiones por parte de un cliente y que responde a estas peticiones
adecuadamente, mediante una pgina Web que se exhibir en el navegador (Deitel, 2004).
El servidor Web se mantiene a la espera de peticiones HTTP por parte de un cliente
HTTP que por lo general se conoce como navegador. Cuando un cliente accede a una pgina
Web, esta realizando una peticin HTTP al servidor que contiene dicha pgina, a lo cual el
mismo le responde enviando el cdigo HTML con el contenido de la pgina que el cliente
solicita. El navegador del cliente es el encargado de interpretar dicho cdigo y presentar la
pgina en pantalla, en el caso que la pgina contenga aplicaciones del tipo JavaScript, las
mismas son ejecutadas en el computador del cliente, en este caso el servidor proporciona el
cdigo de las aplicaciones al cliente y ste, mediante el navegador, las ejecuta (Deitel, 2004).
1.12. JAVASCRIPT
25
CAPTULO II
DESCRIPCION DE LA ARQUITECTURA
En este captulo se hace una descripcin de la arquitectura que integra el sistema supervisorio,
es decir, los componentes de hardware y software que lo conforma.
2.1.1. Horno
27
las caractersticas elctricas del horno son las siguientes:
Potencia nominal:
1450 W
Temperatura mxima:
500 C
2.1.2. Termopar
Para sensar la temperatura del horno se utiliza un termopar tipo K, el cual tiene un rango de
medicin desde -200 C hasta 1250 C. Este rango es bastante amplio en comparacin con el
rango de temperatura entre las cuales opera el horno. Otra caracterstica de este tipo de
termopar es que presenta alta linealidad en el rango de medida y presenta una exactitud de
0.75% con respecto a fondo escala para valores positivos (1250 C) (Crdenas 1997).
2.1.3. Acondicionamiento de seal
Para acondicionar la seal de salida que entrega el termopar y poder acoplarla al convertidor
analgico digital (ADC) del microcontrolador, se utiliz el circuito integrado AD595 de
Analog Devices, el cual internamente contiene un amplificador de instrumentacin y adems
realiza compensacin para unin de referencia diferente de 0 C. El amplificador es calibrado
en fbrica para operar con termocuplas tipo K y para presentar una resolucin en la salida de
10 mV/C. Operando con una alimentacin simple de 5V el circuito puede operar
adecuadamente en un rango de 0 C a 300 C, si se alimenta con una fuente dual de 15V el
circuito permite la operacin adecuada en todo el rango de temperaturas de la termocupla tipo
K. Entre las aplicaciones para el AD595 se tienen: controlador de punto de operacin; circuito
de alarma; termmetro Celsius. Estas y otras caractersticas del AD595 se encuentran
explicadas con ms detalles en la hoja de datos del dispositivo (Analog Devices, 1999).
Para acondicionar la seal proveniente de la termocupla instalada en el horno, se uso la
configuracin bsica para fuente simple de 5 V, con la cual se produce un voltaje a la salida
que se corresponde con la ecuacin 2.1 mostrada a continuacin (Analog Devices, 1999).
28
Salida AD595 = (Voltaje Tipo K + 11V) x 247.3 [mV]
(2.1)
Lectura de la seal proveniente del AD595 usando para tal fin el canal AN0 del ADC
del microcontrolador configurado para una resolucin de 10 bits y colocando Vref+ =
3 V y Vref- = 0 V, con lo cual se obtiene una resolucin de 2.93 mV por cada bit que
se genera de la conversin.
Despliegue del valor de temperatura actual en el horno y valor del punto de operacin
seleccionado en pantalla LCD. Adems se despliegan alternativamente cada 3
segundos los valores de los parmetros del controlador (Kp, i, d), y el modo de
operacin en que se encuentra actualmente el sistema (Modo local o Modo Internet
segn sea el caso).
29
30
2.1.5. Circuito de acoplamiento de seal
2.1.6. Rel
Como elemento final de control se utiliza un rel de estado slido modelo SS-20-25 de
Intercontinental Industries, el circuito interno simplificado se muestra en la figura 2.4. Este
equipo esta constituido por un triac y un circuito de disparo por deteccin de cruce por cero.
Sus caractersticas son (Chacn, 2004):
Seal de control
(DC)
(0 a 20) V
4V
Seal de Potencia
(AC)
(0 a 220) V
25 A
31
Para la implementacin del servidor Web se uso el mdulo sbc65ecr (Figura 2.5), que posee
una interface Ethernet con velocidad de 10Mbs, adems implementa un servidor HTTP y la
pila TCP/IP, lo cual convierte al mdulo completo servidor Web usando para ello un
microcontrolador PIC18F6627 una memoria EEPROM de 512Kb y el controlador de Ethernet
RTL8019AS. El mdulo puede ser conectado a cualquier red Ethernet 10/100Mbs (Ver Anexo
1).
32
Soporta generacin de contenido dinmico para pginas Web usando comandos CGI
para tal fin.
Incluye dentro de la pila TCP/IP los protocolos: MAC (Media Access Control, Control
de Acceso al Medio), IP, ARP, ICMP, TCP, UDP, HTTP, FTP, DHCP (Dinamic Host
Configuration Protocol, Protocolo Configuracin Dinmica de Servidor), DNS.
El microcontrolador de a bordo presenta las siguientes caractersticas que pueden ser
33
expansin IOR5E de Modtronix Engineering (2005) (Figura 2.6), se modific la tapa posterior
para incluir un conector tipo jack stereo, el cual es acoplado internamente con el conector
MOLEX3-1 (CON3) (Ver Anexo 2), que es utilizado para realizar la comunicacin serial con
el controlador el cual posee un conector del mismo tipo. En la figura 2.7 se observa la
configuracin de los pines en el conector plug stereo del cable que sale desde el mdulo
sbc65ecr.
34
Cuando el microcontrolador entra en el bucle infinito, continuamente se monitorea el
estado del PIN_C5, el cual segn sea su valor 1 0, indica que el sistema se encuentra
operando en modo Internet o local respectivamente.
En modo local, el sistema continuamente se encuentra a la espera de que un valor sea
introducido desde el teclado matricial, cuando esto sucede y el valor introducido corresponde a
un nmero (0 a 9), entonces se espera un nuevo nmero hasta completar una cantidad de tres
cifras que corresponde al nuevo valor para la temperatura de referencia en el controlador, el
programa permite como valor mximo 250 C y 30 C como valor mnimo, si se introduce la
cifra 000 se esta indicando al sistema que el horno debe ser apagado. Cuando el valor
introducido corresponde a *, entonces el sistema entra a un men donde el operador debe
introducir nuevos valores para Kp, i y d, los cuales son almacenados en la memoria
EEPROM interna. Los valores introducidos deben estar dentro del rango indicado en la tabla
2.1.
Parmetro
Se multiplica por
Valor final
Usado en el
Controlador
Kp
( 0 a 50 )
0.1
(0a5)
( 1 a 255 )
10
( 10 a 2550 )
( 0 a 200 )
( 0 a 200 )
35
los parmetros del controlador, el setpoint o indican que deben ser enviados por el puerto serie
cualquiera de los parmetros mencionados. En la figura 2.8 se observa como en el programa se
hace el tratamiento de la cadena de caracteres para determinar el tipo de accin a realizar.
36
En la tabla 2.2 se presentan las posibles combinaciones en las cadenas de caracteres
recibidas por el puerto serie, cuando el sistema esta en modo Internet, y adems el tipo de
accin a realizar segn sea el caso. Cualquier cadena de caracteres diferente a las presentadas
en la tabla ser descartada.
Accin a realizar
xxx
xax
xb*
xc*
xdx
xe*
xfx
xgx
xh*
Estando el sistema en modo local o en modo Internet, se puede observar que dentro del
programa principal continuamente se encuentra a la espera de recibir comandos que permitan
cambiar el tipo de accin del controlador o cambiar el punto de referencia para el controlador,
37
bien sea a travs del puerto serie cuando se encuentra operando en modo Internet, o a travs
del teclado matricial cuando se opera en modo local. El algoritmo que implementa el
controlador PID, el monitoreo de temperatura y la salida PWM son controladas mediante las
interrupciones por desbordamiento de los temporizadores del TIMER1 y el TIMER2, esto
debido a que se requiere que estas funciones se ejecuten a intervalos constantes de tiempo.
Antes de proseguir con la explicacin de las funciones que se ejecutan dentro de las rutinas de
atencin a cada una de las interrupciones, es importante conocer cmo esta operando el
microcontrolador, cual es la frecuencia del cristal, configuracin del mdulo USART, mdulo
ADC y cul es el periodo de desbordamiento de cada uno de los temporizadores utilizados.
Esta informacin se encuentra plasmada en la tabla 2.3.
Mdulo ADC
20MHz
10 bits de resolucin
1 Entrada analgica
Vref+ = 3 V
Vref- = 0 V
RS232
9600 baudios
8 bits de datos
1 bit de parada
Sin bit de paridad
TIMER1
TIMER2
2.2.1.2. Rutina de interrupcin por desbordamiento del TIMER1. Esta funcin es utilizada
para: controlar las lecturas de temperatura en el interior del horno utilizando el mdulo ADC;
llamar a la funcin que implementa el controlador PID cada segundo; imprimir en pantalla los
valores de la temperatura actual, la temperatura de referencia y alternativamente ir
desplegando los valores de los parmetros del controlador y el modo de operacin actual. La
rutina de atencin a esta interrupcin se encuentra detallada en el diagrama de flujo de la
figura 2.9.
38
39
llamados a la funcin (80 x 13.1 ms = 1048 ms), se calcule el promedio para los valores de
temperatura ledos en ese tiempo. Esto se realiza para disminuir el efecto del ruido en las
lecturas realizadas, lo cual no tiene un efecto considerable en las medidas debido a que los
procesos trmicos son lentos por naturaleza. Una vez que se ha calculado el valor promedio y
se tiene un valor para la temperatura de referencia diferente de 0 C, se procede a llamar a la
funcin controlador para calcular el ciclo de servicio para la salida PWM. En la figura 2.10 se
observa el despliegue en la pantalla LCD en distintos instantes de tiempo en la cual
alternativamente se muestran los parmetros del controlador y el modo de operacin del
sistema.
40
41
Tal como se puede observar en la figura 2.11 esta funcin implementa un controlador
PID discreto. Es posible convertir fcilmente este controlador en un controlador PI, PD P
introduciendo los valores mostrados en la tabla 2.4 para cada uno de los parmetros, desde el
computador o desde el teclado matricial segn sea el modo de operacin en que se encuentre
el sistema.
Tabla 2.4. Valores a ser introducidos para los diferentes tipos de controladores
Kp
P
i = 2550
d = 0
Kp
PI
i
d = 0
Kp
PD
i = 2550
d
Kp
PID
i
d
2.2.1.4 Rutina de interrupcin por desbordamiento del TIMER2: esta funcin es usada para
generar la seal PWM que acta sobre el elemento final de control (Rel de estado solido). El
TIMER2 est configurado para que tenga un periodo de interrupcin de 10 ms, de esta manera
se tiene una base de tiempo constante para controlar el ciclo de servicio de la salida PWM. El
periodo de la seal de salida se configuro para que tuviese un valor constante (2 s), y se
permiten variaciones para el ciclo de servicio en pasos de 20 ms cada uno. El valor del ciclo
de servicio (variable CS), proviene de la funcin controlador (figura 2.11). El diagrama de
flujo para la funcin de atencin a la interrupcin se muestra en la figura 2.12.
42
43
Seguidamente el programa implementa el men de configuracin (usando el puerto
serial, segn la configuracin que se tenga almacenada). Usando este men el usuario puede
configurar los parmetros de la red, as como tambin actualizar el programa y la pgina Web.
El programa permanece en este modo de configuracin durante 3 segundos, este tiempo puede
ser configurado por el usuario a travs de la pgina Web que el mdulo trae por defecto. Si el
usuario realiza algn cambio en la configuracin usando este men, el mdulo se reinicia, si
no se realiza ningn cambio, entonces transcurridos los 3 segundos se contina con la
ejecucin del programa.
Una vez que el sistema ha salido del modo de configuracin se inicializan los mdulos
que implementan los protocolos inherentes a la pila TCP/IP, adems del mdulo HTTP,
DHCP y FTP. Concluido esto, el programa entra en un bucle infinito dentro del cual
peridicamente se verifica si hay algn paquete entrante, para que el mismo sea procesado
segn al tipo de paquete que corresponda (Paquete TCP, IP, ICMP).
Tambin, dentro del bucle infinito se verifica si se ha recibido algn mensaje UDP,
para procesarlo y ejecutar la accin que corresponda, el mdulo puede ser configurado usando
este tipo de mensaje, as como tambin cambiar el valor de sus puertos entre otras cosas. Ms
adelante se explica el formato de este tipo de mensajes y el tipo de acciones que pueden ser
ejecutadas mediante el uso de los mismos.
44
2.2.2.4. Monitoreo de las variables del controlador. El monitoreo de las variables se realiza
mediante el uso de comandos CGI, se cre un comando diferente para cada una de las
variables que se desea monitorear. Como se explic anteriormente, cuando un cliente hace una
peticin HTTP de tipo GET, entonces el programa llama repetidamente a la funcin
HTTPExecGetCmd tantas veces como comandos sean requeridos desde la pgina que el
cliente esta solicitando. Cuando se ha determinado que tipo de comando se esta solicitando, se
produce llamados a la funcin HTTPGetVar para que sta le enve el valor del comando. La
funcin devuelve el valor del comando enviando un caracter a la vez, por lo que la funcin es
llamada repetidas veces dependiendo del nmero de caracteres que tenga el valor del comando
solicitado.
Los comandos se identifican mediante un nombre con el formato nXX, donde n
especifica el grupo de la variable y puede tener cualquier letra del alfabeto y XX especifica el
valor de la variable (un nmero hexadecimal entre 00 y FF, ambos inclusive). El mdulo tiene
precargados una serie de comandos, mediante los cuales se puede monitorear el estado de los
puertos, de los mdulos, la configuracin de la red, puerto serial, entre otros. Los grupos de
variables desde la a hasta la j son usados para mostrar el valor de cualquier pin de los
puertos del PIC. El valor mostrado puede presentar diferentes formatos, los cuales se
especifican a continuacin en las tablas 2.5 y 2.6.
Grupo de Variables
Descripcin
Puerto A
b
c
d
e
Puerto B
Puerto C
Puerto D
Puerto E
Puerto F
g
h
Puerto G
Reservado para uso futuro
45
Tabla 2.6. Valores de las variables para los grupos desde a hasta j
Valor de la Variable
00 - 07
10 - 17
20 - 27
28 - 2f
30 - 37
38 - 3f
40 - 47
48 - 4f
50 - 57
%f21<img src="picture.jpg">%f29
Entonces se mostrar en la pgina la imagen cuyo nombre es picture.jpg slo si el
puerto F1 es configurado como salida, ya que de lo contrario la lnea de cdigo ser tratada
como un comentario.
En la tabla 2.7 se tiene el resto de grupos de variables que el mdulo trae por defecto.
Las variables definidas para cada uno de los grupos junto con su descripcin se encuentran
disponibles en la hoja de datos del mdulo sbc65ecr la cual puede ser descargada desde la
pgina Web del fabricante (Modtronix Engineering, 2007).
46
Tabla 2.7. Grupos de variables para el mdulo SBC65EC
Grupo de Variables
n
k
w
s
Descripcin
Es usado para mostrar el valor de cualquier
entrada analgica del PIC en diferentes
formatos dependiendo del valor de la variable
Usado para mostrar informacin de tipo
general, entre la que se encuentran los
parmetros de la red, nombre de usuario y
clave de acceso
Usado para mostrar el contenido de los bytes
de configuracin del sistema, es decir, los
valores de configuracin que se encuentran
almacenados en la memoria EEPROM
Usado para monitorear los parmetros de las
salidas PWM
Usado para mostrar informacin de
seguridad, esta informacin solo es mostrada
si se ha introducido el nombre de usuario y la
clave de acceso
47
Tabla 2.8. Valores de las variables para el grupo z
Valor de la variable
Descripcin
0x01
0x02
0x03
0x04
0x12
48
49
50
La sintaxis de los comandos para el manejo de los puertos es la siguiente:
Descripcin
p=XX
Cambia el valor del puerto al valor hexadecimal dado. El valor dado (Parte XX del
comando) debe estar en maysculas. Por ejemplo:
a=8A pondr el puerto A al valor 0x8A
p[0-7]=[1,0]
p[0-7]r=[1,0]
p[0-7]p=[0-9]
pc[0-7]=[1,0]
Configura el pin dado como entrada (1) como salida (0). La configuracin dada NO
ser recordada cuando se encienda de nuevo el mdulo. Por ejemplo:
"ac0=0" configura el pin A0 como salida.
"fc7=1" configura el pin F7 como entrada
pc[0-7]r=[1,0]
51
Se pueden enviar mltiples comandos separndolos entre ellos usando el caracter '&'.
Por ejemplo para colocar a 1 el pin A2, colocar a 0 el pin C0, podemos enviar el siguiente
mensaje UDP al mdulo, o escribir el comando en la barra de direcciones.
a2=1&c0=0
http://10.1.0.1/?a2=1&c0=0
Para el manejo del controlador del horno, se cre el grupo de comandos z. En la tabla
2.10 se encuentran los nombres de los comandos creados y una descripcin de los mismos.
Descripcin
z1
z2
z3
z4
Dentro del programa principal, continuamente se chequea si hay algn mensaje UDP
para ser procesado, cuando se encuentra, el mensaje se descompone y. una vez que se conoce
el nombre del comando que debe ser ejecutado se llama a la funcin execNameValueCmd,
dentro de la cual se encuentran las diferentes acciones, de acuerdo al grupo al que corresponda
el comando introducido, y al nmero del mismo, segn corresponda. Esta funcin tambin
52
puede ser llamada cuando se realiza una peticin del tipo HTTP, y se detecta la solicitud de
ejecucin de un comando desde un formulario tipo GET cuando se estn procesando las
peticiones. La funcin recibe como parmetros, el nombre del parmetro (name), el valor dado
para el mismo (value) y una bandera que indica si el usuario tiene clave de administrador o no
(user), en el caso que se requiera para la ejecucin de ciertos comandos.
En la figura 2.15 se observa a modo de ejemplo cmo es la ejecucin de la funcin
execNameValueCmd cuando se recibe el comando z1, para colocar al controlador un nuevo
setpoint de 75 C. Slo se coloca el ejemplo en el caso de realizar un cambio en el setpoint, ya
que para realizar un cambio a cualquiera de los otros parmetros se realiza un procedimiento
donde solo cambia la validacin y la cadena de caracteres enviada.
53
La funcin camsetp se encarga de verificar el valor introducido para el comando, y de
enviar la cadena de caracteres por el puerto serie, en la figura 2.16 se encuentra el diagrama de
flujo para esta funcin, siguiendo con el ejemplo del cambio del setpoint a 75 C
CAPTULO III
DISEO DE PGINAS WEB
En este captulo, se describe el tipo de archivos que pueden contener las pginas Web que se
almacenan en el mdulo, cmo se deben construir las mismas y cmo se cargan en el mdulo
sbc65ecr, tambin se explicar como se realiz el diseo de la pgina Web para el monitoreo
del sistema formado por el horno y el controlador.
CGI: este tipo de archivos son analizados por el servidor Web en busca de comandos
con el formato %nXX, los cuales son reemplazados con el correspondiente valor, como
se explic en el captulo anterior.
HTML.
JAVA
JS: archivo con cdigo JavaScript, que pueden ser ledos desde cualquier navegador
Web
55
Otro tipo de archivos pueden ser usados, en este caso el archivo ser enviado al
navegador del cliente de tal manera que el usuario lo reproduzca usando el programa adecuado
segn el tipo de archivo que corresponda.
56
index.htm
<html>
<head>
<title>
Ejemplo de Configuracin de un puerto del PIC
</title>
</head>
<! - - Los comandos deben ser incluidos en el archivo *.cgi -->
<iframe name=main src="main.cgi" height="100%" width="100%" scrolling="no" frameborder=0>
</iframe>
</body>
</html>
main.cgi
<html>
<head>
<meta http-equiv="Pragma" content="no-cache">
<title> Servidor Web Modtronix SBC65ECR </title>
<script type="text/javascript">
<!-- La siguiente funcin muestra un botn si el pin es configurado como salida -->
<!-- muestra valor del puerto "0" "1" si esta configurado como entrada
-->
function ln(io,val,name) {
document.write("<td align=center>");
if(io==0) {
document.write("<input type=submit value="+val+" name=\""+name+"\">");
}
else {
document.write(val);
}
document.write("</td>");
}
</script>
</head>
<body>
<br> Este ejemplo habilita al ususario a configurar el pin b0 del PIC como entrada o
<br> salida y monitorear su valor. La configuracin es recordada cuando se vuelve a
<br> encender el mdulo.
<hr>
<b>Configuracin del PIN</b>
<form method="GET" action="main.cgi">
<b>B0: </b>
<input %b48 type=radio value="1" name="bc0r">
Entrada
<input %b40 type=radio value="0" name="bc0r">
Salida
<br>
<input type=submit value="Apply Changes">
</form>
<hr>
57
<b>Cambiar el estado del pin B0</b>
<br> Las siguiente linea muestra un botn al lado del nombre del pin, si el mismo
<br> es configurado como salida. Cuando el botn es pulsado el valor del pin es
<br> cambiado.
<form method="get" action="main.cgi">
<!-- b50: Es reemplazado por '0' si B0 es salida, '1' es el mismo es entrada
<!-- b00: Es reemplazado por '1' si B0 esta a '1' lgico, '0' si esta a '0' lgico
<!-- 'bx0' es un comando CGI y el mismo pondr a '1' '0' el pin dado
-->
-->
-->
En la pgina se observa que en los formularios se coloca una entrada de tipo submit, la
cual debe ser colocada en los mismos para que los cambios realizados para los comandos CGI
que correspondan, sean ejecutados. En el ejemplo anterior se observa que en el caso del
58
cambio de estado en el pin B0, esta entrada es usada a su vez para mostrar el estado actual del
pin.
En el mdulo sbc65ecr las pginas Web son almacenadas en una memoria EEPROM
externa. La memoria presenta 64Kb disponibles para la creacin de pginas Web diseadas
por el usuario. La pgina Web que el mdulo trae por defecto, solo ocupa aproximadamente
32Kb, por que pueden ser creadas pginas mucho ms complejas, usando el total del espacio
disponible.
Para ahorrar espacio en la memoria, antes de cargar los archivos en el mdulo, los
mismos son comprimidos lo cual reduce considerablemente el espacio ocupado por estos en
memoria. Los archivos son comprimidos usando la compresin HTTP Gzip, los archivos
comprimidos deben tener como extensin htm, css, txt y js, ya que si un archivo con extensin
cgi es comprimido, entonces los comandos que all se encuentren escritos no sern ejecutados
ni reemplazados en la pgina mostrada al cliente.
Para cargar los archivos en el mdulo, los mismos deben ser comprimidos y
compilados en un archivo imagen nico con extensin img. Ambas acciones son ejecutadas
usando un programa llamado Modtronix Network Bootloader, esta aplicacin se puede
descargar gratuitamente desde el sitio Web del fabricante (Modtronix Engineering, 2007).
.
Mediante el uso de esta aplicacin se pueden comprimir y compilar los archivos que
conforman la pgina Web que se desea cargar al mdulo, el uso de esta aplicacin presenta
ventaja de realizar la carga del archivo imagen compilado haciendo uso de la red conociendo
la direccin IP del mdulo e ingresando el nombre y clave de administrador configuradas para
el mismo. Tambin es posible mediante el uso de este software, actualizar el programa del
PIC, sin que se requiera el uso de un programador, usando la red para tal fin, slo se debe
indicar el directorio donde se encuentra incluido el programa que se desea cargar y conocer la
direccin IP del mdulo y la clave y nombre de administrador. En la figura 3.2 se encuentra
una imagen donde se observa la interface mostrada por el programa para el almacenamiento de
las pginas Web en el mdulo.
59
Figura 3.3. Actualizacin del programa del PIC usando Modtronix Network Bootloader
60
En la figura 3.3 se muestra la seccin del programa donde se permite cargar el archivo
con extensin hex que contiene el programa que se desea cargar al mdulo. Para realizar la
carga del archivo, previamente se debe seleccionar la direccin IP del mdulo, la direccin IP
donde se encuentra el Bootloader que por lo general es la misma del mdulo y seleccionar el
directorio donde se encuentra almacenado el archivo que sea desea cargar. Hecho esto se debe
hacer clic sobre el botn connect, mediante el cual se hace que el mdulo entre en modo
bootloader y se encuentre habilitado para la carga del nuevo archivo. Una vez que el programa
indica en la ventana Message Window que el mdulo se encuentra conectado es posible cargar
el archivo simplemente haciendo clic sobre el botn Upgrade Firmware, con lo cual se carga
el archivo al PIC, se produce un reset al mdulo (si se ha seleccionado esta opcin), para que
los cambios surtan efecto.
Es posible que se pida autorizacin para entrar a ciertas secciones del sitio Web que se
disee, para lograr esto lo nico que se debe hacerse es comenzar el nombre de la pgina, la
cual se desea pedir autorizacin, con la letra x, como por ejemplo la pgina xset.cgi, en este
caso cuando el cliente desee accesar a la pgina usando un hipervnculo o introduciendo el
nombre directamente desde la barra de direcciones del explorador, se abre una ventana en la
cual el cliente debe introducir el nombre y clave de administrador. Si estos valores coinciden
con los almacenados en memoria, la pgina se abre, de lo contrario, aparece en pantalla un
aviso que indica que los valores introducidos no coinciden, por lo tanto la pgina no ser
abierta.
El usuario puede cambiar el nombre y clave de administrador que el sistema trae por
defecto (admin y pw respectivamente), utilizando la pgina Web que el mdulo trae por
defecto, o tambin incluyendo los comandos correspondientes en el sitio Web diseado
tambin mediante el mtodo UTP HTTP GET. En la hoja de datos del mdulo se explica con
ms detalles como pueden ser cambiados estos parmetros (Modtronix Engineering, 2007).
61
controlador, se bas en la inclusin de dos marcos fijos superior e izquierdo, en donde se
incluye el logotipo de la ULA y la identificacin de la misma (superior) y un conjunto de
enlaces que permiten al usuario desplazarse a travs del sitio de una manera ms fcil
(izquierdo). Estos dos marcos permanecen visibles desde todos los enlaces.
Cada uno de los enlaces se despliega usando el espacio que queda inutilizado por los
dos marcos. Cuando el usuario tiene acceso a la pgina usando la direccin IP del mdulo
(150.185.xxx.yyy) el nombre de la pgina (http://hornojl.com) (el cliente se debe encontrar
dentro de la subred dentro de la cual se encuentra el mdulo), aparecen visibles en pantalla los
dos marcos descritos y una pgina de introduccin donde se visualiza un texto donde se
explica brevemente el propsito del sitio y una foto del mdulo sbc65ecr. En la parte inferior
se aadi un enlace que permite el envo de un e-mail al creador del sitio Web (Figura 3.4).
A continuacin, se explican cmo se construyeron y que contienen cada uno de los enlaces
dentro del sitio Web diseado.
62
3.3.1. Introduccin
Este enlace es utilizado para llevar al usuario hasta la pantalla de inicio (Figura 3.4), esta
pgina es mostrada por defecto cuando el usuario ingresa al sitio.
3.3.2. Monitoreo Temperatura
Para la construccin de este enlace se hicieron uso de los comandos z12 y z01,
creados para el monitoreo de la temperatura y del setpoint respectivamente. Los mismos se
63
incluyeron en un formulario tipo GET, en un archivo con extensin cgi, el botn denominado
actualizar es de tipo submit en el formulario, y la accin del mismo es recargar el enlace,
para de esta manera ejecutar de nuevo los comandos CGI y actualizar la informacin al
cliente.
<body>
<!-- Se crea el formulario. Dentro del mismo se colocan los comandos que permiten
-->
<!-- conocer el valor de la temperatura en el horno y del setpoint en el controlador -->
<form method=GET action=mon.cgi>
...
<p class="pgSec" align="center">
...
<!-- Inclusin del comando para solicitar el valor de la temperatura en el horno -->
Temperatura: %z12 C <br> <br>
...
</p>
...
<p class="pgSec" align="center">
...
<!-- Inclusin del comando para solicitar el valor del setpoint del controlador -->
Setpoint: %z01 C <br>
...
</p>
...
<!-- Inclusin del botn que permite actualizar los valores para los comandos
<input type=submit value="Actualizar">
-->
...
</form>
...
</body>
64
texto, en el cual el usuario puede introducir el nuevo valor para el parmetro. Por defecto, el
cuadro de texto muestra el valor actual para el setpoint.
Los valores validos que pueden ser introducidos son 0 y entre 30 y 250 (ambos
inclusive), cualquier otro valor ser descartado y por lo tanto no ser enviado al controlador.
En la figura 3.6 se observa la pantalla que es presentada al usuario dentro de esta seccin.
Para la construccin de este enlace, no solo se requiri del uso de la variable z01
referente a la carga del valor del setpoint, sino tambin se requiri del uso del comando z1
que permite actualizar el valor del mismo. A continuacin se muestra un extracto del cdigo
que genera la pgina para observar una de las maneras como pueden ser usados estos
comandos.
<head>
...
<script type="text/javascript">
function pv(v,name) {
document.write("<tr><td class=pgHdr colspan=2 align=center><b> Setpoint:  </b>");
65
document.write("<input type=text size=5 maxlength=3 value="+v+" name=\""+name+"\">
C<br><br></td >");
document.write("</tr>");
}
</script>
...
</head>
<body>
...
<form method=GET action=XSET.CGI>
...
<script type="text/javascript">
pv(%z01, "z1");
</script>
...
<input type=submit value="Actualizar">
...
</form>
...
</body>
En el cdigo se observa que se hizo uso de una funcin de tipo JavaScript donde se
incluye en pantalla el cuadro de texto donde el usuario debe introducir el nuevo valor para el
setpoint. La funcin se llama pv, y recibe como parmetros v, que en este caso es la
variable para leer el valor del setpoint desde el controlador, y el parmetro name que es el
comando z1 encargado de enviar al controlador el nuevo valor para el setpoint.
El cuadro de texto muestra como valor por defecto el valor actual para el setpoint, esto
es logrado dndole al parmetro value del cuadro de texto el valor de la variable %z01. El
comando z1 es incluido en el parmetro name del cuadro de texto, esta es la manera de
incluir este tipo de comandos en pginas en las cuales el usuario introduce algn valor para
hacer modificaciones en el controlador o en alguno de los mdulos del PIC.
3.3.4. Controlador
En esta seccin, el usuario puede conocer los parmetros con los cuales est operando
el controlador al momento de la visita al sitio. Para ingresar a este enlace no se requiere el
ingreso de clave alguna, debido a que en la seccin solo es permitido que el usuario realice el
monitoreo de los parmetros mas no es permitido el cambio de sus valores. En la parte inferior
de los parmetros se encuentra un vinculo que lleva al usuario a la seccin donde es posible
cambiar los valores de los parmetros en el controlador, el vinculo slo se puede utilizar si se
ingresa el nombre y clave de administrador. En la figura 3.7 se observa la pantalla que es
presentada al usuario cuando ingresa a este enlace en el sitio.
66
En esta seccin el usuario puede realizar cambios en los parmetros del controlador.
Similar al cambio de setpoint, se colocan cuadros de texto para cada uno de los parmetros, en
los cuales el usuario puede observar el valor actual para cada uno de los mismos y realizar los
cambios que se requieran. Al lado de cada cuadro de texto se incluyeron 2 celdas donde se
encuentra informacin acerca del rango de valores que pueden ser introducidos para cada
parmetro (tabla 2.10), y un ejemplo de cada uno. En la figura 3.8 se encuentra la pantalla
presentada al cliente cuando el mismo ingresa a este enlace.
67
Cuando se van a realizar modificaciones se debe incluir valores para los tres
parmetros, antes de hacer clic sobre el botn actualizar, ya que el programa y la pgina
fueron diseadas de tal manera que los tres parmetros deben ser actualizados al mismo
tiempo.
3.3.6. Configuracin
En esta seccin el usuario puede conocer la configuracin de la red que tiene configurado el
servidor, al momento de la visita. Adems de esto tambin se incluye la velocidad bajo la cual
se encuentra operando el puerto serial, esta informacin es incluida ya que si la configuracin
de la velocidad del puerto serial en el mdulo es diferente de 9600 baudios, entonces no se
podr establecer la comunicacin con el controlador. Cuando la configuracin de velocidad se
encuentra configurada a un valor diferente al mencionado, entonces se despliega un mensaje
en pantalla indicando que la configuracin de velocidad debe ser cambiada a 9600 baudios
para poder establecer comunicacin con el controlador.
68
En la parte inferior del enlace se incluye un vnculo que despliega en pantalla una
pgina donde el usuario, luego de introducir su nombre y clave de usuario, puede cambiar los
parmetros de la red. Los cambios efectuados para estos parmetros, solo surten efecto cuando
el mdulo es reiniciado.
La codificacin de esta seccin se realiz de manera similar a la utilizada para la
seccin del monitoreo de la temperatura, y el enlace donde se permite el cambio de los
parmetros de la red se codific de manera similar a la seccin del cambio del setpoint usando
los comandos adecuados para cada caso, los cuales se encuentran en la hoja de datos del
fabricante del mdulo (Modtronix Engineering, 2007).
La pantalla presentada al usuario para la seccin de configuracin y el enlace que
permite el cambio de los parmetros se encuentran en la figura 3.9 y 3.10 respectivamente.
69
CAPTULO IV
PRUEBAS AL SISTEMA
En este captulo se describe cmo se realiz la puesta a punto del sistema, incluyendo la
obtencin de la funcin de transferencia del sistema, ajuste de los parmetros del controlador,
seleccin del tipo de controlador, pruebas con respecto al monitoreo de la planta y la
manipulacin de los parmetros del controlador usando el sitio Web.
71
72
73
Aplicar el mtodo de los 2 puntos (Figura 4.4) para aplicar las ecuaciones que
permiten conocer los parmetros que identifican el sistema.
Aplicar las siguientes ecuaciones para conocer los valores de los parmetros K, y to.
K=
(T 2 T 1) C
(%2 %1)%
(4.1)
(4.2)
(4.3)
74
mdulo PWM, y de esta manera poder graficar los datos obtenidos usando el programa
adecuado.
Para realizar la curva se parti desde la temperatura en el interior del horno a un ciclo
de servicio igual a cero, y se introdujo un cambio escaln hasta un valor para el mismo de
50%. En la figura 4.5 se observa la curva obtenida y los valores de los dos puntos que
permiten calcular los parmetros que identifican el sistema.
T1 = 24 C
T2 = 211,7 C
( T * 0,283 ) + 24 C = 77,1 C
75
( T * 0,632) + 24 C = 142,6 C
t (0,283* T) = 315 s
t (0,632* T) = 615 s
Conocidos estos valores, se aplican las ecuaciones 4.1, 4.2 y 4.3 para calcular los
parmetros que caracterizan al sistema.
= 1.5 * ( 615 s 315 s ) = 450 s
Kp =
Kp
0,9 to
Kp =
K
PI
i
Kp
PID
1 to
K
Kp
Kp = 0,726 % / C
1
Kp = 0,653 % / C
i = 3,33 * to
Kp =
1,2 to
K
i = 549,5 s
1
Kp = 0,871 % / C
i = 2 * to
i = 330 s
d = to / 2
d = 82,5 s
76
Los valores calculados para cualquiera de los controladores puede ser introducido
usando el teclado matricial (Modo Local), a travs del sitio Web diseado (Modo Internet).
Para probar el funcionamiento del controlador se cargaron los valores calculados para el
controlador PID usando el teclado matricial, ingresando al men de configuracin del
controlador pulsando la tecla * y a continuacin introduciendo los valores para cada uno de
los parmetros, segn el formato explicado en la tabla 2.1. Para este caso se introducen los
valores 87, 33 y 82 para los parmetros Kp, ti y td respectivamente.
77
78
Observando las graficas anteriores, se concluye que el controlador PI con Kp = 0,8 y
Ti = 600 hace que el sistema presente una mejor respuesta temporal, ya que presenta un menor
sobre disparo para elevar la temperatura y tambin para disminuir la misma. En cuanto al
tiempo de establecimiento, aunque este parmetro no puede ser observado con facilidad en las
graficas, se comprob que tambin result ser menor, al momento de la recoleccin de los
datos.
79
80
Figura 4.10. Prueba comunicacin entre los mdulos (Vista Explorador Web)
Figura 4.11. Prueba comunicacin entre los mdulos (Vista Pantalla Controlador)
81
Cuando el usuario esta conforme con los valores de los parmetros que desea cargar al
controlador debe pulsar el botn Actualizar, para que los mismos sean enviados al
controlador. Al ocurrir esto, la pgina se recarga, para lo cual se solicitan de nuevo los valores
al controlador, los cuales aparecen en pantalla tal cual como son usados en el controlador. En
la figura 4.13 se observa cmo es presentada la informacin en pantalla cuando se recarga la
pgina habiendo introducido los parmetros indicados en la figura 4.12.
Si el usuario no se encuentra conforme con los parmetros introducidos, puede
introducirlos de nuevo, teniendo en cuenta que debe introducir los valores para los tres
parmetros antes de pulsar el botn Actualizar
Esta informacin tambin se puede observar ingresando al enlace Controlador, desde
el cual se puede monitorear el valor para cada uno de los parmetros en el controlador. En la
figura 4.14 se observa cmo es presentada la pgina cuando el controlador tiene cargados los
valores de los parmetros indicados en la figura 4.12.
82
83
Se comprob que la seccin Configuracin y Cambio en los Parmetros de la Red
funcionaran adecuadamente, recordando que cualquier cambio en uno de los parmetros slo
surtir efecto luego de reiniciar el mdulo. En las figuras 3.9 y 3.10 se presentan la pgina de
configuracin mostrada al cliente en el explorador Web y la pgina de configuracin de los
parmetros de la red respectivamente.
CONCLUSIONES
85
controlador de manera local, simplemente cambiando de posicin el switch destinado para tal
fin en la parte superior del mdulo.
El controlador diseado permite la identificacin de sistemas donde la variable a
controlar es la temperatura, ya que se permite colocar el controlador en modo manual o
automtico, segn se requiera. Adems que se permite variacin de los parmetros del
controlador, en un rango relativamente amplio para cada uno de ellos. Cuando el controlador
se encuentra en modo local se pueden adquirir valores de temperatura usando el puerto serial
de un computador para construir graficas que permitan observar la respuesta del sistema o para
cualquier otro fin.
El sistema diseado puede ser usado en procesos industriales donde se requiera
mantener controlada la temperatura del proceso y adems que el controlador pueda ser
supervisado de manera remota sin la necesidad de estar presente en el lugar donde se
encuentra el controlador. Por otra parte el sistema tambin puede ser usado en practicas de
Laboratorio de Control, donde el estudiante realice la identificacin del sistema, luego realice
el ajuste del controlador de acuerdo al tipo seleccionado (P, PI, PD, PID), y observe la
respuesta del sistema encontrndose el estudiante en el sitio donde se halle en funcionamiento
el sistema o mediante el uso de un computador conectado en la misma red del servidor.
RECOMENDACIONES
REFERENCIAS
88
ANEXOS
90
ANEXO 1
ESQUEMA CIRCUITAL DEL MDULO
SBC65ECR
91
92
93
ANEXO 2
ESQUEMA CIRCUITAL DE LA CAJA DE
EXPANSIN IOR5E
94
95