You are on page 1of 262

Control Industrial

Gua del Estudiante

Versin 1.1 en Castellano

Sobre la precisin de este texto: Se realiz un gran esfuerzo para asegurar la precisin de este texto y los experimentos, pero puede haber errores an. Si usted encuentra errores o algn tema que requiera informacin adicional, por favor infrmelo a aalvarez@parallaxinc.com, as podemos con-tinuar mejorando la calidad de nuestra documentacin.

Garanta
Parallax garantiza sus productos contra defectos en sus materiales o debidos a la fabricacin por un perodo de 90 das. Si usted descubre un defecto, Parallax segn corresponda, reparar, reemplazar o regresar el valor de la compra. Simplemente pida un nmero de autorizacin de regreso de mercadera (Return Merchandise Authorization, RMA), escriba el nmero en el exterior de la caja y envela a Parallax. Por favor incluya su nombre, nmero telefnico, direccin y una descripcin del problema. Nosotros le regresaremos su producto o el reemplazo, usando el mismo mtodo de correo que usted us para enviar el producto a Parallax.

Garanta de 14 das de regreso de dinero


Si dentro de los 14 das en que usted recibi su producto, encuentra que no es conveniente para sus necesidades, puede regresarlo, recibiendo un reembolso. Parallax regresar el precio de compra del producto, excluyendo los costos de manipuleo y correo. Esto no se aplica si el producto a sido alterado o daado.

Derechos de Copia y Marcas Registradas


Esta documentacin tiene derechos de copia Copyright 1999 por Parallax, Inc. BASIC Stamp (Estampilla BASIC) es una marca registrada de Parallax, Inc. Si usted decide usar el nombre BASIC Stamp en su pgina web o en material impreso, debe agregar la aclaracin: BASIC Stamp es una marca registrada de Parallax, Inc. Otros nombres de productos son marcas registradas de sus respectivos dueos.

Desvinculacin de Responsabilidad
Parallax, Inc. no es responsable de daos por consecuencias, incidentes o daos especiales que resulten de cualquier violacin de la garanta, bajo cualquier teora legal, incluyendo prdida de beneficio, tiempo, dao o reemplazo de equipo o propiedad y cualquier costo, recuperando, reprogramando o reproduciendo cualquier dato guardado o usado dentro de los productos Parallax. Parallax tampoco es responsable de cualquier dao personal, incluyendo vida o muerte, resultado del uso de cualquiera de nuestros productos. Usted tiene absoluta responsabilidad por la aplicacin que desarrolle con el BASIC Stamp.

Acceso en Internet
Mantenemos sistemas de Internet para su uso. Estos pueden ser usados para obtener software, comunicarse con miembros de Parallax y comunicarse con otros clientes. Las rutas de acceso a la informacin se muestran a continuacin: E-mail: Web: http://www.parallaxinc.com y http://www.stampsenclase.com

aalvarez@parallaxinc.com

Lista de Discusin de BASIC Stamp en Internet


Mantenemos dos listas de discusin por e-mail para gente interesada en el BASIC Stamp. La lista trabaja as: mucha gente se suscribe a la lista y luego todas las preguntas y respuestas son distribuidas a todos los suscriptos. Es una forma rpida, divertida y gratis de discutir temas sobre el BASIC Stamp y obtener respuestas a preguntas tcnicas. Para suscribirse a la lista de BASIC Stamp encuentre la informacin en www.parallaxinc.com. Esta lista genera aproximadamente 40 mensajes diarios. Tambin mantenemos una lista exclusiva para educadores que usan el BASIC Stamp en el aula. Usted puede unirse a esta lista en el sitio web http://www.stampsinclass.com. Esta lista genera aproximadamente 5 mensajes diarios. Si busca una lista de discusin en castellano puede encontrarla en http://www.cursoderobotica.com.ar.

Contenido

Contenido Prefacio ........................................................................................................................................... iii Destinatarios y Guas para Profesores.......................................................................................................................... v Derechos de Copia y Reproduccin ............................................................................................................................... v Experimento 1: Diagramas de Flujo y StampPlot Lite .......................................................................... 6 Ejemplo 1: Ajuste de la Temperatura de la Ducha .......................................................................................................7 Ejemplo 2: Contador de Cinta Transportadora............................................................................................................9 Ejercicio 1: Diseo de Diagramas de Flujo...................................................................................................................13 Ejercicio 2: Circuito de LED que Titila ..........................................................................................................................13 Ejercicio 3: Datos Analgicos.........................................................................................................................................16 Ejercicio 4: Uso del StampPlot Lite ..............................................................................................................................19 Preguntas y Desafo ........................................................................................................................................................23 Experimento 2: Acondicionamiento de Seal de Entrada Digital......................................................... 25 Ejercicio 1: Interruptor Bsico......................................................................................................................................30 Ejercicio 2: Rebote de Interruptores y Rutinas Anti-Rebote ...................................................................................35 Ejercicio 3: Disparo por Flanco .....................................................................................................................................38 Ejercicio 4: Interruptor Electrnico.............................................................................................................................44 Ejercicio 5: Tacmetro ...................................................................................................................................................50 Preguntas y Desafo ........................................................................................................................................................62 Experimento 3: Acondicionamiento de la Seal de Salida Digital ........................................................ 69 Ejercicio 1: Control Secuencial .....................................................................................................................................72 Ejercicio 2: Aumentando la Potencia del BASIC Stamp.............................................................................................83 Preguntas y Desafo ........................................................................................................................................................89 Experimento 4: Control de Procesos Continuos................................................................................. 95 Ejercicio 1: Control ON-OFF de Bucle Cerrado..........................................................................................................96 Ejercicio 2: Control a Lazo Cerrado vs. Lazo Abierto..............................................................................................111 Preguntas y Desafo ......................................................................................................................................................123 Experimento 5: Control a Lazo Cerrado ...........................................................................................125 Ejercicio 1: Estableciendo un Control a Lazo Cerrado............................................................................................128 Ejercicio 2: Control de Banda Diferencial .................................................................................................................134 Preguntas y Desafo ......................................................................................................................................................140 Experimento 6: Control Proporcional-Integral-Derivativo ............................................................... 143 Ejercicio 1: Excitacin de Polarizacin ......................................................................................................................153 Ejercicio 2: Control Proporcional + Integral ............................................................................................................170 Ejercicio 3: Control Proporcional-Derivativo...........................................................................................................178 Preguntas y Desafo ......................................................................................................................................................186 Experimento 7: Control de Tiempo Real y Adquisicin de Datos ........................................................189

Pgina i

Contenido Ejercicio 1: Control de Tiempo Real...........................................................................................................................192 Preguntas y Desafo ......................................................................................................................................................199 Ejercicio 2: Temporizacin por Intervalos ................................................................................................................199 Preguntas y Desafos.....................................................................................................................................................203 Ejercicio 3: Adquisicin de Datos (Data Logging)......................................................................................................204 Preguntas y Desafos.....................................................................................................................................................219 Apndice A: Stamp Plot Lite ........................................................................................................... 221 Apndice B: Plantillas de Ventilador ................................................................................................ 231 Apndice C: Hoja de Datos del SSR.................................................................................................. 233 Apndice D: Hoja de Datos del LM34 ............................................................................................... 237 Apndice E: Hoja de Datos del LM358 .............................................................................................. 243 Apndice F: Hoja de Datos del DS1302 ............................................................................................ 249 Apndice G: Listado de Componentes y Suministros........................................................................ 255 Apndice H: Desafo de Incubadora Comercial................................................................................. 257

Pgina ii

Prefacio

Prefacio
El control de procesos industriales es un rea fascinante de la tecnologa electrnica y nada ha revolucionado esta rea, como los microcontroladores. El microcontrolador ha agregado un cierto nivel de inteligencia a la evaluacin de datos y un cierto grado de sofisticacin en las respuestas a las perturbaciones del proceso. Los microcontroladores actan como los cerebros de la maquinaria de fabricacin y los dispositivos electrnicos de consumo. El control de procesos involucra aplicar tecnologa a una operacin que transforma a la materia prima en un producto terminado. Casi todo lo que usted usa o consume, ha pasado por algn tipo de control de proceso automatizado en su produccin. Los controles de procesos automatizados mejoran la productividad y la terminacin del producto, mientras reducen los costos de produccin. Este texto intenta introducir los conceptos y caractersticas del control de procesos con microcontroladores, con experimentos prcticos sobre los siguientes temas: a) Escritura de un programa partiendo de un diagrama de flujo, para realizar un control de proceso secuencial. b) Uso de pulsadores, conteo de ciclos y procesos de E/S simples para trabajar con un sistema bajo control. c) Control de proceso continuo comenzando con control on-off, continuando con banda diferencial con mltiples niveles de accin. d) Control Proporcional Integral Derivativo (PID) de un pequeo sistema de calefaccin de escritorio. e) Control temporizado de los anteriores e introduccin a la adquisicin y almacenamiento de datos (data logging). El hardware necesario en los experimentos para simular los procesos se ha mantenido en el mnimo indispensable. Si bien el microcontrolador es el cerebro del proceso, no puede ser el msculo. Las aplicaciones reales necesitan que el microcontrolador lea y controle una gran variedad de dispositivos de entrada y salida (E/S). Se usan simples pulsadores montados en una protoboard para simular la accin de interruptores mecnicos y electromecnicos que se encuentran en la industria. Diodos emisores de luz visible (LEDs), pequeos ventiladores y resistores de baja potencia simulan guarda motores y equipamiento de alta tensin (HVAC). La informacin incluida en los experimentos le ayudar a comprender la interfaz elctrica para conectar dispositivos de E/S del mundo real al BASIC Stamp. La naturaleza fsica de los elementos en un sistema determina el modo de accin de control ms apropiado. La dinmica de un proceso incluye un estudio de la relacin entre las perturbaciones en las entradas y las correspondientes acciones en las salidas, de acuerdo a las variables medidas. Es difcil

Pgina iii

Prefacio comprender la dinmica de un proceso sin ser capaz de ver esta relacin. Para los autores, esto defini la necesidad de desarrollar una interfaz grfica para el BASIC Stamp; culminando en la creacin y distribucin del StampPlot Lite. Este software permite graficar valores analgicos y digitales y almacenar datos. StampPlot Lite es usado en casi todos los experimentos, y le ser especialmente til cuando investigue los distintos modos de control de procesos. Tambin se muestran las imgenes de las pantallas en el libro. Este libro es una segunda edicin donde hemos intentado mejorar a la primera. Algunos cambios y modificaciones incluyen: a) b) c) d) Agregado de la 7ma seccin, sobre control temporizado (basado en el tiempo). Reescritura de la seccin de control PID para demostrar y explicar mejor la teora. Agregado del circuito y teora sobre sample-and-hold (muestra y retencin) con FET y PWM. Reescritura de numerosos programas de ejemplo, incluyendo ms diagramas de flujo y explicaciones.

Agradecemos a nuestros editores Ms. Cheri Barrall y Dale Kretzer, y por supuesto a Ken Gracey y a Russ Miller de Parallax por sus revisiones y mejoras a este texto. Adems, agradecemos al Dr. Clark Radcliffe de la Michigan State University por su revisin detenida. Muchos clientes de rea educativa de Parallax nos proveyeron sus recomendaciones para esta segunda revisin. Los autores son instructores en Southern Illinois University en Carbondale en el programa de Electronic Systems Technologies y adems socios en la compaa de software SelmaWare Solutions. Visite el sitio web para encontrar ejemplos del uso de StampPlot Pro especficamente creados para los lectores de este libro. Lo invitamos a enviarnos sus comentarios. Por favor contctenos mediante nuestros sitios web y enve todos los errores que encuentre en este libro a Parallax a la direccin aalvarez@parallaxinc.com, as podremos corregirlos en la prxima revisin. Will Devenport y Martin Hebel Southern Illinois University, Carbondale Electronic Systems Technologies http://www.siu.edu/~imsasa/est -- y -SelmaWare Solutions http://www.selmaware.com

Pgina iv

Prefacio

Destinatarios y Guas para Profesores


Este texto se escribi para alumnos mayores de 17 aos. No se tiene pensado realizar una Gua para los Profesores.. Resolver los experimentos y ejercicios de este libro, no representa una gran dificultad tcnica, y puede lograrse con un poco de paciencia.

Derechos de Copia y Reproduccin


Los libros de Stamps en Clase tienen derecho de copia Parallax 2002. Parallax le garantiza a cada persona derechos condicionales de descargar, duplicar y distribuir este texto sin nuestro permiso. La condicin es que este texto o cualquier parte de l, no debera ser duplicada para uso comercial, resultando en gastos para el usuario, ms all del costo de la impresin. Es decir, nadie deber lucrar por la duplicacin de este texto. Preferentemente, la duplicacin no tendr costo para el estudiante. Cualquier institucin educativa que desee producir duplicados para los estudiantes, puede hacerlo sin nuestro permiso. Este texto tambin est disponible en formato impreso por Parallax. Debido a que imprimimos el texto en cantidad, el precio al cliente es a menudo menor que el de una tpica duplicacin xerogrfica. Este texto puede ser traducido a cualquier otro idioma, con el permiso previo de Parallax, Inc.

Traduccin
Traducido y adaptado al castellano por Arstides A. Alvarez. Correccin y edicin de la traduccin: Ana M. Lusi y Arstides L. Alvarez. Si encuentra errores en el texto, contctese con nosotros, para poder mejorar la calidad de la documentacin en castellano. e-mail: aalvarez@parallaxinc.com Sitios web en Castellano: www.stampsenclase.com www.cursoderobotica.com.ar

Pgina v

Experimento 1: Diagramas de Flujo y StampPlot Lite Un diagrama de flujo es una representacin grfica detallada que muestra la naturaleza y secuencia paso a paso de una operacin. Se puede hacer un diagrama de flujo de cualquier tarea diaria, como conducir hasta el supermercado, o ir al colegio. Cuntos pasos estn involucrados en esta simple tarea? Cuntas decisiones se toman hasta llegar al supermercado o al colegio? Se puede hacer el diagrama de flujo de una operacin formal, cocinar bizcochos por ejemplo, ya sea un proceso a pequea escala en su cocina o a gran escala en una fbrica. Y por supuesto, se puede hacer un diagrama de flujo que tenga en cuenta los pasos y decisiones necesarios para que la tarea sea llevada a cabo por una computadora o un microcontrolador. Un proceso relativamente simple normalmente es fcil de comprender y fluye en forma lgica desde el principio hasta el final. En el caso de cocinar bizcochos, los pasos involucrados son bastante simples. Una receta normalmente requiere que se mezclen los ingredientes necesarios, se armen los bizcochos y se cocinen apropiadamente. Hay que tomar varias decisiones: Estn bien mezclados los ingredientes? Est precalentado el horno? Se cocinaron los bizcochos el tiempo necesario? A medida que el proceso se vuelve ms complejo, sin embargo, es ms difcil diagramar el orden de los eventos necesarios, para llegar a un final exitoso. Un programa en un BASIC Stamp puede tener muchsimos pasos y bifurcaciones if - then. Puede ser difcil seguir el flujo del programa, si solamente observramos el cdigo. Un diagrama de flujo se construye con unos smbolos grficos especiales que representan acciones, funciones, y equipamiento usado para lograr un resultado especfico. La Tabla 1.1 muestra los smbolos y su uso. Tabla 1.1: Smbolos de Diagramas de Flujo

Experimento 1: Diagramas de Flujo y StampPlot Lite

Inicio / Fin indica el inicio y el final de un programa o proceso.

Proceso indica un paso que debe ser cumplido. Entrada / Salida indica que el proceso requiere una entrada o provee una salida.

Pgina 6 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite

Decisin indica que el proceso tiene la posibilidad de tomar distintas direcciones de acuerdo a una condicin. Normalmente, tiene la forma de una desigualdad verdadera o falsa. Lnea de flujo es usada para mostrar la direccin del flujo entre smbolos. Conector es usado para mostrar una conexin entre puntos de un mismo diagrama, o diferentes diagramas de flujo. Subrutina o subproceso indica el uso de una rutina o proceso definido.

Ejemplo 1: Ajuste de la Temperatura de la Ducha Tomemos como ejemplo el diagrama de flujo de una tarea diaria: ajustar la temperatura de una ducha. El proceso de ajustar la temperatura del agua involucra varios pasos. Primero se abren las canillas de agua fra y caliente, esperamos un rato para que se estabilice la temperatura del agua, la probamos y tomamos algunas decisiones para realizar los ajustes necesarios. Si la temperatura del agua es demasiado fra, abrimos ms la canilla de agua caliente y probamos nuevamente. Si el agua est demasiado caliente, se abre ms la del agua fra. Una vez que realizamos cada ajuste, vamos al punto donde esperamos unos segundos antes de probar nuevamente. Por supuesto no tuvimos en cuenta el caso cuando las canillas estn completamente abiertas. Se pueden agregar pasos en el proceso de ajuste de temperatura para corregir esta condicin. La Figura 1.1 muestra un diagrama de flujo de este proceso. Este ejemplo demuestra un proceso que puede ser usado para ajustar la temperatura, pero seran estos los pasos para un programa de un microcontrolador? Seguro! Las canillas podran ser ajustadas por servos, y la temperatura del agua podra determinarse con un sensor. En la mayora de los casos, un proceso simple para nosotros puede ser bastante complejo para un microcontrolador. Tome el ejemplo de dar la vuelta a la esquina conduciendo un automvil. Puede hacer una lista de las entradas que procesamos mientras realizamos el giro?

Control Industrial Versin 1.1 Pgina 7

Experimento 1: Diagramas de Flujo y StampPlot Lite

Figura 1.1: Ejemplo de la Temperatura de la Ducha

Pgina 8 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite Ejemplo 2: Contador de Cinta Transportadora Miremos un caso real y desarrollemos un diagrama de flujo para l. En una fbrica, los materiales se empacan en cajas y se envan a una de dos bahas de carga, donde aguardan los camiones. Cada camin puede transportar 100 cajas. A medida que llegan las cajas, los trabajadores las colocan en el primer camin. Cuando el camin se llena, las cajas deben ser desviadas hacia el segundo camin, mientras el camin que est cargado se retira y deja su lugar para otro vaco. Adems, en caso de emergencia o que exista un problema, debe haber una forma de detener la cinta transportadora. El aspecto fsico de esta disposicin se muestra en la Figura 1.2. El motor que mueve la cinta est rotulado como MOTOR1. El sensor que detecta el paso de las cajas est rotulado como DETECTOR1. La palanca que direcciona las cajas hacia uno y otro camin est rotulado DESVIADOR1. El botn de parada de emergencia est rotulado PARAR1. Figura 1.2: Ejemplo del Contador de Cinta Transportadora

Control Industrial Versin 1.1 Pgina 9

Experimento 1: Diagramas de Flujo y StampPlot Lite

Hagamos una lista ordenada con una descripcin breve de lo que debera ocurrir: Encender el motor de la cinta transportadora. Contar las cajas a medida que pasan. Cuando hayan pasado 100 cajas, mover el desviador a la posicin opuesta. Cuando se presione el botn de emergencia, detener la cinta.

Ahora que conocemos los pasos bsicos involucrados, desarrollemos un diagrama de flujo para el proceso. Comencemos mirando el diagrama de flujo de la Figura 1.3. Observe la ubicacin del recuadro de E/S que controla el botn de parada de emergencia, PARAR1. el botn se revisa en cada ciclo. Qu sucedera si lo hubisemos puesto despus del recuadro de decisin que controla si se contaron 100 cajas? Cunto tiempo pasara desde que se presiona el botn hasta que se detuviese la cinta? Este diagrama de flujo describe todo lo que nuestro programa debe hacer? Definitivamente no, pero es un buen comienzo determinar el flujo general del proceso. Observe el recuadro de Proceso "Contar cajas con DETECTOR1". Cmo se realiza esto exactamente? Necesitaramos desarrollar un diagrama de flujo para describir solamente esta rutina. Si un proceso necesita ms detalle, podramos reemplazar el recuadro de Proceso con uno de Sub-Proceso como se muestra en la Figura 1.4.

Figura 1.4: Recuadro de Sub-proceso

Qu tan complicado es contar las cajas que pasan por el detector? Si DETECTOR1 se activa yendo a nivel bajo, contamos cuando baja? Cuando el detector permanece en nivel bajo, cmo evitamos que cuente nuevamente, la prxima vez que el programa pasa por ese punto? Qu sucede si la caja vibra sobre la cinta transportadora, a medida que atraviesa el haz de nuestro detector? Cmo evitamos contar varias veces la misma caja? Las respuestas pueden no ser tan simples como parece. Incluso cuando se realiza una tarea tan simple como contar las cajas que pasan, muchas variables deben ser tenidas en cuenta.

Pgina 10 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite

Figura 1.3: Diagrama de Flujo de la Cinta Transportadora

Control Industrial Versin 1.1 Pgina 11

Experimento 1: Diagramas de Flujo y StampPlot Lite

Otra consideracin es la salida de nuestro detector. Podemos medir directamente la salida usando una de las entradas del BASIC Stamp, o se necesita algn circuito para acondicionar la seal primero? Consideremos ahora una salida en nuestro ejemplo de la cinta transportadora. Cmo encenderemos el motor? Es muy dudoso que la salida de 5 Volts, con escasos miliamperes del BASIC Stamp sea capaz de alimentar directamente un motor con suficiente potencia para mover una cinta transportadora. Cmo acondicionaremos una salida del BASIC Stamp para controlar una carga de mayor corriente y tensin? Estos temas se irn desarrollando a medida que trabaje en los captulos de este manual. Lo que nos parece simple de hacer como humanos, puede requerir algunos algoritmos sofisticados si queremos realizarlo con un microcontrolador. Usaremos los componentes electrnicos disponibles, un mdulo BASIC Stamp, y la Plaqueta de Educacin, para simular algunos procesos de control industrial complejos.

Pgina 12 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite

Ejercicios
Ejercicio 1: Diseo de Diagramas de Flujo Dibuje un diagrama de flujo que encienda un calentador por debajo de 100 grados y lo apague por encima de 120 grados. Ejercicio 2: Circuito de LED que Titila Usaremos un circuito simple para demostrar el proceso de un diagrama de flujo y armaremos el programa que cumpla la tarea. Deber armar el circuito que se muestra en la Figura 1.5. Se necesitarn los siguientes componentes para este experimento: (1) LED, verde (2) resistores 220-Ohm (1) resistor 10K-Ohm (1) pulsador (1) potencimetro multivueltas de 10K-Ohm (1) capacitor 1 uF (varios) cables de interconexin Figura 1.5: Ejercicio 2, Esquema del Circuito para LEDs que Titilan

Control Industrial Versin 1.1 Pgina 13

Experimento 1: Diagramas de Flujo y StampPlot Lite El circuito que est armando consta de un pulsador como dispositivo de entrada y un LED como dispositivo de salida. Este es el proceso que queremos realizar: mientras el pulsador (PB1) est presionado, hacer titilar el LED (LED1) cinco veces en 10 segundos. El diagrama de flujo de nuestro proceso se muestra en la Figura 1.6. Veamos algunos detalles del diagrama de flujo. Nuestro bucle principal es bastante simple. En el recuadro Inicializar Variables, definiremos todas las variables necesarias y fijaremos sus valores de salida iniciales (LED apagado), luego entra en un bucle hasta que se presione PB1, en ese caso llama a la subrutina, titilar_led1. Nuestra subrutina no comienza con "Inicio, sino con el nombre del proceso, de forma que podamos identificarla. El diagrama de flujo describe un proceso que se repetir cinco veces, encendiendo y apagando nuestro LED durante un segundo cada vez. Ahora que tenemos un diagrama de flujo que describa el proceso, cmo hacemos el programa en PBASIC? Podemos sensar PB1 usando la instruccin in. Tenemos dos formas de llamar a nuestra subrutina. Si la condicin es verdadera (1), podemos saltar a nuestra subrutina directamente usando la instruccin if-then. Esta podra tratarse igual que otra instruccin PBASIC llamada goto. Una vez ejecutada la subrutina, necesitaramos saltar con goto hacia el bucle principal. O, si la condicin es falsa (0), podramos saltar hacia la rutina principal desde el if-then, y usar un comando gosub para saltar a la subrutina cuando la condicin sea verdadera. Luego Figura 1.6: Ejercicio 2. Diagrama de Flujo del LED que Titila

Pgina 14 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite podemos usar return al terminar de ejecutarla. En nuestra subrutina titilar_led1, necesitamos un bucle que se repita cinco veces. Las opciones para llevar a cabo esta tarea pueden incluir el uso de una variable que incrementaremos en cada repeticin, o el uso de la instruccin for-next que hara todo el trabajo por nosotros. El diagrama de flujo describe los pasos generales involucrados en la realizacin del proceso. Se puede usar cualquier cdigo siempre y cuando se complete exactamente el proceso descripto. El mismo diagrama de flujo puede ser usado con muchos lenguajes o sistemas y hasta incluso con humanos. El Programa 1.1 es una forma de escribir el cdigo para nuestro proceso del LED titilante. Ingrese el programa en el BASIC Stamp Editor, descrguelo en el BASIC Stamp, y presione el pulsador del circuito que construy. Si todo funciona correctamente, el LED titilar cinco veces despus de presionar el pulsador.
'Programa 1.1, cnt var pb1 var led1 con input pb1 output led1 low led1 Ejemplo de LED que titila byte 'Una variable para contar in1 'PB1 est en P1 4 'LED1 est en P4 'Configura a P1 como entrada 'Configura a P4 como salida 'Apaga el LED

bucle: if pbl = 0 then bucle 'No se presion? Regresa al inicio gosub titilar_led1 'Si se presion, ejecuta la subrutina goto bucle 'Despus de regresar, salta al inicio titilar_led1: for cnt = 1 to 5 high led1 pause 1000 low led1 pause 1000 next return 'Subrutina para hacer titilar al LED Configura el bucle para 5 repeticiones 'Enciende el LED Espera un segundo Apaga el LED Espera un segundo Repite el bucle hasta terminar las 5 repeticiones Regresa a la instruccin siguiente de donde fue llamada la subrutina

Desafo de Programacin Haga el diagrama de flujo y el programa para un proceso donde el LED deba titilar 4 veces por segundo, mientras el pulsador NO est presionado.

Control Industrial Versin 1.1 Pgina 15

Experimento 1: Diagramas de Flujo y StampPlot Lite

Ejercicio 3: Datos Analgicos En muchos casos un proceso involucra el anlisis y la respuesta a datos analgicos. Los datos digitales involucran dos posibilidades: encendido y apagado (1 y 0). Esto se puede comparar a los interruptores comunes de las luces de nuestras casas. La luz est encendida o apagada. Los datos analgicos, por el contrario, involucran un rango continuo de valores. Algunos ejemplos incluyen la regulacin de la temperatura del agua que sale por la ducha o la temperatura de la calefaccin. Hay varios mtodos para ingresar datos analgicos en un microcontrolador, tales como usar un conversor analgico-digital (A/D) que convierte los valores analgicos en digitales, para que puedan ser procesados numricamente. Otro mtodo usado por el BASIC Stamp es una red resistor/capacitor (RC) para medir el tiempo de carga o descarga de un capacitor. Variando el valor de la resistencia, podemos modificar y medir el tiempo que necesita el capacitor para descargarse. En este experimento, la resistencia se modifica manualmente ajustando un resistor variable. Pero el dispositivo podra ser ms sofisticado, como un fotorresistor que cambia su resistencia en funcin de la iluminacin, o un sensor de temperatura. Volveremos a tratar datos analgicos en secciones posteriores, pero ahora realicemos un simple experimento de control de proceso usando un valor analgico. Agregue la red RC que se muestra en la Figura 1.7 al circuito del experimento anterior. Figura 1.7: Esquema del circuito de Datos Analgicos agregado en el Ejercicio 3

Pgina 16 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite

Referencia Rpida de Comandos PBASIC: RCTime


RCTIME pin, estado, resultvariable

Pin es el pin de E/S conectado a la red RC. Estado es la tensin de entrada de ese pin. Resultvariable es una variable normalmente de tamao word que almacena el resultado del comando.

El comando PBASIC que usaremos para leer el valor analgico del potencimetro es rctime. Un segmento de cdigo tpico para leer el potencimetro es el siguiente:
high 7 pause 10 rctime 7, 1, pot

Para leer el potencimetro, la rutina debe realizar los siguientes pasos: +5 V (HIGH=ALTO) se aplican a ambos terminales del capacitor para descargarlo. El BASIC Stamp realiza una pausa suficientemente larga para asegurarse que el capacitor est completamente descargado. Cuando se ejecuta rctime, el Pin 7 se vuelve una entrada. El Pin 7 leer inicialmente un estado alto (1) debido a que el capacitor descargado se comporta como un corto circuito. A medida que el capacitor se descarga a travs del resistor, cae la tensin del Pin 7. Cuando la tensin en Pin 7 llega a 1.4 V (cayendo), el estado de la entrada pasa a ser bajo (0), deteniendo el proceso y almacenando un valor en pot proporcional al tiempo requerido para cargar el capacitor.

A mayor resistencia, mayor tiempo necesitar el capacitor para cargarse; por lo tanto, mayor ser el valor de pot. De esta forma, podemos adquirir un valor analgico de un dispositivo de entrada simple. Escribamos un programa de control de proceso que use este tipo de entrada. Nuestro proceso monitorear la temperatura para encender un calentador a menos de 100 grados y lo apagar a ms de 120 grados. El potencimetro representar un sensor de temperatura y el LED indicar el comportamiento del supuesto calentador. Usaremos la ventana debug para mostrar nuestra temperatura y el estado del calentador. El valor mximo del potencimetro, con esta combinacin de resistor y capacitor, puede llegar a 5000, as que lo dividiremos por 30 para obtener un rango ms razonable.

Control Industrial Versin 1.1 Pgina 17

Experimento 1: Diagramas de Flujo y StampPlot Lite

Ingrese y ejecute el Programa 1.2. Controle los valores de la ventana debug mientras ajusta el potencimetro y observe especialmente qu ocurre cuando el valor sube por encima de 120 o cae por debajo de 100.
'Programa 1.2, LED1 VAR RC CON Temp VAR OUTPUT 4 LED1 = 1 Principal: GOSUB LeeTemp GOSUB ControlaTemp PAUSE 250 GOTO Principal LeeTemp HIGH RC PAUSE 10 RCTIME RC, 1, Temp Temp = Temp/30 DEBUG "Temp = ",dec Temp, CR RETURN ControlaTemp: 'Si Temp > 100, o el calentador est encendido, 'controla si debera estar apagado IF (Temp > 100) OR (LED1 = 1) THEN ControlaApagado LED1 = 1 'Sino, enciende el calentador y muestra DEBUG "Calentador Encendido",CR Calentador simple OUT4 7 WORD 'LED1 est en P4 'Red RC en Pin 7 'Temp es una variable para almacenar resultados 'configura el LED como salida 'Inicia encendido

'Lee el potencimetro como temperatura 'Controla el valor de la temperatura

'Lee el potencimetro

'Ajusta el valor y 'lo almacena como Temp

ControlaApagado: 'Si Temp < 120 o el calentador est apagado, listo IF (Temp < 120) OR (LED1 = 0) THEN Listo LED1 = 0 'sino, lo apaga y muestra DEBUG "Calentador Apagado", CR Listo: RETURN

Desafo de Programacin Modifique el proceso (diagrama de flujo y programa) para que el LED indique el ciclo de trabajo de un aire acondicionado entre 70 y 75 grados (Fahrenheit).

Pgina 18 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite Ejercicio 4: Uso del StampPlot Lite Si bien la ventana debug es muy til para obtener datos e informacin del BASIC Stamp, puede ser difcil visualizar la informacin sin revisarla cuidadosamente. La temperatura est aumentando o disminuyendo? Qu tan rpido est cambiando? En qu momento cambi la salida? Alrededor de qu temperatura se repite el ciclo? Bienvenido al StampPlot Lite! StampPlot Lite (SPL) fue desarrollado especficamente para este libro. SPL acepta datos desde el BS2 de la misma forma que la ventana debug, solamente que SPL interpreta los datos y realiza una de cuatro acciones dependiendo de la estructura de los datos: Un valor se dibuja en una escala analgica en tiempo real. Un valor binario que comienza con % se dibuja como trazo binario en tiempo real. Cadenas que comienzan con ! se interpretan como instrucciones de control y configuracin para controlar el SPL. Cualquier otra cadena se muestra como mensaje en la parte superior del SPL.

La regla principal del SPL es que cada lnea debe terminar con un retorno de carro (13 o CR). Por favor revise el Apndice A para una explicacin ms profunda del StampPlot Lite. Si an no ha instalado StampPlot Lite, descrguelo de http://www.stampsenclase.com, e instlelo en su computadora. Haga doble clic en el botn setup e instlelo en el directorio que usted elija. Miremos nuevamente el Programa 1.2, nuestro calentador simple, pero esta vez usando StampPlot Lite para poder visualizar mejor el proceso. El Programa 1.2 ha sido reescrito como Programa 1.3, para utilizar el StampPlot Lite (las lneas en negrita estn agregadas / modificadas del programa 1.2).
'Programa 1.3; Calentador simple usando StampPlot Lite 'Configura StampPlot Lite PAUSE 500 DEBUG "!SPAN 50,150",CR 'Configura amplitud (span) 50-150 DEBUG "!TMAX 60",CR 'Configura para 60 segundos DEBUG "!PNTS 500",CR '500 puntos de datos por grfico DEBUG "!TITL Control de Calentador Simple ",CR 'Ttulo del formulario DEBUG "!SHFT ON",CR 'Permite que el grfico se desplace DEBUG "!TSMP ON",CR DEBUG "!PLOT ON",CR 'Comienza a dibujar DEBUG "!RSET",CR 'Reinicia (borra) el grfico LED1 RC Temp VAR CON VAR OUT4 7 WORD 'LED1 est en P4 'Red RC en Pin 7 'Temp es una variable para almacenar resultados

Control Industrial Versin 1.1 Pgina 19

Experimento 1: Diagramas de Flujo y StampPlot Lite

OUTPUT 4 LED1 = 1 Principal: GOSUB LeeTemp GOSUB ControlaTemp PAUSE 250 GOTO Principal LeeTemp HIGH RC PAUSE 10 RCTIME RC, 1, Temp Temp = Temp/30 DEBUG DEC Temp, CR DEBUG IBIN LED1,CR RETURN ControlaTemp:

'configura el LED como salida 'Inicia encendido

'Lee el potencimetro como temperatura 'Controla el valor de la temperatura

'Lee el potencimetro

'Ajusta el valor y 'lo almacena como Temp 'Enva el valor de la temperatura 'Enva el estado del LED

'Si Temp > 100, o el calentador est encendido, 'controla si debera estar apagado IF (Temp > 100) OR (LED1 = 1) THEN ControlaApagado LED1 = 1 'Sino, enciende el calentador y muestra DEBUG "Calentador Encendido",CR DEBUG "!USRS Calentador Encendido",CR 'Actualiza la barra de estado del SPL

ControlaApagado: 'Si Temp < 120 o el calentador est apagado, listo IF (Temp < 120) OR (LED1 = 0) THEN Listo LED1 = 0 'sino, lo apaga y muestra DEBUG "Calentador Apagado", CR DEBUG "!USRS Calentador apagado",CR 'Actualiza la barra de estado del SPL Listo: RETURN

Descargue el programa en su BASIC Stamp y siga estas instrucciones para usar el StampPlot Lite. Ejecute su StampPlot Lite usando el botn de Inicio de Windows y siguiendo la siguiente secuencia Programas/StampPlot/StampPlot Lite. Escriba y descargue el Programa 1.3 en su BASIC Stamp. Cierre la ventana azul de debug del editor del BASIC Stamp. Seleccione el puerto COM apropiado en el StampPlot Lite y haga clic en 'Connect.'

Reinicie el BASIC Stamp presionando el botn Reset de la Plaqueta de Educacin. Ahora est listo para usar este software nico.

Pgina 20 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite

En este punto debera ver como se dibujan los datos en la pantalla. Ajuste el potencimetro de 10K-Ohm con sus dedos o un destornillador pequeo. La lnea analgica muestra el valor del potencimetro. El trazo digital de la parte superior muestra el estado del LED indicador. La Figura 1.8 es un ejemplo del grfico que se obtuvo con este mismo circuito. Figura 1.8: Grfico del StampPlot Lite para el Ejercicio 4
Calentador encendido

Observe la relacin entre el valor analgico y la conmutacin de la salida digital. Use los controles del StampPlot Lite para familiarizarse con sus funciones y caractersticas. Analice el Programa 1.3 y observe los ajustes de configuracin y los datos enviados al software utilitario. Vea el Apndice A si tiene problemas para entender el funcionamiento del StampPlot Lite. Desafo de Programacin Modifique el desafo del aire acondicionado del Ejercicio 2, para que use el StampPlot Lite. Configure su programa para transmitir datos aproximadamente cada 0,5 segundos. Calcule la cantidad de puntos de datos necesarios para llenar la pantalla en un tiempo mximo de 60 segundos. Ejectelo y vea si funciona. Ahora por diversin! Escriba y descargue el siguiente programa. El potencimetro simula una ducha de un solo grifo (mezcladora). Ajuste la temperatura de la ducha para obtener 110 Fahrenheit constantes. Vea qu tan rpido puede

Control Industrial Versin 1.1 Pgina 21

Experimento 1: Diagramas de Flujo y StampPlot Lite estabilizar la temperatura en ese valor. Presione el botn Reset de la Plaqueta de Educacin e intntelo nuevamente.
'PROGRAMA 1.4: PuntoAjuste TempAct Dif Temp Ajuste la ducha VAR BYTE VAR BYTE VAR BYTE VAR WORD

RC CON 7 LED1 CON 4 PuntoAjuste = 110 PAUSE 500 DEBUG "!RSET",CR,"!SPAN 0,200",CR,"!TMAX 30",CR,"!PLOT ON",CR DEBUG "!TSMP ON",CR,"!MAXS",CR,"!PNTS 100",13 DEBUG "!USRS Ajuste la temperatura a ",DEC PuntoAjuste,CR Principal: HIGH RC PAUSE 10 RCTIME RC,1,Temp Temp = Temp/ 30 IF Temp > TempAct THEN MasAlta IF Temp < TempAct THEN MasBaja GOTO Display MasAlta: DIF = Temp - TempAct/5 TempAct = TempAct + Dif GOTO Display MasBaja: Dif = TempAct - Temp/5 TempAct = TempAct - Dif Display: LOW LED1 DEBUG DEC TempAct,CR IF TempAct <> PuntoAjuste THEN SkipBeep DEBUG "AJUSTADA!",CR,"!BELL",CR HIGH LED1 SkipBeep: PAUSE 250 GOTO Principal

Pgina 22 Control Industrial Versin 1.1

Experimento 1: Diagramas de Flujo y StampPlot Lite

Preguntas y Desafo

1. Mencione una actividad humana cotidiana que involucre una decisin. Liste los pasos necesarios para llevar a cabo ese proceso y las decisiones que deben tomarse. 2. Desarrolle un diagrama de flujo simple para el proceso de la Pregunta 1. 3. Mencione un ejemplo de un proceso electrnico en su hogar o escuela (tal como el control de un horno microondas, un reloj despertador, etc.). Desarrolle un diagrama de flujo simple que describa el proceso. 4. Desarrolle el diagrama de flujo y el cdigo para los siguientes procesos: El potencimetro simula un sensor de temperatura. Si la temperatura excede 100 grados Fahrenheit, enciende la alarma (LED). La alarma no se apaga hasta que se presiona el botn. 5. Modifique el programa de la Pregunta 4 de forma que use StampPlot Lite para mostrar la temperatura, el bit de alarma y el estado de la alarma.

Control Industrial Versin 1.1 Pgina 23

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Experimento 2: Acondicionamiento de Seal de Entrada Digital

El control de procesos depende de la obtencin de informacin de entrada, su evaluacin y la ejecucin de la accin correspondiente. En control industrial, la mayora de las veces la informacin de entrada involucra el monitoreo de dispositivos de campo que admiten dos estados posibles. Un interruptor es un ejemplo comn de dispositivo de dos estados. O est abierto o est cerrado.

Los interruptores pueden controlar una operacin de tres formas. Una podra ser si conectamos directamente una carga al interruptor, controlando toda la corriente y la tensin de la carga. Tambin podemos conectarlo a la entrada de un rel. En este caso, el interruptor controla con poca potencia el circuito de entrada del rel, mientras que la potencia es controlada por el circuito de salida. El estado encendido / apagado (on/off) del interruptor tambin podra proveer una seal digital a la entrada de un controlador programable. Cuntos interruptores us hoy? Y, qu procesos afect con la accin de dichos interruptores? La tabla 2.1 lista unas pocas posibilidades, comenzando por el principio del da: Tabla 2.1: Interruptores que podra haber usado al principio del da. Estado del Interruptor
Primero podra presionar el botn SNOOZE de su reloj despertador. Luego, tropezando al entrar al bao, prende la luz. Ahora, en la cocina, prende la cafetera, presiona la tostadora de pan y programa su microondas. Abre el refrigerador y la luz se enciende. Enciende el termostato. Enciende su TV, cambia de canal, sube el volumen.

Resultado
La alarma se apaga y... 5 minutos ms para dormir!

Ay! Apaga rpidamente la luz porque lastima la vista. El desayuno est listo. Y, quin sabe si la luz del refrigerador realmente se apaga cuando se cierra la puerta? Calefacciona o refrigera, segn su eleccin Los interruptores del frente del TV tienen la misma funcin que los del control remoto que se transmiten por un LED infrarrojo. Hace una llamada. Levanta el auricular y espera el tono. El interruptor que el auricular normalmente mantiene Presiona los botones del nmero de telfono. presionado ahora se encuentra en la posicin descolgado. Cada interruptor del teclado genera una combinacin de tonos especfica. Enciende su PC. Enciende el monitor. Clic con el mouse Estos son los tres ms obvios. Hay muchos ms para revisar su e-mail. interruptores detrs de escena en su PC. Ha presionado ms de 15 interruptores y an no ha dejado su casa!

Algunos de los interruptores listados en la Tabla 2.1 tienen control directo de la continuidad elctrica de las cargas involucradas. Por ejemplo, el interruptor de la luz del bao controla el flujo real de la corriente que

Control Industrial Versin 1.1 Pgina 25

Experimento 2: Acondicionamiento de Seal de Entrada Digital circula por las lmparas. El termostato es un ejemplo de un interruptor que opera un sistema de baja tensin para controlar un rel de la calefaccin o aire acondicionado. La mayora de los interruptores de la Tabla 2.1, probablemente proveen una seal digital de estado alto o bajo, que es monitoreada por un sistema de control electrnico. Es el estado de esta seal de entrada el que es evaluado para determinar el estado apropiado de las salidas involucradas. El botn "snooze" del reloj despertador no abre fsicamente el circuito de la alarma. Cuando usted lo presiona, el cambio momentneo de estado es reconocido por un circuito programable. Como resultado, el programa le ordena a la salida que se apague y agregue cinco minutos a la hora programada en la alarma. El botn "start" de su microondas no conduce en realidad la corriente que alimenta el magnetrn, la luz interior y el ventilador. Sin embargo, al presionarlo se genera una entrada que hace que el microcontrolador del horno active los rels que encienden esas cargas. A menudo pensamos en los interruptores como dispositivos mecnicos que establecen e interrumpen la continuidad entre dos puntos de un circuito. En el caso de los pulsadores manuales y los interruptores mecnicos mostrados en la Figura 2.1, este es exactamente el caso. Figura 2.1: Varios Pulsadores Manuales e Interruptores Mecnicos

La Tabla 2.2 muestra la representacin esquemtica de varios interruptores industriales. Los smbolos se dibujan para representar el estado normal del interruptor. Estado normal se refiere al estado de reposo o

Pgina 26 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital sin activar del interruptor. Los pulsadores que estn en el kit de componentes para este libro son Normalmente Abiertos (N.O. es la sigla en ingls). Al presionar el botn, se produce un corto circuito entre los contactos. La resistencia va desde el valor de circuito abierto que es cercano a infinito, a un valor muy cercano a cero. Tabla 2.2: Representacin Esquemtica de Varios Interruptores Industriales

Pulsador

Lmite Mecnico

Interruptor Proximidad

de

Rel

NormalNormalmente Abierto Normalormalmente Cerrado

Mientras que el concepto de interruptor es muy simple, parece no haber lmites para los diseos fsicos que encontrar en aplicaciones de control industrial. Los interruptores tambin pueden ser diseados como Normalmente Cerrados (N.C.); se encuentran cerrados en reposo y sus contactos se abren cuando son activados. Como tcnico, programador, o diseador de sistemas, debe estar al tanto de la posicin Normal (de reposo) de un interruptor.

Control Industrial Versin 1.1 Pgina 27

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Figura 2.2: Esquemas de Interruptores Pulsadores

Figure 2.2a

Figure 2.2b

Entrada Digital (TTL, CMOS, ECL, etc.)? Los dispositivos lgicos se fabrican con diferentes procesos que hacen que operen a distintas tensiones. La hoja de datos del fabricante muestra los valores crticos para cada dispositivo. Los Valores Mximos Absolutos son las tensiones y corrientes que no deben excederse para evitar daar o destruir al chip. Los pines de E/S del BASIC Stamp II no deberan exceder de 0,6 V o Vdd+0,6 V (5,6V) con respecto a Vss. La transicin entre el estado lgico alto y bajo est especificada en las caractersticas de corriente continua (DC) de la hoja de datos. Una tensin de 0,2 Vdd (1 V en el BASIC Stamp II) se considera como un cero, y una de 0,45 Vdd (2,25 V) o superior, garantizar un estado alto. Hay un rea gris entre estas dos tensiones donde se producir la transicin. Depende de la temperatura y la tensin de la fuente la ubicacin del punto donde ocurrir la transicin. Normalmente se producir a 1.4 Volts.

Los pines de entrada del BASIC Stamp no detectan cambios de resistencia entre los contactos del interruptor. Estas entradas esperan niveles de tensin apropiados que representen un estado lgico alto o bajo. Idealmente, estas tensiones deberan ser +5 Volts para un nivel lgico alto (1) y 0 Volts para un nivel lgico bajo (0). Para convertir los dos estados resistivos del interruptor en entradas aceptables, se debe colocar en serie con un resistor conectado a la fuente de tensin de +5 Volts del BASIC Stamp. Esto forma un circuito divisor de tensin en el cual el estado resistivo del interruptor se compara con el valor resistivo del resistor de referencia. La Figura 2.2 muestra las dos posibilidades para nuestro simple interruptor pulsador N.O. (normalmente abierto). La Figura 2.2a entregar +5 Volts en el pin de entrada cuando es presionado. Cuando el interruptor est abierto, no tiene continuidad; por lo que no circula corriente a travs del resistor de 10K y el pin de entrada queda conectado a masa.

Pgina 28 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Resistor de Referencia: El resistor fijo de 10K-Ohm en las Figuras 2.2a y 2.2b es necesario para obtener niveles lgicos variables. Est conectado en serie con el interruptor. Su valor debe ser mucho mayor que la resistencia del interruptor cerrado y mucho menor que la resistencia del interruptor abierto. Cuando el interruptor est abierto en la Figura 2.2a, el resistor no recibe tensin y el punto de entrada es llevado a masa. En la Figura 2.2b, el circuito abierto hace que la entrada quede fijada a +5 Volts. Debe tener en cuenta estos resistores (pull-up y pull-down) siempre que trabaje con interruptores mecnicos o electrnicos.

En la Figura 2.2b, al cerrar el interruptor se pone a masa el pin de entrada. Cero Volts es un nivel lgico bajo. Cuando el interruptor se abre, no hay cada de tensin sobre el resistor de 10K-Ohm y la tensin en la entrada es +5, un nivel lgico alto. Los circuitos son esencialmente iguales, aunque los resultados obtenidos al operar sobre el interruptor son exactamente opuestos. Desde el punto de vista de la programacin, es importante saber qu configuracin se est utilizando.

Control Industrial Versin 1.1 Pgina 29

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Ejercicios
Ejercicio 1: Interruptor Bsico Para comenzar una investigacin sobre la programacin de pulsadores, conecte dos como se muestra en la Figura 2.2 en la protoboard de la Plaqueta de Educacin. Conecte la configuracin de activo alto (Figura 2.2a) en el Pin 1 de E/S y la salida de la configuracin activo bajo (Figura 2.2b) al Pin 2. Observe cul es cual. Como se dijo anteriormente, esto es importante. La Figura 2.3 muestra la fotografa de cmo podra quedar montado este circuito en la Plaqueta de Educacin. Figura 2.3: Fotografa del Montaje del Circuito de la Figura 2.2

Pgina 30 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital El siguiente programa est escrito para usar el StampPlot Lite para mostrar el estado de los interruptores. El procedimiento ser el mismo que para el Experimento 1, Diagrama de Flujo y StampPlot Lite. Primero, escriba el Programa 2.1. Puede omitir del programa todos los comentarios que comienzan con un apstrofe ().
'Programa. 2.1: Deteccin del Estado de un Pulsador con StampPlot Lite ' Ttulo para ventana StampPlot ' Configura P1 como entrada ' Configura P2 como entrada

DEBUG "!TITL Prueba de Pulsadores",CR INPUT 1 INPUT 2 PB1 VAR IN1 PB2 VAR IN2

Bucle: PAUSE 100 ' Reduce velocidad del bucle DEBUG IBIN PB1, BIN PB2, CR ' Grafica el estado digital DEBUG DEC 0, CR ' Enva un 0 para lograr desplaz. de pantalla IF (PB1 = 1) and (PB2 = 0) THEN Ambos ' Verifica ambos botones IF PB1 = 1 THEN PB1_on ' Verifica si PB1 (activo alto) est presionado IF PB2 = 0 THEN PB2_on ' Verifica si PB2 (activo bajo) est presionado DEBUG "!USRS Estados normales - Ninguno presionado", CR ' Informa que ninguno est presionado GOTO Bucle PB1_on: DEBUG "!USRS Entrada 1 en nivel alto GOTO Bucle PB2_on: DEBUG "!USRS Entrada 2 en nivel bajo GOTO Bucle ' Informa que PB1 est presionado - PB1 est presionado ", CR

' Informa que PB2 est presionado - PB2 est presionado ", CR

Ambos: ' Reporta que ambos estn presionados DEBUG "!USRS PB1 alto y PB2 bajo - Ambos presionados", CR DEBUG "!BELL", CR ' Emite sonido. GOTO Bucle

Control Industrial Versin 1.1 Pgina 31

Experimento 2: Acondicionamiento de Seal de Entrada Digital Ejecute el programa. DEBUG mostrar el estado de los interruptores y el valor digital de las entradas. Cierre la ventana de DEBUG y ejecute StampPlot Lite. Seleccione el puerto COM apropiado y seleccione las casillas de Connect y Plot Data. Presione el botn Reset de la Plaqueta de Educacin y los trazos de In1 e In2 deberan comenzar a notarse en la pantalla. Su ventana debera verse similar a la de la Figura 2.4. Presione los pulsadores para familiarizarse con su sistema. Luego observaremos cmo funciona el programa. Figura 2.4: Pantalla Tpica de StampPlot Controlando el estado de Pulsadores

El propsito de este programa es ejecutar cierto cdigo de acuerdo al estado (presionado o no) de los pulsadores. Este ejercicio simple introduce varias consideraciones a tener en cuenta cuando se trabaja con entradas digitales, se programan varias instrucciones if-then o se usan algunos operadores lgicos de if-then, PBASIC. Primero, in1 e in2 simplemente contienen el valor lgico de los pines de entrada: +5 V = 1 lgico y 0 V = 0 lgico. El pulsador activo alto PB1 entrega un 1 si est presionado. El pulsador activo bajo PB2 entrega un 0 cuando est presionado. El programa controla el estado lgico de las entradas; como programador, debe comprender como se relaciona esto con la condicin de presionado o no presionado de los botones. Esto es evidente en la primer lnea del programa donde se emplea un operador lgico AND.

Pgina 32 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Cuando considera las configuraciones de los botones, tiene sentido lgico que si In1 entrega un estado alto e In2 un estado bajo, entonces ambos botones estn presionados. Las acciones de los controladores industriales a menudo dependen del estado de muchos interruptores y contactos. Una revisin de los operadores lgicos de PBASIC, incluyendo AND, OR, XOR y NOT, puede ser conveniente para cumplir estos requerimientos usando un BASIC Stamp. Otro aspecto a observar en el Programa 2.1 es el flujo del programa. Las estructuras IF-THEN verifican una condicin y si esta condicin se cumple, entonces la ejecucin del programa salta hacia la etiqueta. En este caso, la rutina a la que salta simplemente imprime el estado de los interruptores en el StampPlot Lite. En aplicaciones industriales, esta porcin del programa podra causar una accin de salida apropiada. Dado que la ltima lnea de cada subrutina es GOTO Bucle, la ejecucin del programa salta al principio del bucle principal y cualquier parte de cdigo que se encuentre por debajo de la instruccin IF-THEN que caus la bifurcacin se ignora. El diagrama de flujo de la Figura 2.5 muestra como se ejecuta el programa. Figura 2.5: Diagrama de Flujo del Programa 2.1

Control Industrial Versin 1.1 Pgina 33

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Si se presionan ambos botones, la comprobacin (PB1 = 1) and (PB2 = 0) es verdadera. La ejecucin del programa se dirigira a la etiqueta Ambos La condicin Ambos Presionados se mostrara en la barra Ambos. User Status Bar del SPL y su computadora emitira un sonido. Luego, el programa salta de regreso a Bucle y verifica nuevamente los interruptores. Mientras ambos botones permanezcan presionados, el resultado de esta verificacin ser verdadero y se repetir la misma parte del programa. Si se deja uno o ambos botones sin presionar, las siguientes tres lneas de cdigo realizarn una verificacin de condiciones similares. Al presionar PB1 se hace verdadera la condicin PB1 = 1, la ejecucin salta a la etiqueta PB1, regresando luego al principio del bucle; en ese caso PB2 = 0 nunca se verificara. Esto es bueno o malo? En realidad no importa. Pero hay que tener en cuenta, que comprender el funcionamiento de mltiples instrucciones IFTHEN, puede ser una herramienta muy til para aplicaciones de programacin. Olvidarse de esto puede dar como resultado errores frustrantes y no muy fciles de corregir en su programa. Por ejemplo, que pasara en nuestro programa, si la verificacin de ambos botones presionados IF (PB1 = 1) AND (PB2 = 0) THEN Ambos se colocara a continuacin de las verificaciones individuales de cada botn? Desafo Rpido Mientras ejecuta el programa, intente reproducir el estado de los botones mostrado en la pantalla de la Figura 2.4.

Pgina 34 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Ejercicio 2 Rebote de Interruptores y Rutinas Anti-Rebote En el ejercicio anterior, se emple el nivel de estado estable del interruptor. La rutina informaba el estado del interruptor una vez por cada pasada del bucle. Qu sucede si se desea presionar rpidamente un botn para lograr que algo suceda solamente una vez? Hay dos problemas que deberemos enfrentar. El primero es: Qu tan rpido puede presionar y soltar un botn? Debe hacerlo en menos tiempo de lo que tarda en ejecutarse un ciclo de programa. El segundo problema es lidiar con el rebote del interruptor. Llamamos rebote del interruptor a la tendencia que tienen estos dispositivos a realizar varias acciones rpidas de encendido / apagado, en el instante que se activan o desactivan. El siguiente programa demostrar la dificultad asociada a realizar esta tarea. Se agregarn dos diodos emisores de luz como indicadores de salida en los pines Pin 4 y Pin 5. Conecte los LEDs como en la Figura 2.6. Figura 2.6: Circuitos de LED Activo Alto a ser agregados al Circuito del Ejercicio 1

Ingrese y ejecute el programa de acuerdo al procedimiento para emplear el StampPlot Lite. El estado de los pulsadores y los LEDs se mostrar en la pantalla. Cuando PB1 es presionado, los LEDs parpadearn. Puede ser usted lo suficientemente rpido como para hacerlos titilar solamente una vez? Intntelo.

Control Industrial Versin 1.1 Pgina 35

Experimento 2: Acondicionamiento de Seal de Entrada Digital

'Programa 2.2 Sin Anti Rebote PAUSE DEBUG DEBUG DEBUG 500 "!TITL Desafo de Velocidad",CR "!TMAX 25", CR "!PNTS 300", CR

' Ttulo para ventana StampPlot ' Configura tiempo de grfico (segundos) ' Configura cantidad de puntos ' ' ' ' ' ' Configura P1 como entrada Configura P2 como entrada LED Verde Inicializa encendido LED Rojo Inicializa apagado

INPUT 1 INPUT 2 OUTPUT 4 Out4 = 1 OUTPUT 5 Out5 = 0 Bucle: DEBUG IBIN In1, BIN In4, BIN In5, CR DEBUG DEC 0, CR IF In1 = 1 THEN Titila GOTO Bucle Titila: TOGGLE 4 TOGGLE 5 GOTO Bucle

' ' ' '

Dibuja el estado digital. Enva un 0 para desplazar grfico Controla el interruptor Agregar pause 5 si StampPlot se cuelga

' Invierte el estado de los pines

Si StampPlot Lite no responde a los datos que enva el BASIC Stamp, debera agregar una pequea pausa en la rutina Bucle:. Una PAUSE 2 o PAUSE 5 (incluso hasta 10 en computadoras muy lentas) aliviar los problemas que pueda encontrar en la transmisin de datos. Es casi imposible presionar y liberar el botn suficientemente rpido como para realizar la accin solamente una vez. Esto se muestra en la Figura 2.7. El bucle del programa se ejecuta demasiado rpido. Si usted es lento, el programa tiene la oportunidad de ejecutarse varias veces mientras el interruptor se encuentra presionado. Agregue a esto varios milisegundos de rebote y podra obtener muchos pulsos cada vez que presione el botn. Figura 2.7: La Respuesta Lenta y el Rebote Pueden Ser un Problema

Pgina 36 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital Reducir ms la velocidad de ejecucin del programa puede ayudar a remediar el problema. (Si el programa anterior no trabaj correctamente con StampPlot Lite, una disminucin en la velocidad de ejecucin permitir mejorar la transmisin serial de datos). Agregue una pausa de 250 milisegundos a la rutina Titila:. El interruptor tiene ahora 250 milisegundos para asentarse luego de ser presionado, para despus retornar a su posicin abierta. Incluya en su programa PAUSE 250 para incrementar el tiempo del bucle y cancelar el rebote del interruptor.
'Programa 2.3 (modifique este segmento del programa 2-2 para que se vea como abajo) Titila: ' Invierte el estado de los pines TOGGLE 4 TOGGLE 5 PAUSE 250 ' Agregada para mejorar tiempo de establecimiento GOTO Bucle

Figura 2.8: Agregar una Pausa Hace el Desafo Mucho Ms Fcil

Otorgando este tiempo de establecimiento, es mucho ms fcil lograr que Titila: se ejecute una sola vez, al presionar rpidamente el botn. Esta tcnica elimina el rebote del interruptor y le da tiempo suficiente para liberarlo antes del siguiente ciclo de programa. La PAUSE debe ser suficientemente larga para evitar estos inconvenientes. Sin embargo, si la PAUSE es demasiado larga, se podra presionar el botn sin que el microcontrolador lo note.

Control Industrial Versin 1.1 Pgina 37

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Ejercicio 3 Disparo por Flanco Las rutinas de conteo presentan problemas adicionales en la programacin de entradas digitales. El Ejercicio 2 us el comando PAUSE para eliminar el rebote del interruptor, tcnica que no se puede emplear en aplicaciones industriales tales como la cuenta de productos que se desplazan por una cinta transportadora. No solamente se trata de que el interruptor posee un rebote inherente a su construccin, sino que el producto a contar en s mismo puede tener forma irregular, tambalearse, o detenerse durante algn tiempo mientras activa el interruptor. Podra haber solamente un producto, pero el interruptor podra abrirse y cerrarse varias veces. Adems, si el producto permanece en contacto con el interruptor durante varios ciclos del bucle, el programa debera registrarlo una sola vez y no continuamente como en el Programa 2.2. El Programa 2.4 usa una variable bandera para crear un programa que responde a las transiciones iniciales de estado bajo a alto del interruptor. Una vez que se detecta este flanco ascendente en la entrada digital, Titilar: se ejecutar. Luego se activar la bandera para evitar otras ejecuciones hasta que el producto haya liberado el interruptor, regresando nuevamente al estado bajo. Ingrese el Programa 2.4.
' Programa 2.4: Deteccin del Flanco del Interruptor ' Cuenta y muestra la cantidad de pulsos en PB1. ' La cuenta se reinicia presionando PB2. PAUSE DEBUG DEBUG DEBUG DEBUG DEBUG 500 "!TITL Activacin por Flanco",CR "!TMAX 50",CR "!PNTS 300",CR "!AMAX 20",CR "!MAXR",CR

' ' ' '

' Ttulo para la ventana StampPlot Configura tiempo de grfico (segundos) Configura cantidad de puntos de datos Configura eje vertical (cantidad) Reinicia al alcanzar el mximo

INPUT 1 INPUT 2 PB1 VAR In1 PB2 VAR In2 Band1 VAR bit Band2 VAR bit Contar VAR word Band1 = 0 Band2 = 0 Contar = 0 Bucle: PAUSE DEBUG DEBUG DEBUG

' bandera para PB1 ' bandera para PB2 ' variable tipo word para contar ' limpia banderas y contador

50 "!USRS Total = ",DEC Contar, CR DEC Contar, CR IBIN PB1, BIN PB2,CR

' Muestra valor contador ' Muestra el mismo valor como trazo analgico ' Grafica estado digital. ' Si se presion, cuenta y muestra ' Sino, reinicia bandera en 0

IF PB1 = 1 THEN Cuenta Band1 = 0

Pgina 38 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital


IF In2 = 0 THEN Borra Band2 = 0 GOTO Bucle Cuenta: IF (PB1 = 0) OR (Band1 = 1) THEN Bucle Contar = Contar +1 Band1 = 1 GOTO Bucle Borra: IF(In2 = 1) OR (Band2 = 1) THEN Bucle ' Si PB2 es presionado, pone contador en 0

' ' ' '

Si deja de estar presionado O la bandera est activa, saltea Incrementa la cuenta Una vez contado, pone bandera en 1

' Si no est presionado O la bandera ' est activa, saltea Contar = 0 ' Pone contador en 0 Band2 = 1 ' Evita que se borre nuevamente DEBUG "Cuenta reiniciada. Total = ", DEC Contar, CR GOTO Bucle

Cuando PB1 es presionado, el programa salta a la rutina Cuenta. Observe que la primer lnea de esta rutina verifica si el interruptor est abierto o la bandera Band1 est activada. Ninguna es verdadera en la primer pasada por el programa. Por lo tanto, Contar es incrementada, Band1 es puesta en 1 y el programa regresa a Bucle. Si PB1 an sigue presionado, Cuenta se ejecuta nuevamente. Esta vez, sin embargo, con Band1 activada, la instruccin IF-THEN enva el programa de regreso a Bucle sin incrementar Contar nuevamente. Sin importar cuanto tiempo est presionado el botn, solamente se contar una unidad por cada vez que se lo presione. Aunque en este caso solamente est incrementando el valor de la variable Contar, este programa podra ser parte de una rutina llamada por una aplicacin industrial. La Figura 2.9 muestra como se vera este programa funcionando con SPL.

Control Industrial Versin 1.1 Pgina 39

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Figura 2.9: Programa 2.4 en SPL Contador de Flancos

Desafo de Programacin 1: Estacionamiento. Use los LEDs de los Pines 4 y 5, junto con los dos pulsadores, para simular un estacionamiento de automotores. Suponga que el estacionamiento puede ubicar 24 autos. El pulsado PB1 contar los autos a medida que ingresen al estacionamiento. El pulsador PB2 contar los autos a medida que salen. Escriba un programa que determine la cantidad total de autos estacionados, aumentando la cuenta con PB1 y disminuyndola con PB2. Mantenga el LED verde encendido mientras haya lugar libre en el estacionamiento. Encienda el LED rojo cuando el estacionamiento est lleno. Muestre continuamente cuntos espacios de estacionamiento hay disponibles en la ventana User Status (!USRS). Tambin muestre continuamente la cantidad de autos estacionados. Desafo Adicional de StampPlot Lite Mantenga un registro de la cantidad de veces que el estacionamiento pas de Hay lugar a Lleno (vea el Apndice A y el archivo de ayuda de StampPlot Lite para obtener informacin sobre el uso de la opcin Save Data to File--Guardar Datos en Archivo).

Pgina 40 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Comando BUTTON: Rutina Anti Rebote de PBASIC Eliminar el rebote de los interruptores es una tarea comn en programacin. Parallax desarroll dentro del juego de instrucciones PBASIC2 un comando especfico para trabajar con la deteccin de seal de entrada digital. El comando se llama button. La sintaxis del comando se muestra en el cuadro siguiente. Referencia Rpida de Comandos PBASIC: BUTTON
BUTTON pin, estadoactivo,retardo,repetir,bytevariable,estadosalto, direccin

Pin: (0-15) Nmero de pin de la entrada. Estadoactivo: (0 or 1) Especifica el estado lgico que ocurre al activar el interruptor. Retardo: (0-255) Especifica el tiempo de establecimiento del interruptor. Nota: 0 y 255 son casos especiales. Si retardo es 0, Button no elimina el rebote ni ejecuta autorepeticin. Si es 255, Button elimina el rebote pero no ejecuta autorepeticin. Repetir: (0-255) Especifica la cantidad de ciclos por repeticin. Bytevariable: Nombre de una variable tipo byte que sirve como espacio de trabajo para la instruccin BUTTON. Estadosalto: Estado del pin en el que se pretende que salte. Direccin: Etiqueta a la que saltar el programa cuando se cumplan las condiciones.

Para probar esta funcin con nuestra rutina, cargue y ejecute el Programa 2.5.
' Programa 2.5: Uso de BUTTON con StampPlot ' Use BUTTON para contar y mostrar la cantidad de veces que se presiona PB1. ' Reinicie la cuenta total con PB2. PAUSE DEBUG DEBUG DEBUG DEBUG DEBUG 500 "!TITL Uso de BUTTON",CR "!TMAX 50",CR "!PNTS 300",CR "!AMAX 20",CR "!MAXR",CR byte byte

' ' ' ' ' ' ' ' '

Ttulo de ventana StampPlot Configura tiempo de grfico (segundos) Configura cantidad de puntos Configura eje vertical Reinicia cuando llega a mxima cant. De puntos Espacio Se debe Espacio Se debe de trabajo limpiar la de trabajo limpiar la para BUTTON variable al para BUTTON variable al de PB1 inicio de PB2 inicio

EspTrabajo1 VAR EspTrabajo1 = 0 EspTrabajo2 VAR EspTrabajo2 = 0 Contar VAR word Contar = 0 Bucle: PAUSE 50

' Variable para almacenar la cuenta

Control Industrial Versin 1.1 Pgina 41

Experimento 2: Acondicionamiento de Seal de Entrada Digital


BUTTON 1,1,255,0,EspTrabajo1,1,Cuenta BUTTON 2,0,255,0,EspTrabajo2,1,Borra ' Deteccin flanco sin rebote de PB1 ' Deteccin flanco sin rebote de PB2

DEBUG "!USRS Total = ", DEC Contar, CR ' Muestra el total en el recuadro Status DEBUG DEC Contar, CR ' Muestra el valor del contador con trazo analgico DEBUG IBIN In1, BIN In2, CR ' Grafica el estado digital. GOTO Bucle Cuenta: Contar = Contar +1 GOTO Bucle

' Incrementa Contar

Borra: Contar = 0 ' Reinicia la cuenta a 0 DEBUG "Cuenta reiniciada. Total = ", DEC Contar, CR ' Muestra mensaje en el recuadro Text GOTO Bucle

Revise la documentacin sobre el comando BUTTON en el BASIC Stamp Programming Manual Versin 1.9 (en Ingls). Este es un comando muy til para aplicaciones industriales. Experimente cambiando el tiempo de retardo de 50 a 100 y a 200. Vea si puede presionar el botn ms de una vez, por cada vez que se ejecute una instruccin Cuenta. Cul es el riesgo de permitir demasiado tiempo de establecimiento en aplicaciones de alta velocidad? Guarde este programa; ser modificado ligeramente en el siguiente desafo de programacin. Fuentes de Entrada Digital Electrnicas Es muy comn que las entradas digitales provengan de las salidas de otros circuitos electrnicos. Estas entradas pueden provenir de una variedad de fuentes electrnicas, incluyendo detectores de proximidad capacitivos o inductivos, optocuplas o interruptores pticos, circuitos de acondicionamiento de seal de sensores, compuertas lgicas y salidas de otros microcontroladores, microprocesadores, o sistemas de control lgico programables.

Pgina 42 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital Hay varias cosas a considerar cuando conecta estas fuentes a un BASIC Stamp. Primero: Son elctricamente compatibles? 1. La tensin de la fuente de seal est dentro de los lmites de entrada del BASIC Stamp? 2. La referencia de masa del circuito es la misma que la del BASIC Stamp? 3. Es necesario aislar un circuito ante la eventual falla elctrica del otro? La Figura 2.10 muestra varias posibilidades de interconexin elctrica que podra necesitar. Una vez que se obtiene una seal compatible, aparece la siguiente interrogante, El programa est en condiciones de responder a la seal? 1. El rebote del interruptor representa un problema? 2. Qu tan rpidos son los datos? Cul es su frecuencia? Cul es el tiempo del pulso mnimo? 3. La accin se debe tomar en el nivel de estado estable de los datos o en su flanco ascendente o descendente? Las tcnicas vistas para tratar con el rebote y los disparos por flanco de los pulsadores manuales, tambin son vlidas para los interruptores electrnicos.

Control Industrial Versin 1.1 Pgina 43

Experimento 2: Acondicionamiento de Seal de Entrada Digital Figura 2.10: Interfaz de Electrnica de Entrada al BASIC Stamp

(a) Las salidas de circuitos TTL y CMOS alimentadas desde una fuente de +5 Volt pueden ser aplicadas directamente a los pines de entrada del BASIC Stamp. Si los dos sistemas estn alimentados desde los mismos 5 Volts, perfecto. Sino al menos las masas deben ser comunes (conectadas juntas). (b) Los dispositivos de baja tensin (+3 V) pueden ser conectados usando un 74HCT03 u otra compuerta de colector abierto similar con un resistor de pull-up a la fuente de +5 Volt del BASIC Stamp. Alimente el chip con su fuente de baja tensin y una las masas. (c) Las seales digitales de alta tensin pueden conectarse mediante un buffer 74HC4050 o un inversor 74HC4049 alimentado con +5 Volts. Estos dispositivos pueden manejar con seguridad entradas de hasta 15 Volts. Nuevamente, las masas deben ser comunes. (d) Una configuracin de amplificador operacional trabajando como comparador con referencia puede establecer una salida Alta / baja de acuerdo a si la entrada analgica est por encima o debajo de una tensin de referencia. El LM358 es un amplificador operacional cuya salida puede ir desde masa hasta cerca de Vdd con una alimentacin simple de +5 Volt. Lo usaremos en la prxima aplicacin. (e) Se puede usar una optocupla para conectar diferentes niveles de tensin al BASIC Stamp. El resistor del LED limita la corriente a un nivel seguro, mientras que permite un nivel de luz suficiente para saturar el fototransistor. El circuito de entrada puede ser aislado totalmente de la fuente de alimentacin del fototransistor del BASIC Stamp. Esta aislamiento provee proteccin efectiva de cada circuito, en el caso que el otro falle.

Ejercicio 4: Interruptor Electrnico

Pgina 44 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital Los interruptores electrnicos que proveen deteccin sin contacto son muy populares en aplicaciones industriales. Activacin sin contacto fsico significa que no hay que usar contactos elctricos ni partes mviles. El pulsador que usamos anteriormente servira en una aplicacin donde se lo presionara varios miles de veces. Sin embargo, en algn momento su resorte se gastar, o sus contactos de desgastarn u oxidarn, hasta el punto que deje de ser conveniente usarlo. Los interruptores elctricos industriales utilizan uno de tres principios. Los interruptores de proximidad inductivos miden el cambio en el rendimiento de un oscilador, cuando objetos de metal se acercan. A menudo los objetos de metal absorben energa mediante corrientes parsitas, lo que hace que el oscilador se detenga. Los interruptores de proximidad capacitivos miden un incremento en la capacidad cuando se les acerca cualquier tipo de material. Cuando el incremento es suficientemente grande, causa que el oscilador interno comience a oscilar. El circuito se dispara y el estado de la salida cambia. Los interruptores pticos detectan la presencia o ausencia de un angosto haz de luz, a menudo en el rango infrarrojo. En interruptores pticos reflectivos, el haz de luz podra reflejarse en un objeto mvil hacia el sensor ptico del interruptor. Otros interruptores pticos se configuran de forma que un objeto bloquee el haz de luz que va desde la fuente de luz hasta el receptor. La salida de un interruptor electrnico es una seal de dos estados. Su etapa final puede ser cualquiera de las mostradas en la Figura 2.10. Como tcnico y desarrollador de aplicaciones, debe considerar la naturaleza de este circuito de seal y condicionarlo para la entrada digital del microcontrolador. La hoja de datos del fabricante le dar informacin sobre la tensin de operacin del interruptor y conexiones de cargas tpicas.

Interruptor de Proximidad? Los interruptores de proximidad detectan la presencia de un objeto, sin contacto fsico. Los interruptores de la figura representan las tres principales categoras: Inductivo, Capacitivo y ptico

Aunque puede tomar el pin de entrada digital del BASIC Stamp como una carga, el interruptor electrnico puede necesitar un resistor de referencia como se emple en la Figura 2.2. Normalmente, la salida del interruptor de proximidad estar muy cerca de 0 Volts en un estado y muy cerca de la tensin de fuente en el otro. Siempre es una buena idea medir la tensin de los estados del interruptor con un voltmetro, antes de conectarlo a un microcontrolador desprotegido. Si las tensiones de salida no estn dentro de los lmites compatibles con el BASIC Stamp, necesitar usar alguno de los circuitos mostrados en la Figura 2.10 como interfaz apropiada.

Control Industrial Versin 1.1 Pgina 45

Experimento 2: Acondicionamiento de Seal de Entrada Digital

El ejercicio siguiente se enfoca en el diseo y montaje de un interruptor ptico. Usaremos este interruptor para contar y detectar objetos. Luego el interruptor se usar como tacmetro, para determinar las RPM. En la Figura 2.11, el diodo emisor de luz infrarroja (LED) y el fototransistor infrarrojo forman un par emisor / detector acoplado. La luz emitida por el LED causar una corriente en el colector del fototransistor. Un aumento en la corriente de colector lleva al fototransistor hacia la saturacin (masa). Si se evita que la luz llegue al fototransistor, este se va hacia el corte y la tensin de colector aumenta positivamente. Estas condiciones de luz y oscuridad normalmente no generarn una seal TTL vlida en el colector del transistor. Si aplicamos esta seal a la entrada de un comparador con referencia, podremos establecer un punto de ajuste entre las dos condiciones. La salida del comparador ser una seal lgica compatible con TTL. Su nivel de salida depende de qu lado del punto de ajuste, se encuentra la salida del fototransistor. El amplificador operacional LM358 es una buena eleccin para esta aplicacin. Puede operar con una fuente simple de +5 Volt y sus tensiones de salida son casi iguales a las tensiones de la fuente de alimentacin +5 y masa. Construya cuidadosamente el circuito de la Figura 2.11 en la protoboard. Montar los componentes cerca de un extremo como se muestra en el diagrama, nos permitir agregar ms componentes en los prximos ejercicios. Haga un doblez de 90o en las patas del LED y del fototransistor para que queden paralelos a la mesa. El fototransistor y el LED deberan ponerse apuntando hacia fuera del borde de la protoboard. El LED en la Figura 2.11 emite continuamente un haz de luz infrarroja. Con el LED y el fototransistor lado a lado, hay poca o ninguna luz entrando al fototransistor debido a que no hay nada reflectivo frente a l. Si un objeto se aproxima al par, parte de la luz del LED se reflejar hacia el fototransistor. Cuando la luz lo alcanza, la corriente de colector fluir y su tensin caer. Con esta configuracin, la reflexin proveniente de un objeto que pasa por delante del par, ser detectada por el fototransistor. La cantidad de luz reflejada hacia el sensor depende de la reflectividad ptica del objeto y de la geometra del haz de luz. En nuestro caso intentaremos determinar la presencia de un objeto blanco y plano. Con el emisor y el detector montados lado a lado, intentar la deteccin del objeto a una distancia de dos o tres centmetros. Debe medir un par de tensiones para calibrar la presencia de un objeto. Coloque un voltmetro entre el emisor y el colector del fototransistor. Mida la tensin cuando no hay ningn objeto frente al sensor. Anote este valor en la Tabla 2.3. Luego, acerque y aleje del par un trozo de papel blanco, mientras observa la variacin de tensin. A medida que el papel se acerca al par IR, la luz reflejada incrementa la corriente de colector y lleva al transistor hacia la saturacin (bajo). Anote la lectura de tensin con el papel a unos dos centmetros de los sensores, en la Tabla 2.3. La diferencia entre estas mediciones puede ser bastante pequea, como 0,5 V, pero esto ser suficiente para disparar el amplificador operacional. Esta seal se aplica en la entrada inversora del LM358. El potencimetro proveer la tensin de referencia en la entrada no inversora. Esta referencia ser un valor intermedio entre las lecturas de la Tabla 2.3.

Pgina 46 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Figura 2.11a y b: Dibujo y Esquema Elctrico del Interruptor Reflectivo

Control Industrial Versin 1.1 Pgina 47

Experimento 2: Acondicionamiento de Seal de Entrada Digital Ajuste el potencimetro para proveer la tensin de referencia apropiada, que es el punto medio entre ambas mediciones. Al verificar la salida del LM358 se debera encontrar una seal compatible con el BASIC Stamp. La salida debera estar baja sin anteponer el objeto y alta al colocar un objeto blanco frente al par emisor / detector. Mida estas dos tensiones a la salida del LM358 anotando los valores en la Tabla 2.3. Si la seal de salida es compatible, aplquela al Pin 3 del BASIC Stamp. Detectar la luz reflejada por un objeto es lo que llamamos deteccin reflectiva. Tabla 2.3: Valores de Tensin del Fototransistor y el LM358 Condicin Sin objeto sin reflexin Con objeto reflexin total Tensin de Referencia Tensin en el Fototransistor Tensin de Salida del LM358

Esta habilidad de obtener una conmutacin dependiendo de la luz recibida es muy til para aplicaciones industriales tales como conteo de productos, control de cintas transportadoras, medicin de RPM, etc. El siguiente ejercicio demostrar una operacin de conteo. Usted deber ayudar, sin embargo, usando su imaginacin. Supongamos que se estn transfiriendo botellas de leche por una cinta transportadora, desde el sector de llenado al de empaque. Corte una tira de papel blanco para representar una botella de leche. Pasarla por delante de nuestro interruptor representa una botella desplazndose por la cinta transportadora. Solamente se necesita una pequea modificacin al programa anterior para probar nuestro nuevo interruptor. Si tiene cargado el Programa 2.5, simplemente modifique la instruccin button cambiando el identificador de entrada de Pin 1 a 3. La lnea modificada se vera as:
' Programa 2.6 (modificacin del Programa 2.5 para trabajar con el interruptor reflectivo) BUTTON 3,1,255,0,EspTrabajo1,1,Cuenta ' Deteccin de disparo por flanco sin rebote del interruptor ptico

Desafo de Programacin 2: Empacadora de Botellas de Leche Revea el Experimento 1 y considere la disposicin de cinta transportadora de la Figura 1.2. Asumiremos que el controlador est contando botellas blancas de leche. Nuestro interruptor reflectivo podra reemplazar el interruptor Detector1 de la figura original. El pulsador activo alto PB1 podra encender y apagar el motor. El LED de P4 puede encenderse para indicar que el motor est encendido. El LED de P5 controla la compuerta de desvo. En estado alto la compuerta est hacia la derecha y en estado bajo, a la izquierda.

Pgina 48 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital Su desafo es encender el motor con PB1 y contar botellas a medida que pasan. Cada seis botellas, TOGGLE (invierta) la posicin de la compuerta que se indica encendiendo o apagando el LED en P4. Despus de haber enviado 4 paquetes de seis botellas a cada lado, apague el motor. El proceso podra reiniciarse presionando el botn Reset. Vea la Figura 2.12 para comprender como trabaja el diagrama de flujo. Figura 2.12: Diagrama de Flujo de la Empacadora de Botellas de Leche

Control Industrial Versin 1.1 Pgina 49

Experimento 2: Acondicionamiento de Seal de Entrada Digital Ejercicio 5: Tacmetro Monitorear y controlar la velocidad de giro es importante en muchas aplicaciones industriales. Un tacmetro mide la cantidad de rotaciones de un eje en una unidad de tiempo. La medicin normalmente es expresada en revoluciones por minuto (RPM). Un interruptor ptico reflectivo puede abrirse y cerrarse suficientemente rpido como para poder contar franjas negras pintadas en el eje de un motor. Contar la cantidad de activaciones durante una cantidad conocida de tiempo provee suficiente informacin para calcular las RPM. La Figura 2.13 muestra cinco ejemplos de discos codificadores que podran colocarse en el extremo del eje de un motor. Si el interruptor ptico se enfrenta al disco rotativo, generar pulsos a medida que pasen frente a l los distintos sectores. La cantidad de segmentos blancos (o negros) representa la cantidad de pulsos del interruptor por giro completo del eje. El primer disco codificador tiene un segmento blanco y otro negro. En cada giro el segmento blanco estar frente al interruptor la mitad del tiempo, generando un estado alto durante la mitad de la rotacin. Durante la otra mitad de la rotacin, el segmento negro estar frente al disco, absorbiendo la luz infrarroja sin reflejar nada, por lo que el interruptor estar en estado bajo. Por cada revolucin se completa un ciclo de alto-bajo. El juego de instrucciones del PBASIC2 nos provee de un comando til llamado COUNT que puede ser usado para contar la cantidad de transiciones que ocurren en una entrada digital durante cierto intervalo de tiempo. Su sintaxis se muestra a continuacin. Referencia Rpida de Comandos PBASIC: COUNT
COUNT pin, perodo, variable

Pin: (0-15) Identificador de pin de entrada. Perodo:(0-65535) Especifica el tiempo en ms durante el que contar. Variable: Variable en la que se almacenar esa cantidad.

El siguiente ejercicio usa la instruccin COUNT, el interruptor ptico y los discos codificadores para obtener datos sobre velocidad. Comencemos cortando el primer disco codificador. Coloque cinta adhesiva en la parte trasera del disco, para pegarlo al centro de la hlice del ventilador (puede recortar los discos codificadores del tamao necesario del Apndice B de este libro). El ventilador es de 12 V. Su velocidad cambia con tensiones que varan desde 12 V hasta aproximadamente 3,5 V. Esta es la cada de tensin del circuito de control del motor sin escobillas. Pruebe su ventilador conectndolo directamente primero a Vdd (+5 Volts) y luego a +Vin (tensin sin regular). Busque en su plaqueta el rtulo Vin, para tener acceso a la tensin de entrada sin regular. Debe respetar la polaridad en los motores sin escobillas. El cable rojo es el positivo (+V) y el negro va conectado a masa Vss. El ventilador debera colocarse de forma que el disco codificador apunte hacia el par IR.

Pgina 50 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital Figura 2.13: Discos Codificadores para Interruptor ptico Reflectivo (versiones para recortar en el Apndice B)

Control Industrial Versin 1.1 Pgina 51

Experimento 2: Acondicionamiento de Seal de Entrada Digital

El primer disco codificador tiene un sector negro y uno blanco. A medida que rota, el interruptor ptico debera activarse y desactivarse una vez por cada vuelta o revolucin. Ingrese el Programa 2.7 de Prueba de Tacmetro.
' Programa 2.7 Prueba de Tacmetro con el StampPlot ' Inicializa parmetros de interfaz grfica. ' (Tambin pueden configurarse o modificarse en la ventana del SPL) DEBUG "!AMAX 8000",CR ' Escala Completa RPM DEBUG "!AMIN 0",CR ' Escala mnima RPM DEBUG "!TMAX 100",CR ' Eje de tiempo mximo DEBUG "!TMIN 0",CR ' Eje de tiempo mnimo DEBUG "!AMUL 1",CR ' Multiplicador de escala analgica DEBUG "!PNTS 600",CR ' Dibuja 600 puntos de datos DEBUG "!PLOT ON",CR ' Enciende el graficador DEBUG "!RSET",CR ' Reinicia la pantalla Contar VAR word RPM VAR word Contar = 0 Bucle: COUNT 3,1000, Contar RPM = Contar * 60 ' Variable para llevar la cuenta ' Variable para RPM calculadas ' Limpia Contar

' Contar los pulsos del pin 3 por 1 segundo ' Ajusta escala de RPM

DEBUG DEC RPM, CR ' Enva el valor de RPM a graficador y barra de estado DEBUG "!USRS RPM actuales ", DEC RPM, CR GOTO Bucle

A medida que la hlice gira, los pulsos generados por el interruptor ptico se contarn durante 1000 milisegundos (un segundo). Con una duracin de la rutina Contar de un segundo, y producindose un ciclo por cada rotacin, obtenemos directamente la velocidad de rotacin de la hlice en ciclos por segundo. Pero normalmente, la velocidad de rotacin de un disco se describe en revoluciones por minuto (RPM). Multiplicando las revoluciones por segundo por 60, obtenemos la cantidad de RPM. Ejecute su programa. La ventana debug aparecer primero mostrando la informacin serial para configurar StampPlot Lite. Cierre la ventana debug del BASIC Stamp y abra StampPlot Lite. Tilde Connect y Plot Data y presione Restart. Presione el botn de Reset de su plaqueta y el SPL comenzar a graficar. La Figura 2.14 muestra un ejemplo del grfico con las RPM alimentando el motor a distintas tensiones .

Pgina 52 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Figura 2.14: RPM del Ventilador de CC sin Escobillas a Distintas Tensiones

RPM actuales 0

El disco codificador giratorio podra generar una salida de picos del fototransistor ligeramente diferente en condiciones de luz y oscuridad. Si su sistema no responde correctamente, cambie el punto de ajuste del potencimetro hasta encontrar el nuevo valor promedio. Si tiene acceso a un osciloscopio, mida la salida pico a pico del fototransistor y la tensin que aplica el potencimetro sobre el comparador. El rendimiento ptimo se obtendr si ajusta la tensin de referencia, en el punto medio de los niveles de tensin pico a pico. Observe la frecuencia y la forma de onda de la seal. Un ejemplo de la lectura del osciloscopio se muestra en la Figura 2.15. La lectura de 84,7 Hz equivale a una lectura de debug igual a: Contar = 84; RPM = 5040. Los 84,7 Hz . medidos por el osciloscopio reflejan una RPM real de 84,7 x 60 = 5082. El BASIC Stamp usa solamente los 84 ciclos completos que se produjeron durante el segundo que dur la captura de datos.

Control Industrial Versin 1.1 Pgina 53

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Figura 2.15: Trazos del Osciloscopio para un Codificador de 2 Pulsos / vuelta

Anote la lectura del tacmetro cuando se aplica la tensin mxima al motor. Puede usar Vin en su plaqueta (entrada directa de tensin de fuente, siempre que sea menor de 12 V) para mxima velocidad, o Vdd (5 V regulados) para obtener una velocidad menor. Contar = ___________ RPM = _____________

Cuando pruebe su tacmetro, observe lo que sucede si disminuye la velocidad del ventilador, aplicando ligeramente rozamiento con su dedo. Si utiliza el disco de 1 pulso / vuelta, contar decrecer de a una unidad, de 83 a 82 a 81, etc. y las lecturas de RPM caeran por un factor de 60 (4980 a 4920 a 4860, etc.).

Pgina 54 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Debido a que estamos contando durante un segundo y obtenemos un pulso por vuelta, el programa puede obtener las RPM con una resolucin de 60 unidades. Para mejorar la resolucin en la lectura de las RPM, tiene un par de opciones: incrementar el tiempo durante el cual se realiza la cuenta, o aumentar la cantidad de pulsos por vuelta. Probemos la primer opcin. Incremente el tiempo de conteo del Programa 2.7 de 1000 milisegundos a 2000 milisegundos. Haciendo esto, el microcontrolador estar leyendo los pulsos durante dos segundos y las RPM se obtendrn calculando [(Contar/2 segundos) x 60}. Esto se simplifica a RPM = 30 x Contar obteniendo una resolucin de 30 RPM. En el Programa 2.7, cambie en la lnea RPM = Contar * 60 el valor de escala de 60 a 30. Pruebe su sistema. Al incrementar la duracin del conteo se increment la precisin de la medicin de las RPM. Vea la Tabla 2.4. . Tabla 2.4: RPM Obtenidas de un Codificador de 1 Pulso / vuelta con Distintos Tiempos de Conteo. Duracin Conteo 1000 mS 2000 mS 3000 mS 60000 mS Contar 84 169 254 5082 Escala 60 30 20 1 RPM 5040 5070 5080 5082 Resolucin 60 RPM 30 RPM 20 RPM 1 RPM

Como puede ver, para obtener una resolucin de una RPM, nuestra rutina de conteo debe tener una duracin de todo un minuto (60.000 ms). A menos que usted sea muy paciente, esto es inaceptable. En trminos de programacin, el BASIC Stamp est atado a la funcin BUTTON por la duracin total. Durante este tiempo, no se atiende el resto del programa. Por esta razn, una duracin tan larga no es recomendable. Otro mtodo para mejorar la resolucin es incrementar la cantidad de pulsos por vuelta. Corte el segundo disco codificador y pguelo a la hlice de su ventilador. Este disco tiene dos segmentos blancos y producir dos pulsos a contar por revolucin. Durante un conteo de un segundo de duracin, este codificador producir el doble de pulsos de los que produca el primer codificador. La lnea de clculo de RPM del programa, debera ser RPM = Contar x 60 / 2 para este codificador, o RPM = Contar x 30. Intntelo! El tercer disco codificador tiene an ms resolucin, con cuatro pulsos por vuelta. Coloque este codificador en su ventilador y modifique la lnea de RPM a RPM = Contar * 15. Podra necesitar modificar la calibracin de la referencia del comparador cada vez que cambia de un disco codificador a otro.

Control Industrial Versin 1.1 Pgina 55

Experimento 2: Acondicionamiento de Seal de Entrada Digital Si usa el codificador de seis pulsos, qu valor debera usar para ajustar la escala de Contar a RPM? Coloque su respuesta en la Tabla 2.5. La Figura 2.16 muestra trazos de osciloscopios tomados usando discos codificadores de dos pulsos, cuatro pulsos, y seis pulsos por vuelta, rotando a 4.980 RPM. Son las propiedades focales del par emisor / detector las que limitarn la cantidad mxima de segmentos que podr tener el disco codificador. Puede encontrar difcil de usar el codificador de seis pulsos / vuelta si no usa algn tipo de filtro o enfoque en el haz de luz. Figura 2.16: Trazos de Osciloscopio para Discos Codificadores de 2 Pulsos, 4 Pulsos y 6 Pulsos / vuelta

La precisin requerida en un tacmetro depender de cada aplicacin. Los codificadores comerciales vienen con resoluciones mayores de 500 pulsos por revolucin. Complete los valores apropiados en la Tabla 2.5 para obtener un codificador con una resolucin de 360 pulsos por revolucin.

Pgina 56 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital Tabla 2.5: Velocidad de Giro Dada de 4.980 RPM Pulsos por Vuelta 1 2 4 6 360 Contar 83 166 312 498 ______ Factor de Escala 60 30 20 ______ ______ RPM 4,980 4,980 4,980 4,980 _______

Desafo 3: Monitorear y Controlar la Velocidad de un Motor. Al variar la tensin aplicada a un pequeo motor sin escobillas, se vara su velocidad. El BASIC Stamp no tiene una salida analgica continua. El comando de modulacin por ancho de pulso (PWM) le permite al BASIC Stamp generar una tensin analgica promedio controlable. La sintaxis del comando PWM se muestra a continuacin. Referencia Rpida de Comandos PBASIC: PWM PWM Pin, Trabajo, Ciclos. Pin: especifica el pin que generar la tensin de salida. Trabajo: es un valor entre 0 y 255 que expresa la salida analgica promedio entre 0 y 5 Volts. Ciclos: es un valor entre 0 y 255 que especifica la duracin del PWM en milisegundos. La instruccin PWM 7,190,30 producir en el pin de salida 7, una serie de pulsos cuyo tiempo en estado alto promedio es 0,75 (190/255), durante 30 milisegundos. Durante este tiempo, la tensin promedio en el pin es de 0,75 x 5 o 3,5 Volts. Para mantener el valor de esta tensin promedio durante la ejecucin de un bucle completo del programa, se debe desarrollar un circuito de muestreo y retencin (sample and hold). La Figura 2.17 muestra un circuito sample and hold que funcionar correctamente con el motor sin escobillas. El capacitor Chold se carga durante el comando PWM a la tensin promedio. Al finalizar su ejecucin, PWM cambia la direccin del pin de salida a entrada. Esto coloca al pin en una condicin de alta impedancia y la carga del capacitor se retiene debido a la alta impedancia del pin 7, del dielctrico del capacitor y la entrada del amplificador operacional (op amp). El operacional se configura con una ganancia 3 mediante la red RF/Rin (Av = Rf/Rin + 1). La salida de este amplificador alimenta al transistor Q1. ste provee la amplificacin de corriente para alimentar la carga. Idealmente la carga, as como la tensin en el capacitor, podra retenerse indefinidamente. Pequeas corrientes de prdida en el capacitor y de polarizacin en el operacional causan ligeras variaciones en la tensin entre cada comando PWM. Normalmente la corriente de polarizacin es el efecto dominante, lo que resulta en un leve aumento de la tensin.

Control Industrial Versin 1.1 Pgina 57

Experimento 2: Acondicionamiento de Seal de Entrada Digital La Figura 2.1 usa el segundo operacional de su LM358. Agregue cuidadosamente este circuito a su tacmetro, en la protoboard. Observe que la fuente de alimentacin del operacional se cambi a la entrada de fuente sin regular (9 Volts). Esto permite que el circuito tenga una salida de tensin que se aproximar al valor de la fuente. El operacional que funciona como comparador en su tacmetro tambin tendr una salida mayor. Nota: Es imprescindible que coloque el diodo Zener que se muestra en la Figura 2.11, para limitar la tensin en el P3 a 5 Volts. Su BASIC Stamp estar en peligro si la tensin excede los 5V. Figura 2.17 Ventilador alimentado por un PWM con sample and hold.

Ventilador

Comprobando el Sample and Hold La electrnica interna del ventilador necesita entre 4 y 5 Volts para funcionar. La tensin aplicada al ventilador ser aproximadamente igual a: (5V x Trabajo/255) x 3. De acuerdo a esta ecuacin, las tensiones entre 4 y 12 se generarn con valores de Trabajo entre 70 y 210. Reemplace Trabajo con los valores que aparecen en la Tabla 2.6 y use un voltmetro para registrar el valor de tensin aplicado al ventilador, para cada valor listado.

Pgina 58 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

'Programa 2.8 Bucle:

Prueba de Sample and Hold

PWM 7, (Trabajo), 60 PAUSE 500 GOTO Bucle

Tabla 2.6 Trabajo 60 80 100 120 140 Tensin Trabajo 160 180 200 220 254 Tensin

Luego, el tacmetro del Programa 2.7 se modificar para incluir el PWM con el circuito Sample and Hold. Recuerde que este programa informaba las RPM del motor contando los pulsos provenientes del disco codificador durante 1 segundo. Si no se usara Sample and Hold, el motor se detendra durante este perodo de un segundo. El Programa 2.9 muestra las modificaciones resaltadas en negritas. El programa operar el motor incrementando el Ciclo de Trabajo entre 70 y 210. Cada incremento se probar durante aproximadamente 5 segundos. StampPlot mostrar estos valores en el recuadro de estado y graficar las RPM continuamente. La frmula para calcular la tensin esperada asume que el circuito sigue la funcin transferencia discutida anteriormente. Puede modificar esta frmula para ajustar mejor su circuito, basndose en las pruebas realizadas en el Programa 2.8. Modifique el Programa 2.7 como se muestra a continuacin (las instrucciones agregadas estn en negritas). Ejecute el programa y anote las caractersticas tensin velocidad en la Tabla 2.6.
'Programa 2.9 (Programa 2.7 Modificado - con StampPlot) ' Inicializa parmetros de interfaz grfica. ' (Tambin pueden configurarse o modificarse en la ventana del SPL) DEBUG "!AMAX 8000",CR ' Escala Completa RPM DEBUG "!AMIN 0",CR ' Escala mnima RPM DEBUG "!TMAX 100",CR ' Eje de tiempo mximo DEBUG "!TMIN 0",CR ' Eje de tiempo mnimo DEBUG "!AMUL 1",CR ' Multiplicador de escala analgica DEBUG "!PNTS 600",CR ' Dibuja 600 puntos de datos DEBUG "!PLOT ON",CR ' Enciende el graficador DEBUG "!RSET",CR ' Reinicia la pantalla

Control Industrial Versin 1.1 Pgina 59

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Contar VAR word RPM VAR word Contar = 0 OUTPUT 7 x VAR word y VAR byte Tvolts VAR word Bucle: FOR x = 70 TO 210 FOR y = 0 TO 5 PWM 7, x, 50 Tvolts = 50 * x / 255 * 3 COUNT 3,1000, Contar RPM = Contar * 60 DEBUG DEC RPM, CR DEBUG "!USRS Trabajo = NEXT x = x + 9 NEXT END GOTO Bucle

' Variable para llevar la cuenta ' Variable para RPM calculadas ' Limpia Contar ' Declara el pin para PWM. ' Variable Trabajo ' Repeticiones por valor de Trabajo

' Variable Trabajo ' Prueba valor de Trabajo por 5 segundos ' Genera PWM a un Ciclo de Trabajo de x ' Calcula tensin en decenas de Volts. ' Contar los pulsos del pin 3 por 1 segundo ' Ajusta escala de RPM ' Enva el valor de RPM a graficador y barra de estado ",DEC x, " RPM es ",DEC RPM," a " ,DEC Tvolts," Tvolts", CR

Pgina 60 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Trabajo 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Tensin

RPM

StampPlot Lite graficar las caractersticas tensin velocidad de su motor. Use el puntero del mouse para leer las RPM en cada escaln del grfico. Recopile la respuesta del motor a los cambios en la tensin.

Control Industrial Versin 1.1 Pgina 61

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Preguntas y Desafo
Preguntas 1. Un dispositivo industrial cuya salida solamente puede tomar dos estados posibles es llamado ______________. 2. Cul es la resistencia ideal de un interruptor mecnico en el estado abierto? Y en el estado cerrado? Resistencia abierto = ___________ ; Resistencia cerrado = _____________ 3. Explique el propsito del resistor que se conecta en serie con el interruptor para acondicionar una seal de entrada digital. 4. Un pulsador normalmente abierto en configuracin estado activo bajo indicar un estado lgico _______ mientras no est siendo presionado. 5. Cul es la tensin de entrada mxima absoluta del BASIC Stamp? 6. Para algunos dispositivos CMOS, una entrada de 1,3 Volts est en el rea ________de operacin. 7. Los dispositivos lgicos de baja tensin operan a ______ Volts de corriente continua. 8. Qu tipo de interruptor de proximidad se activa solamente con objetos metlicos? 9. Cuando se ilumina la base de un fototransistor, la corriente de colector __________ y la tensin colector emisor ___________. 10. Las RPM de un motor de automvil de seis cilindros pueden determinarse contando los pulsos enviados a la bobina de ignicin. Se necesitan seis pulsos por cada revolucin. Si ocurren 20 en un segundo, cules son las RPM del motor?

Pgina 62 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Diselo! 1. Dibuje un circuito de un pulsador normalmente abierto con su resistor de pull-up. El circuito deber dibujarse de forma que al presionar el botn se genere un estado lgico bajo.

2. Dibuje un circuito de un pulsador normalmente cerrado con un resistor en serie de 10K-Ohm. El circuito deber dibujarse de forma que al presionar el botn se genere un estado lgico bajo.

Control Industrial Versin 1.1 Pgina 63

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Analice! 1. Observe los circuitos de fototransistor que aparecen abajo. Cul tiene una tensin se salida creciente cuando se aumenta el nivel de luz? Por qu? Cul es la tensin de salida de Circuit B si el nivel de luz satura el transistor Q1?

Pgina 64 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

2. El circuito comparador de abajo es usado para determinar cundo encender o apagar una lmpara de seguridad. Cul sera el estado de salida del comparador en condiciones de luz? Sera ms conveniente programar para detectar el nivel de tensin o el flanco generado por este circuito? Por qu?

3. El interruptor ptico reflectivo (Optical Switch Banner Corporation) de abajo debe conectarse a un Basic Stamp (BS2 Input). Su hoja de datos especifica que opera con 10 Volts, como sumidero de corriente (colector abierto). Vea la Figura 2.10 y complete los valores apropiados para +V, +Vdd, y el dispositivo de interfaz (Interface device).

Control Industrial Versin 1.1 Pgina 65

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Progrmelo! 1. Haga de cuenta que su tacmetro reflectivo provee la entrada a un sistema antibloqueo de frenos de un automvil. Adems de esta entrada, use un pulsador para simular el pedal del freno. Un LED activo alto representar la accin del frenado. Escriba un programa que detecte cundo se presiona el pedal del freno, para detener el vehculo. Haga que su programa encienda el LED mientras la velocidad est por encima de cero. Cuando la velocidad del disco cae a cero, apague el LED. Use un potencimetro para ajustar la velocidad inicial del motor. Configure los dos pulsadores como entradas activo altas. Conecte un LED como salida activo alta. 2. Escriba programas para duplicar la operacin de las compuertas OR, AND y XOR. Compuerta OR PB1 PB2 LED 0 0 0 1 0 1 0 1 1 1 1 1 PB1 0 1 0 1 PB1 0 1 0 1 Compuerta AND PB2 LED 0 0 0 0 1 0 1 1 Compuerta XOR PB2 LED 0 0 0 1 1 1 1 0

Pgina 66 Control Industrial Versin 1.1

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Actividad de Campo Cuntos dispositivos digitales (de dos estados) puede identificar en un auto nuevo? Liste todos los que pueda. Escriba si supone que el dispositivo controla directamente la carga, usa algn tipo de rel, o si piensa que su estado est siendo monitoreado por un microcontrolador.

Control Industrial Versin 1.1 Pgina 67

Experimento 2: Acondicionamiento de Seal de Entrada Digital

Pgina 68 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital Las salidas de un microcontrolador pueden ser usadas para controlar el estado de dispositivos de campo de salida. Los dispositivos de salida son aquellos que realizan el trabajo en una aplicacin de control de proceso. Ellos entregan la energa al proceso bajo control. Algunos ejemplos incluyen motores, calentadores, solenoides, vlvulas y lmparas. La salida de baja potencia del BASIC Stamp (o cualquier otro microcontrolador) no le permite proveer la energa requerida por estas cargas. Con un acondicionamiento de seal apropiado, el BASIC Stamp puede controlar transistores de potencia, tiristores y rels. Estos son los dispositivos que pueden entregar las tensiones y corrientes que demandan los dispositivos de campo. En algunas aplicaciones, puede usar la salida del BASIC Stamp para comunicarse con otro microcontrolador o circuito electrnico. Podra haber problemas de compatibilidad entre diferentes familias lgicas, fuentes de alimentacin separadas, o masas no comunes que requieren consideraciones especiales. El foco de este experimento es presentar algunas de las tcnicas de acondicionamiento de seal usadas para conectar su BASIC Stamp a distintos dispositivos de salida.

Experimento 3: Acondicionamiento de la Seal de Salida Digital

El diseo del acondicionamiento de seal apropiado comienza observando las caractersticas y limitaciones de las salidas del BASIC Stamp. La salida de un BASIC Stamp usa niveles TTL standard. (Nota del Traductor: Los Nota Traductor niveles usados por el BASIC Stamp NO SON TTL, sino que son compatibles con estos) Como dijimos en el TTL Experimento 2, esto significa que puede conmutar entre un estado alto de aproximadamente 5 Volts a un estado bajo cercano a 0 Volts. De acuerdo a la hoja de datos del BASIC Stamp, cada salida puede entregar 25 mA y recibir 20 mA de corriente. Relacionando esto al diagrama de la Figura 3.1, observe como se puede conectar la carga. En la Figura 3.1a, la carga es conectada desde el pin de salida a masa. Cuando pone el pin en estado alto, aparecen 5 Volts sobre el resistor (RL). La corriente de carga fluir hasta masa, a travs del resistor. En este modo de suministro de corriente el BASIC Stamp puede entregar un mximo de 20 mA. Figura 3.1: Disponibilidad de Corriente en un pin de Salida del BASIC Stamp

Figura 3.1a: Suministro de Corriente

Figura 3.1b: Absorcin de Corriente

Control Industrial Versin 1.1 Pgina 69

Experimento 3: Acondicionamiento de la Seal de Salida Digital En la Figura 3.1b, la carga est entre el pin de salida y la fuente de +5 Volts Vdd. La corriente fluye desde la alimentacin hacia el pin de salida del BASIC Stamp en estado bajo (masa), atravesando la carga. Este es el modo de absorcin de corriente en el que el BASIC Stamp puede recibir un mximo de 25 mA.

Especificacin de Corriente de un Circuito Digital? Las especificaciones de la salida de los circuitos digitales se muestran en las hojas de datos del fabricante. Estos dispositivos normalmente pueden "absorber" ms corriente de la que pueden "entregar". Algunos dispositivos no pueden entregar corriente porque la salida, no est conectada internamente a +V. Normalmente la salida de estos dispositivos se denomina salida con colector abierto.

Las salidas se han usado para encender LEDs en ejercicios previos, como muestra la Figura 3.2a. Cuando la salida del BASIC Stamp est en estado bajo, el diodo se polariza en directa generando una cada de tensin de ms de un Volt, cayendo el resto de la tensin en el resistor de 220-Ohm. Esto limita el flujo de la corriente a aproximadamente 16 mA. (Nota del Traductor Estos valores fueron corregidos por el traductor), La luz Traductor: Nota emitida por el diodo da una indicacin visual del estado de la salida. En los desafos de programacin anteriores, haba asumido que el estado del LED representaba la accin del proceso que se estaba realizando en ese momento. Esta suposicin se vuelve real cuando considera la operacin de un rel de estado slido (SSR). La Figura 3.2b muestra el esquema del rel de estado slido. El circuito de entrada (terminales 1-2) es equivalente a la Figura 3.2a. La entrada de +3 a +24 V CC identifica el rango de tensiones de control. Las tensiones de control deben estar por encima de la tensin que produce suficiente corriente en el LED para encenderlo. Si se excede la tensn de control mxima, la corriente resultante puede daar el LED. La luz generada en el SSR acciona un circuito de salida controlado pticamente. No se muestra el detalle de este circuito, pero est representado por el smbolo de contacto normalmente abierto. Las limitaciones de corriente y tensin de la salida se muestran en la hoja de datos del dispositivo y normalmente tambin se encuentran impresas en el encapsulado. Figura 3.2: Circuitos de BASIC Stamp con LED y con Rel de Estado Slido

Figura 3.2a: BASIC Stamp con LED

Figura 3.2b: BASIC Stamp con Rel de Estado Slido

Pgina 70 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital Los rels de estado slido vienen para muchos rangos de salida. Pueden ser diseados para usarse con cargas de CA o de CC. La carga que usar es la que define las especificaciones mnimas del SSR requerido. Un beneficio adicional del rel de estado slido es el aislamiento elctrico. El BASIC Stamp controla la carga mediante una seal acoplada pticamente. No hay conexin elctrica entre el microcontrolador y la carga de alta potencia. Las fallas elctricas en la carga, o problemas en la lnea de alimentacin tales como picos de tensin, no repercutirn en el BASIC Stamp. La hoja de datos del Potter-Brumfield SSR puede encontrarse en el Apndice C. Revise la hoja de datos y obtenga los datos siguientes. Input tensin range: Input current requirement @ five Volts: Maximum output load current: Maximum output load tensin: Electrical isolation: ____________ ____________ ____________ ____________ ____________ (Rango de tensin de entrada) (Corriente de entrada a 5 Volts) (Mxima corriente de salida) (Mxima tensin de salida) (Aislamiento elctrico)

Precauciones al seleccionar y emplear rels de estado slido: 1. No lleve las especificaciones al lmite. Sobredimensione las caractersticas de salida como mnimo un 20%. 2. Preste mucha atencin a la necesidad del uso de disipadores. Los valores bajo carga mxima, normalmente requieren el uso de un disipador apropiado. 3. Todo el cableado y las conexiones entre la fuente de alimentacin y la carga deben ser capaces de conducir la corriente. Si se colocan rels en la protoboard, asegrese de no sobrepasar un valor mximo de 1 A en las pistas de la misma. 4. Respecto a la tensin del circuito de salida, asegrese que todas las conexiones estn firmemente aseguradas y bien realizadas, antes de aplicar la tensin de la lnea. Con la tensin de lnea corre el riesgo de recibir un shock elctrico. Tome medidas para evitar el contacto con potenciales de alta tensin. Cubra o use blindaje sobre estos contactos. Identifique claramente los potenciales de alta tensin con rtulos apropiadas. 5. Algunos rels electrnicos no incluirn el resistor limitador de corriente interno en la entrada. En esos casos, se debe agregar un resistor externo en serie con el LED interno. El valor del resistor depende de la tensin de control y de las especificaciones de corriente de entrada recomendada por el fabricante. Los rels de estado slido proveen una interfaz simple para controlar cargas en aplicaciones industriales. Familiarcese con las especificaciones de la hoja de datos del SSR para asegurarse la eleccin correcta para su aplicacin.

Control Industrial Versin 1.1 Pgina 71

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Ejercicios
Ejercicio 1: Control Secuencial El BASIC Stamp es muy bueno para realizar operaciones de control secuencial. Muchos procesos dependen de la ejecucin ordenada de operaciones. Considere la operacin de maquinado de la Figura 3.3a. Figura 3.3a: Secuencia de Perforado Automtico

Pgina 72 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital Figura 3.3b: Control Secuencial (salidas a la izquierda; entradas a la derecha)

Una cinta transportadora est moviendo piezas a travs de una estacin de perforado. Cuando se detecta una pieza, la cinta transportadora se detiene. Luego de una breve pausa, el solenoide se activa para sujetar la pieza; otra pausa corta y el taladro baja hacia la pieza. Un interruptor de proximidad controla la profundidad del agujero taladrado. Cuando se activa el detector de profundidad, el comando perforar se detiene y se eleva la posicin del taladro. Luego de darle un tiempo para que el taladro se retraiga, el solenoide libera la pieza y se activa la cinta transportadora. La pieza procesada es retirada de este sector y la cinta transportadora continua movindose hasta que se detecte otra pieza. Cuando se detecta otra pieza, el proceso secuencia se repite. Con el acondicionamiento de seal apropiado, el BASIC Stamp puede controlar fcilmente esta secuencia. Para nuestro ejercicio, necesitar usar su imaginacin para lograr que los LEDs simulen el comportamiento de los SSRs que controlaran la cinta transportadora, el solenoide y el taladro. Dos pulsadores y sus dedos simularn una pieza que llega a su posicin y la indicacin de profundidad de perforado. Arme el circuito de la Figura 3.3b en su plaqueta. Para facilitar las cosas, use su LED verde para la cinta transportadora, el amarillo para el solenoide y el rojo para el taladro.

Control Industrial Versin 1.1 Pgina 73

Experimento 3: Acondicionamiento de la Seal de Salida Digital

El control secuencial es muy fcil de representar con diagramas de flujo. El tiempo que se necesita para completar el diagrama de flujo, le ahorrar tiempo en la escritura del programa. Compare el diagrama de flujo de la Figura 3.4 con la descripcin del proceso anterior. Figura 3.4: Diagrama de Flujo de Control Secuencial

El Programa 3.1 sigue muy de cerca lo expresado en el diagrama de flujo. Estudie el programa; compare su estructura con el diagrama de flujo. Ingrese el programa y prubelo. Nuevamente tendr que usar su imaginacin para simular este proceso. Cuando el programa se inicia, el LED verde se enciende. Esto representa la activacin de la cinta transportadora. Para simular una pieza entrando en el rea de perforado, debe presionar y retener el Pulsador P1. El LED a cinta se apagar instantneamente y el LED amarillo que representa el rel del solenoide se encender luego de una pausa. Luego de que el solenoide tuvo tiempo suficiente para sujetar la pieza, el

Pgina 74 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital taladro se activar y comenzar a perforar la pieza, como lo indica el LED rojo. En este momento coloque otro dedo en el otro pulsador para indicar que el agujero es suficientemente profundo. El pulsador P2 representa un interruptor de proximidad que detecta que la profundidad de la perforacin es la correcta. Al presionar P2 se apagar el LED rojo, indicando que el taladro se detuvo. Saque su dedo del pulsador P2 para indicar que el taladro se est alejando de la pieza, a medida que se contrae a su posicin original durante los dos segundos que el programa queda detenido. Luego de esta pausa, el solenoide liberar la pieza (luz amarilla se apaga) y la cinta transportadora se activa nuevamente. La pieza est terminada y deja la zona de perforado. Desde este punto la secuencia comienza otra vez. Ejecute el programa algunas veces. A no ser por el reporte de DEBUG que indica cuando una pieza ha sido terminada, no necesita mantener su computadora conectada al BASIC Stamp. Desconecte el cable serial de la ficha de su plaqueta y contine simulando el proceso secuencial. El BASIC Stamp funciona como el controlador (embedded controller) de esta aplicacin. Si conectramos los dispositivos reales al BASIC Stamp podramos repetir continuamente este proceso. Despus de comprender este proceso secuencial, redefiniremos sus dos entradas y tres salidas para simular otra operacin. Usted ser desafiado a desarrollar el programa necesario para esta aplicacin de control.
' W 1 segundos
INPUT 1 INPUT 2 OUTPUT 3 OUTPUT 4 OUTPUT 5 OFF CON 1 ON CON 0 OUT3 = OFF OUT4 = OFF OUT5 = OFF Inicio: OUT3 = ON IF IN1 = 1 THEN Proceso GOTO Inicio Proceso: OUT3 = OFF PAUSE 1000 OUT4 = ON PAUSE 2000 Taladrar: OUT5 = ON IF IN2 = 1 THEN Levanta_taladro GOTO Taladrar 'Programa 3.1: Operacin de Maquinado Controlada por Proceso Secuencial ' ' ' ' ' Detector de pieza Profundidad de perforacin Rel de cinta transportadora (verde) Rel de solenoide (amarillo) Rel de taladro (rojo)

' Lgica negativa

' Inicializa salidas en off (apagadas)

' Enciende cinta transportadora ' Si se presiona, inicia el "Proceso"

' Se inicia el Proceso ' Detiene cinta transportadora ' Sujeta la pieza en su lugar ' Espera 2 segundos para encender el taladro

' Enciende el taladro y comienza a bajar ' Si la profundidad es suficiente, levanta el taladro

Control Industrial Versin 1.1 Pgina 75

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Levanta_taladro: OUT5 = OFF IF IN2 = 0 THEN Taladro_subiendo GOTO Levanta_taladro Taladro_subiendo: PAUSE 2000 Suelta: OUT4 = OFF PAUSE 1000 OUT3 = ON IF IN1 = 0 THEN Siguiente_pieza GOTO Suelta

' Apaga el taladro y lo levanta ' Indica que el taladro est subiendo

' Continua subiendo el taladro por 2 segundos

' ' ' '

Abre el solenoide para liberar la pieza Espera 1 segundo Enciende la cinta transportadora Pieza terminada deja el rea de Proceso

Siguiente_pieza: PAUSE 1000 ' Espera 1 segundo DEBUG "Pieza liberada. Comenzando el siguiente ciclo", CR GOTO Inicio

La verdadera ventaja de los microcontroladores es que tienen la capacidad de introducir toda la inteligencia necesaria para realizar un control sofisticado dentro del equipo. Sin embargo, a sus capacidades tambin se le agrega la cualidad de enviar informacin a una PC. El StampPlot Lite puede usarse efectivamente para monitorear el proceso de maquinado secuencial. El Programa 3.2 usa esta interfaz. Las funciones del Programa 3.2 son las mismas que las del programa anterior. Los comandos DEBUG se han insertado para enviar datos al StampPlot Lite. El programa grafica el estado de las E/S digitales, reporta los pasos del proceso en la barra de estado del usuario (User status bar) y mantiene una lista temporizada del total de piezas producidas. La Figura 3.5 muestra este proceso secuencial siendo monitoreado por el StampPlot Lite. Cargue el Programa 3.2 y ejectelo. Estudie los comandos DEBUG usados para el StampPlot Lite que se agregaron al programa original. Familiarcese con su uso. Las interfaces grficas para usuarios como sta, son muy tiles en la adquisicin y conservacin de datos de sistemas de control. Use StampPlot para monitorear el Desafo de Control Secuencial de Mezclado, al final de esta seccin.
Programa 3.2: Control de Proceso Secuencial con interfaz de StampPlot Pause DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG 500 "!TITL Control de Proceso de Maquinado Secuencial", CR ' Ttulo StampPlot "!TMAX 100", CR ' Configura tiempo de barrido (segundos) "!PNTS 500", CR ' Cantidad de puntos de datos "!AMAX 20", CR ' Configura eje vertical "!CLRM", CR ' Limpia el recuadro de listado "!CLMM", CR ' Limpia Min/Max "!RSET", CR ' reinicia todos los dibujos "!DELD", CR ' Borra archivos de datos anteriores "!PLOT ON", CR ' Comienza a graficar "!TSMP ON", CR ' Toma tiempo para finalizar una pieza

Pgina 76 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital


DEBUG "!SAVD ON", CR INPUT INPUT OUTPUT OUTPUT OUTPUT 1 2 3 4 5 ' Guarda datos en un archivo ' ' ' ' ' Detector de pieza Profundidad de perforacin Rel de motor de cinta transportadora (verde) Rel de solenoide (amarillo) Rel de taladro (rojo)

OFF CON 1 ON CON 0 OUT3 = OFF OUT4 = OFF OUT5 = OFF Piezas VAR byte Piezas = 0 Inicio: GOSUB Grafica_datos OUT3 = ON DEBUG "!USRS Enciende cinta",CR IF IN1 = 1 THEN Proceso PAUSE 100 GOTO Inicio

' Lgica negativa

' Inicializa las salidas en off

' ' ' '

Grafica el estado Enciende la cinta transportadora Imprime en el recuadro User status Si se presiona, inicia el "Proceso"

Proceso: ' Inicia el Proceso GOSUB Grafica_datos ' Grafica el estado OUT3 = OFF ' Detiene la cinta DEBUG "!USRS Pieza detectada. Detiene cinta",CR ' Imprime en el recuadro User status PAUSE 1000 GOSUB Grafica_datos OUT4 = ON DEBUG "!USRS Sujeta pieza.",CR GOSUB Grafica_datos PAUSE 2000 Taladra: GOSUB Grafica_datos OUT5 = ON DEBUG "!USRS Taladro bajando",CR IF IN2 = 1 Then Levanta_taladro PAUSE 100 GOTO Taladra ' ' ' ' ' Grafica el estado Comienza a sujetar la pieza en su lugar Imprime en el recuadro User status Grafica el estado Espera 2 segundos hasta que agujeree

' ' ' '

Grafica el estado Enciende el taladro y comienza a bajar Imprime en el recuadro User status Si el taladro lleg hasta abajo, lo levanta

Levanta_taladro: GOSUB Grafica_datos ' Grafica el estado OUT5 = OFF ' Apaga el taladro y lo levanta DEBUG "!USRS Detiene y levanta el taladro",CR ' Imprime en el recuadro User status IF IN2 = 0 Then Taladro_subiendo ' Indica que el taladro est subiendo

Control Industrial Versin 1.1 Pgina 77

Experimento 3: Acondicionamiento de la Seal de Salida Digital


PAUSE 100 GOTO Levanta_taladro Taladro_subiendo: GOSUB Grafica_datos DEBUG "!USRS Taladro Subiendo.",CR PAUSE 2000

' Grafica el estado ' Imprime en el recuadro User status ' Sube el taladro durante 2 segundos

Suelta: GOSUB Grafica_datos ' Grafica el estado OUT4 = OFF ' Abre para liberar la pieza DEBUG "!USRS Pieza liberada. Cinta transportadora movindose.",CR ' Imprime en el recuadro User status PAUSE 1000 ' Espera 1 segundo OUT3 = ON ' Enciende la cinta transportadora IF IN1 = 0 Then Pieza_siguiente GOTO Suelta Pieza_siguiente: GOSUB Grafica_datos ' Grafica el estado DEBUG "!USRS Pieza completa. Comienza el siguiente ciclo ",CR ' Imprime en el recuadro User status Piezas = Piezas + 1 ' Contador de Piezas PAUSE 1000 ' Espera 1 segundo DEBUG "Piezas completadas = ", DEC Piezas,CR ' Imprime cantidad de piezas contadas GOTO Inicio Grafica_datos: DEBUG IBIN IN1,BIN IN2,BIN OUT3,BIN OUT4, BIN OUT5,CR ' Grafica estado digital. DEBUG DEC Piezas,CR ' Grafica contador analgico RETURN

Pgina 78 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital Figura 3.5: Ventana de Control de Proceso de Maquinado Secuencial con StampPlot Lite

P1 P2 Cinta Solenoide Taladro Total

Observe que los trazos aparecen de arriba a abajo en el orden que fueron listados en el comando Debug de estado digital. Por lo tanto, los dos primeros trazos son los de los pulsadores IN1 (pieza en posicin) e IN2 (profundidad taladro). Los siguientes tres trazos son las salidas OUT3 (cinta), OUT4 (solenoide), y OUT5 (taladro). Recuerde que las salidas se conectaron con la configuracin de lgica inversa. Un estado alto apaga un LED (OFF) y un estado bajo lo enciende (ON). Observe que en la configuracin inicial del StampPlot Lite, Save data to file o "Guardar datos en archivo" (!SAVD) est en ON (activado). Durante la ejecucin, los datos de cada punto de muestreo se almacenan en un archivo de texto, stampdat.txt. los datos incluyen la hora del da y el tiempo de ejecucin de programa, nmero de muestra y los valores analgicos y digitales en cada muestra. Los datos se separan por comas y por lo tanto, estn listos para usarse en utilitarios de hojas de clculo y bases de datos. Una vez que los datos estn en el archivo, se pueden manipular y analizar. La Figura 3.6 muestra un ejemplo de cmo aparecen los datos en Microsoft Excel. El archivo completo contiene 500 muestras (filas de datos). La Figura 3.7 es un grfico de Excel construido en base al archivo de datos.

Control Industrial Versin 1.1 Pgina 79

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Figura 3.6: Datos de Control Secuencial (muestras solamente)


Tiempo de Nmero de Piezas Hora Ejecucin Muestra Terminadas 1 1 11:46:50 a.m. 0,21 2 2 11:46:50 a.m. 0,21 3 3 11:46:50 a.m. 0,21 4 4 11:46:50 a.m. 0,21 5 5 11:46:50 a.m. 0,27 6 6 11:46:50 a.m. 0,27 7 7 11:46:50 a.m. 0,27 8 8 11:46:50 a.m. 0,27 9 9 11:46:50 a.m. 0,27 10 10 11:46:50 a.m. 0,27 11 11 11:46:50 a.m. 0,32 12 12 11:46:50 a.m. 0,32 13 13 11:46:51 a.m. 0,43 14 14 11:46:51 a.m. 0,50 15 15 11:46:51 a.m. 0,71 16 16 11:46:51 a.m. 0,98 17 17 11:46:51 a.m. 1,26 Pieza Nmero 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Estado Digital 111 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11

Pgina 80 Control Industrial Versin 1.1

Pieza 10 12 14 16
11:46:50 a.m. 11:46:55 a.m. 11:47:13 a.m. 11:47:28 a.m. 11:47:43 a.m. 11:47:58 a.m. 11:48:13 a.m. 11:48:28 a.m.

Figura 3.7: Grfico de Datos de Control Secuencial

Hora
11:48:40 a.m. 11:48:56 a.m. 11:49:11 a.m. 11:49:27 a.m. 11:49:42 a.m. 11:49:57 a.m. 11:50:12 a.m. 11:50:27 a.m. 11:50:42 a.m.

0 Piezas terminadas

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Control Industrial Versin 1.1 Pgina 81

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Desafo de Programacin: Operacin de Mezcla Secuencial Una secuencia de Mezclado se muestra en la Figura 3.8. En este proceso, un operario presiona momentneamente un botn para abrir una vlvula y comenzar a llenar un depsito. Un flotador mecnico sube con el nivel del lquido y acciona un interruptor cuando el recipiente est lleno. En este momento, el solenoide de llenado se apaga y un agitador mezcla el contenido durante 15 segundos. Despus del perodo de mezcla, un solenoide en la parte inferior del recipiente se abre para vaciar el tanque. El flotador mecnico desciende, abriendo el interruptor cuando el recipiente se vaca. En este punto, el solenoide de vaciado se apaga, cerrando la vlvula. El proceso est listo para ser inicializado nuevamente por el operador. Figura 3.8: Proceso de Control de Mezclado Secuencial

Pgina 82 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital Asigne las siguientes entradas y salidas del BASIC Stamp para simular la operacin. Botn de Inicio Interruptor de nivel Solenoide de llenado Solenoide de mezcla Solenoide de vaciado Entrada P1 (N.O. active high) Entrada P2 (N.O. active high) Salida P13 (LED rojo) Salida P14 (LED amarillo) Salida P15 (LED verde)

Realice el diagrama de flujo y programe la operacin. Ejercicio 2: Aumentando la Potencia del BASIC Stamp La capacidad de tensin y/o corriente de salida del BASIC Stamp puede ser incrementada agregando un transistor de salida (Driver). Tanto el transistor bipolar de la Figura 3.9a como el transistor MOSFET de la Figura 3.9b pueden ser efectivos cuando las cargas necesitan ms potencia de la que las salidas del BASIC Stamp pueden entregar. Entender cada uno de estos circuitos ser importante en futuras aplicaciones industriales. Para este ejercicio y los siguientes, tendremos dos cargas que desearemos controlar de esta forma. Se trata del ventilador elctrico sin escobillas de CC y un resistor de 47 Ohm, de medio Watt. Las especificaciones del ventilador incluyen una tensin de +12 V con una corriente de 100 mA. El resistor tomar aproximadamente 190 mA cuando se alimenta por una fuente de alimentacin de +9 V (Nota del Traductor: esta corriente vara de acuerdo a la tensin de su fuente). Consideremos el diseo del transistor bipolar para alimentar el resistor de 47 Ohm. Los valores del circuito deberan calcularse de forma que una salida en estado alto (+5V) del BASIC Stamp lleve a Q1 a la saturacin, sin tomar ms corriente que la que el BASIC Stamp puede entregar.

Control Industrial Versin 1.1 Pgina 83

Experimento 3: Acondicionamiento de la Seal de Salida Digital Figura 3.9: Circuitos con Transistores para Amplificacin de Potencia

Los valores de los componentes de los circuitos surgen de los requerimientos de corriente y tensin de la carga. El proceso para determinar los valores mnimos de estos componentes es as: Dado que Q1 acta como colector abierto, la tensin de fuente de la carga no est limitada a la fuente de +5-Volts del BASIC Stamp. Si se usan fuentes separadas sin embargo, deben unirse las masas. Cuando Q1 se lleva a la saturacin, virtualmente toda la tensin de la fuente caer sobre la carga y la corriente ser igual a Vfuente/Rcarga. La mxima capacidad de corriente de colector de Q1 debe ser mayor que la corriente de la carga. La corriente de base de Q1 para mantener la corriente de colector puede ser calculada dividiendo la corriente de carga por el beta de Q1. IB = IC/bQ1. Dado un mximo de 20 mA de corriente de la salida de un BASIC Stamp, el mnimo beta del transistor se calcula despejando la frmula anterior. bQ1(min) = IC/IB. Donde IB es la mxima corriente de un BASIC Stamp de 20 mA. Se debe elegir un transistor que cumpla y preferiblemente exceda estos requerimientos mnimos. Exceder los valores mnimos por un 50 o 100% o ms, sera lo mejor. Una vez elegido el transistor, se puede determinar el

Pgina 84 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital valor del resistor limitador de base. Este valor debe permitir una corriente mayor que la definida por IC/bQ1, aunque menor que el lmite de 20 mA del BASIC Stamp. La cada de tensin sobre Rlimit es igual a los +5 V de salida del BASIC Stamp menos la cada en la juntura PN de Q1 (aproximadamente +5V-0,7V, o 4,3V). Siguiendo el procedimiento mencionado arriba, el transistor debe manejar corrientes de colector de por lo menos 190 mA y tener un beta mayor que 10. La Figura 3.9c muestra un 2N3904 como Q1. Las especificaciones del 2N3904 incluyen una corriente de colector mxima de 300 mA y un Beta mnimo de 75. Otras caractersticas que favorecen la seleccin de este transistor son: que es muy comn, barato, y que puede controlar la corriente sin necesitar disipador. El valor de Rlimit se escogi basndose en el valor de beta mnimo y con la intencin de mantener la corriente de la salida del BASIC Stamp bien por debajo de 20 mA. Este resistor de 1K-Ohm permite una corriente de base de unos 5 mA, suficiente para lograr la saturacin. Construya el circuito mostrado en la Figura 3.9c en su protoboard. Luego, considere el circuito del transistor MOSFET de potencia de la Figura 3.9b. El MOSFET se lleva a la saturacin aplicando tensin a la compuerta (gate). Los 5 Volts positivos provenientes de la salida del BASIC Stamp son suficientes para colocar al MOSFET en el estado ON. Cuando el dispositivo est completamente saturado, su resistencia de estado ON (rson) es normalmente menor de 1 Ohm. Aplicando un estado bajo en la compuerta (0 V) lleva el dispositivo al corte. En este estado prcticamente no hay circulacin de corriente y el MOSFET acta como un interruptor abierto. El MOSFET de potencia es muy fcil de alimentar con un BASIC Stamp. Una capa de xido de metal (MOS) entre la fuente (source) y la compuerta (gate) funciona como un muy buen aislante. La extremadamente alta impedancia de entrada provista por esta capa MOS implica que no se necesita corriente por la compuerta para controlar este dispositivo. Dado que no se necesita corriente para gobernar la compuerta, una simple salida de un BASIC Stamp puede controlar mltiples MOSFETs. Con un disipador adecuado, el BS170 puede manejar corrientes de carga de hasta 5 Amps. Estas caractersticas hacen que los MOSFET de potencia sean muy fciles de utilizar en aplicaciones industriales, tales como activacin de rels, solenoides y pequeos motores de CC. Debera tenerse en cuenta que este tipo de cargas son inductivas. Cuando se desconecta la carga, su inductancia puede producir una tensin inversa transitoria que puede daar el MOSFET. El diodo D1 provee proteccin al transistor cuando controla cargas inductivas como sta. Este diodo no es necesario para el pequeo motor sin escobillas que usamos en nuestros experimentos. Construya el circuito de la Figura 3.9d. Nota: Los MOSFET de potencia, al igual que sus primos CMOS, son susceptibles a daos por descargas de tensin esttica y transitorios de tensin inversa. Debe tenerse cuidado cuando se maneja e instala el dispositivo. Tmelo por el encapsulado, evitando tocar sus patitas y verifique que todos los instrumentos estn conectados apropiadamente a masa. Pruebe el circuito amplificador de potencia empleando el programa siguiente. La ventana Debug le indicar cuando deba tomar mediciones de tensin sobre los transistores y sus cargas, en el momento oportuno.

Control Industrial Versin 1.1 Pgina 85

Experimento 3: Acondicionamiento de la Seal de Salida Digital

'Programa 3.3: Amplificacin de potencia para el ventilador y el calentador. OUTPUT 7 OUTPUT 8 Bucle: OUT7 = 0 OUT8 = 0 DEBUG "Ventilador PAUSE 10000 OUT7 = 1 DEBUG "Ventilador PAUSE 10000 DEBUG "Ventilador PAUSE 10000 OUT7 = 0 DEBUG "Ventilador PAUSE 2000 ' Salida de control de ventilador ' Salida de control de calentador

y Calentador apagados Mida la tensin de fuente sin carga Vin.",CR

encendido Mida la tensin sobre el ventilador.", CR encendido Mida la tensin de saturacin sobre el MOSFET.", CR

apagado",CR

OUT8 = 1 DEBUG "Calentador encendido Mida la tensin sobre el resistor de 47-Ohm ", CR PAUSE 10000 DEBUG "Calentador encendido Mida la tensin de saturacin sobre el transistor Bipolar.", CR PAUSE 10000 OUT8 = 0 DEBUG "Calentador apagado",CR PAUSE 2000 GOTO Bucle

Anote las lecturas de tensin en la Tabla 3.1. Condicin Bipolar Fig. 3.9c MOSFET Fig. 3.9d El ventilador funcionar a mxima velocidad y el resistor se calentar debido al flujo de corriente que lo atraviesa. Las tensiones de saturacin deberan ser menores de 300 mV. La tensin de lnea Vin es provista por una fuente de tensin sin regular (en el kit es de 9-Volts 300 mA). La tensin, cuando las cargas no estn activadas, es mucho ms alta que la nominal. Cuando se energizan las cargas, esta tensin caer hasta un valor aproximado al nominal de la fuente. Tabla 3.1 Mediciones Sobre los Transistores Tensin sobre la carga Tensin de saturacin en estado activado en estado activado Tensin sobre la fuente sin activacin

Pgina 86 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital En el prximo experimento, usaremos el resistor para simular un calentador. El ventilador simular una perturbacin que enfriar el calentador. Nuestro objetivo ser investigar varios tipos de control para mantener una temperatura constante. Deje estos circuitos montados en su protoboard. Antes de dejar este ejercicio, es conveniente mostrar otros sistemas de interfaz que pueden serle de utilidad como diseador. Vea los circuitos de la Figura 3.10.

Control Industrial Versin 1.1 Pgina 87

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Figura 3.10: Interfaces de Salida para el BASIC Stamp

(a) La optocupla puede ser usada como interfaz para diferentes tensiones, aislando elctricamente la salida del microcontrolador como muestra la Figura 3.10a. (b) La Figura 3.10b puede usarse como interfaz para dispositivos HCMOS o CMOS de la serie 4000. El 74HC4050 puede usarse a bajas tensiones, como interfaz para lgica de +3 Volts. (c) Hay una gran cantidad de integrados de potencia perifricos. El driver 75452 mostrado en la Figura 3.10c puede absorber una corriente de hasta 300 mA. Su salida de colector abierto permite usarlo con tensiones de hasta 30 Volts. (d) La Figura 3.10d usa una compuerta 74LS26 (NAND) que pertenece a la familia de compuertas de colector abierto. Con el resistor de pull-up de 10KOhm referenciado a la siguiente etapa del circuito, el BASIC Stamp puede ser conectado a circuitos CMOS de mayor tensin.

Pgina 88 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Preguntas y Desafos
Preguntas 1. Los dispositivos de salida son los que hacen el ________ en una aplicacin de control de proceso. 2. Los dispositivos de campo normalmente necesitan ms potencia que la que el BASIC Stamp puede entregar. Mencione tres dispositivos de interfaz de potencia que puedan controlar circuitos de alta potencia y puedan ser encendidos y apagados por el BASIC Stamp. a. ________________ b. ________________ c. ________________ 3. La salida del BASIC Stamp absorbe corriente cuando la carga que est controlando est conectada entre el pin de salida y ____________. 4. El BASIC Stamp puede entregar hasta __________mA por pin de salida. 5. Los rels elctricos y electromagnticos ofrecen una gran proteccin a los microcontroladores debido a que proveen aislacin _____________ entre el BASIC Stamp y los dispositivos de potencia. 6. El circuito de entrada de un SSR normalmente es un __________ ,que provee la luz que dispara pticamente un dispositivo de salida. 7. Las caractersticas de corriente de un SSR deberan ser sobredimensionadas como mnimo un _______ por ciento del requerimiento continuo de corriente demandado por la carga. 8. Los valores mximos de corriente de los rels de estado slido normalmente involucran el uso de un ____________ para lograr una disipacin apropiada del calor. 9. El control______________ involucra la ejecucin ordenada de operaciones de proceso. 10. Cuando la corriente de salida del BASIC Stamp no es suficiente para encender el dispositivo de control, un ______________ de salida podra usarse para incrementar la potencia.

Control Industrial Versin 1.1 Pgina 89

Experimento 3: Acondicionamiento de la Seal de Salida Digital

11. Si un transistor tiene un Beta de 150, un BS2 debe entregar _______ miliamperes de corriente de base para alimentar una carga de 600 mA. 12. Cuando un MOSFET de potencia est saturado, su resistencia Drenador (Drain) a Fuente (Source) es dada por la especificacin llamada _______. 13. Los contactos de un rel electromagntico se muestran en los esquemas elctricos en la posicin normal. Normal significa que la ___________ del rel est sin energizar. 14. Los contactos de un rel de estado slido de CA en realidad son los terminales principales de un TRIAC. Estos contactos deberan ser dibujados en un esquema en estado normalmente __________. Diselo! 1. Dada la figura de abajo, calcule el valor mximo del resistor de base (Rlimit) que permitira una corriente en la bobina de 440 mA cuando la salida P12 del BASIC Stamp est en estado alto.

Bobina de 12 VCC

Corriente de Sostenimiento 440mA

2. Para asegurar la saturacin del transistor Q1, el valor de Rlimit debera ser ____________ que el valor calculado.

Pgina 90 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital 3. El diagrama de conexin interna del rel de estado slido SHARP S101S05V se muestra abajo. Observe que su circuito de entrada es simplemente un LED. La hoja de datos especifica que el LED tiene una cada de tensin en directa de 1,2 Volts y que una corriente de 15 mA por el LED encender el rel. Use los siguientes componentes para completar el diagrama de control del SSR con el Pin 14 del BASIC Stamp. Configrelo de forma que la corriente entre en el BASIC Stamp. Calcule el valor apropiado de Rlimit. Dibuje la lmpara y la fuente de 120 VAC como se deberan conectar a las salidas del SSR.

lmpara

Diagrama interno 1-Salida (Triac T2) 2-Salida (Triac T1) 3-Entrada (+) 4-Entrada (-)

Lgico alto = + 5 V Lgico bajo = 0 V

Control Industrial Versin 1.1 Pgina 91

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Analcelo! 1. Considere los circuitos A y B de abajo. Escriba una lnea de cdigo de BASIC Stamp para encender la lmpara en cada circuito. Circuito A ____________________________. Circuito B __________________________.

Bobina de 4 a 5 VCC Corriente de Sostenimiento 90 mA

Bobina de 4 a 5 VCC Corriente de Sostenimiento 90 mA

Circuito A: Contactos normalmente cerrados

Circuito B: Contactos normalmente abiertos

Pgina 92 Control Industrial Versin 1.1

Experimento 3: Acondicionamiento de la Seal de Salida Digital

2. Estudie los tres circuitos que se muestran abajo. Escriba qu nivel lgico utilizara en la salida del BASIC Stamp Para mantener una tensin de salida (Vout) de 12 Volts. Circuito A _______________ Circuito B _______________ Circuito C _______________

Control Industrial Versin 1.1 Pgina 93

Experimento 3: Acondicionamiento de la Seal de Salida Digital

Progrmelo! 1. Dadas las entradas y salidas mostradas en la Figura 3.3b, escriba un programa secuencial que haga lo siguiente: Al presionar momentneamente P1 se enciende P3 durante tres segundos y luego se apaga. En cambio si se presiona P1 durante un segundo, se enciende P4 durante tres segundos y luego se apaga. Cuando P4 se apaga, P5 se enciende hasta que P2 es presionado. 2. Ahora intente este. Usando las mismas E/S, escriba un programa que haga lo siguiente: Si se presiona y se retiene presionado P1, P3 se enciende. Si mientras P1 est presionado se presiona P2, P3 se apaga y P4 se enciende. Si se libera P1 mientras se retiene presionado P2, se apaga P4 y se enciende P5. Y finalmente, cuando se libera P2 se encienden todos los LEDs durante tres segundos, luego se apagan, reiniciando el proceso desde el principio.

Pgina 94 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos El control de un proceso continuo involucra el mantenimiento de las condiciones del proceso deseadas. Calentar o enfriar objetos a cierta temperatura, mantener una presin constante en un cao de vapor, o fijar un valor de flujo de material a un recipiente para mantener un nivel constante de lquido, son ejemplos de control de procesos continuos. La condicin que queremos controlar se denomina variable de proceso. Temperatura, presin, flujo y nivel del lquido son las variables de proceso de estos ejemplos. Los dispositivos de salida industrial son los elementos de control. Motores, vlvulas, calentadores, bombas y solenoides son ejemplos de dispositivos usados para controlar la energa que determina las salidas de los procesos.

Experimento 4: Control de Procesos Continuos

La accin de control tomada se basa en la relacin dinmica entre la configuracin del dispositivo de salida y su efecto sobre el proceso. En general, el control del proceso puede ser clasificado en dos tipos: lazo abierto y lazo cerrado. El control de lazo cerrado determina la configuracin de los dispositivos de salida, midiendo y evaluando durante el transcurso del proceso. En el control de lazo abierto, no se realizan controles automticos para ver si es necesaria alguna accin correctiva. Un ejemplo simple de control de lazo abierto podra ser enfriar su pieza en una noche caliente de verano. Sus opciones son usar un ventilador de ventana o un aire acondicionado. El ventilador de ventana es un dispositivo que puede configurarse a velocidad baja, media o alta al evaluar la situacin de su habitacin. Esta evaluacin involucra comprender la relacin causa-efecto entre las condiciones de la habitacin y el ajuste de velocidad. Tambin est involucrado un elemento de prediccin. Una vez que decide la velocidad que usar, se acostar y dormir toda la noche. De esta forma est configurando un sistema de control de lazo abierto. Si sus estimaciones fueron correctas, tendr un muy buen descanso. Caso contrario, podra levantarse tiritando de fro o sudando de calor. Por otro lado, un acondicionador de aire de habitacin le permite fijar la temperatura deseada. Un termostato compara continuamente la temperatura deseada con la medicin de la temperatura ambiente actual. Cuando la temperatura de la habitacin est por encima del valor deseado, el aire acondicionado se enciende. Cuando la habitacin se enfra por debajo de este punto, el aire acondicionado se apaga. A medida que avanza la noche y la temperatura externa baja, este sistema de lazo cerrado pasar cada vez menos tiempo encendido que apagado. Este es un ejemplo de control por realimentacin a lazo cerrado, debido a que la accin se toma en base a la medicin de la temperatura de la habitacin. Cul solucin es mejor? Lgicamente, muchas personas prefieren el aire acondicionado, aunque otras no. Si el objetivo es mantener una temperatura agradable para dormir, cada sistema tiene sus ventajas. Desde el punto de vista del control industrial, el bajo costo y la simplicidad de configurar un ventilador de ventana a lazo abierto es muy atractiva. Por otro lado, el control automtico a lazo cerrado del aire acondicionado garantiza una temperatura ms estable, a medida que la temperatura exterior cambia.

Control Industrial Versin 1.1 Pgina 95

Experimento 4: Control de Procesos Continuos

Determinar la mejor accin de control para una aplicacin y disear el sistema que provea esta accin es de lo que se trata la ingeniera de control de procesos. Los microcontroladores han probado ser una solucin econmica para agregar cierto nivel de sofisticacin a los esquemas de control ms simples. Los siguientes tres ejercicios se enfocarn en las caractersticas de varios mtodos de control continuo. Desarrollaremos un ambiente en el que podremos modelar un control de proceso, tomar datos variables del proceso con el BASIC Stamp y estudiar los principios del control a lazo abierto. Los primeros dos ejercicios llevarn un poco de tiempo y esfuerzo, pero los justificarn, porque esta distribucin y su circuito se usarn nuevamente en los Experimentos 5 y 6. La temperatura es por lejos la variable de proceso ms comn que encontrar. Desde el control de temperatura del metal fundido en una metalrgica hasta el control del nitrgeno lquido en un laboratorio de criogenia, la medicin, evaluacin, y control de la temperatura son crticos para la industria. El objetivo de este ejercicio es mostrar los principios del control de procesos basados en microcontrolador e instruirlo en el conexionado con dispositivos de E/S del mundo real. Los ejercicios estn limitados a circuitos que entren en la protoboard de su plaqueta y para dispositivos de salida que puedan alimentarse desde su fuente de alimentacin (normalmente 9-Volts, 300-mA). A medida que monitorea y controla la temperatura de un ambiente pequeo, tenga en cuenta que a travs de un acondicionamiento de seal apropiado, las aplicaciones en las que puede emplear un BASIC Stamp son ilimitadas.

Ejercicios
Ejercicio 1: Control ON-OFF de Bucle Cerrado Para armar nuestro pequeo ambiente, necesitar los siguientes componentes: Contenedor plstico de pelcula de 35 mm resistor de 47-Ohm, de medio Watt con prolongacin CI sensor de temperatura LM34DZ con prolongacin Cinta aisladora

Pgina 96 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Colocar el resistor de 47-Ohm y el sensor de temperatura dentro del envase de pelcula de 35-mm. Los conectores de estos dispositivos se conectarn a la protoboard de su plaqueta. Al colocar la tapa del envase se crea un ambiente cerrado. El paso de mucha corriente por el resistor calentar el ambiente y el sensor convertir la temperatura en una tensin analgica. Un transistor amplificador de corriente del Experimento 3 alimentar el resistor/calentador y agregar un conversor analgico digital para introducir la informacin binaria de temperatura al BASIC Stamp. La Figura 4.1 muestra el montaje. Siga los procedimientos de la pgina siguiente para construir los circuitos de acondicionamiento de seal y del envase de pelcula. Figura 4.1: Ambiente Calefaccionado en Envase de Pelcula

Control Industrial Versin 1.1 Pgina 97

Experimento 4: Control de Procesos Continuos

Preparacin Preliminar El envase de pelcula de 35-mm tiene dos agujeros. El sensor y el calentador debern colocarse en estos agujeros. En el ltimo ejercicio, controlamos el estado de un resistor de 47-Ohm actuando como calentador. El transistor amplificador de corriente acta como interruptor, controlando la tensin de la fuente de alimentacin sin regular sobre el resistor. Como ya sabe, cuando el transistor se enciende, la tensin de fuente se aplica sobre el resistor calentndolo, dado que la potencia consumida es de P = V2/R= 92/47, o 1,7 Watts, para el caso de una fuente de 9 Volts. Esto est ms all de la capacidad de potencia de un resistor de medio Watt, pero lo estamos usando como calentador. Podra decolorarse, pero seguira funcionando bien. Coloque el resistor por el agujero inferior del envase. Doble sus pines y encntelos a la parte exterior del envase de forma que el resistor quede suspendido en el centro del mismo. La punta con el LM34 se usar para medir la temperatura de nuestro sistema. El LM34 es un sensor excelente en trminos de linealidad, costo y simplicidad. La tensin de salida del sensor cambia 10 mV por grado Fahrenheit y est referenciada a 0 grados. Con una fuente de alimentacin de CC y un voltmetro, ya dispone de un sensor de temperatura Fahrenheit. Vea la Figura 4.2 y la hoja de datos del dispositivo en el Apndice D.

Pgina 98 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Figura 4.2: Punta de Temperatura LM34

Pruebe su punta de temperatura conectndola a la fuente de +5-Volts Vdd y a masa. Use su voltmetro para controlar la tensin de salida del LM34 de 0,01 Volts por grado F. Simplemente desplace el punto decimal de la lectura dos lugares a la derecha para convertir el valor a temperatura. Por ejemplo; 0,75 V = 75 oF; 0,825 V = 82,5 oF; 1,05 V = 105 oF, etc. Luego haga lo siguiente: Mida y anote la temperatura ambiente. Sostenga el dispositivo entre sus dedos y observe como aumenta la temperatura. Sostngalo hasta que la temperatura se estabilice. Cul es la temperatura de sus dedos? El LM34 puede medir temperaturas de hasta 300 grados. Pase brevemente una llama por debajo del sensor y monitoree temperaturas ms altas.

Ahora, inserte el sensor por el orificio superior del envase. Doble y encinte los pines al envase de forma que el sensor quede suspendido en su interior. Tape el recipiente y su ambiente modelo estar listo. Tenga en cuenta que aunque nuestro laboratorio es pequeo y de baja potencia, simula el control de temperatura de un gran horno, un fermentador de cerveza, etc. Un acondicionamiento de seal apropiado, como se muestra en el Experimento 3 puede permitirle al BASIC Stamp controlar casi cualquier dispositivo industrial.

Control Industrial Versin 1.1 Pgina 99

Experimento 4: Control de Procesos Continuos Luego, centremos nuestra atencin en la protoboard y montemos el circuito necesario para el experimento. La Figura 4.3 muestra los cuatro circuitos usados en estos ejercicios. Los cuatro circuitos caben en la protoboard; solamente debe ser eficiente en el uso del espacio. La Figura 4.3a es un pulsador simple activo alto. Se usar para encender y apagar el calentador. El driver de salida mostrado en la Figura 4.3b tambin es muy simple. Su plaqueta tendr el transistor amplificador de corriente (del Experimento 3) para alimentar el calentador. Observe que un LED y un resistor limitador de corriente se agregaron para indicar el estado de este circuito. Note tambin que este circuito se conecta a la tensin regulada de +5 Vdd, y no directamente a la tensin de fuente sin regular. Dado que el microcontrolador BASIC Stamp no puede leer valores analgicos, debemos agregar un conversor analgico a digital para transformar la salida analgica del sensor de temperatura LM34 a datos digitales. Una solucin directa es usar el conversor analgico a digital que se muestra en la Figura 4.3c. El integrado National ADC0831 es conveniente para la conversin A/D de nuestra aplicacin y probar ser un dispositivo muy til para esta y otras aplicaciones. Es conveniente realizar una pausa en este momento y revisar las limitaciones y caractersticas tcnicas de este dispositivo. Este conversor tomar una tensin de entrada y la convertir en un dato digital de 8-bits con un rango de 256 representaciones binarias posibles. Pueden usarse potencimetros para fijar externamente el rango de tensin que representar la salida digital de 0 a 25510 del ADC0831. La tensin en Vin(-) Pin 3 determina el valor cero. La tensin Vref en el Pin 5 determina el rango de tensin por encima de Vin(-) sobre el que se aplica la resolucin de 255 pasos. Fijando Vin(-) a 0,7 limitar el rango a 70 grados. Vref en 0,5 Volts da como resultado un rango de 50 grados.

Pgina 100 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos Figura 4.3: Circuitos para Control de Proceso

Control Industrial Versin 1.1 Pgina 101

Experimento 4: Control de Procesos Continuos

Estas tensiones se utilizan para enfocar el rango del dispositivo A/D de forma que cubra la tensin analgica que necesitamos convertir. Esta aplicacin funcionar desde temperatura ambiente (70o) hasta 120 oF. Este rango de temperatura equivale a una salida de tensin del LM34 de 0,70V a 1,20V. Para maximizar la resolucin, el rango de inters es 0,5 V (1,2V a 0.7v); y la referencia, llamada offset, es 0,7 V. Dado que nos enfocamos solamente en este rango, cada paso binario representa aproximadamente 0,2 grados. Esto nos permite calcular la temperatura en forma muy precisa. Construya el circuito conversor A/D en la protoboard. Usando potencimetros de ajuste multivueltas, los niveles de la referencia y el rango de tensin pueden calibrarse con mucha precisin. Mida cuidadosamente y ajuste estas tensiones. Conecte la salida del LM34 a la entrada del conversor A/D. Controlar el ADC0831 es relativamente simple. Una lnea de control del programa le dice al dispositivo que haga una conversin. Una vez realizada, el valor binario puede ser enviado un bit a la vez hacia el BASIC Stamp. El flujo serial de datos desde el conversor es controlado por los pines de salida del BASIC Stamp que alimentan las lneas chip select (habilitacin) y clock (reloj). La lnea chip select (CS) se pone en bajo, seguido por un pulso de clock de bajo a alto. Esto da inicio a la conversin. Los siguientes pulsos de reloj (clock) inician la transferencia de cada bit binario comenzando por el bit ms significativo. Parallax provee una instruccin muy conveniente, llamada SHIFTIN, diseada especficamente para controlar comunicaciones seriales sincrnicas. Una vez que los datos entraron al BASIC Stamp, se convierten en temperatura, de acuerdo a los valores determinados de referencia y rango. (El uso del ADC0831 est explicado detalladamente en el libro Analgico y Digital Bsicos, que puede ser usado para ahondar los conceptos de esta seccin.) El Programa 4.1 ha sido escrito para comprobar los circuitos del driver y el conversor, adems de practicar con la interfaz StampPlot Lite. La primera seccin del programa configura el StampPlot Lite. La sigue una seccin que establece variables y constantes. El programa est diseado para el circuito de la Figura 4.3. Revise dos veces las conexiones a los pines de E/S 1,3,4,5 y 8. Ajuste con precisin las tensiones de Vin y Vref del ADC0831 a 0,7 y 0,5, respectivamente. Cargue el programa. Al ejecutar el programa se abrir la ventana DEBUG y desplazar valores y mensajes por la pantalla. Cierre la ventana DEBUG y abra la interfaz StampPlot Lite. En este punto, seleccione el puerto COM apropiado y marque Connect. Presione momentneamente el botn Reset de la plaqueta en la que se encuentra conectado el BASIC Stamp para cargar la configuracin y comience a graficar datos. El recuadro del usuario le informar la temperatura actual y los valores de salida del conversor A/D en binario y decimal. La temperatura y el estado del calentador se dibujarn en esta interfaz. Al presionar PB1 se invertir (TOGGLE) el estado del calentador entre encendido y apagado (ON y OFF). (Puede omitir los comentarios de este cdigo, si lo desea).

Pgina 102 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

'Programa 4.1: Conversor A/D con interfaz StampPlot 'El pulsador P1 invierte el estado del calentador (ON/OFF). Luego establece las constantes ' y variables usadas para adquirir los datos del ADC0831 serialmente. 'StampPlot es usado para mostrar grficamente los resultados. El programa asume que 'el circuito est de acuerdo a la Figura 4.3. ADC0831: "chip select" CS = P3, "clock" 'Clk=P4, y "salida serial de datos" Dout=P5. 'Cero y Rango: Digital 0 = Vin(-) = 0,70V y Rango = Vref = 0,50V.

'Configuracin del graficador Pause 500 ' Espera que se limpie el buffer DEBUG "!RSET",CR ' Reinicia el grfico para limpiar datos anteriores DEBUG "!TITL EJEMPLO DE CONTROL DE CALENTADOR",CR ' Ttulo de la ventana DEBUG "!PNTS 6000",CR ' 6000 puntos de datos DEBUG "!TMAX 600",CR ' Max 600 segundos DEBUG "!SPAN 70,120",CR ' 70-120 grados DEBUG "!AMUL .1",CR ' Multiplicar datos por 0,1 DEBUG "!DELD",CR ' Borrar archivo de datos DEBUG "!SAVD ON",CR ' Guardar datos DEBUG "!TSMP ON",CR ' Activar temporizador DEBUG "!CLMM",CR ' Limpiar Min/Max DEBUG "!CLRM",CR ' Limpiar mensajes Debug "PLOT ON,CR ' Inicio de la grfica DEBUG "!RSET",CR ' Reinicia tiempo de dibujo a 0 ' Define constantes y variables CS CON 3 CLK CON 4 Dout CON 5 Datain VAR byte Temp VAR word TempRango VAR word TempRango = 5000 ' ' ' ' ' ' ' Chip select del 0831 activo bajo en P3 del BS2 Clock del BS2 (P4) al 0831 Salida serial de datos del 0831 al BS2 (P5) Variable para almacenar el nmero entrante (0 a 255) Almacena valor convertido que representa la Temp. Rango completo en dcimas de grado. Define el rango para Vref = 0,50V

Offset VAR word Offset = 700

' ' ' ' ' byte

Temperatura mnima. @Offset, ADC = 0 Declara Temp. mnima para Vin(-) = 0,7 V Offset ser 700 dcimas de grado. Con esta config., la salida del ADC de 0-255 corresponder a Temp. de 700 a 1200 dcimas de grado.

EspTrabajo1 VAR EspTrabajo1 = 0 LOW 8

' Espacio de trabajo para el comando BUTTON de PB1 ' Limpia el espacio de trabajo antes de usar BUTTON ' inicializa el calentador apagado

Principal: GOSUB Obtenerdato GOSUB Calc_Temp

Control Industrial Versin 1.1 Pgina 103 103

Experimento 4: Control de Procesos Continuos


GOSUB Control GOSUB Mostrar GOTO Principal Obtenerdato: LOW CS LOW CLK PULSOUT CLK,10 SHIFTIN Dout, CLK, MSBPOST,[Datain\8] HIGH CS RETURN Calc_Temp: Temp = TempRango/255 * Datain/10 + Offset RETURN Control: BUTTON 1,1,255,0,EspTrabajo1,1,Invertir RETURN Invertir: TOGGLE 8 RETURN Mostrar: ' Grafica Temp, ADC binaria y estado de Temp DEBUG DEC Temp,CR DEBUG IBIN OUT8,CR DEBUG "!USRS Temp.= ", DEC Temp," ADC Data in = %", BIN Datain, " Decimal", DEC Datain, CR RETURN ' ' ' ' ' ' Adquiere la conversin del 0831 Selecciona el chip Alista la lnea clock. Enva un pulso de 10 uS al clock del 0831 Desplaza los datos al BS2 Detiene conversin

' Convierte el valor digital a temperatura ' basndose en las variables Rango y ' Offset. ' Control manual del calentador

La interfaz StampPlot Lite le dar una representacin dinmica de los cambios de temperatura en su envase de pelcula. Encienda y apague el calentador y observe la respuesta. La Figura 4.4 muestra el envase cerrado calentndose a 120 grados y luego enfrindose despus que se apaga el calentador. Juegue con su sistema para familiarizarse con su respuesta; luego, observemos ms de cerca las subrutinas que hacen el programa.

Pgina 104 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos Figura 4.4: Ejemplo de Pantalla Obtenida con el Programa 4.1

El bucle principal de este programa simplemente ejecuta tres subrutinas, Obtenerdato, Calc_Temp, y Mostrar. Cuando se ejecuta, el BASIC Stamp salta primero a la subrutina Obtenerdato. La ltima lnea de esta subrutina ordena al procesador que regrese (RETURN) al bucle principal y ejecute la siguiente instruccin, GOSUB Calc_Temp. La subrutina Calc_Temp se ejecuta y finaliza con un return. El BASIC Stamp ejecuta GOSUB Mostrar. Despus que Mostrar se ejecuta, su instruccin RETURN hace que el programa salte a la instruccin GOTO Principal y el proceso se repite nuevamente. Esta es una aproximacin organizada para estructurar nuestro programa. Luego, cuando incluyamos evaluacin y control en nuestro programa, simplemente agregaremos otra subrutina, como GOSUB Control. Miremos ms de cerca las dos subrutinas principales del Programa 4.1. La subrutina Obtenerdato comienza con una transicin alto a bajo en la lnea chip select. Esto alista el A/D para funcionar.

Control Industrial Versin 1.1 Pgina 105

Experimento 4: Control de Procesos Continuos

Las instrucciones LOW CLK y pulsout CLK,10 le dicen al conversor A/D que haga una conversin de la tensin en Vin(+) en este momento. El ADC0831 es un conversor de aproximaciones sucesivas de 8-bits. Sus 256 combinaciones digitales posibles se distribuyen uniformemente por el rango de tensin determinado por los potenciales en los pines V in(-) y Vref. Vin(-) define la tensin a la cual 0000 0000 se obtendr de la conversin. Vref define el rango de tensiones de entrada por encima de este punto en el que se distribuirn las otras 255 combinaciones digitales. La Figura 4.5 muestra los valores de Cero y Rango para nuestra aplicacin.

Pgina 106 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Figura 4.5: Configuracin de Cero y Rango para Nuestra Aplicacin

Control Industrial Versin 1.1 Pgina 107

Experimento 4: Control de Procesos Continuos

Con esta configuracin, el ADC0831 se enfoca en un rango de temperatura de 70 a 120 grados. Hay una cantidad infinita de valores de temperatura dentro del rango de salida de 0,7 a 1,2 Volts del LM34. Sin embargo, solamente pueden obtenerse unos pocos valores representativos. Dado que el conversor A/D de 8bits tiene una resolucin de 255, en un rango de 50 grados puede detectar cambios de 0,31 grados. La conversin generar un nmero binario igual a [(Vin 0,7) /0,5] x 255. Hagamos la prueba para un valor dentro del rango. Digamos que la temperatura es 98,6 F, que resulta en una salida del LM34 de 0,986 Volts. Si Vin = 0,986 V, cul sera el binario equivalente? [(0,986-0,7)/0,5] *255 = 145,86. Si truncamos el valor obtenemos el entero 145. El valor binario sera 1001 0010. Este valor se retendr y estar listo para la transferencia. LA instruccin SHIFTIN est diseada para realizar una comunicacin sincrnica entre el BASIC Stamp y dispositivos seriales como el ADC0831. La sintaxis para la instruccin es SHIFTIN dpin, cpin, modo, [result\bits]. Los parmetros indican: Sobre que pin llegarn los datos (dpin), Qu pin generar el clock o reloj (cpin), (modo) identifica qu bit llega primero, el menos significativo (LS) o el ms significativo (MS), y en que flanco del clock debe leerse, ascendente (PRE) o descendente (POST), y, cul es el tamao del dato y dnde se almacenar [Datain\8].

En nuestro sistema, declaramos previamente Pin 5 como dpin y Pin 4 como clock (CLK). El ADC0831 emite el bit ms significativo primero en el flanco descendente del clock. Por lo tanto, el modo es MSPOST. Y finalmente, el dato de 8-bits se almacenar en una variable tipo byte declarada como Datain. Despus de introducir el dato binario en el BASIC Stamp, est disponible para ser usado por nuestro programa. Sera ms conveniente usarlo si estuviese expresado en las unidades de temperatura. En nuestra aplicacin, seran grados Fahrenheit. La siguiente subrutina, Calc_Temp, hace exactamente eso. Conociendo la funcin transferencia del proceso de conversin, usamos la frmula conocida y = mx + b. Donde: y =Temperatura, m = pendiente de la funcin transferencia, y b es el offset (desplazamiento del cero o al origen). Se resolver la temperatura y se expresar en dcimas de grado. Revise la frmula Calc_Temp: Temp = TempRango/255 * Datain/10 + 700

Pgina 108 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Para aumentar la precisin al resolver la pendiente (m), la variable TempRango se escala (multiplica) por 10, a 5000 centsimas de grado. La pendiente es entonces, 5000/255 ~ 19 o 0,19 grados por bit. Multiplicando 19 por Datain se obtiene el valor dentro del rango, en unidades de centsimas de grado; por lo tanto, dividindola por 10 se escala nuevamente a dcimas de grado. Al sumar este valor al de referencia de Cero de 700 (70 grados) obtendremos la temperatura actual en dcimas de grado. La resolucin es de aproximadamente 0,2 grados sobre un rango de 70,0 a 120,0 grados. El grfico de la Figura 4.6 muestra la funcin transferencia entre el equivalente decimal del conversor A/D y la temperatura del envase de pelcula. Si se modifica el rango de cobertura, cambia la pendiente de la funcin transferencia. Si se cambia el valor de Cero se desplaza el punto de interseccin con el eje y. Figura 4.6: Funcin Transferencia

Control Industrial Versin 1.1 Pgina 109

Experimento 4: Control de Procesos Continuos

Una advertencia adicional sobre las operaciones matemticas con el BASIC Stamp: Una frmula se ejecutar de izquierda a derecha a menos que se usen parntesis. Ningn subtotal puede exceder 32.759 o 32.760. Adems, todos los quebrados sern truncados, no redondeados.

Desafo 1: Modifique las tensiones de Cero y Rango y edite el programa de acuerdo a los nuevos valores. 1. Su sistema debera ser capaz de aumentar la temperatura del envase de pelcula cerrado, ms all del lmite de 120-grados del Programa 4.1. Modifique los potencimetros de Cero y Rango para cubrir de 75 grados a 200 grados. De esta forma obtendr un rango ms amplio, pero cul es la resolucin de su sistema ahora? Sea paciente y deje que su sistema se estabilice. Registre la temperatura mxima alcanzada por su sistema. 2. Ajuste el Cero y el Rango de su sistema para enfocarse en un rango angosto de temperaturas, desde un grado por debajo de la temperatura ambiente hasta cuatro grados por encima de esta. Ajuste las variables de Calc_Temp para mostrar los valores en centsimas de grado. Registre estos cambios quitando la tapa del envase y tocando el sensor directamente con sus dedos. Como puede ver, la resolucin es muy buena, pero se redujo mucho el rango de operacin. El poder controlar el rango y la referencia del ADC0831 nos permite enfocarnos en ciertos valores de una entrada analgica. Esto ayuda a maximizar la resolucin y la precisin del sistema. El ejercicio siguiente usar el rango original de 70 a 120 grados. Regrese los potencimetros de Cero y Rango a 0,7 y 0,5 Volts, respectivamente. Ahora, despus de todo lo anterior, podemos regresar al estudio de la teora de control.

Pgina 110 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Ejercicio 2: Control a Lazo Cerrado vs. Lazo Abierto Control a Lazo Abierto La forma ms simple de control es a lazo abierto. El diagrama en bloques de la Figura 4.7 representa un sistema a lazo abierto bsico. La energa se aplica al proceso mediante un actuador. La calibracin del actuador determina la cantidad de energa aplicada. El proceso usa esta energa para cambiar su salida. Cambiando la calibracin del actuador se modifica el nivel de energa en el proceso y la salida resultante. Si todas las variables que pueden afectar la salida del proceso son estables, sta ser estable. Figura 4.7: Control a Lazo Abierto

El concepto fundamental del control a lazo abierto es que la calibracin del actuador se basa en la comprensin del proceso. Esto incluye conocer la relacin de los efectos de la energa sobre el proceso y una evaluacin inicial de todas las variables que afectan el proceso. Basndose en este conocimiento, la salida debera ser correcta. En oposicin a esto, el control a lazo cerrado incorpora la evaluacin permanente (medicin) de la salida y la configuracin del actuador depende de esta realimentacin de informacin. Considere el proceso de control de temperatura de la Figura 4.8. El material que es extrado del tanque debe estar a una temperatura de 101o. Obviamente, esto requerir que se agregue cierta cantidad de calor al material. (La seal sobre la base del transistor determina la potencia entregada para calentar el elemento.) La pregunta ahora es: Cunto calor es necesario?

Control Industrial Versin 1.1 Pgina 111

Experimento 4: Control de Procesos Continuos

Figura 4.8: Aplicacin de Calefaccionado a Lazo Abierto

Por un momento, considere los factores que podran afectar la temperatura de salida. Obviamente, la temperatura ambiente es una. Puede mencionar por lo menos otras tres? Por ejemplo: La velocidad a la que ingresa material en el tanque. La temperatura del material que entra al tanque. Y, la magnitud de las corrientes de aire que rodean al tanque.

Todos estos factores representan energa calrica que se quita del proceso. Por o tanto, tambin representan energa que debe ser suministrada al proceso si se pretende lograr la salida esperada. Si el calentados se ajustara para entregar la cantidad exacta de energa que se pierde, la salida sera estable.

Pgina 112 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos En teora, el nivel del calentador podra ajustarse y la salida deseada se mantendra continuamente, mientras las perturbaciones permanezcan constantes. Asumamos ahora que es su objetivo mantener el interior del envase de pelcula a temperatura constante. Un buen ejemplo de la vida real sera una incubadora de huevos. Para empollar los huevos, es importante mantener la temperatura ambiente en 101oF. Al encender el calentador se calentar el interior del envase de pelcula. En un ejercicio anterior, encendi el transistor del calentador y sobrepas los 101oF. Obviamente, para mantener la temperatura deseada, no necesitar tener toda la potencia aplicada al resistor. Despus de algunas pruebas, puede determinar el nivel exacto sera necesario para mantener la temperatura correcta. La seal para el transistor de potencia en la Figura 4.8 est rotulada como PWM. Esto viene de pulse-width modulation o modulacin por ancho de pulso. PWM es un mtodo muy eficiente de controlar la potencia promedio que se entrega a cargas tales como calentadores. La onda cuadrada controla la base del transistor, haciendo que acte como un interruptor. Cuando la base est en estado alto, el transistor se satura y se aplica toda la potencia al calentador. Con la base en bajo el transistor entra en corte; por lo tanto, no circula corriente por la carga. Multiplicando el porcentaje del tiempo total que la carga recibe alimentacin por la potencia total, se obtendr la potencia promedio aplicada a la carga. Este promedio temporal es llamado ciclo de trabajo (duty cycle) y usualmente se expresa como porcentaje. Un ciclo de trabajo del 50% equivale a la mitad de la potencia mxima, un ciclo de trabajo del 75% equivale a tres cuartos, etc. Se mencion anteriormente que el resistor calentador de 47-Ohm recibira 1,7 Watts cuando se lo alimentara directamente desde una fuente de alimentacin de 9-Volts. El pulsador se us para saltar entre encendido y apagado. Si presionara rpidamente el botn a velocidad constante, el resistor recibira 1,7 Watts mientras est encendido y 0 Watts mientras est apagado. Este ciclo de trabajo del 50% resultara en un consumo de potencia promedio de 0,85 Watts (Ppromedio = Pmax * ciclo de trabajo). Complete la tabla de la Figura 4.9 con las potencias absorbidas con ciclos de trabajo del 75% y 25% en nuestro sistema. Figura 4.9: Potencia Promedio Ppromedio = Pmax * ciclo de trabajo Potencia Mxima (Pmax) Ciclo de Trabajo Potencia Promedio (Ppromedio) 1,7 W 100% 1,7 W 1,7 W 75% 1,7 W 50% 0,85 W 1,7 W 25% 1,7 W 0% 0W

Control Industrial Versin 1.1 Pgina 113

Experimento 4: Control de Procesos Continuos

PBASIC provee una instruccin til para generar modulacin por ancho de pulso. Su sintaxis es: PWM pin, trabajo, duracin Donde: pin es el pin de salida que generar la modulacin. trabajo es el ciclo de trabajo relativo, siendo 255 el 100%. duracin es el tiempo en milisegundos durante el que se generar la modulacin. Desafo 2: Graficando ciclo de trabajo de PWM vs. Vout. Use su multmetro para medir la tensin promedio sobre el calentador con distintos comandos PWM. Cambie la variable Trabajo en el Programa 4.2 para que se incremente desde 0 a 255. Grafique la tensin promedio en el grfico de la Figura 4.10.
'Programa 4.2: PWM vs. Vout Mida la

' Modifique Trabajo = 50 en incrementos de 10 entre 0 y 100. ' tensin de salida promedio que resulte. CicloTrabajo Trabajo CicloTrabajo = 50 Bucle: Trabajo = (CicloTrabajo * 255/100) PWM 8, Trabajo, 200 DEBUG " Probando un Ciclo de Trabajo de GOTO Bucle VAR VAR byte byte

' Comienza con un ciclo de trabajo del 50%

' Escala CicloTrabajo a PWM (0-255) ' Aplica un PWM de Trabajo en el calentador ", DEC CicloTrabajo, "%.", CR

Pgina 114 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Figura 4.10: Grfico de Tensin sobre el Calentador vs. Ciclo de Trabajo de PWM

Si no est familiarizado con la instruccin PWM, vea el BASIC Stamp Manual Versin 2.0 pp. 247-250. Debe entenderse un aspecto sobre el uso de este comando: PWM aplica pulsos por un perodo de tiempo definido por su parmetro duracin. Durante el tiempo que se ejecuta el resto del programa no se aplica ninguna salida a la carga. Como resultado, la tensin promedio para un ciclo de trabajo del 100% (trabajo=255) generar valores menores que los esperados con tensin mxima. Cuanto ms tiempo demore su ciclo de programa, mayor ser la diferencia. Para entender mejor la influencia del tiempo de ciclo de programa, coloque una PAUSE 200 en el Programa 4.2. Compare la tensin de salida resultante, con las lecturas anteriores. Cambie la longitud de la pausa y observe los resultados. Revise el circuito Sample and Hold introducido en el Desafo 3 del Experimento 2. Este circuito mantena la tensin promedio del average PWM sobre el motor durante todo el bucle del programa. Esto fue necesario debido a que el bucle del programa era muy largo y la respuesta del ventilador muy rpida. El circuito Sample

Control Industrial Versin 1.1 Pgina 115

Experimento 4: Control de Procesos Continuos and Hold fue efectivo para entregar la tensin promedio deseada sin importar el tiempo del bucle del programa. En trminos de control de potencia, es ms eficiente no usar Sample and Hold. Esto puede ser entendido si considera manejar un circuito al 50%. Un ciclo de trabajo del 50% aplicara de la tensin de la fuente continuamente sobre la carga. Esto es fantstico. No? Bien, si la mitad de la tensin de la fuente est continuamente sobre la carga, la otra mitad estar sobre el transistor. Esta tensin colector-emisor multiplicada por la corriente de colector representa la potencia disipada en el transistor. Cuando la respuesta del sistema es rpida (como el ventilador) no hay otra opcin que usar este tipo de control de potencia lineal. El elemento resistivo de calefaccin en nuestra incubadora, es un buen ejemplo de sistema de respuesta lenta. El control PWM directo sobre el resistor desperdicia muy poca potencia en el transistor, debido a que ste opera solamente en conmutacin. Mientras que el perodo de PWM sea mucho ms largo (>10x) que el tiempo requerido para ejecutar el resto del programa, habr muy poca variacin en el ciclo de trabajo y la tensin promedio esperada.

Pgina 116 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Desafo 3: Analizando su Sistema a Lazo Abierto El siguiente programa est desarrollado para estudiar la relacin entre la modulacin PWM sobre el calentador y la temperatura resultante. El programa aplicar niveles PWM en incrementos del 10%. Cada incremento durar aproximadamente cuatro minutos. El programa terminar luego de aplicar un nivel del 100%. StampPlot Lite realizar la representacin grfica de la respuesta de su sistema, junto con informacin de temporizacin del Stamp en el recuadro inferior. Si desea profundizar, el archivo de datos del StampPlot Lite puede ser importado a una hoja de clculo, para ser graficada y analizada. Figura 4.11: PWM vs. Temperatura

Control Industrial Versin 1.1 Pgina 117

Experimento 4: Control de Procesos Continuos

La Figura 4.11 es un ejemplo de la pantalla que se obtendr con StampPlot Lite al realizar esta prueba. Cargue el Programa 4.3. Antes de ejecutar el programa, asegrese de que su envase se enfre a temperatura ambiente. Coloque la tapa en el envase y ejecute el programa. Cuando la ventana DEBUG aparezca, cirrela y ejecute StampPlot Lite. Conecte el StampPlot Lite y presione el botn "reset" de su plaqueta para reiniciar la ejecucin del programa.
'Programa 4.3: PWM vs. Temp con StampPlot ' ' ' ' ' ' Este programa verifica el aumento de temperatura del envase debido a los incrementos en el PWM. El tiempo de ejecucin del programa es de aproximadamente 40 minutos. Esto puede ajustarse cambiando los incrementos de "contador" y/o "Porcentaje". El programa asume que el circuito est de acuerdo a la Figura 4.3. ADC0831: "chip select" CS = P3, "clock" Clk=P4, y datos seriales Dout = P5. Pines de Cero y Rango: Digital 0 = Vin(-) = 0,70V y Rango = Vref = 0,50V.

' Configura StampPlot Pause DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG 500 "!RSET",CR "!TITL PWM vs. Temp ",CR "!PNTS 24000",CR "!TMAX 6000",CR "!SPAN 70,120",CR "!AMUL .1",CR "!DELD",CR "!SAVD ON",CR "!TSMP ON",CR "!CLMM",CR "!CLRM",CR "!PLOT ON",CR "!RSET",CR ' ' ' ' ' ' ' ' ' ' ' ' ' ' Espera que se limpie el buffer Reinicia el grfico para limpiar datos Ttulo de la ventana 24000 puntos de datos Max 6000 segundos 70-120 grados Multiplicar datos por 0,1 Borrar archivo de datos Guardar datos Activar temporizador Limpiar Min/Max Limpiar mensajes Iniciar grfico Reinicia temporizador en 0

' Definicin de constantes y variables CS CON CLK CON Dout CON Datain VAR Temp VAR TempRango VAR TempRango = 5000 Offset Offset = 700 3 4 5 byte word word ' ' ' ' ' ' ' ' ' ' ' 0831 chip select activo bajo a BS2 (P3) Clock del BS2 (P4) al 0831 Salida serial del 0831 al BS2 (P5) Variable para almacenar nmero (0 to 255) Almacena valor convertido en temperatura Rango mximo en dcimas de grado. Declara rango para Vref 0,50V Temp. mnima. @Offset, ADC = 0 Declara el Cero para Vin(-) 0,7 Con estos valores, la salida del ADC ser de 0 - 255 para temps de 700 a 1200 dcimas de grado.

VAR word

LOW 8

' Inicializa calentador apagado

Pgina 118 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Porcentaje Trabajo Contador

VAR word VAR word VAR word

' Porcentaje de ciclo de trabajo ' variable para ciclo de trabajo PWM

Porcentaje = 0 Contador = 0 Trabajo = 0

' Inicializa en 0

' Obtiene y muestra valores iniciales. GOSUB GOSUB DEBUG DEBUG Obtenerdato Calc_Temp "Temp = ", DEC Temp, " Trabajo = ", DEC Trabajo,CR "!USRS Comenzando la prueba. Probando al ", DEC Porcentaje, "% Porcentaje.",CR

Principal: PAUSE 10 GOSUB Obtenerdato GOSUB Calc_Temp GOSUB Control GOSUB Mostrar GOTO Principal Obtenerdato: LOW CS LOW CLK PULSOUT CLK,10 SHIFTIN Dout, CLK, MSBPOST,[Datain\8] HIGH CS RETURN Calc_Temp: Temp = TempRango/255 * Datain/10 + Offset RETURN Mostrar: DEBUG DEC Temp,CR RETURN Control: PWM 8,Trabajo,200 Contador = Contador + 1 IF Contador = 2000 Then Incrementar RETURN

' Bucle principal

' ' ' ' ' '

Adquiere conversin del 0831 Selecciona el chip Prepara la lnea clock. Enva un pulso de 10 uS al 0831 Recibe los datos Detiene la conversin

' Convierte el valor digital a temperatura ' basndose en las variables Rango y ' Offset. ' Grafica temperatura actual

' ' ' '

Prueba el sistema a otro % ciclo de trabajo PWM Incrementa la variable contador Ciclos de programa para un mismo porcentaje

Incrementar:

' Incrementa el porcentaje

Control Industrial Versin 1.1 Pgina 119

Experimento 4: Control de Procesos Continuos


Porcentaje = Porcentaje + 10 ' Porcentaje se incrementa un 10% Trabajo = (Porcentaje * 255/100) ' Escala el Porcentaje a Trabajo If Trabajo > 256 Then Detener ' Detiene la prueba si porcentaje es 100% DEBUG "Tem. final = ", DEC Temp, " Ahora probando a ", DEC Porcentaje, "% Porcentaje", CR DEBUG "!USRS Probando a ", DEC Porcentaje, "% ",CR Contador = 0 RETURN Detener: ' Detiene el programa e imprime el resumen DEBUG "Fin de la prueba. Temp. final = ", DEC Temp," a 100 % ",CR DEBUG "!USRS Temperatura = ", DEC Temp,"Fin de la prueba",CR END

Pgina 120 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Desafo 4: Control a Lazo AbiertoAjuste deseado = 101o Fahrenheit Nuestro objetivo es mantener una temperatura constante de 101o Fahrenheit en el envase. Siga estos procedimientos. Almacene los valores en la tabla de la Figura 4.12. 1. Estudie el anlisis de StampPlot Lite luego de ejecutar el Programa 4.2. Del listado del recuadro de texto, anote en la tabla la temperatura ambiente al comenzar la prueba, la temperatura con un ciclo de trabajo del 50% y la temperatura final mxima con el 100% de la potencia. 2. Use su cursor para encontrar el nivel que provoc una temperatura de 101 grados. 3. Luego, modifique la subrutina Control del Programa 4.2 para que el ciclo de trabajo permanezca constantemente en el valor declarado inicialmente. Hgalo removiendo las dos lneas de cdigo que se muestran abajo.
Control: ' Prueba el sistema a otro % ciclo de trabajo PWM 8,duty,200 ' PWM tick = tick + 1 ' Incrementa la variable contador IF tick = 2000 Then Incrementar ' Ciclos de programa para un mismo porcentaje RETURN

4. Al principio del programa, declare a Trabajo en el valor que gener 101o en la prueba anterior del StampPlot Lite. Ejecute el programa y espere hasta que el sistema se estabilice. Qu tan cerca estuvo su estimacin? Aumente o disminuya el valor de esta variable para encontrar el que genere mejor resultado. En la lnea 5 de la tabla, anote el porcentaje que coloque al sistema ms cerca de los 101 grados. Djelo funcionando por un momento y tome notas de la estabilidad del sistema. Una vez que se determina la configuracin correcta, un sistema de lazo abierto se estabilizar; y siempre y cuando las perturbaciones que afecten el proceso se mantengan constantes, el proceso permanecer constante, al igual que la salida. 5. Conecte el ventilador directamente a la fuente de alimentacin y apntelo directamente hacia el envase. El aire en movimiento representa un cambio en las perturbaciones de su proceso. De acuerdo a la teora, se remover calor del proceso a mayor velocidad y el nuevo punto estable de temperatura ser menor a 101o. Con el ventilador apuntando hacia el envase, intente encontrar el nuevo valor de porcentaje correcto para esta condicin. Registre sus datos en la lnea 6 de la tabla.

Control Industrial Versin 1.1 Pgina 121

Experimento 4: Control de Procesos Continuos Figura 4.12: Tabla de Control de Lazo Abierto Lnea #1 #2 #3 #4 #5 #6 #7 Condicin Temperatura deseada Temperatura ambiente Temperatura con Ciclo de Trabajo del 50 % Temperatura con Potencia total Ciclo de trabajo apropiado para 101o Sin perturbacin del ventilador Ciclo de trabajo apropiado para 101o Con perturbacin directa del ventilador Ciclo de trabajo apropiado para 101o Con perturbacin parcial del ventilador % Trabajo 0 50% 100% Temp. 101o

101o 101o 101o

6. Finalmente, modifique la posicin del ventilador que se peda en la lnea 6, de forma que no sople directamente sobre el envase. Esto representa un nivel de perturbacin medio sobre el sistema. Con esta situacin y adivine el valor apropiado de ciclo de trabajo para compensar estos cambios. Programe el BASIC Stamp para este nuevo nivel. Una vez que el sistema se estabilice, registre sus resultados en la lnea 7 de la tabla. Desafo 5: Determinando la Configuracin para Lazo Abierto 1. Seleccione una nueva temperatura deseada para su sistema. Prediga y programe un valor de lazo abierto que mantenga esta temperatura. 2. Coloque un par de bolitas de vidrio dentro del envase. Vea como un incremento de la masa del sistema afecta la respuesta y la configuracin para mantener esta nueva condicin. Qu conclusiones puede obtener del comportamiento del sistema? Hay muchas variables que pueden afectar la relacin entre el ciclo de trabajo y la temperatura en su pequeo ambiente. Despus de algn tiempo experimentando y familiarizndose con la relacin dinmica entre la temperatura, porcentaje de alimentacin y perturbaciones, se volvera muy bueno adivinando las condiciones y la configuracin correcta para el sistema de lazo abierto. Como podemos ver sin embargo, si se modifica cualquier condicin de nuestro proceso, tambin lo har la salida. El control a lazo abierto puede ser muy til en algunas aplicaciones. Cuando un proceso requiere que su salida permanezca constante bajo cualquier condicin, entonces debera emplearse control a lazo cerrado. En el control a lazo cerrado, las acciones se toman evaluando las mediciones y la configuracin actual. Esta evaluacin genera lo que se denomina seal de error. Los Experimentos 5 y 6 lo guiarn por 5 modos de control a lazo cerrado.

Pgina 122 Control Industrial Versin 1.1

Experimento 4: Control de Procesos Continuos

Preguntas y Desafo
1. Mencione dos ejemplos de control de proceso continuo que no se hayan mencionado en el texto. 2. Cmo se determina el porcentaje de ciclo de trabajo en un control a lazo abierto? 3. Cul es la principal ventaja del control a lazo abierto? 4. Cul es su principal desventaja? 5. El ADC0831 convertir un rango de entrada analgico a uno de 256 valores binarios posibles. El nmero 256 identifica la _________ del conversor. 6. El propsito de las lneas chip select y clock del ADC0831 es ____________ el proceso de conversin. 7. Si el LM34 fuese colocado en un ambiente a 98,6-grados, la salida debera ser de _________Volts. 8. En modulacin de ancho de pulso, el porcentaje del ciclo de trabajo se obtiene en base a la __________ de tiempo en estado alto, sobre el tiempo total. 9. Si un calentador de 40-Watts recibiera un PWM con un ciclo de trabajo del 75%, la potencia promedio consumida sera de __________ Watts. 10. Cuando las perturbaciones cambian en un proceso a lazo abierto, tambin lo hace ____________.

Desafo: Control a Lazo Abierto del Ventilador En el Experimento 2, el circuito de la Figura 4.13 se introdujo para controlar la velocidad el ventilador.

Control Industrial Versin 1.1 Pgina 123

Experimento 4: Control de Procesos Continuos Figura 4.13: PWM con Sample and Hold

Ventilador

Debido a la respuesta rpida del ventilador a las fluctuaciones de tensin, el circuito de Sample and Hold es necesario para controlar efectivamente la velocidad, usando la instruccin PWM. Construya este circuito para que sea capaz de variar la velocidad el ventilador. Conecte el calentador directamente a la fuente +Vin. Con el ventilador apuntando directamente al envase, experimente con diferentes valores de PWM en el ventilador. Qu nivel es necesario para enfriar el envase a 101oF?

Pgina 124 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado Un sistema de control a lazo abierto puede generar la salida deseada si se comprende exactamente el proceso y todas las Experimento 5: condiciones que lo afectan permanecen constantes. Sin Control a Lazo embargo, el Experimento 4 nos mostr que este tipo de Cerrado sistemas no pueden garantizar la salida deseada, si el proceso se afecta por variaciones, aunque sean ligeras. No hay ningn mecanismo en un sistema a lazo abierto que reaccione cuando las perturbaciones afectan la salida. Aunque se pudo encontrar una configuracin que mantena la temperatura deseada en el Experimento 4, cuando se acerc o alej el ventilador, la configuracin fija dej de ser til. El control a lazo cerrado ajusta automticamente un proceso luego de juntar y evaluar datos, generando la respuesta adecuada. Un diagrama de bloques tpico de un sistema de control automtico se muestra en la Figura 5.1. Figura 5.1: Control a Lazo Cerrado

En este diagrama, un Sensor apropiado est midiendo la Salida Real. El bloque de Acondicionamiento de Seal toma la salida directa del sensor y la convierte en datos que el bloque Controlador pueda interpretar. La Calibracin es un valor de entrada al Controlador que representa la salida deseada del proceso. El Controlador evala las dos entradas de datos. Basndose en esta evaluacin, el Controlador acciona la Interfaz de Potencia. Este bloque provee el acondicionamiento de seal para la salida del Controlador. En el Experimento 3 se vieron varias opciones de montaje de interfaces de potencia. La Interfaz de Potencia tiene la capacidad de controlar el Actuador. Este puede ser un rel, una vlvula solenoide, el driver de un motor, etc. La accin tomada por el Actuador es suficiente para llevar a la Salida Real hacia el valor deseado.

Control Industrial Versin 1.1 Pgina 125

Experimento 5: Control a Lazo Cerrado Como puede ver, este tipo de control forma un bucle o un lazo cerrado. Ms an, dado que la salida de este proceso est siendo monitoreada y su valor determina la configuracin del actuador, podemos decir que se trata de un sistema a lazo cerrado realimentado. La entrada cambia la salida del proceso ! la salida es monitoreada para realizar el control ! la evaluacin cambia la entrada ! eso modifica la salida del proceso, etc., etc. El tipo de reaccin que se produce luego de la evaluacin de la entrada, define el modo de control del proceso. Hay cinco modos de control comn. Estos son on-off (encendido- apagado), on-off con banda diferencial, proporcional, integral y derivativo. Las caractersticas fundamentales que distinguen cada modo de control estn listadas abajo, en la Tabla 5.1. Tabla 5.1: Cinco Modos de Control Comunes Modo de Control Proceso ON-OFF ON-OFF con banda diferencial Proporcional Integral Derivativo Evaluacin La variable est por encima o por debajo del valor deseado? La variable est por encima o por debajo de un rango definido por los lmites superior e inferior? Qu tan lejos est la variable medida, del valor deseado? El error an se mantiene? Accin La salida se enciende (ON) o apaga (OFF) completamente. La salida se enciende (ON) o apaga (OFF) completamente para lograr que el valor medido permanezca dentro de esa rango. Toma un grado de accin relativo a la magnitud del error. Aumenta la fuerza de la accin mientras persista el error. Qu tan rpido se produce el error? Genera una respuesta basada en la velocidad de cambio de la seal de error (derivada).

Este ejercicio se enfocar en convertir el sistema de control de temperatura a lazo abierto del Experimento 4 en un sistema de control ON-OFF a lazo cerrado. Nuestro sistema mostrar las ventajas y desventajas de este mtodo de control. Las caractersticas del sistema que se est controlando determinan la conveniencia del modo de control. El Experimento 6 usar el mismo circuito para explicar y aplicar los modos de control proporcional, integral y derivativo. Deje el circuito montado una vez que complete este ejercicio. La Figura 5.2 muestra el circuito necesario para los siguientes ejercicios. Como puede ver, este es idntico al del Experimento 4. El envase de pelcula de 35-mm provee el ambiente que controlar. El driver del calentador provee suficiente potencia para desarrollar calor en el resistor. El LED tambin se controla desde el Pin 8. Recuerde que el LED se alimenta de la fuente de +5-Vdd y el calentador se alimenta directamente desde la fuente de alimentacin. El sensor LM34 proveer los datos sobre temperatura. En control a lazo cerrado, monitorearemos la temperatura, usndola para determinar los niveles de control. Las corrientes de aire del ventilador actuarn como una perturbacin del proceso.

Pgina 126 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado Figura 5.2: Circuito de Control a Lazo Cerrado

Control Industrial Versin 1.1 Pgina 127

Experimento 5: Control a Lazo Cerrado

Si todava no mont el circuito en su protoboard, hgalo ahora cuidadosamente. Use el espacio eficientemente para que entre todo el circuito. Tmese un tiempo, planee la distribucin y sea cuidadoso para evitar cortocircuitos. Vea nuevamente el Experimento 4 para obtener detalles del montaje del envase de pelcula, la operacin del LM34, o el uso del conversor analgico a digital ADC0831. Revise cuidadosamente las tensiones en Cero y Rango del ADC0831. Use su voltmetro para ajustar la tensin de Cero (Vin(-)) a 0,7V y el Rango a (V(ref)) a 0,5 Volts. Esto establecer un rango de medicin de escala completa desde 70 hasta 120 grados F.

Ejercicios
Ejercicio 1: Estableciendo un Control a Lazo Cerrado Supongamos que nuestro objetivo es mantener la temperatura dentro del envase en 101,50 oF + 1 grado. Esto representara los requerimientos de una incubadora usada para empollar huevos. Mantener la temperatura en 101,5 oF es perfecto, pero si la temperatura sube hasta 102,50 o baja hasta 100,50 no se causa dao alguno a los embriones. Aunque puede ser difcil imaginarse una incubadora cuando mira a su envase de pelcula, el BASIC Stamp podra ser usado en un incubador grande de tipo comercial. Mantener la temperatura en el valor deseado parece ser una tarea de sentido comn. Es decir, simplemente mida la temperatura; si est por encima del valor escogido, apague el calentador y, si est por debajo, prndalo. El modo de control ms simple es el on-off. Este control tiene algunas desventajas, sin embargo. Durante el siguiente ejercicio, establecer un control on-off es su incubadora. Preste mucha atencin al comportamiento de su modelo. ste tambin se aprecia en aplicaciones de control reales. Procedimiento El programa para esta aplicacin requiere adquisicin de datos, evaluacin y accin de control. La rutina que muestra los datos, tambin almacenar los valores mximo y mnimo del proceso . La estructura y mucho del contenido del Programa 4.1 puede ser usado para adquirir y calcular las mediciones. En lugar de encender el calentador continuamente, se agregar una nueva subrutina para controlarlo. La decisin se basar en la variable tempdeseada. Vea el Programa 5.1 a continuacin.

Pgina 128 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado

'Programa 5.1: Control Simple ON/OFF con StampPlot ' Este programa establece un control simple ON/OFF para la incubadora. ' El programa distribuye las E/S de acuerdo a la Figura 5.2. ' Tensiones de Cero y Rango: Digital 0 = Vin(-) =0,70V y Rango = Vref = 0,50V. ' Configura graficador Pause 500 DEBUG "!RSET",CR DEBUG "!TITL Control Simple ON/OFF ",CR DEBUG "!PNTS 60000",CR DEBUG "!TMAX 300",CR DEBUG "!SPAN 70,120",CR DEBUG "!AMUL .1",CR DEBUG "!DELD",CR DEBUG "!CLMM",CR DEBUG "!CLRM",CR DEBUG "!USRS ",CR DEBUG "!SAVD ON",CR DEBUG "!TSMP ON",CR DEBUG "!SHFT ON",CR DEBUG "!PLOT ON",CR DEBUG "!RSET",CR ' Define constantes y variables CS CLK Dout Datain Temp CON CON CON VAR VAR 3 4 5 byte word ' ' ' ' ' 0831 chip select activo bajo a BS2 (P3) Clock del BS2 (P4) al 0831 Salida serial del 0831 al BS2 (P5) Variable para almacenar nmero (0 to 255) Almacena valor convertido en temperatura

' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '

Espera que se limpie el buffer Reinicia el grfico para limpiar datos Ttulo de la ventana 60000 puntos de datos Mx. 300 segundos 70-120 grados Multiplicar datos por 0,1 Borrar archivo de datos Limpiar Min/Max Limpiar mensajes Limpia barra de usuario Guardar datos Activar temporizador Habilita desplazamiento de grfico Iniciar grfico Reinicia temporizador de grfico 0

TempRango VAR word TempRango = 5000 Offset VAR word Offset = 700

' Rango mximo en dcimas de grado ' Declara rango para Vref 0,50V ' ' ' ' Temp. mnima. @Offset, ADC = 0 Declara el Cero para Vin(-) 0,7 Con estos valores, la salida del ADC ser de 0 - 255 para temps de 700 a 1200 dcimas de grado

Tempdeseada VAR word Tempdeseada = 1015 BanderaMM VAR bit BanderaMM = 0 LOW 8

' Inicializa tempdeseada en 101.5 grados

' Inicializa calentador apagado

Principal:

Control Industrial Versin 1.1 Pgina 129

Experimento 5: Control a Lazo Cerrado


GOSUB Obtenerdato GOSUB Calc_Temp GOSUB Control GOSUB Mostrar GOTO Principal Obtenerdato: LOW CS LOW CLK PULSOUT CLK,10 SHIFTIN Dout, CLK, MSBPOST,[Datain\8] HIGH CS RETURN Calc_Temp: Temp = TempRango/255 * Datain/10 + Offset RETURN Control: IF Temp > Tempdeseada THEN OFF HIGH 8 RETURN OFF: LOW 8 RETURN ' ' ' ' ' ' Adquiere conversin del 0831 Selecciona el chip Prepara la lnea clock. Enva un pulso de 10 uS al 0831 Recibe los datos Detiene la conversin

' Convierte el valor digital a temperatura ' basndose en las variables Rango y ' Offset. ' control ON/OFF ' Calentador encendido (ON)

' Calentador apagado (OFF)

Mostrar: ' Grafica temperatura actual IF OUT8 = 0 AND BanderaMM = 0 THEN LimpiaMM ' Limpia Min/Max DEBUG DEC Temp,CR DEBUG IBIN OUT8,CR RETURN LimpiaMM: ' Limpia Min/Max cuando alcanza tempdeseada. DEBUG "!CLMM",CR DEBUG "!USRS Bsqueda de Mximo/Mnimo Lista",CR BanderaMM = 1 RETURN

Pgina 130 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado

Ejecute el programa y observe el comportamiento del sistema. StampPlot Lite graficar la respuesta de la temperatura del sistema y el estado on-off de la salida Pin 8. Siga el procedimiento para ejecutar StampPlot Lite, descargando el programa, cerrando la ventana debug, abriendo StampPlot Lite, y presionando el botn reset. Cuando inicia su sistema, el calentador se encender como indica el LED. El calentador / resistor se calentar bastante cuando se le aplique toda la potencia. Este calor se transfiere a travs del ambiente y aumenta la temperatura del sensor. Cuando el sensor se calienta a 101,5 F, el BASIC Stamp apagar el calentador. Durante un tiempo, luego de apagar el calentador, la temperatura contina subiendo. En este punto, es importante entender la dinmica de su sistema. El calor acumulado en el interior del resistor continuar disipndose en el aire, el aire continuar calentndose y el LM34 reportar este fenmeno. Esto es similar a la inercia mecnica de un objeto mvil, recibiendo el nombre de inercia trmica. El sobrepaso de temperatura es mayor cuando la cantidad de energa trmica contenida en la masa del resistor es ms grande, en comparacin con la que se encuentra distribuida en el envase. El envase de pelcula de 35-mm es pequeo, pero la masa del resistor de medio Watt tambin lo es. Como resultado, la temperatura de su sistema probablemente se sobrepasar menos de un grado. Cuando la temperatura se detiene y comienza a caer, al pasar por la temperatura deseada, el calentador se enciende nuevamente. La temperatura seguir bajando una vez encendido el calentador, por la inercia trmica que describimos antes. Este ciclo en el que la temperatura pasa por encima y por debajo de la deseada es tpico del control on-off. La velocidad de este ciclo y la magnitud en que se aleja de la temperatura deseada dependen de las caractersticas del sistema. El control ON-off es conveniente para procesos que tienen gran capacidad, pueden tolerar una respuesta lenta y tienen un nivel relativamente constante de perturbaciones. Si nuestra incubadora fuera grande, bien aislada y mantenida dentro de un ambiente a temperatura constante, el uso del control on-off sera aceptable. Luego que el proceso haya repetido algunos ciclos, registre los valores mximo y mnimo que alcanza normalmente la temperatura. Temperatura Mxima _______________ Temperatura Mnima __________________ Usando su cursor, la duracin de cada ciclo. Registre estos tiempos abajo. Tiempo en el que el calentador se apaga por primera vez (T1off): Tiempo en el que el calentador se vuelve a encender (T1on): Tiempo en el que el calentador se vuelve a apagar (T2off): Duracin del ciclo = (T2off) (T1off): ____________ ____________ ____________ ____________

Control Industrial Versin 1.1 Pgina 131

Experimento 5: Control a Lazo Cerrado

Un problema serio con el control on-off cuando la salida oscila rpidamente cuando las mediciones rondan la temperatura deseada. El ruido que se superponga a la medicin del sensor analgico sera interpretado como una fluctuacin rpida por encima y por debajo de la temperatura deseada. El diagrama de la Figura 5.3 representa este problema. Figura 5.3: Control ON-OFF Cuando se Superpone Ruido en los Datos

Calentador encendido

Temp. deseada

La oscilacin lenta de la temperatura alrededor de la referencia tiene superpuesta una seal de ruido de alta frecuencia. Como puede ver, el efecto de esta superposicin es que el valor medido de la temperatura pasa por encima y por debajo de la temperatura deseada varias veces consecutivas. El microcontrolador encender y apagar el calentador de acuerdo a esa seal. En una incubadora real donde se controla una gran potencia, esta conmutacin rpida podra causar ruido indeseado de RF. Tambin se podran daar los elementos electromecnicos de salida tales como motores, rels y solenoides. Puede observar el parpadeo rpido del LED cuando la temperatura se acerca al valor deseado? __________ Quite el capacitor de 10-uF de la salida del sensor. Mejora o empeora este problema? Por qu? La Figura 5.4 una pantalla que se obtuvo con este experimento. La inercia trmica y la oscilacin alrededor del valor deseado representan un problema. Puede observar esto en la respuesta de su sistema?

Calentador apagado

Pgina 132 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado

Figura 5.4: Control Simple ON/OFF

Control Industrial Versin 1.1 Pgina 133

Experimento 5: Control a Lazo Cerrado

Desafo! Modifique la Dinmica de su Sistema 1. Conecte su ventilador a la fuente de alimentacin y apntelo hacia el envase de pelcula. Reinicie el programa y observe la accin de control. Describa cualquier efecto que el nuevo nivel de perturbacin tenga sobre el valor pico y/o el ciclo de la temperatura. Resuma como ha cambiado la dinmica de su sistema. 2. Coloque una bolita de vidrio dentro del envase. Reinicie el programa y observe la accin de control. Describa cualquier efecto que el cambio de masa de su sistema tenga sobre el valor pico y/o el ciclo de la temperatura. Resuma como ha cambiado la dinmica de su sistema. Ejercicio 2: Control de Banda Diferencial La oscilacin de alta frecuencia causada por el ruido es la mayor desventaja del control simple on-off. La mayora de los sistemas de control on-off en la prctica, toleran valores de medicin mnimo y mximo. Una incubadora es un buen ejemplo. Aunque la temperatura deseada es de 101,5 grados, se permite una variacin de + 1 grado desde ese punto. El control de banda diferencial es un modo de control que genera una accin cuando la medicin cruza ciertos lmites predefinidos, superior e inferior. Cuando el valor medido va ms all de ese lmite, se toma la accin apropiada para enviar la temperatura hasta el lmite opuesto. Luego la accin opuesta se toma para regresar el proceso al inicio. La Figura 5.5 grafica la accin tomada por un control de banda diferencial. Cuando el sistema es iniciado y su temperatura est por debajo del lmite ms bajo, el calentador se enciende y la temperatura subir. Cuando la temperatura cruza el lmite superior, el calentador se apaga, el calor comenzar a abandonar el proceso y la temperatura comenzar a caer hacia el lmite inferior. Al cruzar este lmite el calentador se enciende nuevamente y el ciclo comienza nuevamente.

Pgina 134 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado

Figura 5.5: Accin de Control de Banda Diferencial

El resultado es un tiempo de ciclo on-off ms lento y la cancelacin de la influencia del ruido. Observe como difiere el diagrama temporal de la Figura 5.6 del anterior, que se haba realizado para el modo de control onoff simple. Cuando la medicin se encuentra en cualquier punto entre estos lmites, el estado del calentador no se modifica. El calentador es activado cuando la seal de la temperatura (+ruido) cruza un lmite. Luego, la seal (+ruido) debe llegar hasta el otro lmite antes de que se produzca otra conmutacin en el calentador. Debido a que la banda diferencial es ms ancha que el efecto del ruido, la oscilacin de alta frecuencia en la salida es eliminada.

Control Industrial Versin 1.1 Pgina 135

Experimento 5: Control a Lazo Cerrado

Figura 5.6: Accin de Control de Banda Diferencial Cuando se Superpone Ruido a los Datos

Calentador encendido Lmite superior

Valor Deseado Lmite inferior Calentador apagado

Estas ventajas surgen con el compromiso de permitir que la variable bajo control, se aleje del valor promedio deseado. La inercia trmica de nuestro sistema aun genera excesos en los valores lmites de la temperatura. En este caso, estamos aceptando una variacin ms amplia en la temperatura. Cuando los procesos permiten esta variacin, el control de banda diferencial normalmente es escogido antes que el control on-off simple. La subrutina Control puede modificarse fcilmente para el control de banda diferencial. Haga las siguientes modificaciones al Programa 5.1. Declare las nuevas variables Limite_superior y Limite_inferior al comienzo del programa e inicialcelas en 102 oF y 101 oF respectivamente.
Limite_superior Limite_inferior Limite_superior Limite_inferior VAR word VAR word = 1020 = 1010

'102 grados dcimas '101 grados dcimas

Pgina 136 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado

Luego, reemplace la subrutina de Control on-off por el siguiente cdigo.


Control: IF Temp > Limite_superior THEN OFF ' Sobre el lmite superior apaga calefactor. IF Temp < Limite_inferior THEN ON ' Bajo el lmite inferior, lo enciende. RETURN ' Regresa dejando el calentador en el ltimo estado OFF: Out8 = 0 BanderaMM = 1 RETURN ON: Out8 = 1 RETURN

' Apaga el calentador

' Enciende el calentador

Ejecute el programa y observe el comportamiento de su sistema. Desafo! Observe y Evale el Control de Banda Diferencial Permita que el programa realice algunos ciclos. Registre lo siguiente: Registre los valores mximo y mnimo de la temperatura. Temperatura Mxima _______________ Temperatura Mnima __________________ Con su cursor, investigue la duracin de los ciclos. Registre estos tiempos abajo. Tiempo en el que el calentador se apaga por primera vez (T1off): Tiempo en el que el calentador se vuelve a encender (T1on): Tiempo en el que el calentador se vuelve a apagar (T2off): Duracin del ciclo = (T2off) (T1off): ____________ ____________ ____________ ____________

Verifique a qu temperatura se apaga el calentador, de acuerdo al grfico. Quite momentneamente el capacitor de filtrado de 10-uF. El aumento de ruido en la lectura genera una oscilacin de alta frecuencia en la salida, cuando la temperatura est cerca de los lmites?

Control Industrial Versin 1.1 Pgina 137

Experimento 5: Control a Lazo Cerrado

Use el ventilador para modificar las perturbaciones del proceso. Reinicie el programa y observe la accin de control. Describa cualquier efecto que el nuevo nivel de perturbacin tenga sobre el valor pico y/o el ciclo de la temperatura. Resuma como ha cambiado la dinmica de su sistema. Coloque una bolita de vidrio dentro del envase. Reinicie el programa y observe la accin de control. Describa cualquier efecto que el cambio de masa de su sistema tenga sobre el valor pico y/o el ciclo de la temperatura. ON/OFF Simple o Banda Diferencial? Afortunadamente, los datos que ha observado y almacenado revelarn algunas caractersticas importantes de estos dos modos de control. Ambos tienen ventajas y desventajas. El control on-off simple genera acciones ms frecuentes en el calentador. Perodos de ciclo de menos de un segundo podran presentarse si su sistema tiene recuperacin rpida o si hay ruido en la lnea de seal analgica. Un ciclo de alta frecuencia no es aceptable si el calentador va a ser controlado por un rel electromecnico. Observe sin embargo, que el sobrepico de temperatura es de cerca de medio grado y que el valor promedio es el valor deseado. Compare esta respuesta de control con la que obtuvo con el control ON/OFF de Banda Diferencial. Con el control de banda diferencial, notar las siguientes diferencias. 1. Los ciclos de alta frecuencia cercanos a la temperatura deseada no se producirn. 2. Todava se producen picos mximos y mnimos, pero ahora dentro de los lmites. 3. El perodo de los ciclos ON/OFF es ms largo. El aumento del perodo del ciclo y la inmunidad al ruido cerca de la temperatura deseada, son mejoras evidentes sobre el control simple on-off. La contra sin embargo, est en que la temperatura del proceso se alejar mas del punto deseado. Obviamente, el conocimiento del proceso y su hardware determinar el modo de control apropiado.

Pgina 138 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado

Ambos modos tomaron acciones de control apropiadas para mantener la temperatura bajo niveles variantes de perturbacin y condiciones de carga. La contra de estos dos modos de control ON/OFF es que la variable bajo control est siempre variando su valor. Las condiciones completamente encendido y completamente apagado del elemento de control final fuerzan continuamente la variable, fuera de los lmites. Recuerde el ejercicio de Control a Lazo Abierto del Experimento 3, donde se encontraba un valor de excitacin intermedio entre completamente encendido y completamente apagado, para mantener la temperatura en cierto punto. Si todas las perturbaciones del proceso permanecan constantes, la temperatura quedaba en el valor correcto cuando se aplicaba el porcentaje requerido de excitacin. Tambin vimos que a medida que las condiciones cambiaban, tambin lo haca la temperatura. El Experimento 6 investigar controles que toman una cantidad apropiada de accin basndose en la evaluacin de las mediciones. Aplicar la teora de control Proporcional, Integral y Derivativo nos permitir maximizar la efectividad del sistema de control. Desafos de Programacin 1. Modifique su programa de forma que una banda diferencial de +1 grado pueda calcularse automticamente, basndose en la temperatura deseada. 2. Agregue una variable llamada Banda_diferencial de forma que el operador solamente ingrese la temperatura deseada y el rango de la banda diferencial. Luego el programa realizar automticamente las acciones necesarias de control.

Control Industrial Versin 1.1 Pgina 139

Experimento 5: Control a Lazo Cerrado

Preguntas y Desafo
1. Escriba una oracin completa que indique claramente la diferencia fundamental entre control a Lazo Abierto y control a Lazo Cerrado. 2. El control ON/OFF simple compara la medicin de la variable del proceso con el ____________ ____________. 3. Si el elemento de control final de nuestra incubadora fuera un aire acondicionado en lugar de un calentador, qu cambiara del Programa 5.1? 4. La variable del proceso continua aumentando despus de que el elemento de control es apagado, debido a la ________________________. 5. La oscilacin rpida que se produce cerca del punto deseado de un sistema de control ON/OFF es el resultado de una seal de __________ montada sobre la seal de datos. 6. Mencione tres dispositivos que no soportaran ciclos de activacin de alta frecuencia. ____________________ ____________________ ____________________ 7. El perodo del ciclo del proceso es afectado directamente por la cantidad de ____________ del sistema. 8. El control de banda diferencial acta cuando la variable del proceso cruza _____________ lmite.

Pgina 140 Control Industrial Versin 1.1

Experimento 5: Control a Lazo Cerrado

9. El perodo del ciclo ser ______________ si se emplea control de banda diferencial en un sistema en lugar del control ON/OFF simple. 10. La conmutacin de alta frecuencia no es un problema en el control de banda diferencial si la magnitud de _________________ es menor que la banda diferencial. 11. Cuando la medicin est entre los lmites, la salida estar en el modo determinado por el __________ lmite que se cruz. 12. Agregando ms masa a un sistema de control de banda diferencial ___________ el sobrepico y ___________ el perodo de ciclo del proceso. Desafo de Control: Invierta el Escenario Invierta las posiciones de los dispositivos de salida de la Figura 5.2. Reemplace el calentador de la Figura 5.2b por el ventilador y coloque el calentador directamente a la fuente de alimentacin +como se muestra en la Figura 5.2c. Controle la temperatura encendiendo y apagando el ventilador mientras el calentador est permanentemente prendido. Tendr que modificar el cdigo de tal forma que la salida se encienda para hacer bajar la temperatura y se apague cuando pase por debajo de cierto valor. Puede convenirle acercar el sensor y el calentador y abrir el envase para que el aire pueda circular por alrededor del par. Esto modificar la dinmica del sistema. Podra realizar ciclos ms rpidos, tener menos sobrepicos y ser ms susceptible a oscilaciones. Experimente con l y anote sus observaciones. Observe que cada sistema con el que trabaja tiene sus propias caractersticas dinmicas.

Control Industrial Versin 1.1 Pgina 141

Experimento 5: Control a Lazo Cerrado

Pgina 142 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo

Experimento 6: Control ProporcionalIntegral- Derivativo


Introduccin al Control PID

PID es la sigla para Control Proporcional-IntegralDerivativo. En esta seccin, exploraremos cada uno de los mtodos y cmo trabajan juntos para controlar eficientemente un sistema.

Un objetivo del control de proceso es mantener constante un sistema. En el ejercicio anterior, usamos varios medios cclicos para mantener el incubador a la temperatura deseada. Usando banda diferencial, creamos un rango en el que la temperatura puede variar cclicamente alrededor del valor deseado. En el Experimento 4, vimos como usar modulacin por ancho de pulso (PWM) para agregar energa a nuestro sistema con ciclos de trabajo entre 0% (completamente apagado) y 100% (completamente encendido). Mientras que estos tipos de control tienen sus ventajas y desventajas, el control PID nos permite controlar perfectamente un sistema, aunque puede resultar un poco ms complejo de implementar y ajustar para un ptimo rendimiento. Mantener un proceso constante involucra agregar continuamente la misma cantidad de energa que pierde el proceso. Si las prdidas del sistema fueran constantes, el control del proceso sera tan simple como aplicar un nivel continuo de excitacin. Sin embargo, los factores que afectan un proceso siempre cambian. Cambian en cantidades y a velocidades impredecibles. Agregado a esto, deben entenderse las demoras en la reaccin del sistema. Un cambio instantneo en las prdidas, debido a una perturbacin, no se notar inmediatamente y tampoco lo har un cambio en la excitacin. El control del proceso puede ser considerado como un arte, adems de una ciencia. El primer paso para entender el control PID es que cada sistema tiene ganancias y prdidas de energa. Esistema = EinEout Se dice que un sistema est en equilibrio cuando la energa ganada (in) equivale a la perdida (out). Equilibrio: Ein = Eout Una vez en equilibrio, nuestra incubadora mantendra una temperatura constante. Esto sera difcil o casi imposible de lograr. Dependiendo de la excitacin del calentador y de las condiciones alrededor de la incubadora, la temperatura subir o bajar. A medida que cambian las condiciones, como la temperatura ambiente, cambios en el movimiento del aire sobre el envase, rayos de sol iluminando el envase, o el resistor ponindose viejo, la cantidad de calor agregado y perdido rara vez permanece constante.

Control Industrial Versin 1.1 Pgina 143

Experimento 6: Control Proporcional Integral Derivativo Considere otros ejemplos de sistemas, como el sistema lubricante de un auto. El elemento activo, la bomba de aceite, es controlado para mantener el flujo de aceite deseado. Un cambio rpido en el sistema podra ser una vlvula cerrndose para bloquear un sector de la caera. Un cambio lento en el sistema podra ser la corrosin de las caeras causando friccin, o el cambio de la temperatura del aceite. La bomba necesita ser ajustada para compensar esas prdidas. Otro sistema a considerar es el automvil en s. Normalmente queremos que el auto mantenga una velocidad constante en la autopista. El motor compensa las prdidas de friccin de las cubiertas contra el pavimento y de la carrocera contra el aire. Cuando el auto mantiene velocidad constante, el sistema est en equilibrio y nuestro pie mantiene el acelerador en una posicin constante. Cuando cambian las condiciones, como cuando hay que subir una loma, la velocidad del auto cambia y comienza a disminuir. La aceleracin de la gravedad comienza a influir sobre el auto, hacindole perder parte de la energa que suministra el motor y el auto comienza a frenarse. Si no apretamos ms el acelerador, el auto se detendr en algn punto de la cuesta? No, reducir la velocidad hasta un valor constante ms bajo donde las prdidas igualen a la energa suministrada y se encontrar un nuevo equilibrio. Las condiciones o las perturbaciones de nuestro sistema pueden cambiar muy rpidamente, como cuando una rfaga de viento sopla repentinamente sobre la incubadora, o muy lentamente como cuando el calentador se deteriora por el paso del tiempo. El control PID puede medir y tomar accin observando: 1) Qu tan lejos del punto de equilibro deseado est el sistema, o la magnitud del error. 2) El tiempo transcurrido desde que se present el error. 3) Qu tan rpido ocurre el error en el sistema, o la velocidad de cambio. La suma de estas tres evaluaciones conforma la excitacin de salida que intentar mantener el sistema en equilibrio. La Figura 6.1 ilustra la evaluacin y control de un sistema con control PID. La frmula clsica de control PID para calcular la salida del controlador es esta:

Co pid = ( Kp * E ) + ( Ki * Et ) + ( Kd *
Donde: Co = salida del controlador o excitacin Kp = ganancia proporcional E = seal de error Ki = ganancia integral Kd = ganancia derivativa

E ) t

La ecuacin de excitacin basada en la anterior es: %ExcitacinTotal = ExcitacinPROP + ExcitacinINT + ExcitacinDERIV

Pgina 144 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Figura 6.1: Diagrama en Bloques de Control PID

En esta seccin, la incubadora ser controlada usando control PID, resolviendo la ecuacin correspondiente. Construccin del Circuito Usaremos el mismo circuito del Ejercicio 5 (Figura 5.2), pero conectar manualmente el ventilador a la fuente de alimentacin sin regular o a los 5V cuando sea requerido para generar las perturbaciones. A continuacin se transcribe el programa completo para esta seccin. Cambiaremos los valores de Ajuste del Control PID para verificar las distintas reas de control.

Control Industrial Versin 1.1 Pgina 145

Experimento 6: Control Proporcional Integral Derivativo

'Programa 6.1: Control PID con StampPlot '********* CONFIGURACIN DEL CONTROL PID **************** SP CON 990 ' Temp deseada en dcimas de grado Rango CON 20 ' Rango en dcimas (20=2F) B CON 50 ' Configuracin de excitacin de polarizacin Kp CON 0 ' Ganancia Proporcional en dcimas (10= ganancia de 1) Ki CON 0 ' Ganancia Integral en dcimas (1= ganancia de 0,1) Ti CON 24 ' Tiempo de Reset Interal (1=~5 segundos) Kd CON 0 ' Ganancia Derivativa MinA CON 75 ' Valor Min. Del eje Y analgico MaxA CON 120 ' Valor Max. Del eje X analgico MaxT CON 600 ' Max. Tiempo en segundos del eje X '************************************************* '***** Configura graficador PAUSE 2000 DEBUG "!TITL Control PID ",CR DEBUG "!RSET",CR DEBUG "!PNTS 1000",CR DEBUG "!TMAX ",DEC MaxT,CR DEBUG "!AMAX ",DEC MaxA,CR DEBUG "!AMIN ",DEC MinA,CR DEBUG "!AMUL .1",CR DEBUG "!TSMP ON",CR DEBUG "!SAVM ON",CR DEBUG "!CLMM",CR DEBUG "!SHFT ON",CR DEBUG "!PLOT ON",CR DEBUG "!USRS SP=",dec SP," DEBUG "!RSET",CR

' Ttulo ' Reinicia el grfico ' 1000 puntos de datos ' Tiempo max. ' Max. analgico ' Min. analgico ' Multiplicador analgico 0,1 ' Habilita temporizador ' Guarda mensajes en archivo ' Limpia min/max en el reset ' Habilita desplazamiento de grfico ' Habilita graficador ' Muestra la configuracin del excitador Kp=",dec Kp," Ki=",dec Ki," Ti=",dec Ti," Kd=",dec Kd,CR ' Reinicia el grfico

' ************** Define constantes y variables CS CON 3 ' Chip select del 0831 activo bajo en P3 del BS2 CLK CON 4 ' Clock del BS2 (P4) al 0831 Dout CON 5 ' Salida serial de datos del 0831 al BS2 (P5) Calentador CON 8 ' Pin para controlar el calentador Datain VAR BYTE ' Variable para almacenar el nmero entrante (0 a 255) Temp VAR WORD ' Almacena valor convertido que representa la Temp. TempRango CON 5000 ' Rango completo en dcimas de grado. Offset CON 700 ' Temperatura mnima. @Offset, ADC = 0 Signo VAR WORD ' Almacena el signo de los clculos Excitacion Err P I D ContadorPWM VAR VAR VAR VAR VAR VAR WORD WORD WORD WORD WORD BYTE ' ' ' ' ' Cantidad Cantidad Cantidad Cantidad Cantidad de de de de de excitacin Error excitacin excitacin excitacin total Proporcional Integral Derivativa

' Contador para registrar tiempo de aplicacin de PWM

Pgina 146 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo

UltimoErr UltimoErr = 0 ContadorInt TiempoPWM Ei Ei = 0

VAR

WORD

' Almacena temperatura anterior para control derivativo

VAR CON VAR

BYTE 20 WORD

' ' ' ' '

Variable para contar ciclos de excitacin integral Variable que define cuanto durar la excit. PWM (20=~5 segundos) Error acumulativo para clculo integral Limpia error acumulativo

'*************** Bucle principal Principal: GOSUB Obtenerdato GOSUB Calc_Temp GOSUB Calc_Excitacion GOSUB Grafica_Datos GOSUB Excitacion_Calentador GOTO Principal Obtenerdato: ' Adquiere conversin del 0831 LOW CS ' Habilita el chip LOW CLK ' Prepara lnea de clock. SHIFTIN Dout, CLK, msbpost,[Datain\9] ' Lee datos HIGH CS ' conversin RETURN Calc_Temp: ' Convierte el valor digital en Temp. Temp = TempRango/255 * Datain/10 + Offset ' basndose en las variables Rango y RETURN 'Offset. Calc_Excitacion: GOSUB ErrorCalc ' GOSUB PropCalc ' GOSUB IntCalc ' GOSUB DerivCalc ' Excitacion = (B + P + I + D) ' Signo = Excitacion ' GOSUB PoneSigno Excitacion = ABS Excitacion MAX IF Signo = 1 THEN ExcitListo Excitacion = 0 ExcitListo: RETURN

Clculos de Error Calcula error proporcional Calcula error Integral Calcula error Derivativo Calcula excitacin total Ajuste de signo para max 100 min 0 100

'********* Excitacion del calentador Excitacion_Calentador: FOR ContadorPWM = 1 TO TiempoPWM ' Aplica PWM durante 220 mSec por cada repeticin PWM Calentador, excitacion * 255/100,220 NEXT RETURN '********* Grafica datos Grafica_Datos:

Control Industrial Versin 1.1 Pgina 147

Experimento 6: Control Proporcional Integral Derivativo


DEBUG DEC Temp,CR '** Mensaje de salida con formato de las lecturas (4 lneas) DEBUG "Deseada:", DEC SP," Temp:", DEC Temp DEBUG " %Err:",SDEC Err," %B=", DEC B, " %P=", SDEC P DEBUG " %I=",SDEC I," %D=", SDEC D DEBUG " %Excitacin:",SDEC Excitacion, CR '** Mensaje de salida separado por comas para importar en hoja de clculo ' DEBUG ",",DEC Temp,",",SDEC Err,",",SDEC P,",",SDEC I,",",SDEC D,",",SDEC Excitacion,CR RETURN '********** Calcula %Error - Signo ajustado ErrorCalc: Err = (SP - Temp) Signo = Err GOSUB PoneSigno Err = ABS Err*100/Rango Err = Err * Signo RETURN

' Calcula error de la temperatura

' Calcula % error

'*********** Excitacin Proporcional - Signo ajustado PropCalc: Signo = Err GOSUB PoneSigno P = ABS Err * KP + 5/10 ' Err prop= %Err * Kp /10 por escala, P = P * Signo ' +5 por redondeo RETURN '********** Excitacin Integral - Signo ajustado IntCalc: Ei = Ei + Err ' Acumula %err ContadorInt = ContadorInt + 1 ' Incrementa contador IF ContadorInt < Ti Then IntListo Signo = Ei Gosub PoneSigno Ei = ABS Ei / Ti ' Encuentra error promedio Ei = Ei * Ki + 5 /10 ' Int err = Int err * Ki Ei = Ei * Signo I = I + Ei ' Suma error a Int err total Signo = I GOSUB PoneSigno I = ABS I MAX 100 ' limita a 100 I = I * Signo ContadorInt = 0 ' Reinicia contador y acumulador Ei = 0 IntListo: RETURN '*********** Excitacin Derivativa DerivCalc: D = (Err-UltimoErr) * KD

' Calcula excitacin derivativa ' basndose en la diferencia del ltimo error

Pgina 148 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo


DerivListo UltimoErr = Err RETURN '********** Determina el signo de un valor PoneSigno: IF Signo.bit15 = 0 THEN SignoPos Signo = -1 Return SignoPos: Signo = 1 SignoListo: Return

' Almacena error actual para el prximo clculo

' Si signobit es 1, entonces es negativo

Control Industrial Versin 1.1 Pgina 149

Experimento 6: Control Proporcional Integral Derivativo Figura 6.2: Diagrama de Flujo del Proceso Principal
Inicio

Configura Control de Excitacin


Configura SPL

Lee ADC

Calcula Temp.

Calcula Excitacin

Enva datos SPL

Excita el Calentador

La Figura 6.2 es un diagrama de flujo del bucle principal del programa PID. Cada proceso se discutir en forma individual a medida que se toque cada tema. Todos los microcontroladores tienen sus limitaciones, as como otros sistemas tales como los Controladores Lgicos Programables (PLCs). Al programar operaciones complejas como en control PID, es importante comprender estas limitaciones y usar sistemas alternativos.

Pgina 150 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Ya hemos superado la restriccin de tener que trabajar con nmeros enteros, como en el caso de la temperatura, trabajando en dcimas de grado. Otra limitacin que necesitaremos sobrellevar es el uso de nmeros negativos. Si bien el BASIC Stamp puede usar valores negativos, no los puede dividir o usar en instrucciones MIN y MAX para limitar su tamao. En esta seccin ambos problemas sern importantes. Los valores de excitacin PID sern negativos o positivos dependiendo de si es necesario agregar o quitar excitacin del sistema. Tambin necesitaremos limitar los valores mximos de forma que no excedan el 100% bajo ciertas circunstancias, como con excitacin total. Para realizar estas tareas, es usada una subrutina llamada PoneSigno. Varias rutinas la llaman usando GOSUB. El nmero a ser manipulado, que puede ser negativo, se almacena en una variable tipo word rotulada Signo. Cuando PoneSigno es llamada, el bit de signo (bit15) es verificado. Si el bit de signo es 1, es un valor negativo y la variable Signo se pone en -1. Si el bit de signo es 0, es positivo y Signo se pone en 1. De regreso en la rutina que hizo la llamada, se manipula el valor absoluto del nmero original. El resultado luego se multiplica por Signo para que recupere su signo original. Los valores consigno pueden ser de32.768 a +32767.
PropCalc: Signo = Err GOSUB PoneSigno P = ABS Err * KP + 5/10 P = P * Signo RETURN ... PoneSigno: IF Signo.bit15 = 0 THEN SignoPos Signo = -1 Return SignoPos: Signo = 1 SignoListo: RETURN

' Prop err = %Err * Kp ' +5 por redondeo

/10 por escala,

' Si el bit es 1, entonces es negativo

La primer parte del programa a considerar son los clculos de excitacin total. La Figura 6.3 es un diagrama de flujo para estas rutinas. Como se mencion anteriormente, la excitacin total es la suma de tres evaluaciones diferentes basadas en el error. El porcentaje de excitacin total se aplicar entonces al calentador usando PWM durante 5 segundos. Esto permite que el tiempo con el calentador encendido sea mucho mayor que el relativamente corto en el que est apagado, para realizar otras operaciones.

Control Industrial Versin 1.1 Pgina 151

Experimento 6: Control Proporcional Integral Derivativo Figura 6.3: Diagrama de Flujo de la Rutina de Excitacin
Calcular Excitacin Calcular % de Excitacin Integral Sumar Excitaciones para % Ex. Total

Calcular % Error

Calcular % de Excitacin Proporcional

Calcular % de Excitacin Deriv.

Ajuste para mximo de 100%

Return

Excitacion_Calentador: FOR ContadorPWM = 1 TO TiempoPWM ' Aplica PWM durante 220 mSec por cada PWM Calentador,drive * 255/100,220 ' repeticin NEXT RETURN Calc_Excitacion: GOSUB ErrorCalc GOSUB PropCalc GOSUB IntCalc GOSUB DerivCalc Excitacion = (B + P + I + D) Signo = Excitacion GOSUB PoneSigno Excitacion = ABS Excitacion MAX 100 IF Signo = 1 THEN DriveListo Excitacion = 0 DriveListo: RETURN

' ' ' '

Clculos de Error Calcula error proporcional Calcula error Integral Calcula error Derivativo

' Calcula excitacin total ' Ajuste de signo para max 100 min 0

Pgina 152 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo

Ejercicios

Ejercicio 1: Excitacin de Polarizacin Como se dijo antes, un sistema en equilibrio es donde la ganancia de energa iguala a las prdidas. Cuando se disea un sistema normalmente los ingenieros habrn determinado anticipadamente el promedio de prdidas del sistema. La Excitacin de Polarizacin es la que compensa las prdidas de energa promedio. Diseando el sistema de forma que una excitacin de polarizacin del 50% sea suficiente para compensar las prdidas promedio, nos da la capacidad de agregar o quitar hasta un 50% para compensar otras prdidas o grandes perturbaciones del sistema. Este punto es el que nos permite ejercer mayor control. Modifique nuestra ecuacin ligeramente:

Co pid = B + ( Kp * E ) + ( Ki * Et ) + ( Kd *
B = Excitacin de Polarizacin O:

E ) t

%ExcitacinTOTAL = %ExcitacinPOLARIZ + %ExcitacinPROP + %ExcitacinINT + %ExcitacinDERIV Para que los huevos de nuestra incubadora empollen correctamente, una excitacin del 50% en el calentador debera proveer suficiente energa para mantener la temperatura de la incubadora alrededor de 101,5F con prdidas promedio. Desafortunadamente, nuestro sistema no est bien diseado. Al tratarse de un envase de pelcula si aislar, con un pequeo resistor haciendo las veces de calentador, una excitacin del 50% no ser suficiente la mayora de las veces para mantener la temperatura deseada. Algunas limitaciones de nuestra incubadora experimental son: Una polarizacin de la excitacin del 50% es insuficiente para mantener una temperatura de 101,5F. Cada incubadora tendr una temperatura estable diferente para una excitacin de polarizacin del 50% debido a diversos factores. Nuestra incubadora es un sistema muy fcil de perturbar. Factores como temperatura ambiente y ventiladores soplando sobre el envase, modificarn la temperatura. Al mover o golpear la incubadora se mezclar el aire, afectando la temperatura medida.

Control Industrial Versin 1.1 Pgina 153

Experimento 6: Control Proporcional Integral Derivativo Modificaremos nuestro punto de ajuste ptimo para operar el sistema a una temperatura de polarizacin del 50%. Observe que esta temperatura de polarizacin puede variar de acuerdo a las condiciones de la habitacin. Se recomienda que el estudiante lea primero todo el Captulo 6 y luego intente hacer tantas prcticas consecutivas como sea posible.

Co pid = B
%ExcitacinTOTAL = %ExcitacinPOLARIZACIN Para determinar la temperatura de polarizacin: 1) 2) Apague su sistema y espere hasta que se enfre a temperatura ambiente. Verifique que la Configuracin del control de Excitacin se ajuste a lo siguiente:

'********* CONFIGURACIN DE CONTROL PID **************** SP CON 990 ' Inicialice SU temp deseada en dcimas de grado Rango CON 20 ' Rango permitido en dcimas (20=2F) B CON 50 ' Configuracin de excitacin de polarizacin Kp CON 0 ' Ganancia Proporcional en dcimas (10= ganancia de 1) Ki CON 0 ' Ganancia Integral en dcimas (1= ganancia de 0,1) Ti CON 24 ' Tiempo de Reset Interal (1=~5 segundos) Kd CON 0 ' Ganancia Derivativa MinA CON 75 ' Valor Min. Del eje Y analgico MaxA CON 120 ' Valor Max. Del eje X analgico MaxT CON 600 ' Max. Tiempo en segundos del eje X

Observe que Kp, Ki y Kd estn todas en 0 por lo que no proveen ninguna excitacin, dejando solamente la excitacin de polarizacin del 50% sobre el calentador. 3) 4) 5) 6) 7) Encienda su sistema y descargue el programa al BASIC Stamp 2. Cierre la ventana debug y conecte StampPlot Lite. Reinicie su BASIC Stamp 2 presionando reset en la plaqueta. Permita que la temperatura de la incubadora se estabilice para encontrar la temperatura de polarizacin del 50%. Redondee la temperatura estabilizada al grado entero ms cercano y fjela como su constante SP (setpoint o punto de ajuste, Ej. 98.8 = 990).

La Figura 6.4 muestra un ejemplo de este procedimiento.

Pgina 154 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Figura 6.4: Temperatura de Polarizacin con el 50% de Excitacin

Observe cunto tiempo le tom a la temperatura estabilizarse. En nuestra prueba, aproximadamente 450 segundos. En un sistema con una respuesta de primer orden, tal como nuestra incubadora, el sistema necesita 5 constantes de tiempo (5TCs) para estabilizarse (o alcanzar el 99% del valor de equilibrio) como respuesta a un cambio de tipo escaln en las condiciones. En este caso el escaln es un salto en la excitacin del 0% al 50%. De esta forma, 1 constante de tiempo (1TC) para nuestro sistema sera 450/5 o 90 segundos. El tiempo de respuesta del sistema es importante cuando se est ajustando un sistema, como ver ms adelante. Registre los siguientes datos: Temperatura de Polarizacin con 50%: ______ Tiempo para 5TCs: _____ Tiempo para 1TC: _____

Control Industrial Versin 1.1 Pgina 155

Experimento 6: Control Proporcional Integral Derivativo Ejercicio 2: Control Proporcional

Co pid = B + (Kp*E)

%ExcitacinTotal = %ExcitacinPOLARIZACIN +% ExcitacinPROP La siguiente evaluacin en la ecuacin PID es el control proporcional del sistema. La cantidad de excitacin de control proporcional es una relacin directa con la cantidad de error del sistema. A mayor error mayor ser la excitacin proporcional. Digamos que nuestro setpoint (punto de ajuste o deseado) es 101,5F y una polarizacin del 50% es suficiente para mantener esta temperatura. Si la temperatura cae a 101,0F, generando un error de 0,5F, querramos excitar al 100% o a algn valor menor, para regresar la temperatura al punto deseado? En nuestra incubadora, queremos mantener una temperatura de 101.5F. Cuanto ms estable sea la temperatura, ms saludables sern los pollitos. Igualmente es permisible una variacin de 0,5F por encima o por debajo de este punto. De esta forma nuestro setpoint ser 101,5 con una tolerancia de +/- 0,5F, o lo que es lo mismo, de 101,0F a 102,0F grados. Si cualquier error alcanza los lmites superior o inferior, queremos que se tome una accin total para regresar la temperatura al setpoint. Cualquier error entre el setpoint y los lmites de tolerancia proveer una accin de excitacin proporcional. La Figura 6.5 es una representacin grfica de la temperatura de la incubadora vs. la cantidad de excitacin necesaria para esa banda. Figura 6.5: Temperatura vs. Excitacin
110 100 90 80 70 60 50 40 30 20 10 0 100

Excitacin PWM %

% Excitacin

100,5

101

101,5

102

102,5

103

Temperatura

Pgina 156 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo De la Figura 6.5, si la temperatura es de 101,5F, se usar una excitacin del 50% para agregar energa a nuestro sistema. Si la temperatura cae a 101 F, se usar una excitacin del 100% para aumentar la temperatura y cualquier temperatura intermedia usar una cantidad proporcional de excitacin. Si la temperatura sobrepasa los 101,5F, la excitacin decrecer proporcionalmente para disminuir la temperatura. A partir de 102F, la excitacin decrece a 0%. Observando el grfico, cul sera la excitacin a 101,2 grados? ______; y a 101,7 grados? _______. Ahora observemos esto mismo matemticamente. El error de nuestro sistema es calculado restando la temperatura deseada (setpoint) de la actual: Error = Setpoint-Actual El porcentaje de error se encuentra dividiendo el valor del error por el rango de temperatura y multiplicando por 100%:

%Error =

Error x100% Rango

Para nuestra incubadora el rango de temperatura es: 102,0-101,0 = 1,0F. Si la temperatura es 101,2: Error = 101,5 101,2 = 0,3 %Error (E) = 0,3/1,0*100% = 30%

La frmula general de ganancia es:

Ganancia =

Salida Entrada

En nuestro ejemplo, estamos usando el 100% del rango de excitacin sobre el 100% del rango permisible de temperatura:

Ganancia(Kp) =

Salida 100% = =1 Entrada 100%

Nuestro sistema tendra una ganancia proporcional (Kp) de 1.

Control Industrial Versin 1.1 Pgina 157

Experimento 6: Control Proporcional Integral Derivativo

La cantidad de excitacin proporcional a 101,2 grados sera: %ExcitacinPROP = Kp*E = 1 * 30% = 30% La excitacin total para nuestro sistema a esa temperatura sera entonces: %ExcitacinTOTAL = B+(Kp*E)= 50%+30% = 80%. Corresponde este valor al que se obtiene grficamente de la Figura 6.3 para una temperatura de 101,2F? Calcule la excitacin total para una temperatura de 101,7: __________ Compare ese valor con la Figura 6.3. Son iguales? ________. Un trmino ms a considerar es Banda Proporcional. La Figura 6.3 se denomina Banda Proporcional del 100% debido a que se emplea el rango completo en la excitacin, del 100% de la banda permisible (101,0102,0). Esto significa que la temperatura no exceder los lmites superior e inferior? No. Esto simplemente significa que la respuesta dentro de esos lmites ser total, usando los valores mximos posibles en la accin de respuesta para lograr que la temperatura regrese al setpoint. Qu sucede si queremos un control ms ajustado de la temperatura de nuestro sistema? La banda permisible para el incubador sigue siendo 101,0 to 102,0, pero podemos ajustar nuestros valores para que tomen accin total sobre la mitad de ese rango. La Figura 6.6 es un grfico de este control.

Pgina 158 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Figura 6.6: Temperatura vs. Excitacin Sobre un 50% del Rango

110 100 90 80 70 60 50 40 30 20 10 0 100 100,5 101 101,5 102 102,5 103 Tem peratura

Excitacin PWM %

% Excitacin

En la Figura 6.6 el sistema est excitando el doble para una misma desviacin del setpoint. Cul sera la ganancia proporcional para este sistema?

Ganancia(Kp) =

Salida 100% = =2 Entrada 50%

Observe que el sistema est empleando el rango total de salida sobre solamente el 50% del rango permisible de temperatura. Esto tambin es conocido como Banda Proporcional del 50% debido a que se toma la accin total de control sobre el 50% del rango permisible. Use las ecuaciones para calcular lo siguiente a 101,7F: Error = __________ %Error = _________ (Pista: la banda permisible an es 1,0) Excitacin Proporcional = ________ Excitacin Total = _________. Observe la relacin entre ganancia proporcional y banda proporcional:

Banda Proporcional =

1 1 *100% = * 100% = 50% Ganancia Proporcional 2

Control Industrial Versin 1.1 Pgina 159

Experimento 6: Control Proporcional Integral Derivativo Y si quisiramos un sistema de respuesta ms lenta? Podemos definir que el rango de excitacin est por encima de las temperaturas del rango permisible. Si el 100% de la excitacin cubriera el doble del rango permisible:

Ganancia(Kp) =
Calcule la banda Proporcional: ________ Grafique la Excitacin vs. Temperatura:

Salida 100% = = 0.5 Entrada 200%

110 100 90 80 70 60 50 40 30 20 10 0 100 100,5 101 101,5 Temperatura 102 102,5 103

Excitacin PWM %

% Excitacin

Calcule los siguientes datos para una temperatura de 101,7F: Error = _________ %Error = _________ (Pista: la banda permisible an es 1,0) Excitacin Proporcional = _________ Excitacin Total = _________.

Pgina 160 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Controlando la Incubadora: La teora es muy linda, pero ahora necesitamos tratar con la temperatura real dentro del envase usando control proporcional. Para esto, necesitaremos trabajar con ciertas limitaciones: 1) La temperatura de polarizacin con una excitacin de polarizacin del 50% no ser 101,5F. La temperatura de polarizacin al 50% de su incubadora se hall en el Ejercicio 1 de este experimento. Si es necesario, busque nuevamente la temperatura de polarizacin actual. Esto debera hacerse si usted piensa que las condiciones en el interior o el exterior del envase son diferentes de cuando se calcul la temperatura de polarizacin anterior. Por ejemplo, si la temperatura ambiente es ms alta ahora, la temperatura estable con 50% de polarizacin ser mayor. 2) El BASIC Stamp trabaja con matemtica entera. Nuestras temperaturas estn en dcimas de grado (101,5F=1015) y querremos trabajar con ganancias menores que 1. 3) La resolucin del conversor A/D es de 0,19 grados, lo que no nos permitir realizar un control fino con una banda de temperaturas permisible de 101,0 a 102,0. Para estos experimentos incrementaremos la banda permisible a +/-1,0F o 100,5F a 102,5F, obteniendo un rango de 2,0F. Al realizar estos experimentos, la secuencia general ser esperar hasta que la incubadora se estabilice a la temperatura de polarizacin. Una vez estable, el programa PID con las configuraciones adecuadas se descargar. Despus de 1 minuto el ventilador se posicionar a aproximadamente 3 centmetros del envase y se encender manualmente, conectando el terminal positivo a la fuente (Vin) durante 10 segundos. La Figura 6.7 es el diagrama de flujo de los clculos de error y excitacin proporcional. Observe que en los clculos de excitacin proporcional el resultado es dividido por 10 para escalar el valor de Kp.

Control Industrial Versin 1.1 Pgina 161

Experimento 6: Control Proporcional Integral Derivativo Figura 6.7: Clculos de Error y Excitacin Proporcional
Calcular % Error Calcular % Excit. Prop.

Error = Setpoint-Temp

% Error Prop= %Error * Kp

% Error = Error/Rango*100

Regresar

Regresar

'********** Calcula %Error - Signo ajustado ErrorCalc: Err = (SP - Temp) Signo = Err GOSUB PoneSigno Err = ABS Err*100/Rango Err = Err * Signo Return

' Calcula error de temperatura

' Calcula % error

'*********** Excitacin Proporcional - Signo ajustado PropCalc: Signo = Err GOSUB PoneSigno P = ABS Err * KP/10 ' Error Prop = %Err * Kp P = P * Signo RETURN

(/10 para escala)

Pgina 162 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Control PID: Banda Proporcional 100%, Ganancia Proporcional = 1 1) 2) 3) 4) 5) De ser necesario, encuentre la temperatura de polarizacin de excitacin del 50%. Permita que la temperatura se estabilice a la temperatura de polarizacin. Ajuste la configuracin de control PID del programa 6.1 correctamente, usando un valor de SP 1. igual a la temperatura de polarizacin en dcimas y el valor de Kp en 10 para una ganancia de 1 Desconecte SPL, descargue el programa al BS2, cierre la ventana debug, reconecte el SPL y reinicie su BS2. Monitoree la temperatura en el SPL. Cuando haya pasado 1 minuto (60 segundos), encienda el ventilador durante 10 segundos. Monitoree la respuesta de la incubadora a la perturbacin. Figura 6.8a: Respuesta con Kp = 1, Banda 100%

Note como la temperatura sobrepasa el valor lmite, luego se detiene y comienza a descender, sobrepasa el lmite inferior y va hacia arriba nuevamente. Esto es llamado sobreexcitacin (hunting) Se pone y se saca (hunting).

Control Industrial Versin 1.1 Pgina 163

Experimento 6: Control Proporcional Integral Derivativo excitacin basndose en la respuesta del sistema hasta que finalmente se alcanza un valor estable. Dependiendo de las necesidades del sistema, el control PID puede ajustarse para evitar la sobreexcitacin. El control de velocidad crucero de nuestros autos actuara muy extrao si hiciera oscilar nuestra velocidad alrededor de la velocidad deseada. El recuadro del usuario en la parte superior de la grfica muestra la configuracin actual para el control PID. La ventana de mensajes muestra el valor del setpoint y la temperatura actual, %Error y la excitacin. Realicemos los clculos para analizar algunos de estos valores. El setpoint es 970 o 97,0F, la temperatura de polarizacin de nuestra prueba. A una temperatura de 962 (96,2F) la excitacin total fue del 90% con un 50% de excitacin de polarizacin y un 40% de la excitacin proporcional. Error = Setpoint Temperatura = 97,0F-96,2F=0,8F %Error = Error / rango * 100 = 0,8F/2F * 100 = 40% %ExcitacinPROP = Kd*E = 1*40% = 40% %ExcitacinINT y ExcitacinDERIV sern 0 dado que sus ganancias son 0. %ExcitacinTotal = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinINT + %ExcitacinDERIV = = 50% + 40% + 0% + 0% = 90% Los clculos funcionan! Usando la lnea opcional para almacenar un mensaje en un archivo de la subrutina Mostrar, los datos almacenados podran importarse en una hoja de clculo como Excel, para su anlisis. Es una versin simple, separada por comas, de los datos de la ventana de mensajes, que puede ser importada y graficada en otro utilitario.
'** Mensaje de salida separado por comas para importar en hoja de clculo ' DEBUG ",",DEC Temp,",",SDEC Err,",",SDEC P,",",SDEC I,",",SDEC D,",",SDEC Excitacion,CR

La Figura 6.8b muestra estos datos importados a Excel, mostrando el error, excitacin proporcional y excitacin total.

Pgina 164 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo

Figura 6.8b: Archivo Graficado en Excel

Excitacin con Kp=1


120 100 80 60 40 20 0 -20 -40 -60 -80

% Excitacin

%Err %P % Excitacin 104 130 155 181 207 233 259 284 310 0,44 26,3 52,1 77,9 336
Control Industrial Versin 1.1 Pgina 165

Segundos

Note que con una ganancia proporcional de 1, la lnea de %Error no se puede apreciar porque %P (Error Proporcional) est superpuesta, debido a que %ExcitacinPROP = %Error. La cantidad de error proporcional se suma a la excitacin de polarizacin del 50% y sigue exactamente el mismo patrn que el error.

Experimento 6: Control Proporcional Integral Derivativo Control PID: Banda Proporcional 50%, Ganancia Proporcional = 2 Repita el experimento para una banda proporcional del 50% y una ganancia de 2. Cambie Kp = 20 en los ajustes de control y ejecute el programa. Figura 6.9a: Respuesta con Ganancia = 2, Banda 50%

Con una ganancia de 2, note que la velocidad de respuesta es ligeramente ms rpida aunque se observa mayor sobreexcitacin (hunting).

Pgina 166 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Figura 6.9b: Archivo de Datos Graficado en Excel

Excitacin con Kp=2


200 150 %Excitacin 100 50 0 0,44 26,3 52,1 77,9 104 130 155 181 207 233 259 284 310 336 -50 -100 -150 Segundos %Err %P %Excitacin

Observe en la Figura 6.9b que con esta configuracin de ganancia la cantidad de excitacin proporcional (%P) es el doble que el error (%Err). Verifique los valores de excitacin mostrados en la ventana de mensajes de la Figura 6.7a a 96,7F: Error = __________ %Error = __________ __________ %ExcitacinPROP = __________ %ExcitacinTOTAL =

Control Industrial Versin 1.1 Pgina 167

Experimento 6: Control Proporcional Integral Derivativo Control PID: Banda Proporcional 20%, Ganancia Proporcional = 5 Demasiada ganancia puede ser perjudicial para el control. Repita el experimento para una banda proporcional del 20% y una ganancia de 5. Use Kp = 50 en la configuracin de control. La Figura 6.10 es nuestro resultado en el SPL. Figura 6.10: Respuesta con = 5, Banda 20%

Note que la velocidad de respuesta es nuevamente un poco ms rpida, pero se presenta muchsima ms sobreexcitacin e inestabilidad continua del sistema. Como experimento final, fije una temperatura de referencia (SP) mucho ms alta que la temperatura de polarizacin, pero dentro de un rango controlable con una ganancia proporcional de 1 (Kp=10). Realizamos la prueba para 10F por encima de la temperatura de polarizacin (107F). Grafique los resultados. La Figura 6.11 muestra el resultado de nuestras pruebas.

Pgina 168 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Figura 6.11: Setpoint 10F (107F) por encima de la Temperatura de Polarizacin

Si bien lo intenta mucho, la temperatura no se estabiliza a 107 grados. Si 107F es una temperatura que el sistema podra mantener, por qu no se estabiliza all? Recuerde que nuestro sistema con una excitacin del 50% se estabilizaba alrededor de 97F. Se agrega excitacin adicional debido a que existe un error. Si la incubadora fuera capaz de estabilizarse en el setpoint, el error sera 0, proveyendo una excitacin proporcional de 0%, quedando solamente la excitacin de polarizacin que no es suficiente para mantener la temperatura, creando un error. %ExcitacinTOTAL = %ExcitacinPOLARIZACIN + %ExcitacinPROP %ExcitacinPROP = Kp*E. Si E = 0 entonces %ExcitacinPROP = 0%. %ExcitacinTOTAL = 50% + 0% Si la temperatura deseada no es la de polarizacin, algn error DEBE existir para proveer excitacin adicional del control proporcional. A menor ganancia proporcional, menor ser el error restante. En la prxima seccin, veremos como puede usarse el Error Integral para generar una excitacin que termine con ese error remanente.

Control Industrial Versin 1.1 Pgina 169

Experimento 6: Control Proporcional Integral Derivativo

Desafo! 1. 2. 3. Si la ganancia proporcional se pusiera en 0,5 (Kp=5), qu tipo de respuesta del sistema esperara? Por qu? si la temperatura est 0,6F por debajo del setpoint, cul sera la excitacin total? Confirma su teora.

Ejercicio 2: Control Proporcional + Integral

Co pid = B + ( Kp * E ) + ( Ki * Et )
%ExcitacinTotal = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinINT Anteriormente hemos observado lo que ocurre cuando ocurran perturbaciones rpidas en nuestro sistema en equilibrio. El control proporcional puede ser usado para llevar a la temperatura de regreso al setpoint. Pero, qu sucede cuando la perturbacin afecta el equilibrio de nuestro sistema por un largo perodo de tiempo? Al final del ltimo experimento se vio lo que ocurre cuando la excitacin de polarizacin no es suficiente para contrarrestar las prdidas promedio. Debido a que debe existir algn error para que se produzca excitacin proporcional, la temperatura deseada no puede ser mantenida. El control Integral puede ser usado para eliminar el error remanente debido a perturbaciones duraderas del sistema. Estas pueden ser producidas por prdidas o ganancias de energa que persisten por un largo perodo de tiempo. Considere nuestra incubadora. Encontramos una temperatura de polarizacin en la que una excitacin de polarizacin del 50% era suficiente para contrarrestar las prdidas del sistema, mantenindolo el equilibrio. Pero, que pasara si el ventilador se apuntara permanentemente a la incubadora? Las prdidas continuas del sistema seran mayores. La excitacin de polarizacin del 50% no ser suficiente para mantener la temperatura y la excitacin proporcional responder al error en un intento de regresar el sistema al. Pero como hemos visto, debido a que debe permanecer algo de error, no se puede mantener el setpoint. El sistema se estabilizar a una temperatura inferior a la deseada. En funcin del tiempo, la excitacin integral puede usarse para eliminar este error remanente, permitiendo que la temperatura alcance el setpoint. La excitacin Integral tambin es usada cuando se necesita realizar una aproximacin lenta con tiempos largos de estabilizacin, para asegurarse que no se produzcan sobrepicos. Considere por ejemplo, la coccin

Pgina 170 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo de una sopa. Despus de cocinarla un poco la prueba, agrega la cantidad de sal que le parece que falte para que tenga buen gusto. La prueba inmediatamente despus y agrega ms sal? No, espera por un rato para que la sal se mezcle, luego la prueba y agrega un poquito ms hasta que consigue el gusto que deseaba. Qu sucede si le agrega demasiada sal? Sacar un poco de sal de la sopa le resultara un poco difcil! Un ejemplo industrial podra ser agregar pigmento a una pintura para lograr el color deseado. Circuitos electrnicos monitorean el color de la pintura y agregan gradualmente el pigmento hasta que se alcanza el color deseado. En la excitacin integral, la cantidad de error es integrada con respecto al tiempo. A mayor error y cuanto ms dure, mayor ser la excitacin integral. Como se ve en la Figura 6.12, la cantidad de error bajo la curva se acumula para encontrar el error integrado. Cuanto ms tiempo dura el error, mayor ser el error total integrado (ET). Figura 6.12: Integrando el Error

Seal de Error

Tiempo
El error integrado es multiplicado por la ganancia integral para encontrar la ganancia integral. ET = (E1+E2+E3+) %ExcitacinINT = Ki* ET/T

Control Industrial Versin 1.1 Pgina 171

Experimento 6: Control Proporcional Integral Derivativo Qu tan a menudo se actualiza la ganancia integral? La excitacin integral debera basarse en lecturas estables. Dependiendo del tiempo de respuesta del sistema podra tratarse de segundos a horas o incluso das. Al igual que al agregar sal a la sopa, si agregamos ms sal antes de que se estabilice la mezcla, sera muy fcil pasarse de la cantidad necesaria. El tiempo de estabilizacin de nuestra incubadora se hall en el Experimento 1 de esta misma seccin y fue de 450 segundos es nuestro caso. La Figura 6.13 es el diagrama de flujo para los clculos de la integral. Figura 6.13: Diagrama de Flujo de Clculo de la Integral
Clculo de % de Excitacin Integral

Calcular error promedio

Acumular Error total

Multip. error prom. por ganancia

Sumar uno al contador integral

Sumar % Excit. Error Integral

Contador < Reset? Si

No

Reiniciar eror acumulado

Reiniciar contador

Regresar

Cdigo para el diagrama de flujo anterior:


'********** Excitacin Integral - Signo Ajustado IntCalc: Ei = Ei + Err ' Acumula %err ContadorInt = ContadorInt + 1 ' Incrementa contador IF ContadorInt < Ti Then IntListo Signo = Ei Gosub PoneSigno Ei = ABS Ei / Ti ' Encuentra error promedio

Pgina 172 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo


Ei = Ei * Ki + 5 /10 Ei = Ei * Signo I = I + Ei Signo = I GOSUB PoneSigno I = ABS I MAX 100 I = I * Signo ContadorInt = 0 Ei = 0 IntListo: RETURN ' Int err = Int err * Ki ' Suma error a Int err total

' limita a 100 ' Reinicia contador y acumulador

Control Industrial Versin 1.1 Pgina 173

Experimento 6: Control Proporcional Integral Derivativo Controlando la incubadora En este ejercicio, se usar el ventilador para producir una perturbacin de larga duracin sobre el sistema. El ventilador debera ser colocado a aproximadamente 15 centmetros de la incubadora. Ser alimentado desde Vdd (5V Pin 20 o desde el terminal Vdd junto a la protoboard) para proveer un enfriamiento suave' del envase (puede tener que impulsar el ventilador para ayudarlo a arrancar). Esto producir una perturbacin a largo plazo del sistema, en lugar de las perturbaciones fuertes de 10 segundo usadas en el experimento de control proporcional. En la ganancia proporcional usaremos un valor muy pequeo para evitar la sobreexcitacin y permitir un rango bastante amplio de error desde el setpoint. El tiempo de actualizacin integral, o tiempo de reset, ser de 120 segundos (450 segundos sera ms apropiado para permitir que el sistema se estabilice, pero es muy largo de graficar). La ganancia Integral se fijar en dcimas. 1) Ajuste el Programa 6.1 para una Banda Proporcional de 1000%, Ganancia de 0,1 (Kp=1 y Ganancia Kp=1) Kp=1 Integral de 0(Ki=0 y derivativa en 0 (Kd=0 Ki=0) Kd=0). Ki=0 Kd=0 2) Apunte el ventilador hacia la incubadora desde una distancia de 15cm (si no ve respuesta despus de 30 segundos, acrquelo en incrementos de 2 cm y pruebe otra vez). 3) Conecte el ventilador al Pin 20 (5V) y a masa. Ayude a arrancar el ventilador si es necesario. 4) Permita que el sistema se estabilice con esta nueva prdida. 5) Cambie la ganancia integral a 0,1 (Ki=1 Ti = 24. Ki=1), Ki=1 6) Descargue el programa y grafique con los valores nuevos. La Figura 6.14a muestra los resultados obtenidos con un setpoint de Polarizacin de 97,0F y la Figura 6.14b es un grfico de Excel realizado con los datos capturados.

Pgina 174 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Figura 6.14a: Efectos de Perturbaciones Duraderas

Note que con una temperatura de Polarizacin de 97,0F y la perturbacin del ventilador, la temperatura estable inicial fue de 94,8F. Con el tiempo la excitacin, as como tambin la temperatura, ascendieron lentamente hasta que la temperatura alcanz el setpoint.

Control Industrial Versin 1.1 Pgina 175

Experimento 6: Control Proporcional Integral Derivativo Figura 6.14b: Datos Graficados en Excel

Kp=0,1 Ki=1
140 120 %Excitacin 100 80 60 40 20 0 104 130 156 181 207 233 259 285 310 336 362 0,44 26,3 52,1 -20 77,9 388 %Err %P %I %Excit.

Segundos

Note que el error inicial (%Err) fue del 11% a una temperatura estable de 94.8F. %ExcitacinTotal = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinINT %ExcitacinPROP = Kp * ET = 0,1 * (97,0F-94,8F)/2F * 100 = 11% %ExcitacinINT = Ki * 0 hasta el primer tiempo de reset. %ExcitacinTotal = 50% + 11% + 0% A aproximadamente 120 segundos, se cumple el primer tiempo de reset integral. Todos los valores de error anteriores se suman y promedian en el tiempo. Esto es multiplicado por la ganancia integral para encontrar la excitacin integral. %ExcitacinPROP = 11% dado que la temperatura es an 95,8F %ExcitacinPROP = Kp * ET = 0,1 * (11%+11%+11%.[24 veces!])/24 = 11% %ExcitacinTotal = 50% + 11% + %11% = 72% Note que a mayor excitacin total (%Excitacin), la temperatura comienza a aumentar, el error disminuye as como tambin la excitacin proporcional. La excitacin Integral permanece constante hasta el prximo tiempo de reset que se produce a los 240 segundos, donde se vuelve a incrementar el valor de acuerdo al promedio de los valores desde el reset anterior.

Pgina 176 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Eventualmente, la temperatura alcanza el setpoint, el error tiende a cero, la excitacin proporcional prcticamente desaparece y la excitacin integral junto con la de polarizacin mantienen la temperatura. %ExcitacinTotal = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinINT %ExcitacinTotal = 50% -1% + 21% = 70% Pero qu sucede cuando se quita la perturbacin? 1) Apague el ventilador. Figura 6.15: Temperatura Luego de Quitar una Perturbacin

La Figura 6.15 muestra lo que sucede cuando se quita la perturbacin. La excitacin adicional provista por la componente integral desaparecer lentamente. Puede producirse Sobreexcitacin Integral si la excitacin integral agregada es insuficiente para forzar el sistema a volver a la temperatura de setpoint. La excitacin Integral se incrementara continuamente. Esto significara que el error persistira constantemente y la salida se sobreexcitara a niveles excesivamente

Control Industrial Versin 1.1 Pgina 177

Experimento 6: Control Proporcional Integral Derivativo grandes, generando un sistema sin respuesta. Si nuestro programa permitiese que la excitacin integral llegara al 20.000%, cunto tiempo necesitara para recuperarse, una vez eliminada la perturbacin y con un error residual del 10%? Es astuto tomar recaudos en su programa para limitar la excitacin integral acumulativa a menos del 100% Desafo! 1. 2. Cul sera la respuesta del sistema si la ganancia Integral fuese 1 (Ki=10) y el tiempo de reset 60 segundos (Ki=12)? Por qu? Pruebe y confirme su teora.

Ejercicio 3: Control Proporcional-Derivativo

Co pid = B + ( Kp * E ) + ( Kd *

E ) t

%ExcitacinTOTAL = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinDERIV El Control Derivativo responde a un CAMBIO en el error. La premisa fundamental para determinar la excitacin derivativa asume que la velocidad actual de cambio de la seal de error continuar en el futuro a menos que se tome alguna accin. La excitacin derivativa, cuando se ajusta apropiadamente, permite que un sistema responda rpidamente a cambios bruscos. La Figura 6.16 ilustra como evaluaramos la pendiente de una seal de error. Encontrando las diferencias entre muestras de error tomadas a intervalos regulares, podemos encontrar la velocidad de cambio de la variable del proceso. A mayor diferencia, mayor ser la pendiente y por lo tanto mayor la excitacin derivativa necesaria para contrarrestar el cambio.

Pgina 178 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Figura 6.16: Error Derivativo

Seal de Error

Pendiente

Tiempo

Considere el acto de hacer equilibrio sobre un tronco cado. Normalmente realiza pequeos ajustes para que la posicin de su cuerpo mantenga el balance. Usted est respondiendo proporcionalmente a un error que existe en su equilibrio. De pronto, una gran rfaga de viento lo golpea causndole una rpida prdida del balance. En respuesta, usted gira velozmente para contrarrestar el viento. Esta accin se bas en un cambio repentino en su equilibrio, en un perodo de tiempo muy corto. En nuestra incubadora, un cambio rpido de la temperatura ser contrarrestado por una reduccin inmediata en la excitacin.

Control Industrial Versin 1.1 Pgina 179

Experimento 6: Control Proporcional Integral Derivativo Figura 6.17: Diagrama de Flujo y Cdigo para Control Derivativo
Clculo de % de Excit. Derivativa

% Excit. Derivativa = (Err UltimoErr) * Ganancia

Almacena Error en UltimoErr

Regresa

Cdigo para este diagrama de flujo:


'*********** EXCITACIN DERIVATIVA DerivCalc: D = (Err-UltimoErr) * KD DerivListo UltimoErr = Err RETURN

' Calcula excitacin derivativa ' basndose en la diferencia sobre el ltimo error ' Almacena error actual para el prximo DerivCalc

En este experimento, repetiremos las perturbaciones en un sistema con ganancia proporcional de 2 del Ejercicio 2, solamente que esta vez se usar excitacin derivativa junto con la proporcional. El ventilador se conectar nuevamente a Vin (pin 19) por 10 segundos a 3 centmetros del envase. La Figura 6.18a muestra los resultados de nuestra prueba. La Figura 6.18b es un grfico de Excel de los datos. 1) 2) 3) Configuracin: Ganancia Proporcional de 2 (Kp=20 Ki=0 ganancia derivativa de 1 (Kd=2 Kp=20), Kd=2). Kp=20 Ki=0, Kd=2 Permitir que la temperatura se estabilice en el SPL. Prender el ventilador por 10 segundos.

(Para esta prueba, nuestra temperatura de polarizacin fue de 99,0F)

Pgina 180 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Figura 6.18a: Respuesta a la Perturbacin con Ganancia Proporcional de 2 y Ganancia Derivativa de 2

Compare esta con la Figura 6.9a que usaba solamente excitacin proporcional. Note que el sistema se estabiliza mucho ms rpidamente con muy pocas oscilaciones y sobrepicos. En la seccin de mensajes, hay 2 lecturas consecutivas de 99,0F. Primero se tuvo una excitacin %D del 40%, dado que hubo un cambio de error del 20% (0,4F) entre el valor anterior y el actual. El segundo dio %D del 0%, debido a que 2 lecturas consecutivas de 99,0F no representan ningn cambio en el error (una pendiente igual a cero).

Control Industrial Versin 1.1 Pgina 181

Experimento 6: Control Proporcional Integral Derivativo Figura 6.18b: Grfico de Datos

Kp=2 Kd=2
120 100 80 60 40 20 0 -20 -40 -60 104 124 145 166 186 207 228 248 269 290 310 0,45 21,1 41,8 62,5 83,1 331

Porcentaje

%Err %D %Excit.

Segundos

Note en el grfico anterior cmo un cambio en %Err genera una excitacin derivativa. Cuando el error es constante, aunque sea alto, %D es 0. Cuanto mayor es el cambio en %Err, mayor es %D. Una variacin positiva de %Err (temperatura bajando) genera una excitacin positiva, en un esfuerzo por detener el cambio. Hagamos algunas cuentas para un cambio de temperaturas entre mediciones de 99,4 a 99,0 con el setpoint en 99,0F: %ExcitacinTOTAL = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinDERIV En el momento de la primera medicin, T=99,4: Error = setpoint actual = 99,0F-99,4F = -4F %Error = Error / rango * 100 = -0,4F/2F * 100 = -20% La temperatura cay a 99,0F en el momento de la segunda medicin: Error = setpoint actual = 99,0F-99,0F = 0F %Error = Error / rango * 100 = 0F/2F * 100 = 0%

Pgina 182 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo %ExcitacinPROP = %Error * Kp = 0% * 2 = 0% %ExcitacinDERIV = (Este %Error Anterior %Error) * Kd= (0%-20%) * 1 = 40% %ExcitacinTOTAL = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinDERIV = =50%+0%+40% = 90% Incluso aunque la temperatura volvi al setpoint proveyendo un 0% de excitacin proporcional, su valor cay desde la ltima medicin. El control Derivativo entra en accin basndose en el cambio del error, en un intento por detener la cada de la temperatura, agregando excitacin. Si la siguiente lectura fuese 99.2%, cul sera la excitacin final? Error = ________ %Error = ________ ________ %ExcitacinPROP = ________ %ExcitacinDERIV = ________ %ExcitacinTOTAL = Desafo! 1. 2. 3. Cul sera la respuesta del sistema con una ganancia derivativa igual a 5? Por qu? Con un cambio de 0,3 F en la temperatura con respecto al setpoint, cul sera la excitacin total? Pruebe y confirma su teora.

Resumen del Control Proporcional-Integral-Derivativo Con control PID, 3 evaluaciones de excitacin independientes se realizan para calcular la excitacin final del elemento de control. La excitacin de polarizacin es usada para estimar la excitacin necesaria para mantener un setpoint bajo condiciones normales. La excitacin proporcional acta agregando una cantidad de excitacin proporcional a la magnitud del error entre el setpoint y el valor actual. A mayor ganancia proporcional ms rpida ser la respuesta del controlador, aunque tambin aumenta la posibilidad de sobreexcitacin y sobrepicos. Debe existir algo de error para que acte la excitacin proporcional, dando como resultado en ocasiones una condicin estable aunque fuera del valor deseado. La excitacin Integral acta integrando la seal de error en funcin del tiempo y tomando accin en funcin del error total. Es usada para eliminar las condiciones de error que persisten en el tiempo. Tambin es una buena opcin para una aproximacin lenta al setpoint y sin sobrepicos en sistemas lentos.

Control Industrial Versin 1.1 Pgina 183

Experimento 6: Control Proporcional Integral Derivativo

El control Derivativo acta basndose en la magnitud de cambio del error, entre lecturas. Evala la pendiente de la salida y acta para oponerse al cambio. El control Derivativo puede prevenir sobreexcitaciones y sobrepicos, pero un exceso de excitacin puede llevar al sistema a oscilaciones pronunciadas. Cada modo de control tiene su respuesta caracterstica para mantener la salida deseada. Se han escrito muchos libros sobre el control PID y su ajuste. Ajustar un sistema PID involucra calibraciones de parmetros de software para cada factor. La meta al calibrar el sistema es ajustar las ganancias de forma de obtener el mejor rendimiento bajo condiciones dinmicas. Como se mencion anteriormente, la calibracin es tanto un arte como una ciencia. Los procedimientos bsicos para calibrar un control PID son los siguientes. Estos procedimientos suponen que usted puede proveer o simular un cambio en escaln en la seal de error: 1. 2. 3. 4. 5. ponga todas las ganancias en 0 Vaya subiendo el valor de la ganancia proporcional hasta que el sistema comience a oscilar. Reduzca la ganancia proporcional hasta que se detenga la oscilacin y redzcala un 20 % ms. Incremente la componente derivativa para mejorar la respuesta temporal y la estabilidad del sistema. Luego, aumente la componente integral hasta que el sistema se vuelva inestable y luego redzcala ligeramente.

A medida que gane experiencia en este tipo de control, ver que las caractersticas del proceso determinarn la forma de reaccionar al error. Considere las siguientes tres aplicaciones del mundo real. Cules son las caractersticas ms relevantes de estos procesos que determinarn el esquema de control ms conveniente? Qu modo(s) de control siente que trabajara(n) mejor? 1) Similar a nuestra incubadora, la primer aplicacin es un proyecto hogareo que usa el LM34 para medir la temperatura en un acuario de 80 litros. La temperatura del agua es mantenida con una tolerancia de + 1 grado, alrededor de 80 oF variando el ciclo de trabajo de un calentador de 200 Watts. La temperatura ambiente vara de 65 a 75 grados. La segunda aplicacin controla la acidez (pH) en la produccin de una bebida cola. El agua del suministro tiene un pH de 7,2 a 7,4. El chorro de agua que ingrese al proceso, debe tener un pH de 6,8. Una vlvula regula el agregado de cido fosfrico para regular el pH del chorro de agua entrante. El sensor de pH sensor es relativamente lento. La cantidad de cido necesario vara de acuerdo al pH del agua entrante y la velocidad de flujo del chorro de agua.

2)

Pgina 184 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo 3) En una planta de investigacin cientfica de la Universidad Estatal de San Diego, se debe mantener constante la temperatura superficial de la hoja de una planta. La planta est dentro de un pequeo invernadero (del tamao de una caja de zapatos). Un sensor muy rpido del tipo termocupla est apoyado en la hoja midiendo la temperatura. Las perturbaciones como cambios en el viento, luz del sol y metabolismo de la planta, pueden producirse rpidamente y con grandes magnitudes.

Solo hemos rozado la superficie de la teora del control de procesos con realimentacin. Nos hemos concentrado en acciones de control basados en la realimentacin de los valores en la salida del proceso. Cuando las perturbaciones afectan nuestro proceso, se detectan cambios en la salida y se genera una seal de error. El PID es ajustado para eliminar el error lo ms rpido posible. Se puede efectuar un control ajustado de la variable del proceso usando PID, pero la premisa fundamental del control por realimentacin, es responder al error. Se espera y, hasta cierto grado se tolera, un cierto nivel de error. Mientras finalizamos este captulo, considere otra alternativa al control por realimentacin (feedback). Este sera el control por prealimentacin (feed-forward). En el control por prealimentacin se miden aquellos factores que afectan un proceso. Comprender cmo afectan a la variable que intentamos mantener constante, nos permitir tomar una accin sobre la salida antes de que aparezca una seal de error. Si pudiese medir los cambios en la temperatura ambiente y la velocidad del viento producida por el ventilador, podra usar esta informacin para controlar mejor la incubadora? Es un concepto interesante, no?

Control Industrial Versin 1.1 Pgina 185

Experimento 6: Control Proporcional Integral Derivativo

Preguntas y Desafo

1. Se podra usar control on/off del sistema para realizar un control PID? Explique. 2. Qu tipo de control (proporcional, integral, o derivativo) sera ms aconsejable en los siguientes casos? a. Para regresar un sistema al setpoint basndose en la diferencia entre la temperatura actual y la deseada debida a una perturbacin breve: ________________. b. Para minimizar el efecto de una perturbacin rpida en el sistema: ______________. c. Para reducir el efecto de una perturbacin duradera sobre el sistema: ______________. 3. Un sistema tiene un setpoint de 101,5 grados y una banda permisible de +/- 0,5 grados. Para una banda proporcional del 50%, cul sera la ganancia proporcional? ____________. 4. Un sistema tiene un setpoint de 101,5 con una ganancia de 3. Si la temperatura actual fuese 101,2, cunto valdra la excitacin debida al error proporcional? ___________ 5. Un sistema tiene una ganancia derivativa de 2. Si la temperatura cay de 101,8 a 101,3 entre lecturas, con un setpoint de 101,5, cul sera el error debido a la excitacin derivativa? __________.

Pgina 186 Control Industrial Versin 1.1

Experimento 6: Control Proporcional Integral Derivativo Desafo de Control Final Desde un estado fro (incubadora a temperatura ambiente), encuentre los valores de control PID que lleven la incubadora a una temperatura operativa de 95 grados, lo ms rpido posible con mnimos sobrepico y sobreexcitacin. Grafique y anote sus resultados (observe las escalas de los grficos): Kp=____ Ki=____ Ti=____ Kd = ____ Tiempo en el que alcanza 95,0F por primera vez: _________ Valor mximo alcanzado: (Tiempo)_________ (Valor) __________ Valor mnimo siguiente: (Tiempo)__________ (Valor) ___________ Capture esa pantalla (ALT-Prt Scrn) e imprmala usando MS Paint. Encuentre un sistema: Encuentre un ejemplo de un sistema que emplee o pueda emplear control PID. Discuta como implementar el control PID para controlarlo. Otros sistemas para armar: 1. Use el circuito sample and hold (Figura 2.17) del Experimento 2. Una fsicamente el calentador y el sensor con un material apropiado (no conductivo y que transmita el calor). Cambie el tiempo del PWM a 1 debido a que la masa ser mucho menor y la salida estar activa todo el tiempo. Encuentre la temperatura de polarizacin del 50% e intente regularla usando control PID. Use el pin de salida Pin 8 (salida de excitacin sin sample and hold) para excitar un rel de estado slido que controle una lmpara. Coloque la lmpara y el sensor en un contenedor apropiado. Regule la temperatura de esta incubadora ms grande.

2.

Control Industrial Versin 1.1 Pgina 187

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

Los microcontroladores, como el BASIC Stamp pueden ser buenos para trabajar sobre perodos de tiempo muy cortos, tales como milisegundos o segundos, pero hay muchos procesos que deben mantener un registro preciso del tiempo real (hora del da) y posiblemente incluso la fecha o da de la semana.

Algunos ejemplos incluyen controles de calefaccin de edificios que reducen la calefaccin fuera del horario de trabajo, para ahorrar energa; templar un metal calentndolo a distintas temperaturas por perodos especficos de tiempo; y adquirir datos sobre largos perodos de tiempo para ser recuperados y analizados posteriormente. Este experimento explorar la generacin de aplicaciones que tomen ciertas acciones basndose en la hora del da o en intervalos de tiempo y la adquisicin y recuperacin de datos. Para esto necesitaremos agregar caractersticas de tiempo real al circuito montado en el Experimento 5. Conecte el Reloj de Tiempo Real DS1302 (Real Time Clock o RTC) como se muestra en la Figura 7.1c y el pulsador de la Figura 7.1d. La Figura 7.2 muestra como podra quedar el circuito distribuido en su protoboard. El DS1302 RTC usa un oscilador a cristal externo de 32,767kHz como base de tiempo. Asegrese de conectar el cristal lo ms cerca posible del CI para maximizar la precisin en la temporizacin (la distancia aumentar el error debido a los efectos capacitivos de la protoboard). El RTC es similar al BASIC Stamp debido a que los datos se almacenan en registros (memoria RAM) que pueden ser escritos y ledos. Estos registros almacenan el tiempo y la fecha como segundos, minutos, horas, meses, etc. El DS1302 tambin tiene RAM disponible para almacenamiento general de datos. Para nuestra aplicacin solamente usaremos el registro de hora del da del chip. Por favor vea las hojas de datos del DS1302 y las notas de aplicacin de Parallax referidas a caractersticas adicionales. Al igual que con el conversor A/D ADC0831, los datos se transmiten serialmente del CI al BASIC Stamp 2. Esto nos permite tener acceso a la hora actual que es generada por el DS1302. Para fijar la hora actual por primera vez, podemos poner al CI en el 'modo de escritura' y enviarle datos serialmente desde el BASIC Stamp 2. Los datos de la hora (y fecha) se almacenan en el DS1302 como nmeros Decimales Codificados en Binario (Binary Coded Decimals o BCD). Este es un subconjunto de la base numrica Hexadecimal. En Hexadecimal (base 16) un byte se parte en dos nibbles (alta y baja), y cada una se lee como un dgito.

Control Industrial Versin 1.1 Pgina 189

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Figura 7.1: Circuito Completo con Reloj de Tiempo Real

Pgina 190 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Figura 7.2: Ejemplo de Distribucin de Componentes para el Experimento 7

Tome por ejemplo el nmero binario: 01000110. En binario, cada lugar es una potencia ms alta de 2 y el equivalente decimal sera: 64+4+2 = 70. Con un nmero binario de 8-bits tenemos un rango mximo decimal de 0 a 255. En Hexadecimal, el byte es partido en dos nibbles y convertido individualmente: 0100 0110 4 6

Control Industrial Versin 1.1 Pgina 191

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Este nmero decimal se escribe normalmente como 86H (formato Intel), $86 (formato Motorola) o 8616 (formato cientfico). Dado que un solo nmero representa cada nibble, tenemos un rango en binario de 0000 a 1111, o decimal de 0 a 15. En Hexadecimal los valores de 10 a 15 se representan usando las letras de la A a la F. El rango completo hexadecimal de un byte de datos es de $00 a $FF. El nmero binario 10101110 se representar en Hexadecimal como $AE. Decimal 0 1 2 3 4 5 6 7 Binario 0000 0001 0010 0011 0100 0101 0110 0111 Hexadecimal 0 1 2 3 4 5 6 7 Decimal 8 9 10 11 12 13 14 15 Binario 1000 1001 1010 1011 1100 1101 1110 1111 Hexadecimal 8 9 A B C D E F

En Decimal Codificado en Binario, cada nibble es usada nuevamente para representar un solo dgito, pero dado que se trata de un nmero DECIMAL codificado, el rango vlido ser de 0 a 9 por cada nibble. Nuestro primer ejemplo de 01000110 es 46BCD (un nmero BCD vlido) y $46 (un nmero hexadecimal vlido). Nuestro segundo ejemplo 10101110 sera $AE (hexadecimal vlido), pero un valor BCD INVLIDO debido a que A y E no representan nmeros decimales vlidos. Nuestros programas usarn la notacin hexadecimal al configurar o controlar los tiempos en el RTC. Adicionalmente, el RTC se configura para ser usado en formato 24 horas, de forma que la hora 1:00 PM se mostrar como 13:00. Ejercicio 1: Control de Tiempo Real En este primer ejercicio simularemos la calefaccin de un edificio de oficinas. Durante las horas de trabajo, la temperatura se mantendr a valores ms altos que durante la noche, logrando un ahorro de energa. Para simplificar nuestro cdigo, usaremos control ON/OFF en lugar del ms apropiado control de banda diferencial. Dado que usaremos nuestra incubadora y para asegurarnos que la temperatura est por encima de la temperatura ambiente, usaremos los valores 100F para horas de trabajo y 90 F para horario nocturno. El termostato pondr a funcionar la calefaccin en su nivel alto a las 6:00 AM o 06:00 horas y en lo pasar a su nivel bajo a las 6:00 PM o 18:00 horas. El Programa 7.1 es el cdigo para el experimento.

Pgina 192 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

' Programa 7.1 - Control ON/OFF en Tiempo Real. ' Este programa regular la temperatura a 100F entre las ' 06:00 y las 18:00 y 90F entre las 18:00 y las 06:00. '***** Configuracin Inicial ******* Tiempo = $0553 ' Define Tiempo inicial Segundos = $00 CTiempoBajo CON $1800 ' Define hora para bajar temperatura. CTiempoAlto CON $0600 ' Define hora para subir temperatura. TempBaja CON 900 TempAlta CON 1000 '********************************* GOSUB PoneHora Setpoint = TempBaja CTiempo = CTiempoAlto Segundos = $00 ' Define temperatura baja en dcimas de grados. ' Define temperatura alta en dcimas de grados.

' Ajusta RTC ' Carga temperatura inicial ' Carga tiempo de cambio inicial

' Define constantes y variables del conversor A/D CS CLK Dout Datain Temp TempRango Offset Setpoint CON CON CON VAR VAR CON CON VAR 3 4 5 BYTE WORD 5000 700 WORD ' ' ' ' ' Chip select del 0831 activo bajo en P3 del BS2 Clock del BS2 (P4) al 0831 Salida serial de datos del 0831 al BS2 (P5) Variable para almacenar el nmero entrante (0 a 255) Almacena valor convertido que representa la Temp

' Rango completo en dcimas de grado. ' Temperatura mnima. @Offset, ADC = 0 ' Temperatura deseada

' Define Constantes del RTC ' Valores de Registros en el RTC SecReg CON %00000 MinReg CON %00001 HrsReg CON %00010 CtrlReg CON %00111 BrstReg CON %11111 ' Distribucin RTC_CLK RTC_IO RTCReset de pines del BS2 al RTC CON 12 ' Pin del Clock CON 13 ' Pin de E/S CON 14 ' Pin de Reset

' Variables de Tiempo Real RTCCmd VAR BYTE RTemp VAR BYTE Tiempo Horas VAR VAR WORD Tiempo.HIGHBYTE ' Word para almacenar la hora completa ' Byte alto son horas

Control Industrial Versin 1.1 Pgina 193

Experimento 7: Control de Tiempo Real y Adquisicin de Datos


Minutos Segundos VAR VAR Tiempo.LOWBYTE BYTE ' Byte bajo son minutos

' Tiempo para cambiar variables CTiempo VAR WORD CHoras VAR CTiempo.HIGHBYTE CMinutos VAR CTiempo.LOWBYTE CSegundos VAR Byte

' Word para almacenar la hora completa ' Byte alto son horas ' Byte bajo minutos

' Configura grfico PAUSE 500 ' Tiempo para limpiar el buffer DEBUG "!RSET",CR ' Reinicia el grfico DEBUG "!TITL Control ON/OFF Temporizado ",CR DEBUG "!PNTS 4000",CR ' 4000 puntos de datos DEBUG "!TMAX 900",CR ' Max 900 segundos DEBUG "!SPAN 70,120",CR ' 70-120 Grados DEBUG "!AMUL 0.1",cr ' Multiplica datos por 0,1 DEBUG "!CLMM",CR ' Limpia Min/Max DEBUG "!CLRM",CR ' Limpia mensajes DEBUG "!TSMP ON",CR ' Habilita temporizador DEBUG "!SHFT ON",CR ' Habilita desplazamiento de grfico DEBUG "!PLOT ON",CR ' Inicia grfica DEBUG "!RSET",CR ' Reinicia el grfico Principal: PAUSE 500 GOSUB LeerRTC GOSUB ControlTiempo GOSUB Obtenerdato GOSUB Calc_Temp GOSUB Control GOSUB Mostrar GOTO Principal Obtenerdato: ' LOW CS ' LOW CLK ' SHIFTIN Dout, CLK, MSBPOST,[Datain\9] ' HIGH CS ' RETURN Adquiere conversin del 0831 Habilita el chip Prepara lnea de clock. Lee datos Detiene la conversin

Calc_Temp: ' Convierte el valor digital en Temp Temp = TempRango/255 * Datain/10 + Offset ' basndose en las variables Rango y ' Offset. RETURN Control: IF Temp > PuntoAjuste THEN OFF HIGH 8 RETURN OFF: LOW 8 ' Mant. la temperatura alrededor del setpoint

Pgina 194 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos


RETURN Mostrar: ' Muestra tiempo real y tiempo para el prx cambio y enva datos a graficador DEBUG "!USRS Hora Actual:", HEX2 Horas,":",HEX2 Minutos,":",HEX2 segundos DEBUG " Siguiente Cambio a las:",HEX2 CHoras,":",HEX2 CMinutos,CR DEBUG DEC Temp,CR DEBUG IBIN OUT8,CR RETURN PoneHora: ' ****** Inicializa el reloj de tiempo real RTemp = $10 : RTCCmd = CtrlReg : GOSUB EscribirRTC ' Borra el bit de proteccin contra escritura del registro de control RTemp = Horas : RTCCmd = HrsReg : GOSUB EscribirRTC ' Fija hora inicial RTemp = Minutos : RTCCmd = MinReg : GOSUB EscribirRTC ' Fija minutos iniciales RTemp = Segundos : RTCCmd = SecReg : GOSUB EscribirRTC ' Fija segundos iniciales RTemp = $80 : RTCCmd = CtrlReg : GOSUB EscribirRTC ' Activa bit de proteccin contra escritura en el registro de control Return EscribirRTC: ' Escribe en el DS1202 RTC HIGH RTCReset SHIFTOUT RTC_IO, RTC_CLK, LSBFIRST, [%0\1,RTCCmd\5,%10\2,RTemp] LOW RTCReset RETURN LeerRTC: ' Lee todos los datos del RTC HIGH RTCReset SHIFTOUT RTC_IO, RTC_CLK, LSBFIRST, [%1\1,BrstReg\5,%10\2] SHIFTIN RTC_IO, RTC_CLK, LSBPRE, [Segundos,Minutos,Horas] LOW RTCReset RETURN ControlTiempo: ' Verifica si es hora de cambiar la temperatura IF (Tiempo = CTiempoBajo) AND (Setpoint = TempAlta) THEN TBaja IF (Tiempo = CTiempoAlto) AND (Setpoint = TempBaja) THEN TAlta Return TBaja: ' Cambia a temperatura nocturna Setpoint = TempBaja DEBUG "Tiempo: ", HEX2 Horas,":",HEX2 Minutos,":",HEX2 Segundos DEBUG "-- Setpoint = ", DEC PuntoAjuste/10,".0",CR CTiempo = CTiempoAlto RETURN ' Cambia a temperatura diurna Setpoint = TempAlta DEBUG "Tiempo: ", HEX2 Horas,":",HEX2 minutos,":",HEX2 segundos DEBUG "-- Setpoint = ",DEC PuntoAjuste/10,".0",CR CTiempo = CTiempoBajo RETURN

TAlta:

Control Industrial Versin 1.1 Pgina 195

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

Figura 7.3: Diagrama de Flujo del Control de la Calefaccin


Inicio Control de Hora

Inicializa Hora y Constantes

Config. Reloj de Tiempo Real

Hora de Cambiar a Alta?

Si

No Config. SPL Si Hora de Cambiar a Baja?

Lee Hora

Controla Hora Regresar

No

Obtiene Datos de Temp. Config. Temp. Baja Calcula Temperatura

Config. Temp. Alta

Muestra Cambios

Muestra Cambios

Controla Temperatura Regresar Muestra y Grafica Datos Regresar

Pgina 196 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Observe que el programa reiniciar la hora a 05:53 cada vez que el BASIC Stamp reinicia. Esto puede ocurrir cuando se carga el programa, reinicia el Stamp manualmente, se reconecta la alimentacin y algunas veces cuando se activa el puerto COM o cuando se reinicia la PC. La ora de inicio es adecuada para esta seccin, pero en secciones posteriores puede querer usar los valores reales de hora inicial.
'***** Configuracin Inicial ******* Tiempo = $0553 Segundos = $00 CTiempoBajo CON $1800 CTiempoAlto CON $0600 TempBaja CON 900 TempAlta CON 1000 '********************************* GOSUB PoneHora ' Define Tiempo inicial ' Define hora para bajar temperatura. ' Define hora para subir temperatura. ' Define temperatura baja en dcimas de grados. ' Define temperatura alta en dcimas de grados. ' Ajusta RTC

Nota: Si se quita la alimentacin del Reloj de Tiempo Real DS1302 se reiniciar con valores impredecibles cuando sta regrese. Por este motivo se emplea Gosub PoneHora.
Las horas a las que se produce el cambio de temperatura se definen en este sector. GOSUB PoneHora pone al reloj de tiempo real en la hora especificada. Una vez configurada correctamente la hora, se puede poner esta lnea como comentario y descargar nuevamente el programa para evitar que la hora se reinicie a 05:53 cuando se reinicia el BASIC Stamp. El programa usa dos juegos de variables para la hora, uno para leer / escribir la hora actual y otro para almacenar la hora a la que deseamos cambiar el termostato. Observe que las variables Tiempo y CTiempo se subdividen en Horas y Minutos:
Tiempo Horas Minutos VAR VAR VAR WORD Tiempo.HIGHBYTE Tiempo.LOWBYTE ' Word para almacenar la hora completa ' Byte alto, horas ' Byte bajo, minutos

La variable Horas se asigna como el byte alto de la variable Tiempo, obteniendo las posiciones BCD que representan la hora. Lo mismo se realiza para los minutos con las dos posiciones ms bajas. Esta es una herramienta muy poderosa cuando se desea tener acceso a distintas partes de una misma variable. El Programa 7.1 inicia la hora 7 minutos antes de que se produzca el cambio a horario de trabajo. Esto debera permitir el tiempo suficiente para que la temperatura se estabilice a la temperatura ms baja. La Figura 7.4 muestra el grfico obtenido.

Control Industrial Versin 1.1 Pgina 197

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Figura 7.4: Calefaccin Edilicia Controlada por Horario

El recuadro de usuario del StampPlot Lite muestra la hora actual y la hora a la que se producir el prximo cambio. Puede parecer que la hora del recuadro cambie a intervalos irregulares, pero este es el resultado de diferencias temporales a las que el BS2 muestra los datos y no diferencias en el RTC. El sector de mensajes muestra la hora a la que se produjo el ltimo cambio y el valor para el prximo. La grfica muestra un control ON/OFF a un setpoint de 90 F y el salto al setpoint de 100 F a las 06:00. Usando el RTC, agregando ms dispositivos de salida y expandiendo la seccin de control del cdigo, podramos agregar muchos eventos temporizados en el transcurso del da. Descargue y ejecute el Programa 7.1. Observe con el StampPlot Lite al menos el cambio de las 06:00. Necesitar esperar 12 horas para ver si el setpoint desciende a las 18:00... Tiene tiempo para esperar?

Pgina 198 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Preguntas y Desafos: 1) Los datos almacenados en el DS1302 usan el sistema numrico ______. 2) Agregue un setpoint de 95 F entre las 4:00PM (16:00) y 6:00 PM (18:00). Modifique la hora y la temperatura inicial para verificar su funcionamiento. 3) Use el LED en P8 para simular la lmpara de una casa. Agregue el cdigo necesario para encenderla a las 8:00 PM (20:00) y apagarla a las 11:00 PM (23:00). Modifique la hora inicial del RTC para verificar su funcionamiento. Ejercicio 2: Temporizacin por Intervalos En lugar de tener eventos que ocurren a horas definidas del da, a menudo un proceso puede necesitar realizar acciones a ciertos intervalos de tiempo. El templado es un ejemplo de este proceso. En este caso un metal es calentado a cierta temperatura durante una cantidad fija de tiempo, se aumenta a otra temperatura por cierto tiempo y luego se enfra rpidamente a otra temperatura. Esto templa el metal y le otorga ciertas caractersticas deseables, tales como dureza y resistencia a la torsin. Dado que estamos trabajando con intervalos de tiempo en lugar de horas absolutas, necesitaremos realizar clculos para encontrar la hora de finalizacin de cada intervalo. El intervalo debe sumarse a la hora inicial de la fase de cada temperatura. Esto suena simple, pero no lo es. Si recuerda, nuestra temporizacin se realiza en BCD, un subconjunto del hexadecimal. Cuando suma valores de tiempo, el BASIC Stamp 2 est trabajando en hexadecimal. Tome el ejemplo de 38 segundos + 5 segundos. Sabemos que deberamos obtener como resultado 43 segundos, pero como en realidad estamos sumando $38 + $05 (hexadecimal), nuestro resultado sera $3D (contando 5: $39, $3A, $3B, $3C, $3D). Si esperramos hasta que este valor sea igual que el obtenido del RTC, esperaramos por siempre!. Necesitamos ajustar el resultado a valores decimales. Esto se logra controlando si un dgito excede el rango BCD ( >9) y sumndole 6 si es as. Pruebe esto con el resultado anterior: $3D + $06 = $43 (contando 6: $3E, $3F, $40, $41, $42, $43). Es un xito! Ahora tenemos el valor que necesitamos en BCD.

Control Industrial Versin 1.1 Pgina 199

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Otro de los temas que necesitamos tratar es que tanto las unidades como las decenas podran requerir un ajuste. Dependiendo del resultado podramos tener un acarreo a minutos o horas. Segundos y minutos se cuentan hasta 60, mientras que las horas hasta 24. Esta es la secuencia general, o algoritmo, que nuestro programa usar: Controlar que las unidades de segundos sea un valor BCD legal (<$A). " No: Agregar 6 a segundos. Controlar si los segundos resultantes son menos de 60. " No: Restar 60 a segundos. Sumar uno a minutos. Controlar que las unidades de minutos sea un valor BCD legal (<$A). " No: Sumar 6 a minutos Este es el cdigo:
AjustarHora: ' Rutina de ajuste de hora BCD IF CSegundos.lownib < $A THEN DecenaSeg CSegundos = CSegundos + 6 DecenaSeg: If CSegundos < $60 Then UnidadMin CSegundos = CSegundos - $60 CMinutos = CMinutos + 1 UnidadMin: IF CMinutos.lownib < $A THEN DecenaMin CMinutos = CMinutos + 6 DecenaMin: IF CMinutos < $60 THEN UnidadHoras CMinutos = CMinutos - $60 CHoras = CHoras + 1 UnidadHoras: IF CHoras.lownib < $A THEN DecenaHoras CHoras = CHoras + 6 DecenaHoras: IF CHoras < $24 THEN AjustarListo CHoras = CHoras - $24 AjustarListo: RETURN

Hay un caso en el que este algoritmo no proveer el resultado correcto: Cuando sumamos un valor mayor que 6 en cualquier posicin que su valor exceda 7. Tome por ejemplo $58 + $08. Sumando en hex obtenemos $60. Esto genera un valor BCD vlido, solamente que no es el correcto. Una solucin simple para sumar 8, sumar primero 4, ajustar, luego sumar nuevamente 4 y ajustar otra vez. Ms simple an es escoger intervalos de temporizacin que no contengan los dgitos 7, 8, o 9.

Pgina 200 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos En esta seccin simularemos este proceso con nuestra incubadora, pero teniendo en cuenta que normalmente el templado se realiza a miles de grados. Esta es la secuencia que seguir nuestro proceso de templado: Fase 1: Calentar a 95,0 F durante 5 minutos. Fase 2: Calentar a 100 F durante 15 minutos. Fase 3: Enfriar a 85,0 F durante 10 minutos. Proceso completo, comenzar desde el principio con la siguiente muestra de material.

Haga las siguientes modificaciones al Programa 7.1 para obtener el Programa 7.2.
' Programa 7.2: Temporizacin por Intervalos ' Controla 3 niveles de temperatura por cierta cantidad de tiempo '****** Configuracin inicial ***** Tiempo = $1200 Segundos = $00 PTemp1 CON PTemp2 CON PTemp3 CON 950 1000 850

' Tiempo para configurar el reloj

' temperatura de la 1 fase ' temperatura de la 2 fase ' temperatura de la 3 fase ' ' ' ' No use dgito 7 o superior Duracin de la fase 1 Duracin de la fase 2 Duracin de la fase 3

PTiempo1 CON $05 PTiempo2 CON $15 PTiempo3 CON $10 '******************************* Gosub PoneHora Setpoint = PTemp1 Gosub LeerRTC CTiempo = Tiempo CMinutos = Minutos + PTiempo1 Gosub AjustarHora

' ' ' ' ' '

Ajusta reloj Setpoint inicial para la 1 fase Obtiene lectura del reloj Asigna tiempo de cambio Suma tiempo fase 1 Ajusta hora BCD

' Define constantes y variables A/D

(La seccin intermedia del cdigo queda sin cambios)


ControlTiempo: ' Controla si est listo para cambiar IF (Tiempo = CTiempo) AND (Setpoint = PTemp3) THEN Fase1 IF (Tiempo = CTiempo) AND (Setpoint = PTemp1) THEN Fase2 IF (Tiempo = CTiempo) AND (Setpoint = PTemp2) THEN Fase3 Return

Control Industrial Versin 1.1 Pgina 201

Experimento 7: Control de Tiempo Real y Adquisicin de Datos


Fase1: ' Fase 1 Debug "Fase 3 completa Siguiente muestra",CR Debug "!BELL",CR Setpoint = PTemp1 CMinutos = CMinutos + PTiempo1 GOTO Siguiente ' Fase 2 DEBUG "Fase 1 completa",CR Setpoint = PTemp2 CMinutos = CMinutos + PTiempo2 GOTO Siguiente Fase3: DEBUG "Fase 2 completa",CR Setpoint = PTemp3 CMinutos = CMinutos + PTiempo3 Siguiente: GOSUB AjustarHora ' ajusta hora BCD DEBUG "Tiempo: ", hex2 horas,":",hex2 minutos,":",hex2 segundos DEBUG "-- Setpoint: ", dec setpoint,cr RETURN AjustarHora: ' rutina de ajuste de hora BCD IF CSegundos.lownib < $A THEN DecenaSeg CSegundos = CSegundos + 6 DecenaSeg: If CSegundos < $60 Then UnidadMin CSegundos = CSegundos - $60 CMinutos = CMinutos + 1 UnidadMin: IF CMinutos.lownib < $A THEN DecenaMin CMinutos = CMinutos + 6 DecenaMin: IF CMinutos < $60 THEN UnidadHoras CMinutos = CMinutos - $60 CHoras = CHoras + 1 UnidadHoras: IF CHoras.lownib < $A THEN DecenaHoras CHoras = CHoras + 6 DecenaHoras: IF CHoras < $24 THEN AjustarListo CHoras = CHoras - $24 AjustarListo: RETURN ' Fase 3 -

Fase2:

Pgina 202 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Figura 7.5: Temporizacin por Intervalos

La Figura 7.5 muestra un ejemplo de la ejecucin del programa. Observe que hay tres fases distintas de temperatura que se repiten. Descargue y ejecute el Programa 7.2. Use StampPlot Lite para monitorear su sistema. Preguntas y Desafos: 1) Por qu es preferible usar el RTC para temporizaciones largas, en lugar del comando PAUSE de PBASIC?

2) Sume los siguientes valores hexadecimales y ajuste el valor decimal de sus resultados (muestre su trabajo): $15 + $15

Control Industrial Versin 1.1 Pgina 203

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

3) Modifique el programa agregando una fase 4 de 5 minutos a 80,0 F.

Ejercicio 3: Adquisicin de Datos (Data Logging) La adquisicin de datos no cae dentro del rea de control de procesos, pero es un tema importante y dado que ya tenemos un RTC conectado, es el momento apropiado para introducirlo. La mayora de nuestros experimentos han usado StampPlot Lite para mostrar grficamente las condiciones actuales de nuestro sistema. Por supuesto, uno de los beneficios ms grandes de los microcontroladores es que son autnomos y no necesitan una PC. Todos los experimentos de este libro funcionan apropiadamente, grafiquemos o no los datos en una PC. Simplemente no tendramos una informacin actualizada del estado de nuestro sistema. La adquisicin de datos se emplea para registrar y almacenar datos dentro del microcontrolador. Esto datos podrn ser recuperados para realizar un anlisis posterior. Algunos ejemplos de esto incluyen estaciones meteorolgicas remotas y experimentos para el Transbordador Espacial. Debido a la ubicacin u otros factores, puede no ser prctico recolectar los datos en una PC en tiempo real. Cuando los datos se almacenan en la memoria, es importante asegurarse que el hardware, el programa y el reloj, sean lo ms estable posibles. El data-logger puede no ser controlado por perodos de tiempo muy largos. Un reinicio no intencional del Stamp normalmente eliminar sus datos y comenzar el programa nuevamente. El Stamp se puede reiniciar fcilmente presionando el botn reset, algunas veces al conectarlo a la PC, o incluso debido a una prdida temporaria de la alimentacin. As como los programas del BASIC Stamp se almacenan en memoria no voltil (permanece an con prdida de alimentacin) llamada EEPROM, nosotros tambin podemos escribir nuestros datos all. El BASIC Stamp 2 tiene 2048 bytes de memoria EEPROM disponibles para el programa y almacenamiento de datos. La Figura 7.6 muestra el mapa de memoria del BASIC Stamp 2. Los programas se almacenan al final de la memoria, permitindonos usar la parte superior para almacenar datos.

Pgina 204 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Figura 7.6: Mapa de Memoria del BASIC Stamp 2

Una vez almacenados los datos, necesitaremos recuperar tanto el valor como la hora a la que se realiz la lectura. Al almacenar los datos, la hora puede almacenarse en la memoria junto con cada valor. Esto requerira 3 bytes por medicin: Horas, Minutos y Valor (opcionalmente, se podran grabar los segundos, dependiendo de la necesidad de cada caso). O, podemos guardar la hora a la que comenzaron a tomarse mediciones; almacenando los datos en intervalos de tiempo conocidos podemos luego extrapolar la hora de cada medicin. De esta forma solamente se requiere 1 byte por medicin, grabando la hora solamente al principio. Pero qu sucede si se reinicia inadvertidamente el microcontrolador, como cuando se lo conecta a la PC para recuperar los datos? Qu pasara si se perdiera la hora de inicio de las mediciones? Qu sucedera si el RTC se reiniciara en algn momento de forma que la hora volviera a cero? Tambin podemos usar la EEPROM para registrar los datos importantes, como la hora de inicio y la siguiente posicin de memoria, para evitar la prdida de datos importantes, en el caso que el microcontrolador se reiniciara. El programa que hemos desarrollado se asegura de no perder datos debido a reinicios accidentales.

Control Industrial Versin 1.1 Pgina 205

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Una interrupcin en la alimentacin es uno de los problemas para los que no est preparado este programa. Ante una prdida de energa, el BS2 ser capaz de recuperar los datos perdidos, pero el RTC probablemente mostrar horas no validas. Soluciones posibles a este problema son hacer funcional el proyecto con una batera o agregar un capacitor de alta capacidad al RTC como muestran las hojas de datos. Un spercapacitor puede mantener el RTC en hora por mucho tiempo, incluso das. Otra opcin podra ser escribir continuamente la hora actual en la EEPROM de forma que si se corta la energa, la ltima hora registrada en el BS2 podra rescribirse en el RTC. Pero las EEPROMs tienen una cantidad limitada de ciclos de escritura. Despus de varios miles de ciclos de escritura la EEPROM fallar, as que podramos preferir no escribir repetidamente sobre la misma ubicacin. Cuntos datos podemos almacenar? Despus de descargar el programa, quedan aproximadamente 700 bytes de los 2K de EEPROM del BASIC Stamp 2. Esto nos permitir almacenar 700 datos. A intervalos de 5minutos, durante cunto tiempo podremos registrar datos hasta que se llene la memoria? Otras opciones para almacenar datos son los registros del usuario del RTC, o un dispositivo independiente, como una EEPROM serial.

Nota: No almacena ms datos del que le permita el lugar de la EEPROM; sobrescribir el espacio del cdigo causar que el BASIC Stamp programa comience a fallar.
El comando WRITE es usado para escribir los datos en la memoria:
WRITE Direccin de Memoria, valor byte

El comando READ es usado para asignar datos de la memoria a una variable:


READ Direccin de Memoria, variable byte

Usaremos el DS1302 como temporizador de intervalos que controlar cundo se tomaran muestras. Para este experimento recolectaremos la temperatura exterior sobre un largo perodo de tiempo y luego descargaremos los valores con el StampPlot Lite. El Programa 7.3 es el cdigo para nuestro data logger. Es suficientemente diferente de los otros programas como para requerir que mostremos el listado completo, aunque mucho cdigo viene de otros programas.
' Programa 7.3 - Data Logging en Tiempo Real ' Este programa registrar en la memoria EEPROM la temperatura ' a intervalos definidos usando el reloj de tiempo real. '*** Config. Inic. Hora e Intervalo Toma de Datos ************** Tiempo = $2246 ' Hora inicial

Pgina 206 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos


' No usar dgitos > 6 Intervalo CON $05 ' Intervalo de muestreo (en minutos BCD) Muestras CON 500 ' Cantidad de muestras a tomar Stop_Reset CON 0 ' 0=reset, 1 = detiene almacenamiento de datos '****************************************************** ' Define Constantes RTC ' valores de registro del RTC SecReg CON %00000 MinReg CON %00001 HrsReg CON %00010 CtrlReg CON %00111 BrstReg CON %11111 ' Constantes para pines de conexin del BS2 al RTC RTC_CLK CON 12 RTC_IO CON 13 RTCReset CON 14 ' Variables de Tiempo Real RTCCmd VAR BYTE RTemp VAR BYTE ' Variables de hora actual Tiempo VAR WORD Horas VAR Tiempo.HIGHBYTE Minutos VAR Tiempo.LOWBYTE Segundos VAR BYTE ' Variables de Hora de almacenamiento LTiempo VAR WORD LHoras VAR LTiempo.HIGHBYTE LMinutos VAR LTiempo.LOWBYTE LSegundos VAR BYTE ' Variables de hora inicial STiempo VAR WORD SHoras VAR STiempo.HIGHBYTE SMinutos VAR STiempo.LOWBYTE DirecMem VAR WORD ' Ubicacin de memoria de almacenamiento actual

' Define constantes y variables A/D CS CON 3 CLK CON 4 Dout CON 5 Datain VAR BYTE Temp VAR WORD TempRango CON 5000 Offset CON 700 DIR15 = 0 DIR8 = 1

' ' ' ' ' ' '

Chip select del 0831 activo bajo en P3 del BS2 Clock del BS2 (P4) al 0831 Salida serial de datos del 0831 al BS2 (P5) Variable para almacenar el nmero entrante (0 a 255) Almacena valor convertido que representa la Temp Rango completo en dcimas de grado Temperatura mnima. @Offset, ADC = 0

Control Industrial Versin 1.1 Pgina 207

Experimento 7: Control de Tiempo Real y Adquisicin de Datos


PB LED LOW LED VAR CON IN15 8 ' Pulsador ' LED ' apaga LED

'***** Inicializacin ******* INIT: ' Para cargar la hora, mantenga presionado el botn hasta que el LED se apague DEBUG "Mantenga presionado el botn para inicializar el reloj y tomar datos",cr HIGH 8 ' LED encendido PAUSE 2000 IF PB = 1 THEN SalteaInicial ' Si no est presionado, saltea Segundos = $00 GOSUB PoneHora GOSUB RecuperaDatos DEBUG "Suelte el botn",CR SalteaInicial: LOW LED IF PB = 0 THEN SalteaInicial READ 0,DirecMem.HIGHBYTE READ 1,DirecMem.LOWBYTE READ 2,SHoras Read 3,SMinutos

' ' ' '

LED apagado Espera que libere el botn Recupera datos de direccin de memoria y hora

' Inicia las variables de temporizacin GOSUB LeerRTC ' Lee hora actual LHoras = Horas LMinutos = Minutos LSegundos = $00 LMinutos = LMinutos + Intervalo GOSUB AjustarHora '***** Bucle Principal ******* Principal: PAUSE 500 GOSUB Control GOSUB Obtenerdato GOSUB Calc_Temp GOSUB LeerRTC GOSUB Mostrar GOSUB ControlTiempo GOTO Principal Obtenerdato: ' LOW CS ' LOW CLK ' SHIFTIN Dout, CLK, MSBPOST,[Datain\9] ' HIGH CS ' RETURN Adquiere conversin del 0831 Selecciona el chip Alista clock. Lee datos fin de conversin ' Suma intervalo para hora de medicin ' Ajuste Decimal del resultado

Calc_Temp: ' Convierte el valor a temperatura basndose Temp = TempRango/255 * Datain/10 + Offset ' en Rango y

Pgina 208 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos


RETURN ' Offset.

Control: IF PB = 0 THEN DescargaDatos RETURN

' Si el botn est presionado, grafica datos ' almacenados

ControlTiempo: ' Verifica si es hora de tomar una lectura IF (Tiempo = LTiempo) AND (DirecMem-4 < Muestras) THEN GuardaDato RETURN GuardaDato: WRITE DirecMem, DataIn HIGH 8:PAUSE 250:LOW 8 DirecMem = DirecMem + 1 WRITE 0,DirecMem.HIGHBYTE WRITE 1,DirecMem.LOWBYTE ' ' ' ' ' Escribe lectura en memoria Almacena dato en la EEPROM Parpadea LED Incrementa ubic. de memoria para sig. valor Actualiza datos de recuperacin

LMinutos = LMinutos + Intervalo ' Actualiza para el siguiente intervalo IF DirecMem-4 < Muestras THEN AjustarHora ' Si queda lugar, contina IF Stop_Reset = 1 THEN Sin_Reset ' Sino, reinicia o detiene registro de datos GOSUB RecuperaDatos Sin_Reset: AjustarHora: ' Ajuste decimal de la hora IF LSegundos.LOWNIB < $A THEN DecenaSeg LSegundos = LSegundos + 6 DecenaSeg: If LSegundos < $60 THEN UnidadMin LSegundos = LSegundos - $60 LMinutos = LMinutos + 1 UnidadMin: IF LMinutos.LOWNIB < $A THEN DecenaMin LMinutos = LMinutos + 6 DecenaMin: IF LMinutos < $60 THEN UnidadHoras LMinutos = LMinutos - $60 LHoras = LHoras + 1 UnidadHoras: IF LHoras.LOWNIB < $A THEN DecenaHoras LHoras = LHoras + 6 DecenaHoras: IF LHoras < $24 THEN AjustarListo LHoras = LHoras - $24 AjustarListo: RETURN Mostrar: ' Muestra valores y hora de siguiente lectura DEBUG "!USRS Tiempo:", HEX2 horas,":",HEX2 minutos,":",HEX2 segundos DEBUG " Muestra:",HEX2 LHoras,":",HEX2 LMinutos,":",HEX2 LSegundos DEBUG " # ",DEC DirecMem-4, " Temp actual = ", DEC Temp,CR DEBUG DEC Temp,CR Return

Control Industrial Versin 1.1 Pgina 209

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

PoneHora: ' ****** Inicializa el reloj de tiempo real RTemp = $10 : RTCCmd = CtrlReg : GOSUB EscribirRTC ' Limpia el bit de proteccin contra escritura del registro de control RTemp = Horas : RTCCmd = HrsReg : GOSUB EscribirRTC ' Fija hora inicial RTemp = Minutos : RTCCmd = MinReg : GOSUB EscribirRTC ' Fija minutos inicial RTemp = Segundos : RTCCmd = SecReg : GOSUB EscribirRTC ' Fija segundos inicial RTemp = $80 : RTCCmd = CtrlReg : GOSUB EscribirRTC ' Habilita el bit de proteccin contra escritura del registro de control Return EscribirRTC: ' Escribe en el DS1302 RTC HIGH RTCReset SHIFTOUT RTC_IO, RTC_CLK, LSBFIRST, [%0\1,RTCCmd\5,%10\2,RTemp] LOW RTCReset RETURN LeerRTC: ' Lee todos los datos del RTC HIGH RTCReset SHIFTOUT RTC_IO, RTC_CLK, LSBFIRST, [%1\1,BrstReg\5,%10\2] SHIFTIN RTC_IO, RTC_CLK, LSBPRE, [Segundos,Minutos,Horas] LOW RTCReset RETURN RecuperaDatos: DirecMem = 4 WRITE 0,DirecMem.HIGHBYTE WRITE 1,DirecMem.LOWBYTE WRITE 2,Horas WRITE 3,Minutos Return ' Almacena datos de recuperacin por reinicio ' Ubicacin inicial ' Escribe en la EEPROM ' Guarda hora de inicio en la EEPROM

'*** Descarga y muestra los datos almacenados *** DescargaDatos: 'Configure Plot PAUSE 500 DEBUG "!RSET",CR DEBUG "!TITL Data Logging a Intervalos",CR DEBUG "!PNTS 2000",CR DEBUG "!TMAX ", DEC DirecMem/7+1,CR DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG

' ' ' ' '

Tiempo para limpiar el buffer Reinicia grfico Ttulo 2000 puntos de muestreo Tiempo basado en cantidad de muestras

"!SPAN ",DEC offset/10,",",DEC (TempRango/10 + Offset) / 10,CR "!AMUL .1",cr ' Multiplica datos por 0,1 "!CLMM",CR ' Limpia Min/Max "!CLRM",CR ' Limpia mensajes "!TSMP OFF",CR ' Tiempo de apagado "!SHFT ON",CR ' Habilita desplazamiento de grfico "!DELM",CR ' Borra archivo de mensajes "!SAVM ON",CR ' Guarda mensajes (datos almac) a archivo "!PLOT ON",CR ' Inicia grfica

PAUSE 500

Pgina 210 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos


DEBUG "!RSET",CR X VAR Word LTiempo = STiempo DEBUG "Punto, Tiempo, Temperatura",CR FOR x = 4 to DirecMem-1 READ x,DataIn GOSUB Calc_Temp LMinutos = LMinutos + Intervalo GOSUB AjustarHora ' Reinicia temporizador de grfico

' Ajusta hora de muestreo = hora inicio ' ttulo

' Bucle por las ubicaciones de memoria ' Lee dato almacenado en la memoria ' Calcula la temp basndose en el dato ' Suma el intervalo para obtener hora de lectura ' Ajuste Decimal de la hora ' Mostrar dato DEBUG DEC X-4,",",HEX2 LHoras,":",HEX2 LMinutos,",",DEC Temp,CR DEBUG DEC Temp,CR ' Grafica temperatura HIGH LED PAUSE 100 ' Pausa de 0,1 seg. para espaciar datos LOW LED NEXT DEBUG "!PLOT OFF",CR ' Desconecta graficador LTiempo = Tiempo LMinutos = LMinutos + Intervalo GOSUB AjustarHora ' Despus de descargar datos, tenga presionado el botn para reiniciar ' la captura de datos, o continuar desde el punto actual HIGH 8 ' LED encendido DEBUG "Presione el botn ahora para reiniciar la adquisicin ",CR PAUSE 2000 IF PB = 1 THEN SalteaReset ' Si el botn no est presionado, saltea GOSUB RecuperaDatos ' Reinicio guarda nuevos datos de recuperacin DEBUG "Suelte el botn ahora",CR SalteaReset: LOW 8 ' LED apagado If PB = 0 THEN SalteaReset ' Espera que suelte el botn Return

Discutiremos la operacin del programa por bloques. Al principio del cdigo est la informacin de inicializacin:
'*** Config. Inic.. Hora e Intervalo Toma de Datos ************** Tiempo = $2246 ' Hora inicial ' No use dgitos >6 ' Intervalo de muestreo (en minutos BCD)

Intervalo

CON

$05

Muestras CON 500 ' Cantidad de muestras a tomar Stop_Reset CON 0 ' 0=reset, 1 = detiene almacenamiento de datos '******************************************************

Control Industrial Versin 1.1 Pgina 211

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Estos datos definen la hora a colocar en el RTC, cunto durar el intervalo entre muestras y cuntas muestras se tomarn. Stop_Reset decide detener el registro de datos (1) o reiniciarlo (0) y sobrescribir los datos anteriores destruyndolos, una vez que se alcanz la cantidad mxima de muestras. El pulsador tiene varios propsitos: 1. Al energizar o reiniciar el BS2, aparecer un mensaje avisndole que tenga presionado el botn para inicializar el reloj y la adquisicin de datos (tambin se encender el LED para esto). Si el botn se mantiene presionado, el valor de la hora del sector de inicializacin se usar para configurar al RTC y la adquisicin de datos se reiniciar desde el principio. Se escribirn datos de recuperacin en la EEPROM para el siguiente reset.
RecuperaDatos: DirecMem = 4 WRITE 0,DirecMem.HIGHBYTE WRITE 1,DirecMem.LOWBYTE WRITE 2,Horas WRITE 3,Minutos Return ' Almacena datos de recuperacin por reinicio ' Ubicacin inicial ' Escribe en la EEPROM ' Guarda hora de inicio en la EEPROM

Note que una direccin de memoria es un valor tamao word y debe guardarse en un byte alto (high) y uno bajo (low). 2. Si se presiona el botn durante la adquisicin de datos, stos sern descargados. Usaremos StampPlot Lite para capturar y graficar los datos a medida que se descargan. Los datos NO son destruidos y el data logger continuar registrando mediciones. 3. Al final de la descarga de datos, si el pulsador se mantiene presionado, el data logger se reiniciar desde el principio destruyendo los datos anteriores e inicializando la hora de toma de datos nuevos. Si el BASIC Stamp 2 es reiniciado y el botn NO es presionado, el programa leer los datos de recuperacin de la ubicacin de memoria actual y tiempo de inicio de la EEPROM. La hora del RTC NO se reiniciar. Debera haber mantenido la hora apropiadamente A MENOS QUE se hubiese cortado la alimentacin. La Figura 7.7 muestra el diagrama de flujo de la inicializacin del programa.

Pgina 212 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

Figura 7.7: Rutina de Inicializacin de Adquisicin de Datos

Inicio

Fijar Hora en RTC

Leer Datos de Recuperacin

Fijar hora y Adquirir Datos

Almacenar Datos de Recuperacin en la EEPROM

Avisar al usuario que presione el botn para inicializar hora y adquisicin de datos

Bucle Principal

Pedir al usuario que libere el Botn

Botn Presionado?

Si

No

Botn Liberado?

Si

No

Control Industrial Versin 1.1 Pgina 213

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

Figura 7.8: Rutinas de Control y Almacenamiento


Control de Tiempo Control

Tiempo=LTiempo Ubicac.<Muestras

Si

Botn presionado

Si

Guardar Datos No Regresar

No

Descarg. Datos

Control de Hora

Guardar Datos Ubic. < Muestras No Escribir datos en la EEPROM Reset Si Si

Hacer parpadear LED

Incrementar puntero de Ubicacin de Memoria

No Actualizar los Datos de Recuperacin

Escribir Ubicacin del Puntero en EEPROM para Recup. de Datos

Ajustar Tiempo BCD Incrementar Intervalo de Tiempo Regresar

Pgina 214 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos La rutina de Control de Tiempo (Figura 7.8) es usada para determinar si es momento de guardar otro dato en la memoria. Esto se comprueba a la vez que se verifica que la cantidad de muestras tomadas sea menor que la cantidad mxima especificada.
ControlTiempo: ' Verifica si es momento de lectura IF (Tiempo = LTiempo) AND (DirecMem-4 < Muestras) THEN GuardaDato RETURN

La rutina GuardaDato es llamada desde ControlTiempo cuando llega el momento de escribir un nuevo valor en la memoria. El valor actual de DataIn (valor ledo del ADC) es almacenado en la direccin de memoria actual y la direccin de memoria es incrementada para el ciclo siguiente. Luego se calcula el siguiente horario de muestreo (y despus se ajusta a BCD). Si se alcanza la cantidad mxima de muestras, dependiendo del valor de Stop_Reset, la adquisicin de datos se detendr (ver ControlTiempo) o se reiniciar. Note que el valor directo de DataIn del ADC es almacenado y no el valor calculado de la temperatura. Esto nos permite guardar el dato en un byte en lugar de dos en un word. El valor almacenado se convertir a temperatura cuando se descargue a la PC.
GuardaDato: WRITE DirecMem, DataIn HIGH 8:PAUSE 250:LOW 8 DirecMem = DirecMem + 1 WRITE 0,DirecMem.HIGHBYTE WRITE 1,DirecMem.LOWBYTE LMinutos = LMinutos + Intervalo IF DirecMem-4 < Muestras THEN AjustarHora IF Stop_Reset = 1 THEN Sin_Reset GOSUB RecuperaDatos Sin_Reset: AjustarHora: ' ' ' ' ' Escribe lectura ADC en memoria Almacena dato en EEPROM Parpadea LED Incrementa ubicacin memoria Actualiza datos de recuperacin

' Actualiza para el siguiente intervalo ' Si no complet muestras, sigue ' Si complet, reinicia o finaliza

La Figura 7.9 ilustra el diagrama de flujo de la rutina DescargaDatos. Cuando se presiona el botn, Descarga Datos configura al StampPlot para graficar y crea un bucle que lee los valores almacenados, los convierte en temperatura y enva los valores al graficador y a la ventana de mensajes. Note que la hora de adquisicin de datos es la de inicio y el intervalo de temporizacin se suma en cada repeticin del bucle, para determinar la hora original a la que el dato fue almacenado. Una vez que se completa el bucle, se le pide al usuario que presione el botn para reiniciar la captura de datos desde el principio (el LED se encender para indicar esto).

Control Industrial Versin 1.1 Pgina 215

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Figura 7.9: Diagrama de Flujo de Descarga de Datos
Descarga Datos Hora de Adquisicin = Hora actual

Configura SPL

Ltime = Hora de inicio

Ajusta Hora BCD

Puntero = 4

Lee Dato en el puntero

Pide que presione el botn para Reiniciar

Escala dato para Temperatura

Botn presionado? No

Si

Suma intervalo entre mediciones

Reinicia Datos de Recuperacin

Ajusta Hora BCD

Pide que suelte el botn

Enva Datos al SPL Botn liberado? Incrementa Puntero Si No Regresa Si Puntero < Dir. Actual? No

Pgina 216 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Una vez completado DescargaDatos, la hora de control se actualizar con el valor de la hora de la siguiente medicin y la adquisicin continuar desde donde iba, permitiendo la descarga sin afectar los datos almacenados. La Figura 7.10a muestra una ventana con los datos obtenidos con StampPlot Lite. Figura 7.10a: Muestra de Datos Descargados

El formato de los datos del mensaje sirve para importarlo en una hoja de clculo para graficarlos, como se muestra en la Figura 7.10b. Una parte del archivo guardado es el siguiente: Punto,Tiempo,Temperatura 0,22:51,787 1,22:56,787 2,23:01,787 3,23:06,787 4,23:11,783 5,23:16,783

Control Industrial Versin 1.1 Pgina 217

Experimento 7: Control de Tiempo Real y Adquisicin de Datos Figura 7.10b: Archivo de Datos Importado a Excel
Datos Adquiridos de Temperatura 900 875 850 825 800 775 750 725 700 22:51 00:06 01:21 02:36 03:51 05:06 06:21 07:36 08:51 10:06 11:21 12:36 13:51 15:06 16:21 17:36 18:51 20:06 21:21 22:36 23:51

Temperatura (dcimas)

Tiempo

Para obtener estos datos colocamos nuestra incubadora fuera de una ventana y registramos las temperaturas exteriores. Estas temperaturas pueden ser engaosas debido a los efectos del viento, el sol y las capas trmicas que se forman dentro del envase. Obtuvimos algunos picos en las lecturas. Puede hacerlo mejor? Nuestro dibujo muestra temperaturas desde las 22:51 hasta las 22:51 de la noche siguiente. Note las subidas y bajadas en la temperatura a lo largo del da. La mxima esperada del da era 88F y estuvo muy cerca! Por supuesto, no estamos restringidos a rangos de temperatura de 70F a 120F. Revise el Experimento 4. Los valores del rango por software estn determinados por las tensiones de rango y offset del ADC0831.
TempRango Offset CON CON 5000 700 ' Rango mximo (5000 = 50 grados) ' Temp. min. Offset. (700 = 70 grados)

Pgina 218 Control Industrial Versin 1.1

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

Preguntas y Desafos: 1. Realice la adquisicin de datos de un sistema: Determine una temperatura que desee registrar durante un largo perodo de tiempo. Esto puede ser en el exterior, la temperatura ambiente (la calefaccin / aire acondicionado cambia durante la noche?), o tal vez algn otro sistema de cambios lentos (un tanque de agua bajo el sol, por ejemplo). 1) Determine el rango esperado de valores para la temperatura. Fije las variables rango y offset y coloque los potencimetros apropiadamente. 2) Determine cunto tiempo necesita para adquirir los datos (un da? El fin de semana?). Basndose en un mximo de 50 muestras, calcule el intervalo de tiempo de la adquisicin de datos. 3) Listo para programar? Si va a mover su plaqueta, asegrese de usar una batera que dure todo el tiempo de la adquisicin de datos. 4) Tambin queremos controlar la precisin del RTC en este experimento, as que cuando el programa est listo para descargarse: a) Abra el reloj de Windows y fjese la hora. b) Coloque una hora de inicio un poco ms adelantada de la actual (recuerde usar el formato de 24-horas) Tiempo = $1530 c) 5 segundos antes del tiempo de iniciacin, descargue el archivo al BS2 y mantenga presionado el pulsador hasta que el LED se apague o la ventan debug le diga que lo suelte. d) Use la ventana Debug o el StampPlot para observar la hora del BS2 y la de la PC. BS2: _________ PC: __________ Diferencia: ________ e) Deje funcionar su data logger. Despus que tome la primer muestra, puede probar la descarga de datos presionando el pulsador. f) Despus que termine de registrar los datos, ejecute y conecte StampPlot Lite y presione el pulsador para descargar los datos. g) Use la ventana Debug o StampPlot para controlar la hora del BS2 y de la PC. BS2:_________ PC: __________ Diferencia: ________ h) Extrapole el error para 24 horas: _________ Estos datos colman sus expectativas?

Control Industrial Versin 1.1 Pgina 219

Experimento 7: Control de Tiempo Real y Adquisicin de Datos

2.

Comente sobre el sistema que monitore y las conclusiones de sus resultados.

3. Cunto fue el error calculado sobre un perodo de 24-horas? Cmo se podra compensar este error en el software?

4. Por qu es importante limitar la cantidad de datos adquiridos por el BS2?

Pgina 220 Control Industrial Versin 1.1

Apndice A: StampPlot Lite

Apndice A: StampPlot Lite

StampPlot Lite es una aplicacin desarrollada por SelmaWare Solutions para el libro Control Industrial. La aplicacin permite graficar y capturar datos generales analgicos y digitales.

Descargando e Instalando StampPlot Lite StampPlot Lite puede descargarse del sitio web de Stamps en Clase en http://www.stampsenclase.com. el programa se instala haciendo doble clic en el cono setup.exe y aceptando los directorios por defecto.

Para descargar StampPlot Lite, haga clic en el link Downloads de nuestro sitio web y busque la seccin Control Industrial.

Control Industrial Versin 1.1 Pgina 221

Apndice A: StampPlot Lite

Los datos del BASIC Stamp se procesan en una de cuatro formas por la aplicacin: Valores Analgicos Cualquier cadena que se enve que comience con un valor numrico ser procesada y graficada como un valor analgico.
Debug DEC 100, 13 ' Grafica el nmero 100

Valores Digitales Cualquier cadena que comience con un '%' se procesar como valor digital. Un dibujo digital separado ser comenzado por cada valor binario de la cadena. Por ejemplo, "%1001" dibujar cuatro valores digitales. Se pueden enviar hasta 9-bits. Una vez que se iniciaron los grficos digitales, debe tenerse precaucin en enviar siempre la misma cantidad de bits dado que los grficos dependen del orden y la posicin.
Debug IBIN4 INC,13 ' Grafica 4 valores digitales

Configuracin de Control Toda cadena que comience con '!' ser procesada como configuracin de control. La configuracin de la aplicacin puede controlarse desde el BASIC Stamp usando valores y palabras de control especficas, si es necesario.
Debug "!AMAX 200",13 Debug "!RSET",13 ' Configura mximo analgico del grfico = 200 ' Reinicia el grfico

Otras cadenas El resto de las cadenas simplemente se agregar al recuadro de mensajes.


Debug "Hola Mundo!",13

Note que cada ingreso de datos DEBE terminar con un retorno de carro data (13 o CR).

Pgina 222 Control Industrial Versin 1.1

Apndice A: StampPlot Lite

Los pasos para usar programas del BASIC Stamp con StampPlot Lite son los siguientes: 1. 2. 3. 4. 5. 6. Inicie StampPlot Lite haciendo clic en Inicio/Programas/StampPlot/StampPlot Lite. Ingrese y ejecute su programa en el BASIC Stamp usando el editor del BASIC Stamp. Cierre la ventan debug azul del BASIC Stamp presionando el botn close. Seleccione el puerto COM y haga clic en la casilla 'Connect'. Haga clic en la casilla 'Plot Data'. Algunos programas pueden requerir que reinicie el BASIC Stamp para tomar la configuracin inicial y los ajustes de control. Hgalo presionando el botn Reset de la plaqueta. 7. Antes de descargar (ejecutar) otro programa en el BASIC Stamp, asegrese de destildar la casilla 'Connect' del StampPlot o su puerto COM ser bloqueado por el StampPlot Lite. El graficador adquirir los datos digitales y analgicos y los almacenar temporalmente para que puedan ser reajustados o desplazados por la pantalla. La cantidad de puntos de datos recogidos es ajustable. Una vez que los puntos llegan a la cantidad mxima, el graficador puede detenerse o reiniciarse. El siguiente programa realizar algunos ajustes de configuracin, graficar en forma continua y mostrar el valor de X en el StampPlot, dibujando sus cuatro bits digitales. Ingrese el programa y use los pasos de arriba para probarlo con el StampPlot Lite.
' Apndice A Programa ejemplo de StampPlot ' Configura StampPlot Pause 500: Debug "!RSET",CR ' Pausa corta y reset Debug "!SPAN 0, 50",CR ' Rango del valor analgico Debug "!TSMP ON",CR ' Activar temporizador en los mensajes Debug "!TMAX 60",CR ' Configura grfico 60 segundos max Debug "!RSET",CR ' Reinicia grfico X var Byte Bucle: Debug "Comenzando el bucle", CR For X = 0 to 15 Debug DEC X, CR Debug IBIN4 X, CR ' Variable contador

' Mensaje que avisa que el bucle est reiniciando. ' Bucle For-Next para contar hasta 15 ' Grafica valor analgico de X ' Grafica bits digitales de X ' Cambia el mensaje de estado de usuario. Debug "!USRS el valor de X es ", DEC X, CR Pause 200 ' Pausa corta Next Goto Bucle ' Reinicia

Control Industrial Versin 1.1 Pgina 223

Apndice A: StampPlot Lite

Abajo se muestra un ejemplo obtenido con StampPlot Lite y el programa anterior.

Pgina 224 Control Industrial Versin 1.1

Apndice A: StampPlot Lite

Herramienta de Ayuda Contextual Si StampPlot Lite se est ejecutando en su computadora, podra colocar el cursor sobre cada control para obtener un recuadro de ayuda contextual. A continuacin damos una breve explicacin de cada control. El comando programable para el BASIC Stamp est entre corchetes, donde sea aplicable: Seccin Superior: Controles Generales

Com 1: Despliegue hacia abajo las opciones para seleccionar el puerto COM correcto. Connect: Conecta la aplicacin al puerto COM seleccionado. Plot Data: Activa la graficacin de los datos entrantes. Al desactivar este control se detendr el grfico pero continuarn funcionando los mensajes y otras opciones. [ !PLOT ON/OFF] Reset: Limpia el grfico, reinicia el tiempo a 0, limpia los valores mnimo y mximo (opcional). [ !RSET ] Stop Plot: Cuando se alcanza la mxima cantidad de puntos de datos, el grfico se detiene (Se deselecciona Plot Data). [!MAXS ] Reset Plot: Cuando se alcanza la mxima cantidad de puntos de datos, el grfico se reinicia. [ !MAXR ] User Status: (mostrando "El valor de X es 9") Mensajes de estado opcionales del BASIC Stamp pueden colocar datos aqu. [ !USRS mensaje ]

Control Industrial Versin 1.1 Pgina 225

Apndice A: StampPlot Lite

Seccin Izquierda: Principalmente para configurar el Grfico Analgico Span Drop-Down: Permite la seleccin de rangos predefinidos. El uso del comando !SPAN del BASIC Stamp agregar un rango a este men. [ !SPAN valormin, valormax ] Botones + y -: Duplican o fraccionan el rango. El valor mnimo no cambia. Multiplier: Define el valor por el que se multiplicarn los datos analgicos provenientes del BASIC Stamp antes de ser graficados o guardados en el archivo. [ !AMUL valor ] Save Data to File: Guarda los datos entrantes en un archivo de texto en la carpeta del programa, llamado "stampdat.txt. Si est habilitada la temporizacin, cada registro incluir la hora actual del sistema y la cantidad de segundos desde el ltimo reset. Los valores analgicos y digitales tambin se almacenarn. Cada registro tendr el siguiente formato: - Hora del da, segundos desde el ltimo reset, puntos de datos analgicos, valor analgico, puntos de datos digitales, valor digital. Note que cada registro est delimitado por comas para importarlo en una hoja de clculo, si es necesario. - Nota: Los datos se guardan SOLAMENTE cuando llegan datos ANALGICOS. Para grabar los datos cuando no se registra ningn valor analgico, enve con debug cualquier valor, como cero por ejemplo ( DEBUG DEC 0, CR).[ !SAVD ON/OFF ] Delete Data File: Borra "stampdat.txt. Si el almacenamiento de datos est habilitado, el archivo ser recreado inmediatamente despus de ser eliminado. [ !DELD ] Valores Analgicos Mximos y Mnimos: Estos pueden ser modificados manualmente. Haga clic sobre el recuadro e ingrese el nuevo valor. [ !AMIN valor !AMAX valor <o> !SPAN valormin, valormax ] Time Stamp: Habilita la temporizacin de los mensajes y datos del archivo. Incluye la hora actual y la cantidad de segundos desde el ltimo reset. [ !TSMP ON/OFF ] Clear Messages: Borra los mensajes del recuadro de mensajes. [ !CLRM ] Save messages to file: Guarda los mensajes en el archivo "stampmsg.txt" en la carpeta del programa. Los mensajes se guardarn de la misma forma que aparecen en el recuadro de mensajes. [ !SAVM ON/OFF ] Delete Msg file: Elimina el archivo "stampmsg.txt" de la carpeta del programa. Si est tildado "Save Messages", el archivo se recrear inmediatamente. [ !DELM ]

Pgina 226 Control Industrial Versin 1.1

Apndice A: StampPlot Lite Seccin Inferior: Desplazamiento de Grfico y Rango de Tiempo

Los tiempos mnimo y mximo pueden fijarse manualmente. Haga clic sobre el campo del valor a ser modificado e introduzca el valor nuevo. [ !TMIN valor y !TMAX valor ] Scroll Bar: Si el grfico se extiende ms all de los lmites actuales, puede usarse la barra de desplazamiento horizontal para reposicionar el dibujo (si est almacenando datos, Enable Shift debe estar activada). Enable Shift: Le permite al grfico desplazarse automticamente cuando se exceda el tiempo de mximo. Tambin habilita la operacin de la barra de desplazamiento cuando se recolectan datos. Nota: Desplazamientos del grfico durante la adquisicin de datos pueden causar errores en la temporizacin de los datos a medida que se actualiza la pantalla. [ !SHFT ON/OFF ] +/-: Duplican o reducen el rango de tiempo del grfico. El valor mnimo del grfico no cambiar.

Seccin Derecha: Datos del Grfico Data Points: Para que el grfico pueda ser manipulado, los datos se almacenan en la memoria. La cantidad mxima de puntos (analgicos o digitales) que pueden ser almacenados se colocan en la casilla Max. Current muestra la cantidad de puntos que actualmente se hallan almacenados. Una vez que se alcanza la cantidad mxima, el grfico se reiniciar o detendr, de acuerdo con su configuracin. [ !PNTS 1000 ] Last Analog Data: Muestra el tiempo desde el ltimo reset y el ltimo valor analgico graficado. Plot Pointer: Al mover el puntero sobre la pantalla se muestran las magnitudes correspondientes al tiempo y valor analgico de ese punto del grfico. Maximum: Registra el valor analgico mximo y el tiempo en el que se produjo. Minimum: Registra el valor analgico mnimo y el tiempo en el que se produjo. Clear Min/Max: Borra los valores mximo y mnimo registrados. [ !CLMM ] Clear min/max on reset: Al tildar esta casilla, el programa borrar los registros mximo y mnimo cuado se presente el reset. [!CMMR]

Control Industrial Versin 1.1 Pgina 227

Apndice A: StampPlot Lite

Control de Pantalla y Zoom Al mover el cursor sobre el grfico se mostrarn los valores correspondientes a la posicin del puntero. Haciendo doble clic se cambia el modo de fondo de pantalla de amarillo a blanco y las lneas finas por gruesas, para obtener mejor calidad al imprimir (ALT-Print Screen captura la pantalla y la coloca en el portapapeles) o al proyectar la pantalla. Si selecciona una zona haciendo clic con el mouse mientras tiene presionado Shift (mays.) puede seleccionar un sector del grfico para realizar un zoom.

Controles del BASIC Stamp y Comandos de Configuracin La mayora de los controles y configuracin del grfico pueden ajustarse desde el programa del BASIC Stamp. Para usar estos comandos, simplemente colquelos en un comando debug desde BASIC Stamp. Todos los comandos deben terminar con CR (ASCII 13): DEBUG "!PLOT ON", CR.
Comando !TITL mensaje !USRS mensaje !BELL !AMAX valor !AMIN valor !SPAN minValor, maxValor !AMUL valor !TMAX valor !TMIN valor !PNTS valor !PLOT ON/OFF !RSET !CLRM !CLMM !CMMR ON/OFF !MAXS !MAXR !SHFT ON/OFF Descripcin Ttulo de la ventana Muestra un mensaje en el recuadro User Status Emite un sonido por la PC Fija el valor analgico mximo Fija el valor analgico mnimo Fija los valores analgicos mximo y mnimo cono arriba (tambin agrega el rango al recuadro Rango Drop-Down). Fija el factor de multiplicacin de los datos entrantes Fija el tiempo mximo (segundos) Fija el tiempo mnimo (segundos) Fija la cantidad de puntos de datos a adquirir Habilita / deshabilita el grfico de datos Reinicia el grfico y todos los datos Limpia la lista de mensajes Limpia los valores min/max registrados Habilita / deshabilita el borrado del registro de valores Min/Max en el reset Detiene el grfico cuando se completa la cantidad mxima de puntos de datos Reinicia el grfico cuando se completa la cantidad mxima de puntos de datos Habilita / deshabilita el desplazamiento del grfico cuando se registran datos (puede causar prdida de precisin en los datos si se habilita)

Pgina 228 Control Industrial Versin 1.1

Apndice A: StampPlot Lite


!TSMP ON/OFF !SAVD ON/OFF !SAVM ON/OFF !DELD !DELM Habilita la temporizacin de la lista de mensajes y los datos almacenados Activa la grabacin en archivos de los datos digitales y analgicos Activa la grabacin de mensajes en un archivo Borra el archivo de datos Borra el archivo de mensajes

Notas de Aplicacin Adicionales El tamao del grfico que se usa depende de la cantidad de puntos de datos y de la velocidad a la que se transmiten. Por ejemplo, si desea que 60 segundos de datos ocupen toda la pantalla y se transmiten desde el BASIC Stamp a una velocidad mxima de 100 ms (Pause 100 + tiempo de procesamiento): 60/0,1 = 600 puntos de datos. La aplicacin necesita una pausa regular mnima en la recepcin de datos para completar el proceso. Una pausa de 10 ms normalmente es suficiente para una computadora bastante rpida. Si la aplicacin detecta que recibir correctamente los datos, aparecer un mensaje en un recuadro y se desconectar. Algunas indicaciones que la computadora no da abasto con los datos son: datos desparejos, no hay grfico y la incapacidad de responder a los controles (se cuelga). A mayor cantidad de puntos y cuanto mayores sean los valores, ms tiempo demorar el graficador para actualizar o desplazar la imagen. Para obtener una configuracin ms rpida o conveniente al iniciar el BASIC Stamp, estas son las configuraciones recomendadas: Pausa de 500ms al inicio para que se limpie el buffer del StampPlot. Realice un RESET del StampPlot (!RSET) antes de realizar cambios de configuracin para permitir que los puntos de datos se eliminen, evitando que se produzca una actualizacin de la pantalla (redibujado). Reset (!RSET) al finalizar la configuracin, pone el tiempo en 0.

Como con cualquier aplicacin, la mejor forma de aprender a usarla es jugando con ella. Divirtase!

Control Industrial Versin 1.1 Pgina 229

Apndice A: StampPlot Lite Upgrade a StampPlot Pro para sus experimentos de Control Industrial Algunas de sus caractersticas son: Grfico de mltiples canales analgicos. Almacenamiento de grficos e imgenes. Caractersticas de adquisicin avanzadas. Capacidad de dibujar grficos. Macros basadas en PC para instrucciones, incluyendo manipulacin de datos. Capacidades interactivas para realizar ajustes funcionando. La ventana de StampPlot Pro de abajo muestra el ejercicio de control PID del Experimento 7 graficando la temperatura actual y la deseada junto con el %Excitacin (barras inferiores). Los valores de ganancia pueden ingresarse en la ventana de datos y luego sern ledos por su BS2. Una macro basada en la PC muestra la temperatura en el termmetro. Ejemplos basados en el libro Control Industrial estn publicados en los tutoriales online. Descargue el programa y evalelo gratis.

http://www.selmaware.com/

Pgina 230 Control Industrial Versin 1.1

Apndice B: Codificador de Ventilador

Apndice B: Plantillas Codificadoras del Ventilador


Estas plantillas son de tamao real y podran ser usadas como interruptores digitales en el Experimento 2.

Control Industrial Versin 1.1 Pgina 231

Apndice B: Codificador de Ventilador

Pgina 232 Control Industrial Versin 1.1

Apndice C: Hoja de Datos del SSR

Apndice C: Hoja de Datos del SSR

El Apndice C muestra las hojas de datos del rel de estado slido Hockey Puck. stas pueden descargarse de http://www.pandbrelays.com/.

Control Industrial Versin 1.1 Pgina 233

Apndice C: Hoja de Datos del SSR

Pgina 234 Control Industrial Versin 1.1

Apndice C: Hoja de Datos del SSR

Control Industrial Versin 1.1 Pgina 235

Apndice C: Hoja de Datos del SSR

Pgina 236 Control Industrial Versin 1.1

Apndice D: Hoja de Datos del LM34

Apndice D: Hoja de Datos del LM34

El Apndice D muestra las hojas de datos de National Semiconductor del LM34. Este apndice incluye las primeras cinco (5) pginas de las 12. Si desea ver ms aplicaciones del LM34 que las que aparecen en este apndice, el documento completo puede descargarse de http://www.national.com/ds/LM/LM34.pdf.

Control Industrial Versin 1.1 Pgina 237

Apndice D: Hoja de Datos del LM34

Pgina 238 Control Industrial Versin 1.1

Apndice D: Hoja de Datos del LM34

Control Industrial Versin 1.1 Pgina 239

Apndice D: Hoja de Datos del LM34

Pgina 240 Control Industrial Versin 1.1

Apndice D: Hoja de Datos del LM34

Control Industrial Versin 1.1 Pgina 241

Apndice D: Hoja de Datos del LM34

Pgina 242 Control Industrial Versin 1.1

Apndice E: Hoja de Datos del LM358

Apndice E: Hoja de Datos del LM358

El Apndice E muestra las hojas de datos del LM358 de National Semiconductor. Este apndice muestra las primeras cinco (5) pginas de las 23. Si desea ver ms aplicaciones del LM358 que las que se muestran en este apndice, puede descargar el documento completo de http://www.national.com/ds/LM/LM158.pdf.

Control Industrial Versin 1.1 Pgina 243

Apndice E: Hoja de Datos del LM358

Pgina 244 Control Industrial Versin 1.1

Apndice E: Hoja de Datos del LM358

Control Industrial Versin 1.1 Pgina 245

Apndice E: Hoja de Datos del LM358

Pgina 246 Control Industrial Versin 1.1

Apndice E: Hoja de Datos del LM358

Control Industrial Versin 1.1 Pgina 247

Apndice E: Hoja de Datos del LM358

Pgina 248 Control Industrial Versin 1.1

Apndice F: Hoja de Datos del DS1302

Apndice F: Hoja de Datos del DS 1302


El Apndice F muestra las hojas de datos del 1302 de Dallas Semiconductor. Este apndice incluye las primeras cinco (5) pginas de las 23. Si desea ver ms aplicaciones del DS1302 que las que se muestran en este apndice, el sitio web de Parallax incluye la documentacin del AppKit para este componente.

Control Industrial Versin 1.1 Pgina 249

Apndice F: Hoja de Datos del DS1302

Pgina 250 Control Industrial Versin 1.1

Apndice F: Hoja de Datos del DS1302

Control Industrial Versin 1.1 Pgina 251

Apndice F: Hoja de Datos del DS1302

Pgina 252 Control Industrial Versin 1.1

Apndice F: Hoja de Datos del DS1302

Control Industrial Versin 1.1 Pgina 253

Apndice F: Hoja de Datos del DS1302

Pgina 254 Control Industrial Versin 1.1

Apndice G: Listado de Componentes y Suministros

Todos los componentes (pgina siguiente) usados en los experimentos de Control Industrial pueden encontrarse fcilmente en comercios de componentes electrnicos. Los clientes que deseen comprar el kit completo, pueden hacerlo en Parallax. Para usar este libro necesita tres partes principales: (1) un mdulo BASIC Stamp II (suelto o junto con la Plaqueta de Educacin- Full Kit); (2) una Plaqueta de Educacin (suelta o con la Plaqueta de Educacin Full Kit); y 3) el Kit de componentes de Control Industrial.

Apndice G: Listado de Componentes y Suministros

Kits de la Plaqueta de Educacin El BASIC Stamp II (BS2-IC) se vende suelto o incluido en Plaqueta de Educacin Full Kit. Si ya posee el mdulo BS2-IC, entonces solamente debera comprar la Plaqueta de Educacin. Tambin se pueden ordenar componentes individuales empleando los cdigos de stock que aparecen abajo. Parallax # 28150 800-00016 BS2-IC 750-00008 800-00003 Parallax # 28102 800-00016 Plaqueta de Educacin Full Kit (#28102) Descripcin Plaqueta de Educacin Cables de Interconexin BASIC Stamp II Fuente de Alimentacin, 300 mA 9 VCC Cable Serial Plaqueta de Educacin (#28150) Descripcin Plaqueta de Educacin y cables de interconexin Cables de Interconexin Cantidad 1 10 1 1 1 Cantidad 1 6

La siguiente documentacin impresa es muy importante para obtener informacin adicional: Parallax # 27919 27341 Documentacin sobre el BASIC Stamp Descripcin Internet Manual BASIC Stamp Versin 2.0 http://www.stampsinclass.com Manual Control Industrial http://www.stampsinclass.com

Control Industrial Versin 1.1 Pgina 255

Apndice G: Listado de Componentes y Suministros Los experimentos de Control Industrial requieren el Kit de Componentes de Control Industrial (#27340) Al igual que con el resto de los manuales de Stamps en Clase, necesita una Plaqueta de Educacin con un BASIC Stamp y el Kit de Componentes. El contenido de este Kit se muestra abajo, por experimento. Componentes de reemplazo pueden ordenarse a http://www.stampsinclass.com. Kit Control Industrial (#27340) Stock# 150-01020 150-01030 150-02030 150-02210 150-04710 152-01031 153-00001 153-00002 200-06840 201-01050 201-01060 251-03230 350-00001 350-00006 350-00007 350-00017 350-00018 400-00002 500-00001 604-00005 602-00015 700-00039 700-00040 800-00027 800-00028 ADC0831 Descripcin resistor 1K Watt resistor 10K Watt resistor 20K Watt resistor 220 Ohm Watt resistor 470 Ohm Watt Potencimetro multivueltas 10K Watt Diodo Zener 5.1 V .5 W MOSFET BS170 Capacitor .68uF capacitor 1uF capacitor 10uF 10V Cristal 32.768 kHz LED verde LED rojo LED amarillo IR Led con termocontrable Fototransistor infrarrojo Pulsador Transistor 2N3904 Chip DS 1302 Op-Amp Dual LM358 Envase pelcula 35 mm Ventilador 12 VDC Punta de Temp. LM34 Resistor Calentador 47 Ohm ADC 0831 8-bit A/D #1 1 1 1 #2 1 2 1 2 1 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 #3 1 3 2 #4 1 1 1 1 2 1 1 1 #5 1 1 1 2 1 1 #6 #7 1 1 1 2 1 1 2 Total/Kit 2 2 1 4 4 2 1 1 1 1 1 1 1 1 1 1 1 2 2 1 1 1 1 1 1 1

1 1 1 1 1 1 1

1 1 1 1 1 1

1 1

Pgina 256 Control Industrial Versin 1.1

Apndice H: Desafo de Incubadora Comercial

La incubadora de envase de pelcula provea para el modelado de estrategias bsicas de control de procesos. El BASIC Stamp est en condiciones de monitorear y controlar aplicaciones hogareas hasta controles crticos de procesos industriales. Un buen proyecto para un aficionado serio o para el laboratorio de una escuela es el desarrollo de una incubadora real basada en microcontrolador. Hay sistemas en venta a partir de los $20.00. GQF Manufacturing de Savanna, Georgia (http://www.gqfmfg.com) es uno de los tantos fabricantes que tienen una completa lnea de incubadoras y equipos. Una incubadora con un calentador de 25 Watt 120 VAC y un ventilador de 120 VAC 500 mA con una bandeja gira huevos Modelo 1611 tiene un costo total de aproximadamente $90.00.

Apndice H: Desafo de Incubadora Comercial

Este texto lo ha introducido en la seleccin y conexin apropiada de dispositivos industriales.

Mfg #1611

Control Industrial Versin 1.1 Pgina 257

Apndice H: Desafo de Incubadora Comercial

El Experimento 3 mostr como emplear rels para controlar cargas de gran tensin y potencia. El ventilador y la bandeja gira huevos se encienden y apagan frecuentemente y podran ser controlados por un rel electromecnico dimensionado adecuadamente. El calentador debera ser revisado muy seguido, controlndolo mediante un rel electrnico de estado slido. Radio Shack vende una gran variedad de rels que seran apropiados. Un termostato bimetlico mecnico normalmente controla el calentador de la incubadora. Este podra dejarse en su lugar como un elemento de seguridad y ajustndolo 2 grados por encima de la temperatura deseada. De esta forma interrumpir la alimentacin si su termostato electrnico o su rel de estado slido fallan. El circuito sensor LM34/ADC 0831 y el amplificador de corriente del calentador usados en los Experimentos 4 a 7 serviran para nuestra aplicacin real. Sin embargo, en lugar de activar un resistor de 47Ohm podra activar un rel de estado slido. ste a su vez, controla el calentador de alta tensin. La temperatura de incubacin depende del tipo de huevos. Por ejemplo, los huevos de pollo deberan incubarse a 101,5F mientras que la mejor temperatura para los de pato y ganso es 100,5F. El rango del ADC0831 podra enfocarse sobre estas temperaturas como se explic en el Experimento 4. Al hacer esto obtendr una mejor resolucin y datos ms precisos. La estrategia de control del calentador podra basarse en cualquiera de los cinco modos que se discutieron en los Experimentos 5 y 6. Las pruebas y grficas con StampPlot Lite le darn la informacin necesaria para analizar y evaluar los pros y contras de cada mtodo. Sera bueno agregarle una alarma audible para que se active cuando la incubadora se sale de los rangos permitidos. El parlante piezoelctrico de 108 dB de Radio Shack (# 273-057) mostrado abajo definitivamente le llamar la atencin. ste puede conectarse directamente a la fuente del BASIC Stamp. El MOSFET BS170 usado en la Figura 3.9d sera un excitador adecuado para entregar los 150 mA requeridos.

La alarma debera activarse por temperaturas muy altas o muy bajas. Le convendr agregar un par de pulsadores para desactivar la alarma mientras se calienta por primera vez la incubadora. Repase el Experimento 2 para ver los circuitos apropiados y la programacin de las entradas digitales.

Pgina 258 Control Industrial Versin 1.1

Apndice H: Desafo de Incubadora Comercial Un recipiente con agua, dentro de la incubadora, asegura que la humedad se mantenga suficientemente alta para mantener los huevos hidratados. Cmo podra el BASIC Stamp agregar inteligencia a este aspecto de nuestra incubadora? Tal vez podra hacer titilar un LED para recordarle que controle la cantidad de agua. O incluso mejor, el laboratorio de medicin de humedad del libro Mediciones Ambientales del programa Stamps en Clase podra ser modificado para detectar como se seca el agua del recipiente. Esta condicin podra hacer parpadear una lmpara o sonar la alarma. Para automatizar el proceso, la salida del sensor de humedad podra comparase con una tensin de referencia a la entrada del LM358. La salida alta / baja del comparador sera una entrada digital para el Stamp. Cuando la humedad cae por debajo del valor deseado, enciende un humidificador y bombea vapor de agua. Agregando el temporizador DS1302 introducido en el Experimento 7 puede darle todas las caractersticas de una incubadora comercial de ltima generacin. Se controlara la temperatura y la humedad. Reportes diarios de las variaciones de temperatura pueden almacenarse en el Stamp y pasarse luego a la PC. Los huevos pueden rotarse a intervalos programados. Se podran programar variaciones de temperatura como una rampa ascendente de 1 grado, en las 24 horas anteriores a la eclosin. Cada ejercicio del Experimento 7 puede modificarse para realizar estas tareas. Los pollitos saludables de la fotografa de abajo son el resultado exitoso de haber mantenido el proceso por 21 das.

Si dedica una computadora a este sistema, StampPlot Lite podra graficar continuamente y reportar las condiciones del sistema. Si desea realizar algo ms elaborado, el software StampPlot Pro agrega muchas ms opciones de cmputo. Grficos analgicos mltiples, capacidad de realizar grficos propios, interaccin bidireccional en tiempo real y la capacidad de manejar archivos .jpg y .wav son algunas de sus opciones. El StampPlot Pro permite monitorear la incubadora remotamente por internet. La versin de evaluacin del Stamp Plot Pro se puede descargar de Parallax en el sitio web de Stamps en Clase.

Control Industrial Versin 1.1 Pgina 259

Apndice H: Desafo de Incubadora Comercial

Como puede ver, esta aplicacin de incubadora comercial incorpora los conceptos vertidos en cada seccin de este manual. No cabe duda que muchos de ustedes se detendrn en este punto y se convertirn en criadores de pollitos. A medida que contine experimentado con los BASIC Stamps y los use en sus proyectos y en aplicaciones industriales reales, tenga estos conceptos en cuenta y guarde este libro en su biblioteca como referencia.

Pgina 260 Control Industrial Versin 1.1

You might also like