P. 1
Curso de Controlindstrial PDF

Curso de Controlindstrial PDF

|Views: 4.190|Likes:
Publicado porelelefanterozado

More info:

Published by: elelefanterozado on Apr 29, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

04/16/2013

pdf

text

original

Sections

  • Destinatarios y Guías para Profesores
  • Derechos de Copia y Reproducción
  • Ejemplo 1: Ajuste de la Temperatura de la Ducha
  • Ejemplo 2: Contador de Cinta Transportadora
  • Ejercicio 1: Diseño de Diagramas de Flujo
  • Ejercicio 2: Circuito de LED que Titila
  • Ejercicio 3: Datos Analógicos
  • Ejercicio 4: Uso del StampPlot Lite
  • Preguntas y Desafío
  • Ejercicio 1: Interruptor Básico
  • Ejercicio 2 – Rebote de Interruptores y Rutinas Anti-Rebote
  • Ejercicio 3 – Disparo por Flanco
  • Ejercicio 5: Tacómetro
  • Ejercicio 1: Control Secuencial
  • Ejercicio 2: Aumentando la Potencia del BASIC Stamp
  • Ejercicio 1: Control ON-OFF de Bucle Cerrado
  • Ejercicio 2: Control a Lazo Cerrado vs. Lazo Abierto
  • Ejercicio 1: Estableciendo un Control a Lazo Cerrado
  • Ejercicio 2: Control de Banda Diferencial
  • Ejercicio 1: Excitación de Polarización
  • Ejercicio 2: Control Proporcional + Integral
  • Ejercicio 3: Control Proporcional-Derivativo
  • Ejercicio 1: Control de Tiempo Real
  • Ejercicio 2: Temporización por Intervalos
  • Preguntas y Desafíos:
  • Ejercicio 3: Adquisición de Datos (Data Logging)
  • Apéndice C: Hoja de Datos del SSR
  • Apéndice D: Hoja de Datos del LM34
  • Apéndice E: Hoja de Datos del LM358
  • Apéndice F: Hoja de Datos del DS 1302
  • Apéndice G: Listado de Componentes y Suministros
  • Apéndice H: Desafío de Incubadora Comercial

Control Industrial

Guía del Estudiante

Versión 1.1 en Castellano

Sobre la precisión de este texto: Se realizó un gran esfuerzo para asegurar la precisión de este texto y los experimentos, pero puede haber errores aún. Si usted encuentra errores o algún tema que requiera información adicional, por favor infórmelo a aalvarez@parallaxinc.com, así podemos con-tinuar mejorando la calidad de nuestra documentación.

Garantía
Parallax garantiza sus productos contra defectos en sus materiales o debidos a la fabricación por un período de 90 días. Si usted descubre un defecto, Parallax según corresponda, reparará, reemplazará o regresará el valor de la compra. Simplemente pida un número de autorización de regreso de mercadería (Return Merchandise Authorization, “RMA”), escriba el número en el exterior de la caja y envíela a Parallax. Por favor incluya su nombre, número telefónico, dirección y una descripción del problema. Nosotros le regresaremos su producto o el reemplazo, usando el mismo método de correo que usted usó para enviar el producto a Parallax.

Garantía de 14 días de regreso de dinero
Si dentro de los 14 días 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 dañado.

Derechos de Copia y Marcas Registradas
Esta documentación 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 página web o en material impreso, debe agregar la aclaración: “BASIC Stamp es una marca registrada de Parallax, Inc.” Otros nombres de productos son marcas registradas de sus respectivos dueños.

Desvinculación de Responsabilidad
Parallax, Inc. no es responsable de daños por consecuencias, incidentes o daños especiales que resulten de cualquier violación de la garantía, bajo cualquier teoría legal, incluyendo pérdida de beneficio, tiempo, daño 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 daño personal, incluyendo vida o muerte, resultado del uso de cualquiera de nuestros productos. Usted tiene absoluta responsabilidad por la aplicación 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 información se muestran a continuación: E-mail: Web: http://www.parallaxinc.com y http://www.stampsenclase.com

aalvarez@parallaxinc.com

Lista de Discusión de BASIC Stamp en Internet
Mantenemos dos listas de discusión 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 rápida, divertida y gratis de discutir temas sobre el BASIC Stamp y obtener respuestas a preguntas técnicas. Para suscribirse a la lista de BASIC Stamp encuentre la información en www.parallaxinc.com. Esta lista genera aproximadamente 40 mensajes diarios. También 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 discusión en castellano puede encontrarla en http://www.cursoderobotica.com.ar.

Contenido

Contenido Prefacio ........................................................................................................................................... iii Destinatarios y Guías para Profesores.......................................................................................................................... v Derechos de Copia y Reproducción ............................................................................................................................... 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: Diseño de Diagramas de Flujo...................................................................................................................13 Ejercicio 2: Circuito de LED que Titila ..........................................................................................................................13 Ejercicio 3: Datos Analógicos.........................................................................................................................................16 Ejercicio 4: Uso del StampPlot Lite ..............................................................................................................................19 Preguntas y Desafío ........................................................................................................................................................23 Experimento 2: Acondicionamiento de Señal de Entrada Digital......................................................... 25 Ejercicio 1: Interruptor Básico......................................................................................................................................30 Ejercicio 2: Rebote de Interruptores y Rutinas Anti-Rebote ...................................................................................35 Ejercicio 3: Disparo por Flanco .....................................................................................................................................38 Ejercicio 4: Interruptor Electrónico.............................................................................................................................44 Ejercicio 5: Tacómetro ...................................................................................................................................................50 Preguntas y Desafío ........................................................................................................................................................62 Experimento 3: Acondicionamiento de la Señal de Salida Digital ........................................................ 69 Ejercicio 1: Control Secuencial .....................................................................................................................................72 Ejercicio 2: Aumentando la Potencia del BASIC Stamp.............................................................................................83 Preguntas y Desafío ........................................................................................................................................................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 Desafío ......................................................................................................................................................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 Desafío ......................................................................................................................................................140 Experimento 6: Control Proporcional-Integral-Derivativo ............................................................... 143 Ejercicio 1: Excitación de Polarización ......................................................................................................................153 Ejercicio 2: Control Proporcional + Integral ............................................................................................................170 Ejercicio 3: Control Proporcional-Derivativo...........................................................................................................178 Preguntas y Desafío ......................................................................................................................................................186 Experimento 7: Control de Tiempo Real y Adquisición de Datos ........................................................189

Página i

Contenido Ejercicio 1: Control de Tiempo Real...........................................................................................................................192 Preguntas y Desafío ......................................................................................................................................................199 Ejercicio 2: Temporización por Intervalos ................................................................................................................199 Preguntas y Desafíos.....................................................................................................................................................203 Ejercicio 3: Adquisición de Datos (Data Logging)......................................................................................................204 Preguntas y Desafíos.....................................................................................................................................................219 Apéndice A: Stamp Plot Lite ........................................................................................................... 221 Apéndice B: Plantillas de Ventilador ................................................................................................ 231 Apéndice C: Hoja de Datos del SSR.................................................................................................. 233 Apéndice D: Hoja de Datos del LM34 ............................................................................................... 237 Apéndice E: Hoja de Datos del LM358 .............................................................................................. 243 Apéndice F: Hoja de Datos del DS1302 ............................................................................................ 249 Apéndice G: Listado de Componentes y Suministros........................................................................ 255 Apéndice H: Desafío de Incubadora Comercial................................................................................. 257

Página ii

Prefacio

Prefacio
El control de procesos industriales es un área fascinante de la tecnología electrónica y nada ha revolucionado esta área, como los microcontroladores. El microcontrolador ha agregado un cierto nivel de inteligencia a la evaluación de datos y un cierto grado de sofisticación en las respuestas a las perturbaciones del proceso. Los microcontroladores actúan como los “cerebros” de la maquinaria de fabricación y los dispositivos electrónicos de consumo. El control de procesos involucra aplicar tecnología a una operación que transforma a la materia prima en un producto terminado. Casi todo lo que usted usa o consume, ha pasado por algún tipo de control de proceso automatizado en su producción. Los controles de procesos automatizados mejoran la productividad y la terminación del producto, mientras reducen los costos de producción. Este texto intenta introducir los conceptos y características del control de procesos con microcontroladores, con experimentos prácticos 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 múltiples niveles de acción. d) Control Proporcional Integral Derivativo (PID) de un pequeño sistema de calefacción de escritorio. e) Control temporizado de los anteriores e introducción a la adquisición y almacenamiento de datos (data logging). El hardware necesario en los experimentos para simular los procesos se ha mantenido en el mínimo indispensable. Si bien el microcontrolador es el “cerebro” del proceso, no puede ser el “músculo”. 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 acción de interruptores mecánicos y electromecánicos que se encuentran en la industria. Diodos emisores de luz visible (LEDs), pequeños ventiladores y resistores de baja potencia simulan guarda motores y equipamiento de alta tensión (HVAC). La información incluida en los experimentos le ayudará a comprender la interfaz eléctrica para conectar dispositivos de E/S del “mundo real” al BASIC Stamp. La naturaleza física de los elementos en un sistema determina el modo de acción de control más apropiado. La dinámica de un proceso incluye un estudio de la relación entre las perturbaciones en las entradas y las correspondientes acciones en las salidas, de acuerdo a las variables medidas. Es difícil

Página iii

sobre control temporizado (basado en el tiempo). Por favor contáctenos mediante nuestros sitios web y envíe todos los errores que encuentre en este libro a Parallax a la dirección aalvarez@parallaxinc. Este libro es una segunda edición donde hemos intentado mejorar a la primera. Para los autores. y por supuesto a Ken Gracey y a Russ Miller de Parallax por sus revisiones y mejoras a este texto. Los autores son instructores en Southern Illinois University en Carbondale en el programa de Electronic Systems Technologies y además socios en la compañía de software SelmaWare Solutions. Cheri Barrall y Dale Kretzer. StampPlot Lite es usado en casi todos los experimentos. Reescritura de numerosos programas de ejemplo. esto definió la necesidad de desarrollar una interfaz gráfica para el BASIC Stamp. Muchos clientes de área educativa de Parallax nos proveyeron sus recomendaciones para esta segunda revisión. Agradecemos a nuestros editores Ms. Visite el sitio web para encontrar ejemplos del uso de StampPlot Pro específicamente creados para los lectores de este libro. Will Devenport y Martin Hebel Southern Illinois University. También se muestran las imágenes de las pantallas en el libro. Además.com. Agregado del circuito y teoría sobre sample-and-hold (muestra y retención) con FET y PWM. agradecemos al Dr. Algunos cambios y modificaciones incluyen: a) b) c) d) Agregado de la 7ma sección.selmaware.com Página iv . Este software permite graficar valores analógicos y digitales y almacenar datos.y -SelmaWare Solutions http://www. culminando en la creación y distribución del StampPlot Lite.edu/~imsasa/est -. así podremos corregirlos en la próxima revisión. Clark Radcliffe de la Michigan State University por su revisión detenida. Reescritura de la sección de control PID para demostrar y explicar mejor la teoría.Prefacio comprender la dinámica de un proceso sin ser capaz de “ver” esta relación. y le será especialmente útil cuando investigue los distintos modos de control de procesos.siu. Lo invitamos a enviarnos sus comentarios. Carbondale Electronic Systems Technologies http://www. incluyendo más diagramas de flujo y explicaciones.

con el permiso previo de Parallax. Corrección y edición de la traducción: Ana M.com. Alvarez.. la duplicación no tendrá costo para el estudiante. Debido a que imprimimos el texto en cantidad. contáctese con nosotros.com Sitios web en Castellano: www. e-mail: aalvarez@parallaxinc. y puede lograrse con un poco de paciencia. Inc. Derechos de Copia y Reproducción Los libros de Stamps en Clase tienen derecho de copia  Parallax 2002. Alvarez. Lusi y Arístides L. Este texto también está disponible en formato impreso por Parallax. resultando en gastos para el usuario. Preferentemente. puede hacerlo sin nuestro permiso. Es decir. para poder mejorar la calidad de la documentación en castellano. el precio al cliente es a menudo menor que el de una típica duplicación xerográfica.stampsenclase. duplicar y distribuir este texto sin nuestro permiso. Este texto puede ser traducido a cualquier otro idioma. Cualquier institución educativa que desee producir duplicados para los estudiantes. no representa una gran dificultad técnica. nadie deberá lucrar por la duplicación de este texto. No se tiene pensado realizar una Guía para los Profesores. Traducción Traducido y adaptado al castellano por Arístides A.cursoderobotica. Resolver los experimentos y ejercicios de este libro.Prefacio Destinatarios y Guías para Profesores Este texto se escribió para alumnos mayores de 17 años. Si encuentra errores en el texto.com www.ar Página v . La condición es que este texto o cualquier parte de él. más allá del costo de la impresión. Parallax le garantiza a cada persona derechos condicionales de descargar. no debería ser duplicada para uso comercial.

cocinar bizcochos por ejemplo. ya sea un proceso a pequeña escala en su cocina o a gran escala en una fábrica. Un programa en un BASIC Stamp puede tener muchísimos pasos y bifurcaciones if . 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. Puede ser difícil seguir el flujo del programa. ¿Cuántos pasos están involucrados en esta simple tarea? ¿Cuántas decisiones se toman hasta llegar al supermercado o al colegio? Se puede hacer el diagrama de flujo de una operación formal. para llegar a un final exitoso. y equipamiento usado para lograr un resultado específico. Tabla 1.Experimento 1: Diagramas de Flujo y StampPlot Lite Un diagrama de flujo es una representación gráfica detallada que muestra la naturaleza y secuencia paso a paso de una operación. Un proceso relativamente simple normalmente es fácil de comprender y fluye en forma lógica desde el principio hasta el final. Proceso indica un paso que debe ser cumplido.1 . es más difícil diagramar el orden de los eventos necesarios.1: Símbolos 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. o ir al colegio. Entrada / Salida indica que el proceso requiere una entrada o provee una salida. Un diagrama de flujo se construye con unos símbolos gráficos especiales que representan acciones. Hay que tomar varias decisiones: ¿Están bien mezclados los ingredientes? ¿Está precalentado el horno? ¿Se cocinaron los bizcochos el tiempo necesario? A medida que el proceso se vuelve más complejo. sin embargo. Una receta normalmente requiere que se mezclen los ingredientes necesarios. La Tabla 1. funciones. Página 6 • Control Industrial Versión 1. Se puede hacer un diagrama de flujo de cualquier tarea diaria.1 muestra los símbolos y su uso. los pasos involucrados son bastante simples. se armen los bizcochos y se cocinen apropiadamente. como conducir hasta el supermercado. si solamente observáramos el código. En el caso de cocinar bizcochos.then. Y por supuesto.

y la temperatura del agua podría determinarse con un sensor. Este ejemplo demuestra un proceso que puede ser usado para ajustar la temperatura. Una vez que realizamos cada ajuste. tiene la forma de una desigualdad verdadera o falsa. vamos al punto donde esperamos unos segundos antes de probar nuevamente. abrimos más la canilla de agua caliente y probamos nuevamente. o diferentes diagramas de flujo. Tome el ejemplo de dar la vuelta a la esquina conduciendo un automóvil. Primero se abren las canillas de agua fría y caliente. un proceso simple para nosotros puede ser bastante complejo para un microcontrolador. Se pueden agregar pasos en el proceso de ajuste de temperatura para corregir esta condición. Conector es usado para mostrar una conexión entre puntos de un mismo diagrama. Si la temperatura del agua es demasiado fría. esperamos un rato para que se estabilice la temperatura del agua. la probamos y tomamos algunas decisiones para realizar los ajustes necesarios.1 • Página 7 . Normalmente. La Figura 1. En la mayoría de los casos.Experimento 1: Diagramas de Flujo y StampPlot Lite Decisión indica que el proceso tiene la posibilidad de tomar distintas direcciones de acuerdo a una condición. El proceso de ajustar la temperatura del agua involucra varios pasos. pero ¿serían estos los pasos para un programa de un microcontrolador? ¡Seguro! Las canillas podrían ser ajustadas por servos.1 muestra un diagrama de flujo de este proceso. ¿Puede hacer una lista de las entradas que procesamos mientras realizamos el giro? Control Industrial Versión 1. se abre más la del agua fría. 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. Por supuesto no tuvimos en cuenta el caso cuando las canillas están completamente abiertas. Subrutina o subproceso indica el uso de una rutina o proceso definido. Si el agua está demasiado caliente. Línea de flujo es usada para mostrar la dirección del flujo entre símbolos.

1 .1: Ejemplo de la Temperatura de la Ducha Página 8 • Control Industrial Versión 1.Experimento 1: Diagramas de Flujo y StampPlot Lite Figura 1.

En una fábrica. A medida que llegan las cajas. los materiales se empacan en cajas y se envían a una de dos bahías de carga. El sensor que detecta el paso de las cajas está rotulado como DETECTOR1.1 • Página 9 .2: Ejemplo del Contador de Cinta Transportadora Control Industrial Versión 1. donde aguardan los camiones. las cajas deben ser desviadas hacia el segundo camión. La palanca que direcciona las cajas hacia uno y otro camión está rotulado DESVIADOR1. Cada camión puede transportar 100 cajas. los trabajadores las colocan en el primer camión.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.2. Figura 1. mientras el camión que está cargado se retira y deja su lugar para otro vacío. El botón de parada de emergencia está rotulado PARAR1. en caso de emergencia o que exista un problema. Cuando el camión se llena. Además. El aspecto físico de esta disposición se muestra en la Figura 1. El motor que mueve la cinta está rotulado como MOTOR1. debe haber una forma de detener la cinta transportadora.

mover el desviador a la posición opuesta. muchas variables deben ser tenidas en cuenta. podríamos reemplazar el recuadro de Proceso con uno de Sub-Proceso como se muestra en la Figura 1.Experimento 1: Diagramas de Flujo y StampPlot Lite Hagamos una lista ordenada con una descripción breve de lo que debería ocurrir: • • • • Encender el motor de la cinta transportadora. Observe el recuadro de Proceso "Contar cajas con DETECTOR1". PARAR1.4. el botón se revisa en cada ciclo. Observe la ubicación del recuadro de E/S que controla el botón de parada de emergencia.1 . desarrollemos un diagrama de flujo para el proceso. pero es un buen comienzo determinar el flujo general del proceso. Cuando hayan pasado 100 cajas. Contar las cajas a medida que pasan. Página 10 • Control Industrial Versión 1. ¿Qué sucedería si lo hubiésemos puesto después del recuadro de decisión que controla si se contaron 100 cajas? ¿Cuánto tiempo pasaría desde que se presiona el botón hasta que se detuviese la cinta? ¿Este diagrama de flujo describe todo lo que nuestro programa debe hacer? Definitivamente no. Ahora que conocemos los pasos básicos involucrados. ¿contamos cuando baja? Cuando el detector permanece en nivel bajo. ¿cómo evitamos que cuente nuevamente. Cuando se presione el botón de emergencia. a medida que atraviesa el haz de nuestro detector? ¿Cómo evitamos contar varias veces la misma caja? Las respuestas pueden no ser tan simples como parece. Comencemos mirando el diagrama de flujo de la Figura 1. Si un proceso necesita más detalle. la próxima vez que el programa pasa por ese punto? ¿Qué sucede si la caja vibra sobre la cinta transportadora.3. Incluso cuando se realiza una tarea tan simple como contar las cajas que pasan. detener la cinta.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”. Figura 1. ¿Cómo se realiza esto exactamente? Necesitaríamos desarrollar un diagrama de flujo para describir solamente esta rutina.

3: Diagrama de Flujo de la Cinta Transportadora Control Industrial Versión 1.1 • Página 11 .Experimento 1: Diagramas de Flujo y StampPlot Lite Figura 1.

con escasos miliamperes del BASIC Stamp sea capaz de alimentar directamente un motor con suficiente potencia para mover una cinta transportadora. Página 12 • Control Industrial Versión 1. para simular algunos procesos de control industrial complejos. Usaremos los componentes electrónicos disponibles. ¿Cómo encenderemos el motor? Es muy dudoso que la salida de 5 Volts.Experimento 1: Diagramas de Flujo y StampPlot Lite Otra consideración es la salida de nuestro detector. un módulo BASIC Stamp. o se necesita algún circuito para acondicionar la señal primero? Consideremos ahora una salida en nuestro ejemplo de la cinta transportadora. ¿Cómo acondicionaremos una salida del BASIC Stamp para controlar una carga de mayor corriente y tensión? Estos temas se irán desarrollando a medida que trabaje en los capítulos de este manual.1 . Lo que nos parece simple de hacer como humanos. ¿Podemos medir directamente la salida usando una de las entradas del BASIC Stamp. y la Plaqueta de Educación. puede requerir algunos algoritmos sofisticados si queremos realizarlo con un microcontrolador.

verde (2) resistores 220-Ohm (1) resistor 10K-Ohm (1) pulsador (1) potenciómetro multivueltas de 10K-Ohm (1) capacitor 1 uF (varios) cables de interconexión Figura 1. Deberá armar el circuito que se muestra en la Figura 1.5.1 • Página 13 . 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. Se necesitarán los siguientes componentes para este experimento: (1) LED.5: Ejercicio 2. Esquema del Circuito para LEDs que Titilan Control Industrial Versión 1.Experimento 1: Diagramas de Flujo y StampPlot Lite Ejercicios Ejercicio 1: Diseño 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.

luego entra en un bucle hasta que se presione PB1. ¿cómo hacemos el programa en PBASIC? Podemos sensar PB1 usando la instrucción in. Esta podría tratarse igual que otra instrucción PBASIC llamada goto. En el recuadro Inicializar Variables. Nuestro bucle principal es bastante simple. El diagrama de flujo de nuestro proceso se muestra en la Figura 1. Si la condición es verdadera (1). Una vez ejecutada la subrutina. Veamos algunos detalles del diagrama de flujo. si la condición es falsa (0). O. en ese caso llama a la subrutina. hacer titilar el LED (LED1) cinco veces en 10 segundos. necesitaríamos saltar con goto hacia el bucle principal. Nuestra subrutina no comienza con "Inicio”.6. definiremos todas las variables necesarias y fijaremos sus valores de salida iniciales (LED apagado). Este es el proceso que queremos realizar: mientras el pulsador (PB1) esté presionado.1 . podríamos saltar hacia la rutina principal desde el if-then. de forma que podamos identificarla.6: Ejercicio 2. El diagrama de flujo describe un proceso que se repetirá cinco veces. Diagrama de Flujo del LED que Titila Página 14 • Control Industrial Versión 1.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. Tenemos dos formas de llamar a nuestra subrutina. encendiendo y apagando nuestro LED durante un segundo cada vez. sino con el nombre del proceso. podemos saltar a nuestra subrutina directamente usando la instrucción if-then. Ahora que tenemos un diagrama de flujo que describa el proceso. Luego Figura 1. y usar un comando gosub para saltar a la subrutina cuando la condición sea verdadera. titilar_led1.

y presione el pulsador del circuito que construyó. el LED titilará cinco veces después de presionar el pulsador. 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ó. El mismo diagrama de flujo puede ser usado con muchos lenguajes o sistemas y hasta incluso con humanos. o el uso de la instrucción for-next que haría todo el trabajo por nosotros. El diagrama de flujo describe los pasos generales involucrados en la realización del proceso.1 es una forma de escribir el código para nuestro proceso del LED titilante.1 • Página 15 . Si todo funciona correctamente. necesitamos un bucle que se repita cinco veces. 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 instrucción siguiente de donde fue llamada ‘la subrutina Desafío de Programación Haga el diagrama de flujo y el programa para un proceso donde el LED deba titilar 4 veces por segundo. Ingrese el programa en el BASIC Stamp Editor. 'Programa 1. El Programa 1. Se puede usar cualquier código siempre y cuando se complete exactamente el proceso descripto. mientras el pulsador NO esté presionado.1.Experimento 1: Diagramas de Flujo y StampPlot Lite podemos usar return al terminar de ejecutarla. descárguelo en el BASIC Stamp. ejecuta la subrutina goto bucle 'Después de regresar. Control Industrial Versión 1. Las opciones para llevar a cabo esta tarea pueden incluir el uso de una variable que incrementaremos en cada repetición. En nuestra subrutina titilar_led1.

pero ahora realicemos un simple experimento de control de proceso usando un valor analógico. para que puedan ser procesados numéricamente. Pero el dispositivo podría ser más sofisticado. Los datos analógicos. Variando el valor de la resistencia. La luz está encendida o apagada. Agregue la red RC que se muestra en la Figura 1. por el contrario.7 al circuito del experimento anterior. Algunos ejemplos incluyen la regulación de la temperatura del agua que sale por la ducha o la temperatura de la calefacción. o un sensor de temperatura. como un fotorresistor que cambia su resistencia en función de la iluminación.7: Esquema del circuito de Datos Analógicos agregado en el Ejercicio 3 Página 16 • Control Industrial Versión 1. Otro método usado por el BASIC Stamp es una red resistor/capacitor (RC) para medir el tiempo de carga o descarga de un capacitor. podemos modificar y medir el tiempo que necesita el capacitor para descargarse. En este experimento. tales como usar un conversor analógico-digital (A/D) que convierte los valores analógicos en digitales.1 . Los datos digitales involucran dos posibilidades: encendido y apagado (1 y 0). la resistencia se modifica manualmente ajustando un resistor variable. Figura 1.Experimento 1: Diagramas de Flujo y StampPlot Lite Ejercicio 3: Datos Analógicos En muchos casos un proceso involucra el análisis y la respuesta a datos analógicos. involucran un rango continuo de valores. Hay varios métodos para ingresar datos analógicos en un microcontrolador. Esto se puede comparar a los interruptores comunes de las luces de nuestras casas. Volveremos a tratar datos analógicos en secciones posteriores.

El comando PBASIC que usaremos para leer el valor analógico del potenciómetro es rctime. la rutina debe realizar los siguientes pasos: • • • • • +5 V (HIGH=ALTO) se aplican a ambos terminales del capacitor para descargarlo. A mayor resistencia.4 V (cayendo). Estado es la tensión de entrada de ese pin. estado. El BASIC Stamp realiza una pausa suficientemente larga para asegurarse que el capacitor esté completamente descargado. el estado de la entrada pasa a ser bajo (0). • • • Pin es el pin de E/S conectado a la red RC. podemos adquirir un valor analógico de un dispositivo de entrada simple. El Pin 7 leerá inicialmente un estado alto (1) debido a que el capacitor descargado se comporta como un corto circuito. Usaremos la ventana debug para mostrar nuestra temperatura y el estado del calentador. pot Para leer el potenciómetro. A medida que el capacitor se descarga a través del resistor. así que lo dividiremos por 30 para obtener un rango más razonable. puede llegar a 5000. con esta combinación de resistor y capacitor. resultvariable . De esta forma. por lo tanto. Resultvariable es una variable normalmente de tamaño word que almacena el resultado del comando. el Pin 7 se vuelve una entrada. mayor será el valor de pot. Cuando la tensión en Pin 7 llega a 1. cae la tensión del Pin 7. Un segmento de código típico para leer el potenciómetro es el siguiente: high 7 pause 10 rctime 7.Experimento 1: Diagramas de Flujo y StampPlot Lite Referencia Rápida de Comandos PBASIC: RCTime RCTIME pin. Escribamos un programa de control de proceso que use este tipo de entrada. Control Industrial Versión 1.1 • Página 17 . Nuestro proceso monitoreará la temperatura para encender un calentador a menos de 100 grados y lo apagará a más de 120 grados. deteniendo el proceso y almacenando un valor en pot proporcional al tiempo requerido para cargar el capacitor. Cuando se ejecuta rctime. El valor máximo del potenciómetro. 1. mayor tiempo necesitará el capacitor para cargarse. El potenciómetro representará un sensor de temperatura y el LED indicará el comportamiento del supuesto calentador.

lo apaga y muestra DEBUG "Calentador Apagado". Controle los valores de la ventana debug mientras ajusta el potenciómetro y observe especialmente qué ocurre cuando el valor sube por encima de 120 o cae por debajo de 100.Experimento 1: Diagramas de Flujo y StampPlot Lite Ingrese y ejecute el Programa 1.dec Temp. o el calentador está encendido.1 .2. CR Listo: RETURN Desafío de Programación 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). 1. 'Programa 1. enciende el calentador y muestra DEBUG "Calentador Encendido". CR RETURN ControlaTemp: 'Si Temp > 100. 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. Temp Temp = Temp/30 DEBUG "Temp = ". listo IF (Temp < 120) OR (LED1 = 0) THEN Listo LED1 = 0 'sino. 'controla si debería estar apagado IF (Temp > 100) OR (LED1 = 1) THEN ControlaApagado LED1 = 1 'Sino.2.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 potenciómetro como temperatura 'Controla el valor de la temperatura 'Lee el potenciómetro 'Ajusta el valor y 'lo almacena como Temp ControlaApagado: 'Si Temp < 120 o el calentador está apagado. Página 18 • Control Industrial Versión 1.

150". pero esta vez usando StampPlot Lite para poder visualizar mejor el proceso. SPL acepta datos desde el BS2 de la misma forma que la ventana debug. nuestro calentador simple.com.CR 'Permite que el gráfico se desplace DEBUG "!TSMP ON". Calentador simple usando StampPlot Lite 'Configura StampPlot Lite PAUSE 500 DEBUG "!SPAN 50. Un valor binario que comienza con % se dibuja como trazo binario en tiempo real. descárguelo de http://www. 'Programa 1.CR 'Configura amplitud (span) 50-150 DEBUG "!TMAX 60".CR 'Título del formulario DEBUG "!SHFT ON".CR 'Reinicia (borra) el gráfico 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 Versión 1.CR '500 puntos de datos por gráfico DEBUG "!TITL Control de Calentador Simple ". Cualquier otra cadena se muestra como mensaje en la parte superior del SPL. Miremos nuevamente el Programa 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 información del BASIC Stamp.CR 'Comienza a dibujar DEBUG "!RSET". Por favor revise el Apéndice A para una explicación más profunda del StampPlot Lite.2). El Programa 1.CR DEBUG "!PLOT ON". Cadenas que comienzan con ! se interpretan como instrucciones de control y configuración para controlar el SPL. puede ser difícil visualizar la información sin revisarla cuidadosamente. para utilizar el StampPlot Lite (las líneas en negrita están agregadas / modificadas del programa 1. ¿La temperatura está aumentando o disminuyendo? ¿Qué tan rápido 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 específicamente para este libro.stampsenclase.1 • Página 19 .2. La regla principal del SPL es que cada línea debe terminar con un retorno de carro (13 o CR).2 ha sido reescrito como Programa 1. Si aún no ha instalado StampPlot Lite.3.CR 'Configura para 60 segundos DEBUG "!PNTS 500". e instálelo en su computadora.3. Haga doble clic en el botón setup e instálelo en el directorio que usted elija. 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 analógica en tiempo real.

CR DEBUG "!USRS Calentador Encendido".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. o el calentador está encendido. Seleccione el puerto COM apropiado en el StampPlot Lite y haga clic en 'Connect. CR DEBUG IBIN LED1.1 .' • • Reinicie el BASIC Stamp presionando el botón Reset de la Plaqueta de Educación. • • • • Ejecute su StampPlot Lite usando el botón de Inicio de Windows y siguiendo la siguiente secuencia Programas/StampPlot/StampPlot Lite.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. Cierre la ventana azul de debug del editor del BASIC Stamp. listo IF (Temp < 120) OR (LED1 = 0) THEN Listo LED1 = 0 'sino. 'controla si debería estar apagado IF (Temp > 100) OR (LED1 = 1) THEN ControlaApagado LED1 = 1 'Sino. Página 20 • Control Industrial Versión 1.3 en su BASIC Stamp.CR 'Actualiza la barra de estado del SPL ControlaApagado: 'Si Temp < 120 o el calentador está apagado. Escriba y descargue el Programa 1. 1. CR DEBUG "!USRS Calentador apagado". enciende el calentador y muestra DEBUG "Calentador Encendido". Temp Temp = Temp/30 DEBUG DEC Temp. lo apaga y muestra DEBUG "Calentador Apagado".CR RETURN ControlaTemp: 'configura el LED como salida 'Inicia encendido 'Lee el potenciómetro como temperatura 'Controla el valor de la temperatura 'Lee el potenciómetro 'Ajusta el valor y 'lo almacena como Temp 'Envía el valor de la temperatura 'Envía el estado del LED 'Si Temp > 100. Ahora está listo para usar este software único.

5 segundos. Desafío de Programación Modifique el desafío del aire acondicionado del Ejercicio 2.3 y observe los ajustes de configuración y los datos enviados al software utilitario. Configure su programa para transmitir datos aproximadamente cada 0. Analice el Programa 1. La línea analógica muestra el valor del potenciómetro.8 es un ejemplo del gráfico que se obtuvo con este mismo circuito. Calcule la cantidad de puntos de datos necesarios para llenar la pantalla en un tiempo máximo de 60 segundos.8: Gráfico del StampPlot Lite para el Ejercicio 4 Calentador encendido Observe la relación entre el valor analógico y la conmutación de la salida digital. Ajuste la temperatura de la ducha para obtener 110 Fahrenheit constantes. Vea qué tan rápido puede Control Industrial Versión 1. ¡Ahora por diversión! Escriba y descargue el siguiente programa. para que use el StampPlot Lite. Ejecútelo y vea si funciona. Ajuste el potenciómetro de 10K-Ohm con sus dedos o un destornillador pequeño. La Figura 1. Use los controles del StampPlot Lite para familiarizarse con sus funciones y características.Experimento 1: Diagramas de Flujo y StampPlot Lite En este punto debería ver como se dibujan los datos en la pantalla.1 • Página 21 . Vea el Apéndice A si tiene problemas para entender el funcionamiento del StampPlot Lite. El potenciómetro simula una ducha de un solo grifo (mezcladora). Figura 1. El trazo digital de la parte superior muestra el estado del LED indicador.

200"."!MAXS".TempAct/5 TempAct = TempAct + Dif GOTO Display MasBaja: Dif = TempAct ."!BELL".1 .CR Principal: HIGH RC PAUSE 10 RCTIME RC.CR HIGH LED1 SkipBeep: PAUSE 250 GOTO Principal Página 22 • Control Industrial Versión 1.CR.13 DEBUG "!USRS Ajuste la temperatura a "."!TMAX 30". Presione el botón Reset de la Plaqueta de Educación e inténtelo nuevamente.CR.1.Temp/5 TempAct = TempAct .CR DEBUG "!TSMP ON"."!PLOT ON".CR.Temp Temp = Temp/ 30 IF Temp > TempAct THEN MasAlta IF Temp < TempAct THEN MasBaja GOTO Display MasAlta: DIF = Temp .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".DEC PuntoAjuste.CR IF TempAct <> PuntoAjuste THEN SkipBeep DEBUG "¡AJUSTADA!".CR."!PNTS 100".Experimento 1: Diagramas de Flujo y StampPlot Lite estabilizar la temperatura en ese valor.CR. 'PROGRAMA 1.CR."!SPAN 0.Dif Display: LOW LED1 DEBUG DEC TempAct.

4. Desarrolle el diagrama de flujo y el código para los siguientes procesos: El potenciómetro simula un sensor de temperatura. Si la temperatura excede 100 grados Fahrenheit. Mencione un ejemplo de un proceso electrónico en su hogar o escuela (tal como el control de un horno microondas.1 • Página 23 . Mencione una actividad humana cotidiana que involucre una decisión. el bit de alarma y el estado de la alarma. Modifique el programa de la Pregunta 4 de forma que use StampPlot Lite para mostrar la temperatura. Liste los pasos necesarios para llevar a cabo ese proceso y las decisiones que deben tomarse. Control Industrial Versión 1.). enciende la alarma (LED). 2. Desarrolle un diagrama de flujo simple para el proceso de la Pregunta 1. un reloj despertador.Experimento 1: Diagramas de Flujo y StampPlot Lite Preguntas y Desafío 1. 5. La alarma no se apaga hasta que se presiona el botón. Desarrolle un diagrama de flujo simple que describa el proceso. etc. 3.

.

Abre el refrigerador y la luz se enciende. Y. mientras que la potencia es controlada por el circuito de salida. Resultado La alarma se apaga y. la mayoría de las veces la información de entrada involucra el monitoreo de dispositivos de campo que admiten dos estados posibles.. Enciende su PC. El desayuno está listo.Experimento 2: Acondicionamiento de Señal de Entrada Digital Experimento 2: Acondicionamiento de Señal de Entrada Digital El control de procesos depende de la obtención de información de entrada. Estado del Interruptor Primero podría presionar el botón “SNOOZE” de su reloj despertador. Una podría ser si conectamos directamente una carga al interruptor. Clic con el mouse Estos son los tres más obvios. según su elección Los interruptores del frente del TV tienen la misma función que los del control remoto que se transmiten por un LED infrarrojo. Los interruptores pueden controlar una operación de tres formas. interruptores detrás de escena en su PC. ¡5 minutos más para dormir! ¡Ay! Apaga rápidamente la luz porque lastima la vista. ¡Ha presionado más de 15 interruptores y aún no ha dejado su casa! Algunos de los interruptores listados en la Tabla 2. O está abierto o está cerrado.1 tienen control directo de la continuidad eléctrica de las cargas involucradas. En control industrial.1: Interruptores que podría haber usado al principio del día. En este caso. ¿qué procesos afectó con la acción de dichos interruptores? La tabla 2. sube el volumen. el interruptor controla con poca potencia el circuito de entrada del relé. presiona la tostadora de pan y programa su microondas. tropezando al entrar al baño.. Enciende su TV. cambia de canal. El interruptor que el auricular normalmente mantiene Presiona los botones del número de teléfono. presionado ahora se encuentra en la posición “descolgado”. ¿Cuántos interruptores usó hoy? Y. en la cocina. ¿quién sabe si la luz del refrigerador realmente se apaga cuando se cierra la puerta? Calefacciona o refrigera. controlando toda la corriente y la tensión de la carga. Cada interruptor del teclado genera una combinación de tonos específica. prende la cafetera. Enciende el monitor. El estado encendido / apagado (on/off) del interruptor también podría proveer una señal digital a la entrada de un controlador programable. También podemos conectarlo a la entrada de un relé. Levanta el auricular y espera el tono. prende la luz.1 lista unas pocas posibilidades.1 • Página 25 . Enciende el termostato. Por ejemplo. Un interruptor es un ejemplo común de dispositivo de dos estados. el interruptor de la luz del baño controla el flujo real de la corriente que Control Industrial Versión 1. su evaluación y la ejecución de la acción correspondiente. Luego. Hay muchos más para revisar su e-mail. comenzando por el principio del día: Tabla 2. Ahora. Hace una llamada.

probablemente proveen una señal digital de estado alto o bajo. el programa le ordena a la salida que se apague y agregue cinco minutos a la hora programada en la alarma. En el caso de los pulsadores manuales y los interruptores mecánicos mostrados en la Figura 2. A menudo pensamos en los interruptores como dispositivos mecánicos que establecen e interrumpen la continuidad entre dos puntos de un circuito.1: Varios Pulsadores Manuales e Interruptores Mecánicos La Tabla 2. El termostato es un ejemplo de un interruptor que opera un sistema de baja tensión para controlar un relé de la calefacción o aire acondicionado. al presionarlo se genera una entrada que hace que el microcontrolador del horno active los relés que encienden esas cargas. el cambio momentáneo de estado es reconocido por un circuito programable. que es monitoreada por un sistema de control electrónico.Experimento 2: Acondicionamiento de Señal de Entrada Digital circula por las lámparas. El botón "snooze" del reloj despertador no abre físicamente el circuito de la alarma. la luz interior y el ventilador. Como resultado. Es el estado de esta señal de entrada el que es evaluado para determinar el estado apropiado de las salidas involucradas. Estado normal se refiere al estado de reposo o Página 26 • Control Industrial Versión 1. Los símbolos se dibujan para representar el estado “normal” del interruptor.1. Cuando usted lo presiona.2 muestra la representación esquemática de varios interruptores industriales. El botón "start" de su microondas no conduce en realidad la corriente que alimenta el magnetrón. Figura 2. Sin embargo. La mayoría de los interruptores de la Tabla 2. este es exactamente el caso.1 .1.

O. se encuentran cerrados en reposo y sus contactos se abren cuando son activados. Los interruptores también pueden ser diseñados como Normalmente Cerrados (N. a un valor muy cercano a cero. o diseñador de sistemas.1 • Página 27 . Al presionar el botón. Como técnico. se produce un corto circuito entre los contactos. La resistencia va desde el valor de circuito abierto que es cercano a infinito. parece no haber límites para los diseños físicos que encontrará en aplicaciones de control industrial. debe estar al tanto de la posición Normal (de reposo) de un interruptor.Experimento 2: Acondicionamiento de Señal de Entrada Digital sin activar del interruptor. Tabla 2.). Control Industrial Versión 1.C. Los pulsadores que están en el kit de componentes para este libro son Normalmente Abiertos (N. es la sigla en inglés). programador.2: Representación Esquemática de Varios Interruptores Industriales Pulsador Límite Mecánico Interruptor Proximidad de Relé NormalNormalmente Abierto Normalormalmente Cerrado Mientras que el concepto de interruptor es muy simple.

garantizará un estado alto.2: Esquemas de Interruptores Pulsadores Figure 2. Estas entradas esperan niveles de tensión apropiados que representen un estado lógico alto o bajo. Esto forma un circuito divisor de tensión en el cual el estado resistivo del interruptor se compara con el valor resistivo del resistor de referencia.2 muestra las dos posibilidades para nuestro simple interruptor pulsador N. Página 28 • Control Industrial Versión 1. La Figura 2. Normalmente se producirá a 1. La hoja de datos del fabricante muestra los valores críticos para cada dispositivo. Una tensión de 0. CMOS. etc. no tiene continuidad. y una de 0.O.4 Volts. Los pines de E/S del BASIC Stamp II no deberían exceder de 0. Para convertir los dos estados resistivos del interruptor en entradas aceptables.25 V) o superior. (normalmente abierto). estas tensiones deberían ser +5 Volts para un nivel lógico alto (1) y 0 Volts para un nivel lógico bajo (0). Idealmente. Los Valores Máximos Absolutos son las tensiones y corrientes que no deben excederse para evitar dañar o destruir al chip. La Figura 2.2a Figure 2. Hay un área gris entre estas dos tensiones donde se producirá la transición. Depende de la temperatura y la tensión de la fuente la ubicación del punto donde ocurrirá la transición.6 V (5.2a entregará +5 Volts en el pin de entrada cuando es presionado. Cuando el interruptor está abierto. Los pines de entrada del BASIC Stamp no detectan “cambios de resistencia” entre los contactos del interruptor.6 V o Vdd+0. por lo que no circula corriente a través del resistor de 10K y el pin de entrada queda conectado a masa. ECL.2 Vdd (1 V en el BASIC Stamp II) se considera como un cero.1 . La transición entre el estado lógico alto y bajo está especificada en las características de corriente continua (DC) de la hoja de datos.Experimento 2: Acondicionamiento de Señal de Entrada Digital Figura 2.45 Vdd (2.2b Entrada Digital (TTL. se debe colocar en serie con un resistor conectado a la fuente de tensión de +5 Volts del BASIC Stamp.)? Los dispositivos lógicos se fabrican con diferentes procesos que hacen que operen a distintas tensiones.6V) con respecto a Vss.

el circuito abierto hace que la entrada quede fijada a +5 Volts. al cerrar el interruptor se pone a masa el pin de entrada.2a. Desde el punto de vista de la programación. un nivel lógico alto. Debe tener en cuenta estos resistores (pull-up y pull-down) siempre que trabaje con interruptores mecánicos o electrónicos. Control Industrial Versión 1. Está conectado en serie con el interruptor. Cero Volts es un nivel lógico bajo. no hay caída de tensión sobre el resistor de 10K-Ohm y la tensión en la entrada es +5.2a y 2. aunque los resultados obtenidos al operar sobre el interruptor son exactamente opuestos.2b. el resistor no recibe tensión y el punto de entrada es llevado a masa.2b.Experimento 2: Acondicionamiento de Señal de Entrada Digital Resistor de Referencia: El resistor fijo de 10K-Ohm en las Figuras 2. En la Figura 2.1 • Página 29 . Cuando el interruptor está abierto en la Figura 2. Cuando el interruptor se abre. Los circuitos son esencialmente iguales. es importante saber qué configuración se está utilizando. Su valor debe ser mucho mayor que la resistencia del interruptor cerrado y mucho menor que la resistencia del interruptor abierto. En la Figura 2.2b es necesario para obtener niveles lógicos variables.

Observe cuál es cual.3: Fotografía del Montaje del Circuito de la Figura 2.2b) al Pin 2. Como se dijo anteriormente. conecte dos como se muestra en la Figura 2.Experimento 2: Acondicionamiento de Señal de Entrada Digital Ejercicios Ejercicio 1: Interruptor Básico Para comenzar una investigación sobre la programación de pulsadores.2a) en el Pin 1 de E/S y la salida de la configuración activo bajo (Figura 2. Conecte la configuración de activo alto (Figura 2. La Figura 2.2 en la protoboard de la Plaqueta de Educación.1 .2 Página 30 • Control Industrial Versión 1. esto es importante. Figura 2.3 muestra la fotografía de cómo podría quedar montado este circuito en la Plaqueta de Educación.

Diagrama de Flujo y StampPlot Lite.Experimento 2: Acondicionamiento de Señal de Entrada Digital El siguiente programa está escrito para usar el StampPlot Lite para mostrar el estado de los interruptores. CR ' Grafica el estado digital DEBUG DEC 0. CR ' Informa que PB2 está presionado .PB2 está presionado ". Puede omitir del programa todos los comentarios que comienzan con un apóstrofe (‘). 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 . 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 . escriba el Programa 2.1: Detección del Estado de un Pulsador con StampPlot Lite ' Título para ventana StampPlot ' Configura P1 como entrada ' Configura P2 como entrada DEBUG "!TITL Prueba de Pulsadores". 2. CR ' Emite sonido. El procedimiento será el mismo que para el Experimento 1. 'Programa. Primero.PB1 está presionado ". CR DEBUG "!BELL".1 • Página 31 . GOTO Bucle Control Industrial Versión 1.CR INPUT 1 INPUT 2 PB1 VAR IN1 PB2 VAR IN2 Bucle: PAUSE 100 ' Reduce velocidad del bucle DEBUG IBIN PB1. BIN PB2.1. CR Ambos: ' Reporta que ambos están presionados DEBUG "!USRS PB1 alto y PB2 bajo . CR ' Envía un 0 para lograr desplaz.Ninguno presionado".Ambos presionados".

Su ventana debería verse similar a la de la Figura 2. El pulsador activo bajo PB2 entrega un 0 cuando está presionado.Experimento 2: Acondicionamiento de Señal de Entrada Digital Ejecute el programa. DEBUG mostrará el estado de los interruptores y el valor digital de las entradas. Presione los pulsadores para familiarizarse con su sistema.4. in1 e in2 simplemente contienen el valor lógico de los pines de entrada: +5 V = 1 lógico y 0 V = 0 lógico. como programador. Luego observaremos cómo funciona el programa. El pulsador activo alto PB1 entrega un 1 si está presionado. Seleccione el puerto COM apropiado y seleccione las casillas de Connect y Plot Data. debe comprender como se relaciona esto con la condición de “presionado” o “no presionado” de los botones. Esto es evidente en la primer línea del programa donde se emplea un operador lógico AND. PBASIC.4: Pantalla Típica de StampPlot Controlando el estado de Pulsadores El propósito de este programa es ejecutar cierto código de acuerdo al estado (presionado o no) de los pulsadores. Primero. se programan varias instrucciones if-then o se usan algunos operadores lógicos de if-then. Cierre la ventana de DEBUG y ejecute StampPlot Lite. Presione el botón Reset de la Plaqueta de Educación y los trazos de In1 e In2 deberían comenzar a notarse en la pantalla.1 . Página 32 • Control Industrial Versión 1. El programa controla el estado “lógico” de las entradas. Figura 2. Este ejercicio simple introduce varias consideraciones a tener en cuenta cuando se trabaja con entradas digitales.

incluyendo AND. entonces la ejecución del programa salta hacia la etiqueta. esta porción del programa podría causar una acción de salida apropiada. Otro aspecto a observar en el Programa 2. En este caso. El diagrama de flujo de la Figura 2.1 es el flujo del programa.1 • Página 33 . Dado que la última línea de cada subrutina es GOTO Bucle. Las acciones de los controladores industriales a menudo dependen del estado de muchos interruptores y contactos. Figura 2. Las estructuras IF-THEN verifican una condición y si esta condición se cumple. puede ser conveniente para cumplir estos requerimientos usando un BASIC Stamp. Una revisión de los operadores lógicos de PBASIC. tiene sentido lógico que si In1 entrega un estado alto e In2 un estado bajo.1 Control Industrial Versión 1.5: Diagrama de Flujo del Programa 2.5 muestra como se ejecuta el programa. la ejecución del programa salta al principio del bucle principal y cualquier parte de código que se encuentre por debajo de la instrucción IF-THEN que causó la bifurcación se ignora. En aplicaciones industriales. OR.Experimento 2: Acondicionamiento de Señal de Entrada Digital Cuando considera las configuraciones de los botones. XOR y NOT. entonces ambos botones están presionados. la rutina a la que salta simplemente imprime el estado de los interruptores en el StampPlot Lite.

en ese caso “PB2 = 0” nunca se verificaría. Si se deja uno o ambos botones sin presionar. Luego. Pero hay que tener en cuenta. puede ser una herramienta muy útil para aplicaciones de programación. la ejecución salta a la etiqueta PB1. Olvidarse de esto puede dar como resultado errores frustrantes y no muy fáciles de corregir en su programa. Mientras ambos botones permanezcan presionados.Experimento 2: Acondicionamiento de Señal de Entrada Digital Si se presionan ambos botones. Por ejemplo. las siguientes tres líneas de código realizarán una verificación de condiciones similares. la comprobación “(PB1 = 1) and (PB2 = 0)” es verdadera. ¿que pasaría en nuestro programa.4. ¿Esto es bueno o malo? En realidad no importa. La ejecución del programa se dirigiría a la etiqueta Ambos La condición “Ambos Presionados” se mostraría en la barra Ambos. Al presionar PB1 se hace verdadera la condición “PB1 = 1”.1 . el resultado de esta verificación será verdadero y se repetirá la misma parte del programa. si la verificación de ambos botones presionados “IF (PB1 = 1) AND (PB2 = 0) THEN Ambos” se colocara a continuación de las verificaciones individuales de cada botón? Desafío Rápido Mientras ejecuta el programa. regresando luego al principio del bucle. Página 34 • Control Industrial Versión 1. el programa salta de regreso a Bucle y verifica nuevamente los interruptores. que comprender el funcionamiento de múltiples instrucciones IFTHEN. User Status Bar del SPL y su computadora emitiría un sonido. intente reproducir el estado de los botones mostrado en la pantalla de la Figura 2.

El primero es: ¿Qué tan rápido puede presionar y soltar un botón? Debe hacerlo en menos tiempo de lo que tarda en ejecutarse un ciclo de programa. El siguiente programa demostrará la dificultad asociada a realizar esta tarea. Se agregarán dos diodos emisores de luz como indicadores de salida en los pines Pin 4 y Pin 5. ¿Qué sucede si se desea presionar rápidamente un botón para lograr que algo suceda solamente una vez? Hay dos problemas que deberemos enfrentar. Conecte los LEDs como en la Figura 2. Figura 2. se empleó el nivel de estado estable del interruptor. Llamamos rebote del interruptor a la tendencia que tienen estos dispositivos a realizar varias acciones rápidas de encendido / apagado. Control Industrial Versión 1. La rutina informaba el estado del interruptor una vez por cada pasada del bucle. ¿Puede ser usted lo suficientemente rápido como para hacerlos titilar solamente una vez? Inténtelo.Experimento 2: Acondicionamiento de Señal de Entrada Digital Ejercicio 2 – Rebote de Interruptores y Rutinas Anti-Rebote En el ejercicio anterior. Cuando PB1 es presionado. los LEDs parpadearán. El estado de los pulsadores y los LEDs se mostrará en la pantalla.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.1 • Página 35 .6. en el instante que se activan o desactivan. El segundo problema es lidiar con el rebote del interruptor.

Agregue a esto varios milisegundos de rebote y podría obtener muchos pulsos cada vez que presione el botón. debería agregar una pequeña pausa en la rutina Bucle:. Es casi imposible presionar y liberar el botón suficientemente rápido como para realizar la acción solamente una vez. Envía un 0 para desplazar gráfico 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 envía el BASIC Stamp. Esto se muestra en la Figura 2. CR ' Título para ventana StampPlot ' Configura tiempo de gráfico (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. El bucle del programa se ejecuta demasiado rápido. Si usted es lento. Figura 2. CR DEBUG DEC 0.2 Sin Anti Rebote PAUSE DEBUG DEBUG DEBUG 500 "!TITL Desafío de Velocidad". BIN In5. CR "!PNTS 300".7: La Respuesta Lenta y el Rebote Pueden Ser un Problema Página 36 • Control Industrial Versión 1.CR "!TMAX 25".Experimento 2: Acondicionamiento de Señal de Entrada Digital 'Programa 2.7. el programa tiene la oportunidad de ejecutarse varias veces mientras el interruptor se encuentra presionado. BIN In4.1 . CR IF In1 = 1 THEN Titila GOTO Bucle Titila: TOGGLE 4 TOGGLE 5 GOTO Bucle ' ' ' ' Dibuja el estado digital. Una PAUSE 2 o PAUSE 5 (incluso hasta 10 en computadoras muy lentas) aliviará los problemas que pueda encontrar en la transmisión de datos.

Incluya en su programa “PAUSE 250” para incrementar el tiempo del bucle y cancelar el rebote del interruptor.8: Agregar una Pausa Hace el Desafío Mucho Más Fácil Otorgando este tiempo de establecimiento. Esta técnica elimina el rebote del interruptor y le da tiempo suficiente para liberarlo antes del siguiente ciclo de programa. si la PAUSE es demasiado larga. El interruptor tiene ahora 250 milisegundos para asentarse luego de ser presionado. (Si el programa anterior no trabajó correctamente con StampPlot Lite. La PAUSE debe ser suficientemente larga para evitar estos inconvenientes. al presionar rápidamente el botón. es mucho más fácil lograr que Titila: se ejecute una sola vez. Agregue una pausa de 250 milisegundos a la rutina Titila:. Sin embargo. se podría presionar el botón sin que el microcontrolador lo note.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. Control Industrial Versión 1. una disminución en la velocidad de ejecución permitirá mejorar la transmisión serial de datos). 'Programa 2.Experimento 2: Acondicionamiento de Señal de Entrada Digital Reducir más la velocidad de ejecución del programa puede ayudar a remediar el problema. para después retornar a su posición abierta.1 • Página 37 .

El Programa 2. Ingrese el Programa 2. o detenerse durante algún tiempo mientras activa el interruptor. el programa debería registrarlo una sola vez y no continuamente como en el Programa 2.DEC Contar. No solamente se trata de que el interruptor posee un rebote inherente a su construcción.4. ' La cuenta se reinicia presionando PB2. BIN PB2.CR ' ' ' ' ' Título para la ventana StampPlot Configura tiempo de gráfico (segundos) Configura cantidad de puntos de datos Configura eje vertical (cantidad) Reinicia al alcanzar el máximo 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 = ". pero el interruptor podría abrirse y cerrarse varias veces.4: Detección del Flanco del Interruptor ' Cuenta y muestra la cantidad de pulsos en PB1.1 .2. ' Si se presionó.CR "!MAXR". Podría haber solamente un producto. regresando nuevamente al estado bajo. CR DEC Contar. técnica que no se puede emplear en aplicaciones industriales tales como la cuenta de productos que se desplazan por una cinta transportadora. tambalearse.Experimento 2: Acondicionamiento de Señal de Entrada Digital Ejercicio 3 – Disparo por Flanco Las rutinas de conteo presentan problemas adicionales en la programación de entradas digitales. Una vez que se detecta este “flanco ascendente” en la entrada digital. El Ejercicio 2 usó el comando PAUSE para eliminar el rebote del interruptor. cuenta y muestra ' Sino. Luego se activará la bandera para evitar otras ejecuciones hasta que el producto haya liberado el interruptor.4 usa una variable bandera para crear un programa que responde a las transiciones iniciales de estado bajo a alto del interruptor.CR ' Muestra valor contador ' Muestra el mismo valor como trazo analógico ' Grafica estado digital. si el producto permanece en contacto con el interruptor durante varios ciclos del bucle. reinicia bandera en 0 IF PB1 = 1 THEN Cuenta Band1 = 0 Página 38 • Control Industrial Versión 1.CR "!TMAX 50". PAUSE DEBUG DEBUG DEBUG DEBUG DEBUG 500 "!TITL Activación por Flanco". Además. Titilar: se ejecutará. CR IBIN PB1. sino que el producto a contar en sí mismo puede tener forma irregular.CR "!PNTS 300". ' Programa 2.CR "!AMAX 20".

saltea Contar = 0 ' Pone contador en 0 Band2 = 1 ' Evita que se borre nuevamente DEBUG "Cuenta reiniciada. el programa salta a la rutina Cuenta. CR GOTO Bucle Cuando PB1 es presionado. Band1 es puesta en 1 y el programa regresa a Bucle. pone contador en 0 ' ' ' ' Si deja de estar presionado O la bandera está activa. Si PB1 aún sigue presionado. solamente se contará una unidad por cada vez que se lo presione.9 muestra como se vería este programa funcionando con SPL. este programa podría ser parte de una rutina llamada por una aplicación industrial. Sin importar cuanto tiempo esté presionado el botón. Cuenta se ejecuta nuevamente. Aunque en este caso solamente está incrementando el valor de la variable Contar. Observe que la primer línea 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. Control Industrial Versión 1. Total = ". pone bandera en 1 ' Si no está presionado O la bandera ' está activa. saltea Incrementa la cuenta Una vez contado. DEC Contar. la instrucción IF-THEN envía el programa de regreso a Bucle sin incrementar Contar nuevamente. con Band1 activada. La Figura 2.Experimento 2: Acondicionamiento de Señal 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.1 • Página 39 . sin embargo. Esta vez. Contar es incrementada. Por lo tanto.

Mantenga el LED verde encendido mientras haya lugar libre en el estacionamiento. Escriba un programa que determine la cantidad total de autos estacionados. Página 40 • Control Industrial Versión 1. También muestre continuamente la cantidad de autos estacionados.9: Programa 2. Suponga que el estacionamiento puede ubicar 24 autos. para simular un estacionamiento de automotores. Muestre continuamente cuántos espacios de estacionamiento hay disponibles en la ventana User Status (!USRS). Desafío Adicional de StampPlot Lite Mantenga un registro de la cantidad de veces que el estacionamiento pasó de “Hay lugar“ a “Lleno” (vea el Apéndice A y el archivo de ayuda de StampPlot Lite para obtener información sobre el uso de la opción Save Data to File--Guardar Datos en Archivo).4 en SPL– Contador de Flancos Desafío de Programación 1: Estacionamiento. El pulsador PB2 contará los autos a medida que salen. El pulsado PB1 contará los autos a medida que ingresen al estacionamiento. junto con los dos pulsadores. Use los LEDs de los Pines 4 y 5. aumentando la cuenta con PB1 y disminuyéndola con PB2.Experimento 2: Acondicionamiento de Señal de Entrada Digital Figura 2.1 . Encienda el LED rojo cuando el estacionamiento esté lleno.

' Programa 2. El comando se llama button. Nota: 0 y 255 son casos especiales. Retardo: (0-255) Especifica el tiempo de establecimiento del interruptor.retardo. Button no elimina el rebote ni ejecuta autorepetición.1 • Página 41 . Button elimina el rebote pero no ejecuta autorepetición. Referencia Rápida de Comandos PBASIC: BUTTON BUTTON pin. Dirección: Etiqueta a la que saltará el programa cuando se cumplan las condiciones.CR "!AMAX 20". Parallax desarrolló dentro del juego de instrucciones PBASIC2 un comando específico para trabajar con la detección de señal de entrada digital. Repetir: (0-255) Especifica la cantidad de ciclos por repetición.5: Uso de BUTTON con StampPlot ' Use BUTTON para contar y mostrar la cantidad de veces que se presiona PB1. estadoactivo. PAUSE DEBUG DEBUG DEBUG DEBUG DEBUG 500 "!TITL Uso de BUTTON".bytevariable. dirección • • • • • • • Pin: (0-15) Número de pin de la entrada.estadosalto.CR byte byte ' ' ' ' ' ' ' ' ' Título de ventana StampPlot Configura tiempo de gráfico (segundos) Configura cantidad de puntos Configura eje vertical Reinicia cuando llega a máxima cant. Estadoactivo: (0 or 1) Especifica el estado lógico que ocurre al activar el interruptor. cargue y ejecute el Programa 2.5. Si retardo es 0. ' Reinicie la cuenta total con PB2. La sintaxis del comando se muestra en el cuadro siguiente.CR "!TMAX 50".repetir. Bytevariable: Nombre de una variable tipo byte que sirve como espacio de trabajo para la instrucción BUTTON.CR "!PNTS 300". 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 Versión 1. Si es 255.CR "!MAXR". Estadosalto: Estado del pin en el que se pretende que salte.Experimento 2: Acondicionamiento de Señal de Entrada Digital Comando BUTTON: Rutina Anti Rebote de PBASIC Eliminar el rebote de los interruptores es una tarea común en programación. Para probar esta función con nuestra rutina.

Estas entradas pueden provenir de una variedad de fuentes electrónicas.EspTrabajo2. Experimente cambiando el tiempo de retardo de 50 a 100 y a 200.255.1 . Fuentes de Entrada Digital Electrónicas Es muy común que las entradas digitales provengan de las salidas de otros circuitos electrónicos. incluyendo detectores de proximidad capacitivos o inductivos.255. Este es un comando muy útil para aplicaciones industriales.EspTrabajo1. GOTO Bucle Cuenta: Contar = Contar +1 GOTO Bucle ' Incrementa Contar Borra: Contar = 0 ' Reinicia la cuenta a 0 DEBUG "Cuenta reiniciada.Cuenta BUTTON 2.0. Página 42 • Control Industrial Versión 1. CR ' Muestra el total en el recuadro Status DEBUG DEC Contar. Vea si puede presionar el botón más de una vez. ¿Cuál es el riesgo de permitir demasiado tiempo de establecimiento en aplicaciones de “alta velocidad”? Guarde este programa. DEC Contar. microprocesadores. circuitos de acondicionamiento de señal de sensores. optocuplas o interruptores ópticos.Experimento 2: Acondicionamiento de Señal de Entrada Digital BUTTON 1. BIN In2. DEC Contar. o sistemas de control lógico programables.0. compuertas lógicas y salidas de otros microcontroladores.Borra ' Detección flanco sin rebote de PB1 ' Detección flanco sin rebote de PB2 DEBUG "!USRS Total = ".1.0. CR ' Grafica el estado digital.9 (en Inglés).1. CR ' Muestra mensaje en el recuadro Text GOTO Bucle Revise la documentación sobre el comando BUTTON en el BASIC Stamp Programming Manual Versión 1.1. será modificado ligeramente en el siguiente desafío de programación. por cada vez que se ejecute una instrucción Cuenta. CR ' Muestra el valor del contador con trazo analógico DEBUG IBIN In1. Total = ".

Control Industrial Versión 1. también son válidas para los interruptores electrónicos. ¿El rebote del interruptor representa un problema? 2.Experimento 2: Acondicionamiento de Señal de Entrada Digital Hay varias cosas a considerar cuando conecta estas fuentes a un BASIC Stamp.1 • Página 43 . La acción se debe tomar en el nivel de estado estable de los datos o en su flanco ascendente o descendente? Las técnicas vistas para tratar con el rebote y los disparos por flanco de los pulsadores manuales. ¿La tensión de la fuente de señal está dentro de los límites de entrada del BASIC Stamp? 2. ¿La referencia de masa del circuito es la misma que la del BASIC Stamp? 3. ¿Qué tan rápidos son los datos? ¿Cuál es su frecuencia? ¿Cuál es el tiempo del pulso mínimo? 3. aparece la siguiente interrogante. Primero: “¿Son eléctricamente compatibles?” 1. “¿El programa está en condiciones de responder a la señal?” 1. ¿Es necesario aislar un circuito ante la eventual falla eléctrica del otro? La Figura 2.10 muestra varias posibilidades de interconexión eléctrica que podría necesitar. Una vez que se obtiene una señal compatible.

(d) Una configuración de amplificador operacional trabajando como comparador con referencia puede establecer una salida Alta / baja de acuerdo a si la entrada analógica está por encima o debajo de una tensión de referencia. El resistor del LED limita la corriente a un nivel seguro. Lo usaremos en la próxima aplicación. Alimente el chip con su fuente de baja tensión y una las masas. Nuevamente. (c) Las señales digitales de alta tensión pueden conectarse mediante un buffer 74HC4050 o un inversor 74HC4049 alimentado con +5 Volts. en el caso que el otro falle. (b) Los dispositivos de baja tensión (+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. Ejercicio 4: Interruptor Electrónico Página 44 • Control Industrial Versión 1.Experimento 2: Acondicionamiento de Señal de Entrada Digital Figura 2. (e) Se puede usar una optocupla para conectar diferentes niveles de tensión al BASIC Stamp.10: Interfaz de Electrónica 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. El LM358 es un amplificador operacional cuya salida puede ir desde masa hasta cerca de Vdd con una alimentación simple de +5 Volt. Estos dispositivos pueden manejar con seguridad entradas de hasta 15 Volts.1 . perfecto. El circuito de entrada puede ser aislado totalmente de la fuente de alimentación del fototransistor del BASIC Stamp. Si los dos sistemas están alimentados desde los mismos 5 Volts. Sino al menos las masas deben ser comunes (conectadas juntas). las masas deben ser comunes. Esta aislamiento provee protección efectiva de cada circuito. mientras que permite un nivel de luz suficiente para saturar el fototransistor.

10 como interfaz apropiada. en algún momento su resorte se gastará. • Los interruptores de proximidad inductivos miden el cambio en el rendimiento de un oscilador. debe considerar la naturaleza de este circuito de señal y condicionarlo para la entrada digital del microcontrolador. A menudo los objetos de metal absorben energía mediante corrientes parásitas.2. necesitará usar alguno de los circuitos mostrados en la Figura 2. La salida de un interruptor electrónico es una señal de dos estados. Los interruptores de proximidad capacitivos miden un incremento en la capacidad cuando se les acerca cualquier tipo de material.1 • Página 45 . Los interruptores de la figura representan las tres principales categorías: Inductivo.Experimento 2: Acondicionamiento de Señal de Entrada Digital Los interruptores electrónicos que proveen detección “sin contacto” son muy populares en aplicaciones industriales. • • Interruptor de Proximidad? Los interruptores de proximidad detectan la presencia de un objeto. Los interruptores ópticos detectan la presencia o ausencia de un angosto haz de luz. Activación sin contacto físico significa que no hay que usar contactos eléctricos ni partes móviles. la salida del interruptor de proximidad estará muy cerca de 0 Volts en un estado y muy cerca de la tensión de fuente en el otro. o sus contactos de desgastarán u oxidarán.10. Sin embargo. antes de conectarlo a un microcontrolador desprotegido. Control Industrial Versión 1. causa que el oscilador interno comience a oscilar. el interruptor electrónico puede necesitar un resistor de referencia como se empleó en la Figura 2. a menudo en el rango infrarrojo. Cuando el incremento es suficientemente grande. El circuito se dispara y el estado de la salida cambia. el haz de luz podría reflejarse en un objeto móvil hacia el sensor óptico del interruptor. hasta el punto que deje de ser conveniente usarlo. sin contacto físico. Su etapa final puede ser cualquiera de las mostradas en la Figura 2. cuando objetos de metal se acercan. Si las tensiones de salida no están dentro de los límites compatibles con el BASIC Stamp. Los interruptores eléctricos industriales utilizan uno de tres principios. lo que hace que el oscilador se detenga. Siempre es una buena idea medir la tensión de los estados del interruptor con un voltímetro. La hoja de datos del fabricante le dará información sobre la tensión de operación del interruptor y conexiones de cargas típicas. Capacitivo y Óptico Aunque puede tomar el pin de entrada digital del BASIC Stamp como una carga. Normalmente. Como técnico y desarrollador de aplicaciones. En interruptores ópticos reflectivos. El pulsador que usamos anteriormente serviría en una aplicación donde se lo presionara varios miles de veces. 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.

En nuestro caso intentaremos determinar la presencia de un objeto blanco y plano. La diferencia entre estas mediciones puede ser bastante pequeña. acerque y aleje del par un trozo de papel blanco. Mida la tensión cuando no hay ningún objeto frente al sensor. El amplificador operacional LM358 es una buena elección para esta aplicación. la reflexión proveniente de un objeto que pasa por delante del par.3. será detectada por el fototransistor. Construya cuidadosamente el circuito de la Figura 2. Si aplicamos esta señal a la entrada de un comparador con referencia.11 emite continuamente un haz de luz infrarroja.3. pero esto será suficiente para disparar el amplificador operacional. Página 46 • Control Industrial Versión 1. este se va hacia el corte y la tensión de colector aumenta positivamente. Anote este valor en la Tabla 2. parte de la luz del LED se reflejará hacia el fototransistor. podremos establecer un punto de ajuste entre las dos condiciones. para determinar las RPM. Montar los componentes cerca de un extremo como se muestra en el diagrama. Con el LED y el fototransistor lado a lado. Cuando la luz lo alcanza. Haga un doblez de 90o en las patas del LED y del fototransistor para que queden paralelos a la mesa. Esta señal se aplica en la entrada inversora del LM358. Si se evita que la luz llegue al fototransistor. Un aumento en la corriente de colector lleva al fototransistor hacia la saturación (masa). La luz emitida por el LED causará una corriente en el colector del fototransistor. Su nivel de salida depende de qué lado del punto de ajuste. La cantidad de luz reflejada hacia el sensor depende de la reflectividad óptica del objeto y de la geometría del haz de luz. El LED en la Figura 2. El potenciómetro proveerá la tensión de referencia en la entrada no inversora. En la Figura 2. A medida que el papel se acerca al par IR. intentará la detección del objeto a una distancia de dos o tres centímetros. Estas condiciones de luz y oscuridad normalmente no generarán una señal TTL válida en el colector del transistor. El fototransistor y el LED deberían ponerse apuntando hacia fuera del borde de la protoboard. Puede operar con una fuente simple de +5 Volt y sus tensiones de salida son casi iguales a las tensiones de la fuente de alimentación +5 y masa. Luego. el diodo emisor de luz infrarroja (LED) y el fototransistor infrarrojo forman un par emisor / detector acoplado. Luego el interruptor se usará como tacómetro.11.3. se encuentra la salida del fototransistor. Si un objeto se aproxima al par. mientras observa la variación de tensión. hay poca o ninguna luz entrando al fototransistor debido a que no hay nada reflectivo frente a él. Con el emisor y el detector montados lado a lado. nos permitirá agregar más componentes en los próximos ejercicios. La salida del comparador será una señal lógica compatible con TTL. como 0. Debe medir un par de tensiones para calibrar la presencia de un objeto.1 . Usaremos este interruptor para contar y detectar objetos.11 en la protoboard. Coloque un voltímetro entre el emisor y el colector del fototransistor. la luz reflejada incrementa la corriente de colector y lleva al transistor hacia la saturación (bajo). Esta referencia será un valor intermedio entre las lecturas de la Tabla 2.5 V. Con esta configuración. Anote la lectura de tensión con el papel a unos dos centímetros de los sensores. en la Tabla 2.Experimento 2: Acondicionamiento de Señal de Entrada Digital El ejercicio siguiente se enfoca en el diseño y montaje de un interruptor óptico. la corriente de colector fluirá y su tensión caerá.

Experimento 2: Acondicionamiento de Señal de Entrada Digital Figura 2.11a y b: Dibujo y Esquema Eléctrico del Interruptor Reflectivo Control Industrial Versión 1.1 • Página 47 .

a la izquierda. etc.2. Nuestro interruptor reflectivo podría reemplazar el interruptor “Detector1” de la figura original. El LED de P5 controla la compuerta de desvío. Página 48 • Control Industrial Versión 1. medición de RPM. Si la señal de salida es compatible. Al verificar la salida del LM358 se debería encontrar una señal compatible con el BASIC Stamp. desde el sector de llenado al de empaque. Usted deberá ayudar.EspTrabajo1.1. El pulsador activo alto PB1 podría encender y apagar el motor. Asumiremos que el controlador está contando botellas blancas de leche. La salida debería estar baja sin anteponer el objeto y alta al colocar un objeto blanco frente al par emisor / detector. En estado alto la compuerta está hacia la derecha y en estado bajo.6 (modificación del Programa 2. La línea modificada se vería así: ' Programa 2. simplemente modifique la instrucción button cambiando el identificador de entrada de Pin 1 a 3.1 .3. Solamente se necesita una pequeña modificación al programa anterior para probar nuestro nuevo interruptor. control de cintas transportadoras.5 para trabajar con el interruptor reflectivo) BUTTON 3. Pasarla por delante de nuestro interruptor representa una botella desplazándose por la cinta transportadora. Corte una tira de papel blanco para representar una botella de leche. aplíquela al Pin 3 del BASIC Stamp. Si tiene cargado el Programa 2. El LED de P4 puede encenderse para indicar que el motor está encendido. Detectar la luz reflejada por un objeto es lo que llamamos detección reflectiva.255.3: Valores de Tensión del Fototransistor y el LM358 Condición Sin objeto – sin reflexión Con objeto – reflexión total Tensión de Referencia Tensión en el Fototransistor Tensión de Salida del LM358 Esta habilidad de obtener una conmutación dependiendo de la luz recibida es muy útil para aplicaciones industriales tales como conteo de productos.0. Tabla 2.Experimento 2: Acondicionamiento de Señal de Entrada Digital Ajuste el potenciómetro para proveer la tensión de referencia apropiada.5. usando su imaginación.1. sin embargo. Supongamos que se están transfiriendo botellas de leche por una cinta transportadora. Mida estas dos tensiones a la salida del LM358 anotando los valores en la Tabla 2.Cuenta ' Detección de disparo por flanco sin rebote del interruptor óptico Desafío de Programación 2: Empacadora de Botellas de Leche Revea el Experimento 1 y considere la disposición de cinta transportadora de la Figura 1. que es el punto medio entre ambas mediciones. El siguiente ejercicio demostrará una operación de conteo.

Figura 2.12: Diagrama de Flujo de la Empacadora de Botellas de Leche Control Industrial Versión 1. Vea la Figura 2. Después de haber enviado 4 paquetes de seis botellas a cada lado. TOGGLE (invierta) la posición de la compuerta que se indica encendiendo o apagando el LED en P4. Cada seis botellas. El proceso podría reiniciarse presionando el botón Reset. apague el motor.1 • Página 49 .12 para comprender como trabaja el diagrama de flujo.Experimento 2: Acondicionamiento de Señal de Entrada Digital Su desafío es encender el motor con PB1 y contar botellas a medida que pasan.

Experimento 2: Acondicionamiento de Señal de Entrada Digital Ejercicio 5: Tacómetro Monitorear y controlar la velocidad de giro es importante en muchas aplicaciones industriales. Un tacómetro mide la cantidad de rotaciones de un eje en una unidad de tiempo. La medición normalmente es expresada en revoluciones por minuto (RPM). Un interruptor óptico reflectivo puede abrirse y cerrarse suficientemente rápido 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 información para calcular las RPM. La Figura 2.13 muestra cinco ejemplos de discos codificadores que podrían 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 rotación. Durante la otra mitad de la rotación, 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 revolución 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 continuación. Referencia Rápida de Comandos PBASIC: COUNT
COUNT pin, período, variable
• • •

Pin: (0-15) Identificador de pin de entrada. Período:(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 instrucción 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 hélice del ventilador (puede recortar los discos codificadores del tamaño necesario del Apéndice B de este libro). El ventilador es de 12 V. Su velocidad cambia con tensiones que varían desde 12 V hasta aproximadamente 3,5 V. Esta es la caída de tensión del circuito de control del motor sin escobillas. Pruebe su ventilador conectándolo directamente primero a Vdd (+5 Volts) y luego a +Vin (tensión sin regular). Busque en su plaqueta el rótulo Vin, para tener acceso a la tensión 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 debería colocarse de forma que el disco codificador apunte hacia el par IR.

Página 50 • Control Industrial Versión 1.1

Experimento 2: Acondicionamiento de Señal de Entrada Digital Figura 2.13: Discos Codificadores para Interruptor Óptico Reflectivo (versiones para recortar en el Apéndice B)

Control Industrial Versión 1.1 • Página 51

Experimento 2: Acondicionamiento de Señal de Entrada Digital

El primer disco codificador tiene un sector negro y uno blanco. A medida que rota, el interruptor óptico debería activarse y desactivarse una vez por cada vuelta o revolución. Ingrese el Programa 2.7 de Prueba de Tacómetro.
' Programa 2.7 Prueba de Tacómetro – con el StampPlot ' Inicializa parámetros de interfaz gráfica. ' (También pueden configurarse o modificarse en la ventana del SPL) DEBUG "!AMAX 8000",CR ' Escala Completa RPM DEBUG "!AMIN 0",CR ' Escala mínima RPM DEBUG "!TMAX 100",CR ' Eje de tiempo máximo DEBUG "!TMIN 0",CR ' Eje de tiempo mínimo DEBUG "!AMUL 1",CR ' Multiplicador de escala analógica 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 ' Envía el valor de RPM a graficador y barra de estado DEBUG "!USRS RPM actuales ", DEC RPM, CR GOTO Bucle

A medida que la hélice gira, los pulsos generados por el interruptor óptico se contarán durante 1000 milisegundos (un segundo). Con una duración de la rutina Contar de un segundo, y produciéndose un ciclo por cada rotación, obtenemos directamente la velocidad de rotación de la hélice en ciclos por segundo. Pero normalmente, la velocidad de rotación 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 información 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 botón de Reset de su plaqueta y el SPL comenzará a graficar. La Figura 2.14 muestra un ejemplo del gráfico con las RPM alimentando el motor a distintas tensiones .

Página 52 • Control Industrial Versión 1.1

Experimento 2: Acondicionamiento de Señal de Entrada Digital

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

RPM actuales 0

El disco codificador giratorio podría 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 potenciómetro hasta encontrar el nuevo valor promedio. Si tiene acceso a un osciloscopio, mida la salida pico a pico del fototransistor y la tensión que aplica el potenciómetro sobre el comparador. El rendimiento óptimo se obtendrá si ajusta la tensión de referencia, en el punto medio de los niveles de tensión pico a pico. Observe la frecuencia y la forma de onda de la señal. 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 Versión 1.1 • Página 53

Experimento 2: Acondicionamiento de Señal de Entrada Digital

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

Anote la lectura del tacómetro cuando se aplica la tensión máxima al motor. Puede usar Vin en su plaqueta (entrada directa de tensión de fuente, siempre que sea menor de 12 V) para máxima velocidad, o Vdd (5 V regulados) para obtener una velocidad menor. Contar = ___________ RPM = _____________

Cuando pruebe su tacómetro, 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 caerían por un factor de 60 (4980 a 4920 a 4860, etc.).

Página 54 • Control Industrial Versión 1.1

el microcontrolador estará leyendo los pulsos durante dos segundos y las RPM se obtendrán calculando [(Contar/2 segundos) x 60}. cambie en la línea RPM = Contar * 60 el valor de escala de 60 a 30. La línea de cálculo de RPM del programa.7 de 1000 milisegundos a 2000 milisegundos. Tabla 2. Al incrementar la duración del conteo se incrementó la precisión de la medición de las RPM.Experimento 2: Acondicionamiento de Señal de Entrada Digital Debido a que estamos contando durante un segundo y obtenemos un pulso por vuelta. Otro método para mejorar la resolución es incrementar la cantidad de pulsos por vuelta. con cuatro pulsos por vuelta.1 • Página 55 . . Esto se simplifica a RPM = 30 x Contar obteniendo una resolución de 30 RPM. o aumentar la cantidad de pulsos por vuelta. el BASIC Stamp está atado a la función BUTTON por la duración total. tiene un par de opciones: incrementar el tiempo durante el cual se realiza la cuenta. para obtener una resolución de una RPM. no se atiende el resto del programa. ¡Inténtelo! El tercer disco codificador tiene aún más resolución.4: RPM Obtenidas de un Codificador de 1 Pulso / vuelta con Distintos Tiempos de Conteo. debería ser RPM = Contar x 60 / 2 para este codificador. En el Programa 2. Podría necesitar modificar la calibración de la referencia del comparador cada vez que cambia de un disco codificador a otro. Este disco tiene dos segmentos blancos y producirá dos pulsos a contar por revolución. el programa puede obtener las RPM con una resolución de 60 unidades. este codificador producirá el doble de pulsos de los que producía el primer codificador.4. Duración Conteo 1000 mS 2000 mS 3000 mS 60000 mS Contar 84 169 254 5082 Escala 60 30 20 1 RPM 5040 5070 5080 5082 Resolución 60 RPM 30 RPM 20 RPM 1 RPM Como puede ver. Durante este tiempo. Probemos la primer opción. nuestra rutina de conteo debe tener una duración de todo un minuto (60. Durante un conteo de un segundo de duración. una duración tan larga no es recomendable. Control Industrial Versión 1.000 ms). A menos que usted sea muy paciente. Pruebe su sistema. o RPM = Contar x 30. Por esta razón. Vea la Tabla 2. Para mejorar la resolución en la lectura de las RPM. esto es inaceptable. Coloque este codificador en su ventilador y modifique la línea de RPM a RPM = Contar * 15. Haciendo esto. En términos de programación. Corte el segundo disco codificador y péguelo a la hélice de su ventilador. Incremente el tiempo de conteo del Programa 2.7.

cuatro pulsos. 4 Pulsos y 6 Pulsos / vuelta La precisión requerida en un tacómetro dependerá de cada aplicación. Página 56 • Control Industrial Versión 1.16: Trazos de Osciloscopio para Discos Codificadores de 2 Pulsos. La Figura 2. Puede encontrar difícil de usar el codificador de seis pulsos / vuelta si no usa algún tipo de filtro o enfoque en el haz de luz.Experimento 2: Acondicionamiento de Señal de Entrada Digital Si usa el codificador de seis pulsos. Los codificadores comerciales vienen con resoluciones mayores de 500 pulsos por revolución.16 muestra trazos de osciloscopios tomados usando discos codificadores de dos pulsos. rotando a 4. ¿qué valor debería usar para ajustar la escala de Contar a RPM? Coloque su respuesta en la Tabla 2.1 . Son las propiedades focales del par emisor / detector las que limitarán la cantidad máxima de segmentos que podrá tener el disco codificador. Figura 2.5 para obtener un codificador con una resolución de 360 pulsos por revolución.980 RPM. Complete los valores apropiados en la Tabla 2.5. y seis pulsos por vuelta.

Experimento 2: Acondicionamiento de Señal de Entrada Digital Tabla 2. La sintaxis del comando PWM se muestra a continuación. Referencia Rápida de Comandos PBASIC: PWM PWM Pin. Trabajo. Éste provee la amplificación de corriente para alimentar la carga.980 RPM Pulsos por Vuelta 1 2 4 6 360 Contar 83 166 312 498 ______ Factor de Escala 60 30 20 ______ ______ RPM 4.190.30 producirá en el pin de salida 7.17 muestra un circuito sample and hold que funcionará correctamente con el motor sin escobillas. Ciclos.1 • Página 57 . la tensión promedio en el pin es de 0. PWM cambia la dirección del pin de salida a entrada. Al finalizar su ejecución. Para mantener el valor de esta tensión promedio durante la ejecución de un bucle completo del programa. se varía su velocidad. Idealmente la carga. • Ciclos: es un valor entre 0 y 255 que especifica la duración del PWM en milisegundos.980 4. del dieléctrico del capacitor y la entrada del amplificador operacional (op amp). durante 30 milisegundos. El BASIC Stamp no tiene una salida analógica continua. Control Industrial Versión 1. lo que resulta en un leve aumento de la tensión. Normalmente la corriente de polarización es el efecto dominante. Durante este tiempo.5: Velocidad de Giro Dada de 4. El comando de modulación por ancho de pulso (PWM) le permite al BASIC Stamp generar una tensión analógica promedio controlable. Pequeñas corrientes de pérdida en el capacitor y de polarización en el operacional causan ligeras variaciones en la tensión entre cada comando PWM.980 4.75 x 5 o 3. La instrucción PWM 7.980 4. una serie de pulsos cuyo tiempo en estado alto promedio es 0. • Pin: especifica el pin que generará la tensión de salida. Esto coloca al pin en una condición de alta impedancia y la carga del capacitor se retiene debido a la alta impedancia del pin 7. La salida de este amplificador alimenta al transistor Q1.980 _______ Desafío 3: Monitorear y Controlar la Velocidad de un Motor.5 Volts. • Trabajo: es un valor entre 0 y 255 que expresa la salida analógica promedio entre 0 y 5 Volts. podría retenerse indefinidamente. se debe desarrollar un circuito de muestreo y retención (sample and hold). La Figura 2.75 (190/255). Al variar la tensión aplicada a un pequeño motor sin escobillas. así como la tensión en el capacitor. El operacional se configura con una ganancia 3 mediante la red RF/Rin (Av = Rf/Rin + 1). El capacitor Chold se carga durante el comando PWM a la tensión promedio.

en la protoboard.1 .17 Ventilador alimentado por un PWM con sample and hold.6 y use un voltímetro para registrar el valor de tensión aplicado al ventilador. para limitar la tensión en el P3 a 5 Volts. De acuerdo a esta ecuación. Reemplace “Trabajo” con los valores que aparecen en la Tabla 2. Observe que la fuente de alimentación del operacional se cambió a la entrada de fuente sin regular (9 Volts). las tensiones entre 4 y 12 se generarán con valores de Trabajo entre 70 y 210. para cada valor listado.11.Experimento 2: Acondicionamiento de Señal de Entrada Digital La Figura 2. Agregue cuidadosamente este circuito a su tacómetro. Nota: Es imprescindible que coloque el diodo Zener que se muestra en la Figura 2. Figura 2. Esto permite que el circuito tenga una salida de tensión que se aproximará al valor de la fuente. La tensión aplicada al ventilador será aproximadamente igual a: (5V x Trabajo/255) x 3.1 usa el segundo operacional de su LM358. El operacional que funciona como comparador en su tacómetro también tendrá una salida mayor. Ventilador Comprobando el Sample and Hold La electrónica interna del ventilador necesita entre 4 y 5 Volts para funcionar. Página 58 • Control Industrial Versión 1. Su BASIC Stamp estará en peligro si la tensión excede los 5V.

Cada incremento se probará durante aproximadamente 5 segundos.CR ' Enciende el graficador DEBUG "!RSET". el tacómetro del Programa 2. Si no se usara Sample and Hold. Modifique el Programa 2. 60 PAUSE 500 GOTO Bucle Tabla 2. Ejecute el programa y anote las características tensión velocidad en la Tabla 2.CR ' Dibuja 600 puntos de datos DEBUG "!PLOT ON".con StampPlot) ' Inicializa parámetros de interfaz gráfica.8. Recuerde que este programa informaba las RPM del motor contando los pulsos provenientes del disco codificador durante 1 segundo. basándose en las pruebas realizadas en el Programa 2.9 (Programa 2.Experimento 2: Acondicionamiento de Señal de Entrada Digital 'Programa 2. ' (También pueden configurarse o modificarse en la ventana del SPL) DEBUG "!AMAX 8000".CR ' Escala Completa RPM DEBUG "!AMIN 0". La fórmula para calcular la tensión esperada asume que el circuito sigue la función transferencia discutida anteriormente.CR ' Eje de tiempo mínimo DEBUG "!AMUL 1".6. El programa operará el motor incrementando el Ciclo de Trabajo entre 70 y 210.1 • Página 59 .8 Bucle: Prueba de Sample and Hold PWM 7. el motor se detendría durante este período de un segundo.9 muestra las modificaciones resaltadas en negritas.7 como se muestra a continuación (las instrucciones agregadas están en negritas).CR ' Escala mínima RPM DEBUG "!TMAX 100".CR ' Reinicia la pantalla Control Industrial Versión 1. Puede modificar esta fórmula para ajustar mejor su circuito.7 Modificado . StampPlot mostrará estos valores en el recuadro de estado y graficará las RPM continuamente.CR ' Eje de tiempo máximo DEBUG "!TMIN 0".7 se modificará para incluir el PWM con el circuito Sample and Hold. (Trabajo). 'Programa 2.6 Trabajo 60 80 100 120 140 Tensión Trabajo 160 180 200 220 254 Tensión Luego. El Programa 2.CR ' Multiplicador de escala analógica DEBUG "!PNTS 600".

" a " .1 .1000. 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. Contar RPM = Contar * 60 DEBUG DEC RPM. ' Contar los pulsos del pin 3 por 1 segundo ' Ajusta escala de RPM ' Envía el valor de RPM a graficador y barra de estado ". " RPM es ". ' 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 tensión en decenas de Volts.DEC RPM. CR Página 60 • Control Industrial Versión 1.DEC x. x.Experimento 2: Acondicionamiento de Señal 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.DEC Tvolts. 50 Tvolts = 50 * x / 255 * 3 COUNT 3." Tvolts".

Control Industrial Versión 1. Recopile la respuesta del motor a los cambios en la tensión.Experimento 2: Acondicionamiento de Señal de Entrada Digital Trabajo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Tensión RPM StampPlot Lite graficará las características tensión velocidad de su motor.1 • Página 61 . Use el puntero del mouse para leer las RPM en cada escalón del gráfico.

¿cuáles son las RPM del motor? Página 62 • Control Industrial Versión 1.Experimento 2: Acondicionamiento de Señal de Entrada Digital Preguntas y Desafío Preguntas 1. ¿Cuál es la tensión de entrada máxima absoluta del BASIC Stamp? 6. Se necesitan seis pulsos por cada revolución. ¿Cuál es la resistencia “ideal” de un interruptor mecánico en el estado abierto? ¿Y en el estado cerrado? Resistencia abierto = ___________ . Un pulsador normalmente abierto en configuración estado “activo bajo” indicará un estado lógico _______ mientras no está siendo presionado. 8. Si ocurren 20 en un segundo. 2.1 . Resistencia cerrado = _____________ 3.3 Volts está en el área ________de operación. 7. una entrada de 1. 10. Para algunos dispositivos CMOS. Cuando se ilumina la base de un fototransistor. 5. ¿Qué tipo de interruptor de proximidad se activa solamente con objetos metálicos? 9. Los dispositivos lógicos de baja tensión operan a ______ Volts de corriente continua. Un dispositivo industrial cuya salida solamente puede tomar dos estados posibles es llamado ______________. Explique el propósito del resistor que se conecta en serie con el interruptor para acondicionar una señal de entrada digital. Las RPM de un motor de automóvil de seis cilindros pueden determinarse contando los pulsos enviados a la bobina de ignición. la corriente de colector __________ y la tensión colector emisor ___________. 4.

Dibuje un circuito de un pulsador normalmente abierto con su resistor de “pull-up”. El circuito deberá dibujarse de forma que al presionar el botón se genere un estado lógico bajo.Experimento 2: Acondicionamiento de Señal de Entrada Digital ¡Diséñelo! 1. Control Industrial Versión 1.1 • Página 63 . 2. El circuito deberá dibujarse de forma que al presionar el botón se genere un estado lógico “bajo”. Dibuje un circuito de un pulsador normalmente cerrado con un resistor en serie de 10K-Ohm.

1 . ¿Cuál tiene una tensión se salida creciente cuando se aumenta el nivel de luz? ¿Por qué? ¿Cuál es la tensión de salida de Circuit B si el nivel de luz satura el transistor Q1? Página 64 • Control Industrial Versión 1. Observe los circuitos de fototransistor que aparecen abajo.Experimento 2: Acondicionamiento de Señal de Entrada Digital ¡Analice! 1.

Control Industrial Versión 1. ¿Cuál sería el estado de salida del comparador en condiciones de “luz”? ¿Sería más conveniente programar para detectar el nivel de tensión o el flanco generado por este circuito? ¿Por qué? 3. El circuito comparador de abajo es usado para determinar cuándo encender o apagar una lámpara de seguridad. Su hoja de datos especifica que opera con 10 Volts.1 • Página 65 . +Vdd.Experimento 2: Acondicionamiento de Señal de Entrada Digital 2. como “sumidero de corriente” (colector abierto). y el dispositivo de interfaz (Interface device). El interruptor óptico reflectivo (Optical Switch Banner Corporation) de abajo debe conectarse a un Basic Stamp (BS2 Input).10 y complete los valores apropiados para +V. Vea la Figura 2.

Además de esta entrada. Cuando la velocidad del disco cae a cero. Escriba programas para duplicar la operación de las compuertas OR. Use un potenciómetro para ajustar la velocidad inicial del motor. para detener el vehículo. use un pulsador para simular el pedal del freno. 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 Página 66 • Control Industrial Versión 1. apague el LED. Haga de cuenta que su tacómetro reflectivo provee la entrada a un sistema antibloqueo de frenos de un automóvil. Un LED activo alto representará la acción del frenado. Escriba un programa que detecte cuándo se presiona el pedal del freno.Experimento 2: Acondicionamiento de Señal de Entrada Digital ¡Prográmelo! 1. Configure los dos pulsadores como entradas activo altas. Haga que su programa encienda el LED mientras la velocidad esté por encima de cero. Conecte un LED como salida activo alta. 2.1 . AND y XOR.

Control Industrial Versión 1. Escriba si supone que el dispositivo controla directamente la carga.Experimento 2: Acondicionamiento de Señal de Entrada Digital Actividad de Campo ¿Cuántos dispositivos digitales (de dos estados) puede identificar en un auto nuevo? Liste todos los que pueda.1 • Página 67 . usa algún tipo de relé. o si piensa que su estado está siendo monitoreado por un microcontrolador.

Experimento 2: Acondicionamiento de Señal de Entrada Digital Página 68 • Control Industrial Versión 1.1 .

1a. cada salida puede entregar 25 mA y recibir 20 mA de corriente. válvulas y lámparas.1 • Página 69 . sino que son compatibles con estos) Como dijimos en el TTL Experimento 2. calentadores. o masas no comunes que requieren consideraciones especiales. fuentes de alimentación separadas. Figura 3. Ellos entregan la energía al proceso bajo control. Cuando pone el pin en estado alto. La corriente de carga fluirá hasta masa. En algunas aplicaciones. Algunos ejemplos incluyen motores.1b: Absorción de Corriente Control Industrial Versión 1. (Nota del Traductor: Los Nota Traductor niveles usados por el BASIC Stamp NO SON TTL.1a: Suministro de Corriente Figura 3. solenoides. el BASIC Stamp puede controlar transistores de potencia. Los dispositivos de salida son aquellos que realizan el trabajo en una aplicación de control de proceso. tiristores y relés.Experimento 3: Acondicionamiento de la Señal de Salida Digital Las salidas de un microcontrolador pueden ser usadas para controlar el estado de dispositivos de campo de salida. Relacionando esto al diagrama de la Figura 3. puede usar la salida del BASIC Stamp para comunicarse con otro microcontrolador o circuito electrónico. El foco de este experimento es presentar algunas de las técnicas de acondicionamiento de señal usadas para conectar su BASIC Stamp a distintos dispositivos de salida. aparecen 5 Volts sobre el resistor (RL). Experimento 3: Acondicionamiento de la Señal de Salida Digital El diseño del acondicionamiento de señal apropiado comienza observando las características y limitaciones de las salidas del BASIC Stamp. Con un acondicionamiento de señal apropiado. observe como se puede conectar la carga.1: Disponibilidad de Corriente en un pin de Salida del BASIC Stamp Figura 3. esto significa que puede conmutar entre un estado alto de aproximadamente 5 Volts a un estado bajo cercano a 0 Volts. La salida de baja potencia del BASIC Stamp (o cualquier otro microcontrolador) no le permite proveer la energía requerida por estas cargas. Estos son los dispositivos que pueden entregar las tensiones y corrientes que demandan los dispositivos de campo.1. a través del resistor. De acuerdo a la hoja de datos del BASIC Stamp. La salida de un BASIC Stamp usa niveles “TTL standard”. En este modo de suministro de corriente el BASIC Stamp puede entregar un máximo de 20 mA. la carga es conectada desde el pin de salida a masa. En la Figura 3. Podría haber problemas de compatibilidad entre diferentes familias lógicas.

El circuito de entrada (terminales 1-2) es equivalente a la Figura 3. no está conectada internamente a +V. Este es el modo de absorción de corriente en el que el BASIC Stamp puede recibir un máximo de 25 mA. Normalmente la salida de estos dispositivos se denomina salida con “colector abierto”. Las salidas se han usado para encender LEDs en ejercicios previos. No se muestra el detalle de este circuito. Las limitaciones de corriente y tensión de la salida se muestran en la hoja de datos del dispositivo y normalmente también se encuentran impresas en el encapsulado. La Figura 3. atravesando la carga. la carga está entre el pin de salida y la fuente de +5 Volts Vdd. En los desafíos de programación anteriores.1b.2: Circuitos de BASIC Stamp con LED y con Relé de Estado Sólido Figura 3. Esta suposición se vuelve real cuando considera la operación de un relé de estado sólido (SSR). La luz Traductor: Nota emitida por el diodo da una indicación visual del estado de la salida.2b: BASIC Stamp con Relé de Estado Sólido Página 70 • Control Industrial Versión 1. Estos dispositivos normalmente pueden "absorber" más corriente de la que pueden "entregar". había asumido que el estado del LED representaba la acción del proceso que se estaba realizando en ese momento.2a. Algunos dispositivos no pueden entregar corriente porque la salida.Experimento 3: Acondicionamiento de la Señal de Salida Digital En la Figura 3.2b muestra el esquema del relé de estado sólido. Cuando la salida del BASIC Stamp está en estado bajo. La corriente fluye desde la alimentación hacia el pin de salida del BASIC Stamp en estado bajo (masa). La entrada de +3 a +24 V CC identifica el rango de tensiones de control. Si se excede la tensón de control máxima. pero está representado por el símbolo de contacto normalmente abierto. cayendo el resto de la tensión en el resistor de 220-Ohm.2a: BASIC Stamp con LED Figura 3. La luz generada en el SSR acciona un circuito de salida controlado ópticamente.1 .2a. la corriente resultante puede dañar el LED. Las tensiones de control deben estar por encima de la tensión que produce suficiente corriente en el LED para encenderlo. como muestra la Figura 3. el diodo se polariza en directa generando una caída de tensión de más de un Volt. Especificación de Corriente de un Circuito Digital? Las especificaciones de la salida de los circuitos digitales se muestran en las hojas de datos del fabricante. Figura 3. Esto limita el flujo de la corriente a aproximadamente 16 mA. (Nota del Traductor Estos valores fueron corregidos por el traductor).

No lleve las especificaciones al límite. Algunos relés electrónicos no incluirán el resistor limitador de corriente interno en la entrada. asegúrese que todas las conexiones están firmemente aseguradas y bien realizadas.1 • Página 71 . Preste mucha atención a la necesidad del uso de disipadores. No hay conexión eléctrica entre el microcontrolador y la carga de alta potencia. Control Industrial Versión 1. La hoja de datos del Potter-Brumfield SSR puede encontrarse en el Apéndice C. 4. Los relés de estado sólido proveen una interfaz simple para controlar cargas en aplicaciones industriales. asegúrese de no sobrepasar un valor máximo de 1 A en las pistas de la misma. Con la tensión de línea corre el riesgo de recibir un shock eléctrico. Identifique claramente los potenciales de alta tensión con rótulos apropiadas. 3. antes de aplicar la tensión de la línea. normalmente requieren el uso de un disipador apropiado. Pueden ser diseñados para usarse con cargas de CA o de CC. Revise la hoja de datos y obtenga los datos siguientes. Todo el cableado y las conexiones entre la fuente de alimentación y la carga deben ser capaces de conducir la corriente. 5. Input tensión range: Input current requirement @ five Volts: Maximum output load current: Maximum output load tensión: Electrical isolation: ____________ ____________ ____________ ____________ ____________ (Rango de tensión de entrada) (Corriente de entrada a 5 Volts) (Máxima corriente de salida) (Máxima tensión de salida) (Aislamiento eléctrico) Precauciones al seleccionar y emplear relés de estado sólido: 1. El valor del resistor depende de la tensión de control y de las especificaciones de corriente de entrada recomendada por el fabricante. 2. Familiarícese con las especificaciones de la hoja de datos del SSR para asegurarse la elección correcta para su aplicación. Si se colocan relés en la protoboard. En esos casos. se debe agregar un resistor externo en serie con el LED interno. o problemas en la línea de alimentación tales como picos de tensión. Cubra o use blindaje sobre estos contactos.Experimento 3: Acondicionamiento de la Señal de Salida Digital Los relés de estado sólido vienen para muchos rangos de salida. Tome medidas para evitar el contacto con potenciales de alta tensión. El BASIC Stamp controla la carga mediante una señal acoplada ópticamente. Un beneficio adicional del relé de estado sólido es el aislamiento eléctrico. no repercutirán en el BASIC Stamp. Los valores bajo carga máxima. Las fallas eléctricas en la carga. Sobredimensione las características de salida como mínimo un 20%. La carga que usará es la que define las especificaciones mínimas del SSR requerido. Respecto a la tensión del circuito de salida.

Figura 3.1 .3a.3a: Secuencia de Perforado Automático Página 72 • Control Industrial Versión 1. Considere la operación de maquinado de la Figura 3. Muchos procesos dependen de la ejecución ordenada de operaciones.Experimento 3: Acondicionamiento de la Señal de Salida Digital Ejercicios Ejercicio 1: Control Secuencial El BASIC Stamp es muy bueno para realizar operaciones de control secuencial.

necesitará usar su imaginación para lograr que los LEDs simulen el comportamiento de los SSRs que controlarían la cinta transportadora. Luego de una breve pausa.3b en su plaqueta. use su LED verde para la cinta transportadora. Con el acondicionamiento de señal apropiado. Arme el circuito de la Figura 3.Experimento 3: Acondicionamiento de la Señal de Salida Digital Figura 3.1 • Página 73 . la cinta transportadora se detiene.3b: Control Secuencial (salidas a la izquierda. Cuando se detecta una pieza. el comando “perforar” se detiene y se eleva la posición del taladro. el BASIC Stamp puede controlar fácilmente esta secuencia. otra pausa corta y el taladro baja hacia la pieza. Cuando se activa el detector de profundidad. el solenoide se activa para sujetar la pieza. Cuando se detecta otra pieza. Un interruptor de proximidad controla la profundidad del agujero taladrado. el proceso secuencia se repite. Para facilitar las cosas. el solenoide y el taladro. Control Industrial Versión 1. el amarillo para el solenoide y el rojo para el taladro. Para nuestro ejercicio. La pieza procesada es retirada de este sector y la cinta transportadora continua moviéndose hasta que se detecte otra pieza. Dos pulsadores y sus dedos simularán una pieza que llega a su posición y la indicación de profundidad de perforado. Luego de darle un tiempo para que el taladro se retraiga. el solenoide libera la pieza y se activa la cinta transportadora. entradas a la derecha) Una cinta transportadora está moviendo piezas a través de una estación de perforado.

Para simular una pieza entrando en el área de perforado.4: Diagrama de Flujo de Control Secuencial El Programa 3.1 sigue muy de cerca lo expresado en el diagrama de flujo. debe presionar y retener el Pulsador P1.Experimento 3: Acondicionamiento de la Señal de Salida Digital El control secuencial es muy fácil de representar con diagramas de flujo. el Página 74 • Control Industrial Versión 1. el LED verde se enciende.4 con la descripción del proceso anterior. Ingrese el programa y pruébelo. El LED a cinta se apagará instantáneamente y el LED amarillo que representa el relé del solenoide se encenderá luego de una pausa. Estudie el programa. Figura 3. le ahorrará tiempo en la escritura del programa. Compare el diagrama de flujo de la Figura 3.1 . Luego de que el solenoide tuvo tiempo suficiente para sujetar la pieza. compare su estructura con el diagrama de flujo. Nuevamente tendrá que usar su imaginación para simular este proceso. El tiempo que se necesita para completar el diagrama de flujo. Cuando el programa se inicia. Esto representa la activación de la cinta transportadora.

como lo indica el LED rojo. levanta el taladro Control Industrial Versión 1. 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. Saque su dedo del pulsador P2 para indicar que el taladro se está alejando de la pieza. Desconecte el cable serial de la ficha de su plaqueta y continúe simulando el proceso secuencial. ' 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. Ejecute el programa algunas veces. redefiniremos sus dos entradas y tres salidas para simular otra operación.Experimento 3: Acondicionamiento de la Señal de Salida Digital taladro se activará y comenzará a perforar la pieza. no necesita mantener su computadora conectada al BASIC Stamp.1: Operación de Maquinado Controlada por Proceso Secuencial ' ' ' ' ' Detector de pieza Profundidad de perforación Relé de cinta transportadora (verde) Relé de solenoide (amarillo) Relé de taladro (rojo) ' Lógica negativa ' Inicializa salidas en off (apagadas) ' Enciende cinta transportadora ' Si se presiona. a medida que se contrae a su posición original durante los dos segundos que el programa queda detenido. Luego de esta pausa. La pieza está terminada y deja la zona de perforado. Si conectáramos los dispositivos reales al BASIC Stamp podríamos repetir continuamente este proceso. Desde este punto la secuencia comienza otra vez. Usted será desafiado a desarrollar el programa necesario para esta aplicación de control. El pulsador P2 representa un interruptor de proximidad que detecta que la profundidad de la perforación es la correcta. Al presionar P2 se apagará el LED rojo.1 • Página 75 . Después de comprender este proceso secuencial. En este momento coloque otro dedo en el otro pulsador para indicar que el agujero es suficientemente profundo. A no ser por el reporte de DEBUG que indica cuando una pieza ha sido terminada. el solenoide liberará la pieza (luz amarilla se apaga) y la cinta transportadora se activa nuevamente. indicando que el taladro se detuvo. El BASIC Stamp funciona como el controlador (“embedded controller”) de esta aplicación.

CR ' Configura tiempo de barrido (segundos) "!PNTS 500". CR ' Cantidad de puntos de datos "!AMAX 20". El Programa 3.5 muestra este proceso secuencial siendo monitoreado por el StampPlot Lite. Las interfaces gráficas para usuarios como ésta.Experimento 3: Acondicionamiento de la Señal 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. Las funciones del Programa 3.1 . Comenzando el siguiente ciclo". CR ' reinicia todos los dibujos "!DELD". CR ' Limpia Min/Max "!RSET". a sus capacidades también se le agrega la cualidad de enviar información a una PC. Cargue el Programa 3. CR ' Limpia el recuadro de listado "!CLMM". Estudie los comandos DEBUG usados para el StampPlot Lite que se agregaron al programa original.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". al final de esta sección. CR ' Configura eje vertical "!CLRM". CR ' Toma tiempo para finalizar una pieza Página 76 • Control Industrial Versión 1. Use StampPlot para monitorear el Desafío de Control Secuencial de Mezclado.2 y ejecútelo. Familiarícese con su uso. El StampPlot Lite puede usarse efectivamente para monitorear el proceso de maquinado secuencial. CR ' Comienza a graficar "!TSMP ON". CR ' Borra archivos de datos anteriores "!PLOT ON". 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.2 usa esta interfaz. Los comandos DEBUG se han insertado para enviar datos al StampPlot Lite. Sin embargo. CR ' Título StampPlot "!TMAX 100". Programa 3. 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. La Figura 3.2 son las mismas que las del programa anterior. son muy útiles en la adquisición y conservación de datos de sistemas de control. El programa grafica el estado de las E/S digitales.

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 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 ' Imprime en el recuadro User status IF IN2 = 0 Then Taladro_subiendo ' Indica que el taladro está subiendo Control Industrial Versión 1.1 • Página 77 . Detiene cinta".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.Experimento 3: Acondicionamiento de la Señal de Salida Digital DEBUG "!SAVD ON".CR IF IN1 = 1 THEN Proceso PAUSE 100 GOTO Inicio ' Lógica negativa ' Inicializa las salidas en off ' ' ' ' Grafica el estado Enciende la cinta transportadora Imprime en el recuadro User status Si se presiona. CR INPUT INPUT OUTPUT OUTPUT OUTPUT 1 2 3 4 5 ' Guarda datos en un archivo ' ' ' ' ' Detector de pieza Profundidad de perforación 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".". inicia el "Proceso" Proceso: ' Inicia el Proceso GOSUB Grafica_datos ' Grafica el estado OUT3 = OFF ' Detiene la cinta DEBUG "!USRS Pieza detectada.

BIN IN2.". DEC Piezas.CR ' Grafica estado digital. Cinta transportadora moviéndose.CR ' Grafica contador analógico RETURN Página 78 • Control Industrial Versión 1.Experimento 3: Acondicionamiento de la Señal de Salida Digital PAUSE 100 GOTO Levanta_taladro Taladro_subiendo: GOSUB Grafica_datos DEBUG "!USRS Taladro Subiendo.CR ' Imprime en el recuadro User status Piezas = Piezas + 1 ' Contador de Piezas PAUSE 1000 ' Espera 1 segundo DEBUG "Piezas completadas = ".1 . Comienza el siguiente ciclo ". BIN OUT5.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. DEBUG DEC Piezas.CR ' Imprime cantidad de piezas contadas GOTO Inicio Grafica_datos: DEBUG IBIN IN1.BIN OUT3.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.BIN OUT4.".

Durante la ejecución. El archivo completo contiene 500 muestras (filas de datos). Los siguientes tres trazos son las salidas OUT3 (cinta).txt.Experimento 3: Acondicionamiento de la Señal de Salida Digital Figura 3.6 muestra un ejemplo de cómo aparecen los datos en Microsoft Excel. “Save data to file” o "Guardar datos en archivo" (!SAVD) está en ON (activado). y OUT5 (taladro).1 • Página 79 . los datos incluyen la hora del día y el tiempo de ejecución de programa. Recuerde que las salidas se conectaron con la configuración de lógica inversa. se pueden manipular y analizar. La Figura 3. La Figura 3. Los datos se separan por comas y por lo tanto. los dos primeros trazos son los de los pulsadores IN1 (pieza en posición) e IN2 (profundidad taladro). los datos de cada punto de muestreo se almacenan en un archivo de texto. OUT4 (solenoide). Un estado alto apaga un LED (OFF) y un estado bajo lo enciende (ON).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.7 es un gráfico de Excel construido en base al archivo de datos. Por lo tanto. Observe que en la configuración inicial del StampPlot Lite. stampdat. están listos para usarse en utilitarios de hojas de cálculo y bases de datos. Control Industrial Versión 1. número de muestra y los valores analógicos y digitales en cada muestra. Una vez que los datos están en el archivo.

m. 0. 0.m.Experimento 3: Acondicionamiento de la Señal de Salida Digital Figura 3.m.21 4 4 11:46:50 a.m.m.m.27 10 10 11:46:50 a.6: Datos de Control Secuencial (muestras solamente) Tiempo de Número de Piezas Hora Ejecución Muestra Terminadas 1 1 11:46:50 a.1 .m. 0. 0.m.21 5 5 11:46:50 a.m. 0. 0.43 14 14 11:46:51 a.32 13 13 11:46:51 a.m. 0. 0.27 6 6 11:46:50 a.27 8 8 11:46:50 a.m.32 12 12 11:46:50 a. 0. 0.26 Pieza Número 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 Página 80 • Control Industrial Versión 1.m.m.m.98 17 17 11:46:51 a.m.m.m. 0.50 15 15 11:46:51 a. 0.21 3 3 11:46:50 a. 0. 1.27 11 11 11:46:50 a. 0.27 9 9 11:46:50 a. 0.71 16 16 11:46:51 a.21 2 2 11:46:50 a. 0.27 7 7 11:46:50 a.

m. 11:50:27 a.m. 11:47:58 a. 11:48:28 a.m.1 • Página 81 .m. 11:49:42 a.m.m. 11:49:57 a. 11:48:56 a. 11:49:27 a. 11:48:13 a.m. 11:47:43 a. Figura 3. 11:47:13 a.m.m. 11:50:42 a. 11:49:11 a.m.Pieza 10 12 14 16 11:46:50 a.m.m. 11:47:28 a.m. 0 Piezas terminadas 2 4 6 8 Experimento 3: Acondicionamiento de la Señal de Salida Digital Control Industrial Versión 1.m.7: Gráfico de Datos de Control Secuencial Hora 11:48:40 a.m.m.m. 11:50:12 a. 11:46:55 a.

En este proceso. El proceso está listo para ser inicializado nuevamente por el operador. Después del período de mezcla. Figura 3. un solenoide en la parte inferior del recipiente se abre para vaciar el tanque. el solenoide de llenado se apaga y un agitador mezcla el contenido durante 15 segundos. En este momento. El flotador mecánico desciende. un operario presiona momentáneamente un botón para abrir una válvula y comenzar a llenar un depósito.8. abriendo el interruptor cuando el recipiente se vacía.8: Proceso de Control de Mezclado Secuencial Página 82 • Control Industrial Versión 1.Experimento 3: Acondicionamiento de la Señal de Salida Digital Desafío de Programación: Operación de Mezcla Secuencial Una secuencia de Mezclado se muestra en la Figura 3.1 . el solenoide de vaciado se apaga. cerrando la válvula. Un flotador mecánico sube con el nivel del líquido y acciona un interruptor cuando el recipiente está lleno. En este punto.

Experimento 3: Acondicionamiento de la Señal de Salida Digital Asigne las siguientes entradas y salidas del BASIC Stamp para simular la operación. Botón 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 operación. Ejercicio 2: Aumentando la Potencia del BASIC Stamp La capacidad de tensión 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 más 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 eléctrico sin escobillas de CC y un resistor de 47 Ohm, de medio Watt. Las especificaciones del ventilador incluyen una tensión de +12 V con una corriente de 100 mA. El resistor tomará aproximadamente 190 mA cuando se alimenta por una fuente de alimentación de +9 V (Nota del Traductor: esta corriente varía de acuerdo a la tensión de su fuente). Consideremos el diseño del transistor bipolar para alimentar el resistor de 47 Ohm. Los valores del circuito deberían calcularse de forma que una salida en estado alto (+5V) del BASIC Stamp lleve a Q1 a la saturación, sin tomar más corriente que la que el BASIC Stamp puede entregar.

Control Industrial Versión 1.1 • Página 83

Experimento 3: Acondicionamiento de la Señal de Salida Digital Figura 3.9: Circuitos con Transistores para Amplificación de Potencia

Los valores de los componentes de los circuitos surgen de los requerimientos de corriente y tensión de la carga. El proceso para determinar los valores mínimos de estos componentes es así: Dado que Q1 actúa como colector abierto, la tensión 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 saturación, virtualmente toda la tensión de la fuente caerá sobre la carga y la corriente será igual a Vfuente/Rcarga. La máxima 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 máximo de 20 mA de corriente de la salida de un BASIC Stamp, el mínimo beta del transistor se calcula despejando la fórmula anterior. bQ1(min) = IC/IB. Donde IB es la máxima corriente de un BASIC Stamp de 20 mA. Se debe elegir un transistor que cumpla y preferiblemente exceda estos requerimientos mínimos. Exceder los valores mínimos por un 50 o 100% o más, sería lo mejor. Una vez elegido el transistor, se puede determinar el

Página 84 • Control Industrial Versión 1.1

Experimento 3: Acondicionamiento de la Señal 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 límite de 20 mA del BASIC Stamp. La caída de tensión sobre Rlimit es igual a los +5 V de salida del BASIC Stamp menos la caída 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 máxima de 300 mA y un Beta mínimo de 75. Otras características que favorecen la selección de este transistor son: que es muy común, barato, y que puede controlar la corriente sin necesitar disipador. El valor de Rlimit se escogió basándose en el valor de beta mínimo y con la intención 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 saturación. 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 saturación aplicando tensión 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 prácticamente no hay circulación de corriente y el MOSFET actúa como un interruptor abierto. El MOSFET de potencia es muy fácil 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 múltiples MOSFETs. Con un disipador adecuado, el BS170 puede manejar corrientes de carga de hasta 5 Amps. Estas características hacen que los MOSFET de potencia sean muy fáciles de utilizar en aplicaciones industriales, tales como activación de relés, solenoides y pequeños motores de CC. Debería tenerse en cuenta que este tipo de cargas son inductivas. Cuando se desconecta la carga, su inductancia puede producir una tensión inversa transitoria que puede dañar el MOSFET. El diodo D1 provee protección al transistor cuando controla cargas inductivas como ésta. Este diodo no es necesario para el pequeño 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 daños por descargas de tensión estática y transitorios de tensión inversa. Debe tenerse cuidado cuando se maneja e instala el dispositivo. Tómelo por el encapsulado, evitando tocar sus patitas y verifique que todos los instrumentos estén conectados apropiadamente a masa. Pruebe el circuito amplificador de potencia empleando el programa siguiente. La ventana Debug le indicará cuando deba tomar mediciones de tensión sobre los transistores y sus cargas, en el momento oportuno.

Control Industrial Versión 1.1 • Página 85

Experimento 3: Acondicionamiento de la Señal de Salida Digital

'Programa 3.3: Amplificación 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 tensión de fuente sin carga Vin.",CR

encendido – Mida la tensión sobre el ventilador.", CR encendido – Mida la tensión de saturación sobre el MOSFET.", CR

apagado",CR

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

Anote las lecturas de tensión en la Tabla 3.1. Condición Bipolar Fig. 3.9c MOSFET Fig. 3.9d El ventilador funcionará a máxima velocidad y el resistor se calentará debido al flujo de corriente que lo atraviesa. Las tensiones de saturación deberían ser menores de 300 mV. La tensión de línea Vin es provista por una fuente de tensión sin regular (en el kit es de 9-Volts 300 mA). La tensión, cuando las cargas no están activadas, es mucho más alta que la nominal. Cuando se energizan las cargas, esta tensión caerá hasta un valor aproximado al nominal de la fuente. Tabla 3.1 Mediciones Sobre los Transistores Tensión sobre la carga Tensión de saturación en estado activado en estado activado Tensión sobre la fuente sin activación

Página 86 • Control Industrial Versión 1.1

Experimento 3: Acondicionamiento de la Señal de Salida Digital En el próximo experimento, usaremos el resistor para simular un calentador. El ventilador simulará una perturbación 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 diseñador. Vea los circuitos de la Figura 3.10.

Control Industrial Versión 1.1 • Página 87

(c) Hay una gran cantidad de integrados de potencia periféricos. Su salida de colector abierto permite usarlo con tensiones de hasta 30 Volts.Experimento 3: Acondicionamiento de la Señal de Salida Digital Figura 3.10b puede usarse como interfaz para dispositivos HCMOS o CMOS de la serie 4000. el BASIC Stamp puede ser conectado a circuitos CMOS de mayor tensión. Con el resistor de pull-up de 10KOhm referenciado a la siguiente etapa del circuito.10d usa una compuerta 74LS26 (NAND) que pertenece a la familia de compuertas de colector abierto.1 . El driver 75452 mostrado en la Figura 3. (b) La Figura 3. como interfaz para lógica de +3 Volts. Página 88 • Control Industrial Versión 1. El 74HC4050 puede usarse a bajas tensiones. (d) La Figura 3.10: Interfaces de Salida para el BASIC Stamp (a) La optocupla puede ser usada como interfaz para diferentes tensiones.10a.10c puede absorber una corriente de hasta 300 mA. aislando eléctricamente la salida del microcontrolador como muestra la Figura 3.

Los valores máximos de corriente de los relés de estado sólido normalmente involucran el uso de un ____________ para lograr una disipación apropiada del calor. 2. 5. Los dispositivos de campo normalmente necesitan más potencia que la que el BASIC Stamp puede entregar. un ______________ de salida podría usarse para incrementar la potencia. 8. 9. Control Industrial Versión 1. Las características de corriente de un SSR deberían ser sobredimensionadas como mínimo un _______ por ciento del requerimiento continuo de corriente demandado por la carga. 7. ________________ c. ________________ 3. La salida del BASIC Stamp absorbe corriente cuando la carga que está controlando está conectada entre el pin de salida y ____________. 10.que provee la luz que dispara ópticamente un dispositivo de salida. El control______________ involucra la ejecución ordenada de operaciones de proceso. Mencione tres dispositivos de interfaz de potencia que puedan controlar circuitos de alta potencia y puedan ser encendidos y apagados por el BASIC Stamp.Experimento 3: Acondicionamiento de la Señal de Salida Digital Preguntas y Desafíos Preguntas 1. 6. Cuando la corriente de salida del BASIC Stamp no es suficiente para encender el dispositivo de control. a.1 • Página 89 . El BASIC Stamp puede entregar hasta __________mA por pin de salida. El circuito de entrada de un SSR normalmente es un __________ . 4. ________________ b. Los relés eléctricos y electromagnéticos ofrecen una gran protección a los microcontroladores debido a que proveen aislación _____________ entre el BASIC Stamp y los dispositivos de potencia. Los dispositivos de salida son los que hacen el ________ en una aplicación de control de proceso.

Experimento 3: Acondicionamiento de la Señal 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 especificación llamada _______. 13. Los contactos de un relé electromagnético se muestran en los esquemas eléctricos en la posición “normal”. Normal significa que la ___________ del relé está sin energizar. 14. Los “contactos” de un relé de estado sólido de CA en realidad son los terminales principales de un TRIAC. Estos contactos deberían ser dibujados en un esquema en estado normalmente __________. ¡Diséñelo! 1. Dada la figura de abajo, calcule el valor máximo del resistor de base (Rlimit) que permitiría 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 saturación del transistor Q1, el valor de Rlimit debería ser ____________ que el valor calculado.

Página 90 • Control Industrial Versión 1.1

Experimento 3: Acondicionamiento de la Señal de Salida Digital 3. El diagrama de conexión interna del relé de estado sólido 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 caída de tensión 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. Configúrelo de forma que la corriente entre en el BASIC Stamp. Calcule el valor apropiado de Rlimit. Dibuje la lámpara y la fuente de 120 VAC como se deberían conectar a las salidas del SSR.

lámpara

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

Lógico alto = + 5 V Lógico bajo = 0 V

Control Industrial Versión 1.1 • Página 91

Experimento 3: Acondicionamiento de la Señal de Salida Digital

¡Analícelo! 1. Considere los circuitos A y B de abajo. Escriba una línea de código de BASIC Stamp para encender la lámpara 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

Página 92 • Control Industrial Versión 1.1

Experimento 3: Acondicionamiento de la Señal de Salida Digital

2. Estudie los tres circuitos que se muestran abajo. Escriba qué nivel lógico utilizaría en la salida del BASIC Stamp Para mantener una tensión de salida (Vout) de 12 Volts. Circuito A _______________ Circuito B _______________ Circuito C _______________

Control Industrial Versión 1.1 • Página 93

Experimento 3: Acondicionamiento de la Señal de Salida Digital

¡Prográmelo! 1. Dadas las entradas y salidas mostradas en la Figura 3.3b, escriba un programa secuencial que haga lo siguiente: Al presionar momentáneamente 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.

Página 94 • Control Industrial Versión 1.1

Experimento 4: Control de Procesos Continuos La acción de control tomada se basa en la relación dinámica entre la configuración del dispositivo de salida y su efecto sobre el proceso. La condición que queremos controlar se denomina “variable de proceso”. este sistema de lazo cerrado pasará cada vez menos tiempo encendido que apagado. Este es un ejemplo de control por realimentación a lazo cerrado. el control automático a lazo cerrado del aire acondicionado garantiza una temperatura más estable. Caso contrario. Si sus estimaciones fueron correctas. Un ejemplo simple de control de lazo abierto podría ser enfriar su pieza en una noche caliente de verano. Por otro lado. se acostará y dormirá toda la noche. Control Industrial Versión 1. ¿Cuál solución es mejor? Lógicamente. Desde el punto de vista del control industrial. En el control de lazo abierto. También está involucrado un elemento de predicción. En general. el control del proceso puede ser clasificado en dos tipos: lazo abierto y lazo cerrado. Un termostato compara continuamente la temperatura deseada con la medición de la temperatura ambiente actual. mantener una presión constante en un caño de vapor. aunque otras no. Una vez que decide la velocidad que usará. Esta evaluación involucra comprender la relación causa-efecto entre las condiciones de la habitación y el ajuste de velocidad. El control de lazo cerrado determina la configuración de los dispositivos de salida. no se realizan controles automáticos para ver si es necesaria alguna acción correctiva. válvulas. el aire acondicionado se enciende. tendrá un muy buen descanso. Si el objetivo es mantener una temperatura agradable para dormir. Los dispositivos de salida industrial son los elementos de control. flujo y nivel del líquido son las variables de proceso de estos ejemplos. Motores. Por otro lado. debido a que la acción se toma en base a la medición de la temperatura de la habitación. El ventilador de ventana es un dispositivo que puede configurarse a velocidad baja.Experimento 4: Control de Procesos Continuos El control de un proceso continuo involucra el mantenimiento de las condiciones del proceso deseadas. midiendo y evaluando durante el transcurso del proceso. A medida que avanza la noche y la temperatura externa baja. media o alta al evaluar la situación de su habitación. calentadores. son ejemplos de control de procesos continuos. o fijar un valor de flujo de material a un recipiente para mantener un nivel constante de líquido. Calentar o enfriar objetos a cierta temperatura. De esta forma está configurando un sistema de control de lazo abierto. presión.1 • Página 95 . muchas personas prefieren el aire acondicionado. Cuando la temperatura de la habitación está por encima del valor deseado. cada sistema tiene sus ventajas. bombas y solenoides son ejemplos de dispositivos usados para controlar la energía que determina las salidas de los procesos. un acondicionador de aire de habitación le permite fijar la temperatura deseada. el bajo costo y la simplicidad de configurar un ventilador de ventana a lazo abierto es muy atractiva. podría levantarse tiritando de frío o sudando de calor. Temperatura. Sus opciones son usar un ventilador de ventana o un aire acondicionado. a medida que la temperatura exterior cambia. Cuando la habitación se enfría por debajo de este punto. el aire acondicionado se apaga.

las aplicaciones en las que puede emplear un BASIC Stamp son ilimitadas. tenga en cuenta que a través de un acondicionamiento de señal apropiado. la medición. Desarrollaremos un ambiente en el que podremos modelar un control de proceso.1 . tomar datos variables del proceso con el BASIC Stamp y estudiar los principios del control a lazo abierto. pero los justificarán. Ejercicios Ejercicio 1: Control ON-OFF de Bucle Cerrado Para armar nuestro pequeño ambiente. necesitará los siguientes componentes: • • • • Contenedor plástico de película de 35 mm resistor de 47-Ohm. de medio Watt con prolongación CI sensor de temperatura LM34DZ con prolongación Cinta aisladora Página 96 • Control Industrial Versión 1. A medida que monitorea y controla la temperatura de un ambiente pequeño. porque esta distribución y su circuito se usarán nuevamente en los Experimentos 5 y 6. Los primeros dos ejercicios llevarán un poco de tiempo y esfuerzo. Los microcontroladores han probado ser una solución económica para agregar cierto nivel de sofisticación a los esquemas de control más simples. La temperatura es por lejos la variable de proceso más común que encontrará. Desde el control de temperatura del metal fundido en una metalúrgica hasta el control del nitrógeno líquido en un laboratorio de criogenia. Los siguientes tres ejercicios se enfocarán en las características de varios métodos de control continuo. Los ejercicios están limitados a circuitos que entren en la protoboard de su plaqueta y para dispositivos de salida que puedan alimentarse desde su fuente de alimentación (normalmente 9-Volts. evaluación. 300-mA).Experimento 4: Control de Procesos Continuos Determinar la mejor acción de control para una aplicación y diseñar el sistema que provea esta acción es de lo que se trata la ingeniería de control de procesos. 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. y control de la temperatura son críticos para la industria.

Un transistor amplificador de corriente del Experimento 3 alimentará el resistor/calentador y agregará un conversor analógico digital para introducir la información binaria de temperatura al BASIC Stamp.1 • Página 97 . Siga los procedimientos de la página siguiente para construir los circuitos de acondicionamiento de señal y del envase de película.1: Ambiente Calefaccionado en Envase de Película Control Industrial Versión 1. Los conectores de estos dispositivos se conectarán a la protoboard de su plaqueta. La Figura 4.Experimento 4: Control de Procesos Continuos Colocará el resistor de 47-Ohm y el sensor de temperatura dentro del envase de película de 35-mm. Figura 4. El paso de mucha corriente por el resistor calentará el ambiente y el sensor convertirá la temperatura en una tensión analógica. Al colocar la tapa del envase se crea un ambiente cerrado.1 muestra el montaje.

Doble sus pines y encíntelos a la parte exterior del envase de forma que el resistor quede suspendido en el centro del mismo. El sensor y el “calentador” deberán colocarse en estos agujeros. El LM34 es un sensor excelente en términos de linealidad. Página 98 • Control Industrial Versión 1. Coloque el resistor por el agujero inferior del envase.7 Watts. Como ya sabe. pero lo estamos usando como calentador.2 y la hoja de datos del dispositivo en el Apéndice D. Esto está más allá de la capacidad de potencia de un resistor de medio Watt. cuando el transistor se enciende. controlando la tensión de la fuente de alimentación sin regular sobre el resistor. la tensión de fuente se aplica sobre el resistor calentándolo. costo y simplicidad. En el último ejercicio. o 1. Vea la Figura 4. ya dispone de un sensor de temperatura Fahrenheit. dado que la potencia consumida es de P = V2/R= 92/47. La tensión de salida del sensor cambia 10 mV por grado Fahrenheit y está referenciada a 0 grados.Experimento 4: Control de Procesos Continuos Preparación Preliminar El envase de película de 35-mm tiene dos agujeros. Podría decolorarse. pero seguiría funcionando bien. controlamos el estado de un resistor de 47-Ohm actuando como calentador. para el caso de una fuente de 9 Volts. La punta con el LM34 se usará para medir la temperatura de nuestro sistema. El transistor amplificador de corriente actúa como interruptor.1 . Con una fuente de alimentación de CC y un voltímetro.

etc.75 V = 75 oF. Control Industrial Versión 1.2: Punta de Temperatura LM34 Pruebe su punta de temperatura conectándola a la fuente de +5-Volts Vdd y a masa. Un acondicionamiento de señal apropiado. 1. etc.Experimento 4: Control de Procesos Continuos Figura 4. Por ejemplo. Use su voltímetro para controlar la tensión de salida del LM34 de 0.01 Volts por grado F. Tenga en cuenta que aunque nuestro laboratorio es pequeño y de baja potencia.1 • Página 99 . Ahora. inserte el sensor por el orificio superior del envase. Sosténgalo hasta que la temperatura se estabilice. Simplemente desplace el punto decimal de la lectura dos lugares a la derecha para convertir el valor a temperatura.825 V = 82. Tape el recipiente y su ambiente modelo estará listo. como se muestra en el Experimento 3 puede permitirle al BASIC Stamp controlar casi cualquier dispositivo industrial. un fermentador de cerveza. 0. simula el control de temperatura de un gran horno.5 oF. 0. Doble y encinte los pines al envase de forma que el sensor quede suspendido en su interior. ¿Cuál es la temperatura de sus dedos? El LM34 puede medir temperaturas de hasta 300 grados.05 V = 105 oF. Luego haga lo siguiente: • • • • Mida y anote la temperatura ambiente. Pase brevemente una llama por debajo del sensor y monitoree temperaturas más altas. Sostenga el dispositivo entre sus dedos y observe como aumenta la temperatura.

Note también que este circuito se conecta a la tensión regulada de +5 Vdd. Vref en 0. La tensión en Vin(-) Pin 3 determina el valor cero.3c. Página 100 • Control Industrial Versión 1.7 limitará el rango a 70 grados. Fijando Vin(-) a 0. Su plaqueta tendrá el transistor amplificador de corriente (del Experimento 3) para alimentar el calentador.1 .Experimento 4: Control de Procesos Continuos Luego. debemos agregar un conversor analógico a digital para transformar la salida analógica del sensor de temperatura LM34 a datos digitales. Pueden usarse potenciómetros para fijar externamente el rango de tensión que representará la salida digital de 0 a 25510 del ADC0831.3b también es muy simple. Se usará para encender y apagar el calentador. Es conveniente realizar una pausa en este momento y revisar las limitaciones y características técnicas de este dispositivo. El driver de salida mostrado en la Figura 4.3a es un pulsador simple activo alto. Dado que el microcontrolador BASIC Stamp no puede leer valores analógicos. La Figura 4. Observe que un LED y un resistor limitador de corriente se agregaron para indicar el estado de este circuito. El integrado National ADC0831 es conveniente para la conversión A/D de nuestra aplicación y probará ser un dispositivo muy útil para esta y otras aplicaciones. solamente debe ser eficiente en el uso del espacio. y no directamente a la tensión de fuente sin regular. Una solución directa es usar el conversor analógico a digital que se muestra en la Figura 4. Este conversor tomará una tensión de entrada y la convertirá en un dato digital de 8-bits con un rango de 256 representaciones binarias posibles.5 Volts da como resultado un rango de 50 grados. La Figura 4. centremos nuestra atención en la protoboard y montemos el circuito necesario para el experimento. Los cuatro circuitos caben en la protoboard.3 muestra los cuatro circuitos usados en estos ejercicios. La tensión Vref en el Pin 5 determina el rango de tensión por encima de Vin(-) sobre el que se aplica la resolución de 255 pasos.

Experimento 4: Control de Procesos Continuos Figura 4.1 • Página 101 .3: Circuitos para Control de Proceso Control Industrial Versión 1.

Parallax provee una instrucción muy conveniente. Una vez que los datos entraron al BASIC Stamp.70V a 1. Controlar el ADC0831 es relativamente simple. Una vez realizada. llamada offset. Usando potenciómetros de ajuste multivueltas. además de practicar con la interfaz StampPlot Lite. diseñada específicamente para controlar comunicaciones seriales sincrónicas.5. respectivamente. el valor binario puede ser enviado un bit a la vez hacia el BASIC Stamp.20V. de acuerdo a los valores determinados de referencia y rango. Página 102 • Control Industrial Versión 1. cada paso binario representa aproximadamente 0. Al ejecutar el programa se abrirá la ventana DEBUG y desplazará valores y mensajes por la pantalla. (El uso del ADC0831 está explicado detalladamente en el libro Analógico y Digital Básicos. La línea chip select (CS) se pone en bajo. seleccione el puerto COM apropiado y marque “Connect. Dado que nos enfocamos solamente en este rango.7v).) El Programa 4.Experimento 4: Control de Procesos Continuos Estas tensiones se utilizan para enfocar el rango del dispositivo A/D de forma que cubra la tensión analógica que necesitamos convertir. Este rango de temperatura equivale a una salida de tensión del LM34 de 0. El programa está diseñado para el circuito de la Figura 4. Una línea de control del programa le dice al dispositivo que haga una conversión. que puede ser usado para ahondar los conceptos de esta sección.5 y 8. Construya el circuito conversor A/D en la protoboard.7 V. La primera sección del programa configura el StampPlot Lite. seguido por un pulso de clock de bajo a alto.3. Ajuste con precisión las tensiones de Vin y Vref del ADC0831 a 0.” Presione momentáneamente el botón “Reset” de la plaqueta en la que se encuentra conectado el BASIC Stamp para cargar la configuración y comience a graficar datos. Revise dos veces las conexiones a los pines de E/S 1. Esta aplicación funcionará desde temperatura ambiente (70o) hasta 120 oF.2V a 0. Esto da inicio a la conversión. si lo desea). Conecte la salida del LM34 a la entrada del conversor A/D. es 0. La temperatura y el estado del calentador se dibujarán en esta interfaz. llamada SHIFTIN. Esto nos permite calcular la temperatura en forma muy precisa.3. En este punto.7 y 0. se convierten en temperatura. el rango de interés es 0. los niveles de la referencia y el rango de tensión pueden calibrarse con mucha precisión. Cargue el programa.1 ha sido escrito para comprobar los circuitos del driver y el conversor. Los siguientes pulsos de reloj (clock) inician la transferencia de cada bit binario comenzando por el bit más significativo. y la referencia. Mida cuidadosamente y ajuste estas tensiones.5 V (1. El recuadro del usuario le informará la temperatura actual y los valores de salida del conversor A/D en binario y decimal. La sigue una sección que establece variables y constantes. Cierre la ventana DEBUG y abra la interfaz StampPlot Lite. Al presionar PB1 se invertirá (TOGGLE) el estado del calentador entre encendido y apagado (ON y OFF).2 grados.4.1 . El flujo serial de datos desde el conversor es controlado por los pines de salida del BASIC Stamp que alimentan las líneas “chip select” (habilitación) y “clock” (reloj). Para maximizar la resolución. (Puede omitir los comentarios de este código.

CR ' 70-120 grados DEBUG "!AMUL . Rango completo en décimas de grado.CR ' Max 600 segundos DEBUG "!SPAN 70.1: Conversor A/D con interfaz StampPlot 'El pulsador P1 invierte el estado del calentador (ON/OFF). @Offset.CR ' Borrar archivo de datos DEBUG "!SAVD ON". ADC0831: "chip select" CS = P3. de 700 a 1200 décimas de grado. Define el rango para Vref = 0.CR ' Multiplicar datos por 0. 'Cero y Rango: Digital 0 = Vin(-) = 0.1 DEBUG "!DELD".50V. El programa asume que 'el circuito está de acuerdo a la Figura 4.1 • Página 103 103 .70V y Rango = Vref = 0. 'Configuración del graficador Pause 500 ' Espera que se limpie el buffer DEBUG "!RSET".Experimento 4: Control de Procesos Continuos 'Programa 4.CR ' Activar temporizador DEBUG "!CLMM". y "salida serial de datos" Dout=P5. Con esta config.CR ' Limpiar Min/Max DEBUG "!CLRM".7 V Offset será 700 décimas de grado.1". "clock" 'Clk=P4.CR ' Limpiar mensajes Debug "PLOT ON”. ADC = 0 Declara Temp.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 número entrante (0 a 255) Almacena valor convertido que representa la Temp. 'StampPlot es usado para mostrar gráficamente los resultados.CR ' Guardar datos DEBUG "!TSMP ON".3.CR ' Título de la ventana DEBUG "!PNTS 6000".CR ' Reinicia el gráfico para limpiar datos anteriores DEBUG "!TITL EJEMPLO DE CONTROL DE CALENTADOR". 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 Versión 1.CR ' Inicio de la gráfica DEBUG "!RSET".120". Luego establece las constantes ' y variables usadas para adquirir los datos del ADC0831 serialmente. mínima para Vin(-) = 0.. la salida del ADC de 0-255 corresponderá a Temp.CR ' 6000 puntos de datos DEBUG "!TMAX 600".50V Offset VAR word Offset = 700 ' ' ' ' ' byte Temperatura mínima.

4 muestra el envase cerrado calentándose a 120 grados y luego enfriándose después que se apaga el calentador.EspTrabajo1. CLK. Página 104 • Control Industrial Versión 1. BIN Datain. Encienda y apague el calentador y observe la respuesta. observemos más de cerca las subrutinas que hacen el programa. " Decimal".[Datain\8] HIGH CS RETURN Calc_Temp: Temp = TempRango/255 * Datain/10 + Offset RETURN Control: BUTTON 1.1 . CR RETURN ' ' ' ' ' ' Adquiere la conversión del 0831 Selecciona el chip Alista la línea clock. ' Control manual del calentador La interfaz StampPlot Lite le dará una representación dinámica de los cambios de temperatura en su envase de película. Juegue con su sistema para familiarizarse con su respuesta. luego.CR DEBUG "!USRS Temp. DEC Datain." ADC Data in = %".255. DEC Temp.10 SHIFTIN Dout.Experimento 4: Control de Procesos Continuos GOSUB Control GOSUB Mostrar GOTO Principal Obtenerdato: LOW CS LOW CLK PULSOUT CLK.0.1.= ". Envía un pulso de 10 uS al clock del 0831 Desplaza los datos al BS2 Detiene conversión ' Convierte el valor digital a temperatura ' basándose en las variables Rango y ' Offset. La Figura 4. ADC binaria y estado de Temp DEBUG DEC Temp. MSBPOST.CR DEBUG IBIN OUT8.1.Invertir RETURN Invertir: TOGGLE 8 RETURN Mostrar: ' Grafica Temp.

Obtenerdato. como GOSUB Control. La última línea de esta subrutina ordena al procesador que regrese (RETURN) al bucle principal y ejecute la siguiente instrucción. el BASIC Stamp salta primero a la subrutina Obtenerdato. Esta es una aproximación organizada para estructurar nuestro programa.4: Ejemplo de Pantalla Obtenida con el Programa 4.1 El bucle principal de este programa simplemente ejecuta tres subrutinas. Esto alista el A/D para funcionar. Control Industrial Versión 1. Cuando se ejecuta.Experimento 4: Control de Procesos Continuos Figura 4. Después que Mostrar se ejecuta. El BASIC Stamp ejecuta GOSUB Mostrar. su instrucción RETURN hace que el programa salte a la instrucción GOTO Principal y el proceso se repite nuevamente. y Mostrar. Luego.1 • Página 105 . La subrutina Calc_Temp se ejecuta y finaliza con un return.1. cuando incluyamos evaluación y control en nuestro programa. La subrutina Obtenerdato comienza con una transición alto a bajo en la línea “chip select”. GOSUB Calc_Temp. Miremos más de cerca las dos subrutinas principales del Programa 4. Calc_Temp. simplemente agregaremos otra subrutina.

Página 106 • Control Industrial Versión 1. Vref define el rango de tensiones de entrada por encima de este punto en el que se distribuirán las otras 255 combinaciones digitales.10 le dicen al conversor A/D que haga una conversión de la tensión en Vin(+) en este momento.Experimento 4: Control de Procesos Continuos Las instrucciones LOW CLK y pulsout CLK.5 muestra los valores de Cero y Rango para nuestra aplicación.1 . Sus 256 combinaciones digitales posibles se distribuyen uniformemente por el rango de tensión determinado por los potenciales en los pines V in(-) y Vref. Vin(-) define la tensión a la cual 0000 0000 se obtendrá de la conversión. La Figura 4. El ADC0831 es un conversor de aproximaciones sucesivas de 8-bits.

Experimento 4: Control de Procesos Continuos Figura 4.1 • Página 107 .5: Configuración de Cero y Rango para Nuestra Aplicación Control Industrial Versión 1.

el modo es MSPOST. Sin embargo.31 grados.86. Si Vin = 0. Revise la fórmula Calc_Temp: Temp = TempRango/255 * Datain/10 + 700 Página 108 • Control Industrial Versión 1. En nuestro sistema. [result\bits].986-0. declaramos previamente Pin 5 como dpin y Pin 4 como clock (CLK).5] x 255. Si truncamos el valor obtenemos el entero 145. (modo) identifica qué bit llega primero.986 V. El valor binario sería 1001 0010. el menos significativo (LS) o el más significativo (MS). Los parámetros indican: • • • • Sobre que pin llegarán los datos (dpin).7) /0. está disponible para ser usado por nuestro programa. El ADC0831 emite el bit más significativo primero en el flanco descendente del clock. Hay una cantidad infinita de valores de temperatura dentro del rango de salida de 0. en un rango de 50 grados puede detectar cambios de 0. cuál es el tamaño del dato y dónde se almacenará [Datain\8]. m = pendiente de la función transferencia. que resulta en una salida del LM34 de 0.1 .7 a 1. y en que flanco del clock debe leerse. En nuestra aplicación. modo. usamos la fórmula conocida y = mx + b. ¿cuál sería el binario equivalente? [(0. el dato de 8-bits se almacenará en una variable tipo byte declarada como Datain. Después de introducir el dato binario en el BASIC Stamp. Conociendo la función transferencia del proceso de conversión.5] *255 = 145. serían grados Fahrenheit.6 F. y b es el offset (desplazamiento del cero o al origen).Experimento 4: Control de Procesos Continuos Con esta configuración. Qué pin generará el clock o reloj (cpin).986 Volts. Dado que el conversor A/D de 8bits tiene una resolución de 255. solamente pueden obtenerse unos pocos valores representativos. hace exactamente eso. Por lo tanto. Digamos que la temperatura es 98. La conversión generará un número binario igual a [(Vin – 0.7)/0. el ADC0831 se enfoca en un rango de temperatura de 70 a 120 grados. Donde: y =Temperatura. ascendente (PRE) o descendente (POST). Y finalmente. LA instrucción SHIFTIN está diseñada para realizar una comunicación sincrónica entre el BASIC Stamp y dispositivos seriales como el ADC0831. Calc_Temp. Hagamos la prueba para un valor dentro del rango. cpin.2 Volts del LM34. La sintaxis para la instrucción es SHIFTIN dpin. Se resolverá la temperatura y se expresará en décimas de grado. y. La siguiente subrutina. Sería más conveniente usarlo si estuviese expresado en las unidades de temperatura. Este valor se retendrá y estará listo para la transferencia.

El gráfico de la Figura 4. Al sumar este valor al de referencia de Cero de 700 (70 grados) obtendremos la temperatura actual en décimas de grado.6: Función Transferencia Control Industrial Versión 1.19 grados por bit.6 muestra la función transferencia entre el equivalente decimal del conversor A/D y la temperatura del envase de película. la variable TempRango se escala (multiplica) por 10. dividiéndola por 10 se escala nuevamente a décimas de grado. en unidades de centésimas de grado. cambia la pendiente de la función transferencia. 5000/255 ~ 19 o 0.0 grados.0 a 120. Si se modifica el rango de cobertura. Si se cambia el valor de Cero se desplaza el punto de intersección con el eje y.Experimento 4: Control de Procesos Continuos Para aumentar la precisión al resolver la pendiente (m). Figura 4. La pendiente es entonces.1 • Página 109 .2 grados sobre un rango de 70. La resolución es de aproximadamente 0. Multiplicando 19 por Datain se obtiene el valor dentro del rango. por lo tanto. a 5000 centésimas de grado.

Página 110 • Control Industrial Versión 1. Ajuste las variables de Calc_Temp para mostrar los valores en centésimas de grado. El ejercicio siguiente usará el rango original de 70 a 120 grados. Su sistema debería ser capaz de aumentar la temperatura del envase de película cerrado. Además. después de todo lo anterior. podemos regresar al estudio de la teoría de control. no redondeados.7 y 0. 1. Ajuste el Cero y el Rango de su sistema para enfocarse en un rango angosto de temperaturas. todos los quebrados serán truncados.1 . Registre la temperatura máxima alcanzada por su sistema. Ahora. más allá del límite de 120-grados del Programa 4. Modifique los potenciómetros de Cero y Rango para cubrir de 75 grados a 200 grados. pero se redujo mucho el rango de operación. De esta forma obtendrá un rango más amplio. desde un grado por debajo de la temperatura ambiente hasta cuatro grados por encima de esta.760. Como puede ver. 2. Registre estos cambios quitando la tapa del envase y tocando el sensor directamente con sus dedos. El poder controlar el rango y la referencia del ADC0831 nos permite enfocarnos en ciertos valores de una entrada analógica. Esto ayuda a maximizar la resolución y la precisión del sistema. Regrese los potenciómetros de Cero y Rango a 0.5 Volts.Experimento 4: Control de Procesos Continuos Una advertencia adicional sobre las operaciones matemáticas con el BASIC Stamp: • • • Una fórmula se ejecutará de izquierda a derecha a menos que se usen paréntesis. Ningún subtotal puede exceder 32.1. pero ¿cuál es la resolución de su sistema ahora? Sea paciente y deje que su sistema se estabilice. la resolución es muy buena.759 o –32. respectivamente. Desafío 1: Modifique las tensiones de Cero y Rango y edite el programa de acuerdo a los nuevos valores.

(La señal sobre la base del transistor determina la potencia entregada para calentar el elemento. Cambiando la calibración del actuador se modifica el nivel de energía en el proceso y la salida resultante. La calibración del actuador determina la cantidad de energía aplicada. esto requerirá que se agregue cierta cantidad de calor al material.) La pregunta ahora es: “¿Cuánto calor es necesario?” Control Industrial Versión 1. Obviamente.7 representa un sistema a lazo abierto básico.Experimento 4: Control de Procesos Continuos Ejercicio 2: Control a Lazo Cerrado vs. El diagrama en bloques de la Figura 4. Lazo Abierto Control a Lazo Abierto La forma más simple de control es a lazo abierto. Basándose en este conocimiento. El proceso usa esta energía para cambiar su salida. Considere el proceso de control de temperatura de la Figura 4. Si todas las variables que pueden afectar la salida del proceso son estables. El material que es extraído del tanque debe estar a una temperatura de 101o. Figura 4. En oposición a esto.7: Control a Lazo Abierto El concepto fundamental del control a lazo abierto es que la calibración del actuador se basa en la comprensión del proceso.1 • Página 111 . el control a lazo cerrado incorpora la evaluación permanente (medición) de la salida y la configuración del actuador depende de esta realimentación de información. la salida “debería” ser correcta. La energía se aplica al proceso mediante un actuador. ésta será estable.8. Esto incluye conocer la relación de los efectos de la energía sobre el proceso y una evaluación inicial de todas las variables que afectan el proceso.

la temperatura ambiente es una. considere los factores que podrían afectar la temperatura de salida. Si el calentados se ajustara para entregar la cantidad exacta de energía que se pierde. La temperatura del material que entra al tanque. Obviamente.1 . ¿Puede mencionar por lo menos otras tres? Por ejemplo: • • • La velocidad a la que ingresa material en el tanque. Página 112 • Control Industrial Versión 1. también representan energía que debe ser suministrada al proceso si se pretende lograr la salida esperada.Experimento 4: Control de Procesos Continuos Figura 4.8: Aplicación de Calefaccionado a Lazo Abierto Por un momento. Por o tanto. Y. la salida sería estable. la magnitud de las corrientes de aire que rodean al tanque. Todos estos factores representan energía calórica que se quita del proceso.

Después de algunas pruebas. Obviamente. Figura 4. el resistor recibiría 1. Se mencionó anteriormente que el resistor “calentador” de 47-Ohm recibiría 1. Al encender el calentador se calentará el interior del envase de película. etc.8 está rotulada como PWM.7 W 0% 0W Control Industrial Versión 1.9: Potencia Promedio Ppromedio = Pmax * ciclo de trabajo Potencia Máxima (Pmax) Ciclo de Trabajo Potencia Promedio (Ppromedio) 1. Cuando la base está en estado alto. no necesitará tener toda la potencia aplicada al resistor. En un ejercicio anterior.7 W 100% 1. Asumamos ahora que es su objetivo mantener el interior del envase de película a temperatura constante. para mantener la temperatura deseada. un ciclo de trabajo del 75% equivale a tres cuartos.7 Watts mientras esté encendido y 0 Watts mientras esté apagado. haciendo que actúe como un interruptor.9 con las potencias absorbidas con ciclos de trabajo del 75% y 25% en nuestro sistema. Con la base en bajo el transistor entra en corte. Un ciclo de trabajo del 50% equivale a la mitad de la potencia máxima. Este ciclo de trabajo del 50% resultaría en un consumo de potencia promedio de 0.Experimento 4: Control de Procesos Continuos En teoría.85 Watts (Ppromedio = Pmax * ciclo de trabajo). es importante mantener la temperatura ambiente en 101oF. mientras las perturbaciones permanezcan constantes. Complete la tabla de la Figura 4.1 • Página 113 . Un buen ejemplo de la vida real sería una incubadora de huevos. encendió el transistor del calentador y sobrepasó los 101oF. Para empollar los huevos. el nivel del calentador podría ajustarse y la salida deseada se mantendría continuamente. Multiplicando el porcentaje del tiempo total que la carga recibe alimentación por la potencia total.7 W 1. Este promedio temporal es llamado ciclo de trabajo (duty cycle) y usualmente se expresa como porcentaje.7 Watts cuando se lo alimentara directamente desde una fuente de alimentación de 9-Volts. El pulsador se usó para saltar entre encendido y apagado. Esto viene de pulse-width modulation o modulación por ancho de pulso. se obtendrá la potencia promedio aplicada a la carga. el transistor se satura y se aplica toda la potencia al calentador. no circula corriente por la carga. PWM es un método muy eficiente de controlar la potencia promedio que se entrega a cargas tales como calentadores.85 W 1.7 W 75% 1.7 W 25% 1. La onda cuadrada controla la base del transistor. puede determinar el nivel exacto sería necesario para mantener la temperatura correcta. La señal para el transistor de potencia en la Figura 4.7 W 50% 0. Si presionara rápidamente el botón a velocidad constante. por lo tanto.

trabajo.10. siendo 255 el 100%. CR Página 114 • Control Industrial Versión 1.2 para que se incremente desde 0 a 255. Desafío 2: Graficando ciclo de trabajo de PWM vs. duración es el tiempo en milisegundos durante el que se generará la modulación. Cambie la variable Trabajo en el Programa 4.1 . CicloTrabajo Trabajo CicloTrabajo = 50 Bucle: Trabajo = (CicloTrabajo * 255/100) PWM 8.Experimento 4: Control de Procesos Continuos PBASIC provee una instrucción útil para generar modulación por ancho de pulso. duración Donde: pin es el pin de salida que generará la modulación.". DEC CicloTrabajo. Use su multímetro para medir la tensión promedio sobre el calentador con distintos comandos PWM. "%. 'Programa 4. 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 ". ' tensión de salida promedio que resulte. Su sintaxis es: PWM pin.2: PWM vs. Vout Mida la ' Modifique Trabajo = 50 en incrementos de 10 entre 0 y 100. trabajo es el ciclo de trabajo relativo. Trabajo. Vout. Grafique la tensión promedio en el gráfico de la Figura 4.

Revise el circuito Sample and Hold introducido en el Desafío 3 del Experimento 2. Como resultado. mayor será la diferencia. Cambie la longitud de la pausa y observe los resultados. la tensión promedio para un ciclo de trabajo del 100% (trabajo=255) generará valores menores que los esperados con tensión máxima. Esto fue necesario debido a que el bucle del programa era muy largo y la respuesta del ventilador muy rápida. con las lecturas anteriores. Durante el tiempo que se ejecuta el resto del programa no se aplica ninguna salida a la carga. Cuanto más tiempo demore su ciclo de programa. Compare la tensión de salida resultante. Este circuito mantenía la tensión promedio del average PWM sobre el motor durante todo el bucle del programa.2.0 pp.Experimento 4: Control de Procesos Continuos Figura 4. vea el BASIC Stamp Manual Versión 2. El circuito Sample Control Industrial Versión 1.10: Gráfico de Tensión sobre el Calentador vs. Para entender mejor la influencia del tiempo de ciclo de programa. Ciclo de Trabajo de PWM Si no está familiarizado con la instrucción PWM.1 • Página 115 . 247-250. coloque una PAUSE 200 en el Programa 4. Debe entenderse un aspecto sobre el uso de este comando: PWM aplica pulsos por un período de tiempo definido por su parámetro duración.

habrá muy poca variación en el ciclo de trabajo y la tensión promedio esperada.Experimento 4: Control de Procesos Continuos and Hold fue efectivo para entregar la tensión promedio deseada sin importar el tiempo del bucle del programa. Un ciclo de trabajo del 50% aplicaría ½ de la tensión de la fuente continuamente sobre la carga. debido a que éste opera solamente en conmutación. En términos de control de potencia. Mientras que el período de PWM sea mucho más largo (>10x) que el tiempo requerido para ejecutar el resto del programa. Esto puede ser entendido si considera manejar un circuito al 50%. Esta tensión colector-emisor multiplicada por la corriente de colector representa la potencia disipada en el transistor. Página 116 • Control Industrial Versión 1. si la mitad de la tensión de la fuente está continuamente sobre la carga. Cuando la respuesta del sistema es rápida (como el ventilador) no hay otra opción que usar este tipo de control de potencia lineal. es más eficiente no usar Sample and Hold. Esto es fantástico. la otra mitad estará sobre el transistor. ¿No? Bien. es un buen ejemplo de sistema de respuesta lenta. El control PWM directo sobre el resistor desperdicia muy poca potencia en el transistor.1 . El elemento resistivo de calefacción en nuestra incubadora.

StampPlot Lite realizará la representación gráfica de la respuesta de su sistema.1 • Página 117 . Figura 4.Experimento 4: Control de Procesos Continuos Desafío 3: Analizando su Sistema a Lazo Abierto El siguiente programa está desarrollado para estudiar la relación entre la modulación PWM sobre el calentador y la temperatura resultante. junto con información de temporización del Stamp en el recuadro inferior. el archivo de datos del StampPlot Lite puede ser importado a una hoja de cálculo. Si desea profundizar. El programa aplicará niveles PWM en incrementos del 10%. El programa terminará luego de aplicar un nivel del 100%.11: PWM vs. para ser graficada y analizada. Cada incremento durará aproximadamente cuatro minutos. Temperatura Control Industrial Versión 1.

asegúrese de que su envase se enfríe a temperatura ambiente. ADC0831: "chip select" CS = P3.CR "!TITL PWM vs. Pines de Cero y Rango: Digital 0 = Vin(-) = 0. Declara rango para Vref 0.3.1". ciérrela y ejecute StampPlot Lite.11 es un ejemplo de la pantalla que se obtendrá con StampPlot Lite al realizar esta prueba. @Offset. Temp con StampPlot ' ' ' ' ' ' Este programa verifica el aumento de temperatura del envase debido a los incrementos en el PWM. VAR word LOW 8 ' Inicializa calentador apagado Página 118 • Control Industrial Versión 1. Antes de ejecutar el programa.255 para temps de 700 a 1200 décimas de grado.70V y Rango = Vref = 0.CR "!SAVD ON".CR ' ' ' ' ' ' ' ' ' ' ' ' ' ' Espera que se limpie el buffer Reinicia el gráfico para limpiar datos Título de la ventana 24000 puntos de datos Max 6000 segundos 70-120 grados Multiplicar datos por 0. Coloque la tapa en el envase y ejecute el programa.7 Con estos valores. Esto puede ajustarse cambiando los incrementos de "contador" y/o "Porcentaje". Cargue el Programa 4. 'Programa 4. y datos seriales Dout = P5. El tiempo de ejecución del programa es de aproximadamente 40 minutos.CR "!DELD".CR "!AMUL .1 .CR "!CLRM".50V.120".CR "!PNTS 24000". Conecte el StampPlot Lite y presione el botón "reset" de su plaqueta para reiniciar la ejecución del programa.3: PWM vs.CR "!PLOT ON".CR "!TSMP ON".3.1 Borrar archivo de datos Guardar datos Activar temporizador Limpiar Min/Max Limpiar mensajes Iniciar gráfico Reinicia temporizador en 0 ' Definición 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 número (0 to 255) Almacena valor convertido en temperatura Rango máximo en décimas de grado. ' Configura StampPlot Pause DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG DEBUG 500 "!RSET". "clock" Clk=P4.CR "!TMAX 6000".CR "!CLMM". El programa asume que el circuito está de acuerdo a la Figura 4.Experimento 4: Control de Procesos Continuos La Figura 4. ADC = 0 Declara el Cero para Vin(-) 0. Cuando la ventana DEBUG aparezca. Temp ".CR "!SPAN 70.50V Temp. mínima. la salida del ADC será de 0 .CR "!RSET".

CR Principal: PAUSE 10 GOSUB Obtenerdato GOSUB Calc_Temp GOSUB Control GOSUB Mostrar GOTO Principal Obtenerdato: LOW CS LOW CLK PULSOUT CLK.1 • Página 119 .CR "!USRS Comenzando la prueba.CR RETURN Control: PWM 8.10 SHIFTIN Dout. Envía un pulso de 10 uS al 0831 Recibe los datos Detiene la conversión ' Convierte el valor digital a temperatura ' basándose en las variables Rango y ' Offset. MSBPOST. " Trabajo = ". "% Porcentaje.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.200 Contador = Contador + 1 IF Contador = 2000 Then Incrementar RETURN ' Bucle principal ' ' ' ' ' ' Adquiere conversión del 0831 Selecciona el chip Prepara la línea clock. GOSUB GOSUB DEBUG DEBUG Obtenerdato Calc_Temp "Temp = ".[Datain\8] HIGH CS RETURN Calc_Temp: Temp = TempRango/255 * Datain/10 + Offset RETURN Mostrar: DEBUG DEC Temp.".Trabajo. DEC Temp. DEC Trabajo. DEC Porcentaje. CLK. – Probando al ". ' 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 Versión 1.

"% Porcentaje".1 .CR DEBUG "!USRS Temperatura = ". DEC Porcentaje. DEC Temp. final = ". DEC Temp." a 100 % ". " Ahora probando a ". CR DEBUG "!USRS Probando a ". "% ".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. Temp. final = ". DEC Temp."Fin de la prueba". DEC Porcentaje.CR END Página 120 • Control Industrial Versión 1.CR Contador = 0 RETURN Detener: ' Detiene el programa e imprime el resumen DEBUG "Fin de la prueba.

Estudie el análisis de StampPlot Lite luego de ejecutar el Programa 4. De acuerdo a la teoría. Control: ' Prueba el sistema a otro % ciclo de trabajo PWM 8. modifique la subrutina Control del Programa 4. El aire en movimiento representa un cambio en las perturbaciones de su proceso. Una vez que se determina la configuración correcta. Siga estos procedimientos.1 • Página 121 . declare a Trabajo en el valor que generó 101o en la prueba anterior del StampPlot Lite. Almacene los valores en la tabla de la Figura 4. el proceso permanecerá constante.2 para que el ciclo de trabajo permanezca constantemente en el valor declarado inicialmente. Control Industrial Versión 1. al igual que la salida. En la línea 5 de la tabla. y siempre y cuando las perturbaciones que afecten el proceso se mantengan constantes. Déjelo funcionando por un momento y tome notas de la estabilidad del sistema. 5. 3. 2.duty.Experimento 4: Control de Procesos Continuos Desafío 4: Control a Lazo Abierto—Ajuste deseado = 101o Fahrenheit Nuestro objetivo es mantener una temperatura constante de 101o Fahrenheit en el envase. Del listado del recuadro de texto. intente encontrar el nuevo valor de porcentaje “correcto” para esta condición. se removerá calor del proceso a mayor velocidad y el nuevo punto estable de temperatura será menor a 101o. Conecte el ventilador directamente a la fuente de alimentación y apúntelo directamente hacia el envase. anote el porcentaje que coloque al sistema más cerca de los 101 grados. Ejecute el programa y espere hasta que el sistema se estabilice. un sistema de lazo abierto se estabilizará. Hágalo removiendo las dos líneas de código que se muestran abajo. la temperatura con un ciclo de trabajo del 50% y la temperatura final máxima con el 100% de la potencia. Use su cursor para encontrar el nivel que provocó una temperatura de 101 grados.2. Con el ventilador apuntando hacia el envase. Luego.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. 1.12. Registre sus datos en la línea 6 de la tabla. ¿Qué tan cerca estuvo su estimación? Aumente o disminuya el valor de esta variable para encontrar el que genere mejor resultado. anote en la tabla la temperatura ambiente al comenzar la prueba.

Coloque un par de bolitas de vidrio dentro del envase.Experimento 4: Control de Procesos Continuos Figura 4. las acciones se toman evaluando las mediciones y la configuración actual. Cuando un proceso requiere que su salida permanezca constante bajo cualquier condición. Página 122 • Control Industrial Versión 1. se volvería muy bueno adivinando las condiciones y la configuración correcta para el sistema de lazo abierto. ¿Qué conclusiones puede obtener del comportamiento del sistema? Hay muchas variables que pueden afectar la relación entre el ciclo de trabajo y la temperatura en su pequeño ambiente. Con esta situación y adivine el valor apropiado de ciclo de trabajo para compensar estos cambios. Esta evaluación genera lo que se denomina “señal de error”. Como podemos ver sin embargo. Desafío 5: Determinando la Configuración para Lazo Abierto 1. también lo hará la salida. En el control a lazo cerrado.1 . de forma que no sople directamente sobre el envase.12: Tabla de Control de Lazo Abierto Línea #1 #2 #3 #4 #5 #6 #7 Condición Temperatura deseada Temperatura ambiente Temperatura con Ciclo de Trabajo del 50 % Temperatura con Potencia total Ciclo de trabajo apropiado para 101o Sin perturbación del ventilador Ciclo de trabajo apropiado para 101o Con perturbación directa del ventilador Ciclo de trabajo apropiado para 101o Con perturbación parcial del ventilador % Trabajo 0 50% 100% Temp. Seleccione una nueva “temperatura deseada” para su sistema. modifique la posición del ventilador que se pedía en la línea 6. Los Experimentos 5 y 6 lo guiarán por 5 modos de control a lazo cerrado. Esto representa un nivel de perturbación medio sobre el sistema. Programe el BASIC Stamp para este nuevo nivel. 2. porcentaje de alimentación y perturbaciones. si se modifica cualquier condición de nuestro proceso. 101o 101o 101o 101o 6. El control a lazo abierto puede ser muy útil en algunas aplicaciones. Prediga y programe un valor de lazo abierto que mantenga esta temperatura. Después de algún tiempo experimentando y familiarizándose con la relación dinámica entre la temperatura. entonces debería emplearse control a lazo cerrado. registre sus resultados en la línea 7 de la tabla. Una vez que el sistema se estabilice. Vea como un incremento de la masa del sistema afecta la respuesta y la configuración para mantener esta nueva condición. Finalmente.

Experimento 4: Control de Procesos Continuos Preguntas y Desafío 1. la salida debería ser de _________Volts. 6. ¿Cómo se determina el porcentaje de ciclo de trabajo en un control a lazo abierto? 3. 10. El propósito de las líneas chip select y clock del ADC0831 es ____________ el proceso de conversión. Si un calentador de 40-Watts recibiera un PWM con un ciclo de trabajo del 75%. la potencia promedio consumida sería de __________ Watts.1 • Página 123 .13 se introdujo para controlar la velocidad el ventilador. 2. En modulación de ancho de pulso. Control Industrial Versión 1. Cuando las perturbaciones cambian en un proceso a lazo abierto. El ADC0831 convertirá un rango de entrada analógico a uno de 256 valores binarios posibles. Si el LM34 fuese colocado en un ambiente a 98. también lo hace ____________. 9. ¿Cuál es la principal ventaja del control a lazo abierto? 4. ¿Cuál es su principal desventaja? 5. sobre el tiempo total. 7. El número 256 identifica la _________ del conversor. el circuito de la Figura 4. 8.6-grados. el porcentaje del ciclo de trabajo se obtiene en base a la __________ de tiempo en estado alto. Mencione dos ejemplos de control de proceso continuo que no se hayan mencionado en el texto. Desafío: Control a Lazo Abierto del Ventilador En el Experimento 2.

Con el ventilador apuntando directamente al envase. Conecte el calentador directamente a la fuente +Vin. ¿Qué nivel es necesario para enfriar el envase a 101oF? Página 124 • Control Industrial Versión 1. el circuito de Sample and Hold es necesario para controlar efectivamente la velocidad. usando la instrucción PWM.13: PWM con Sample and Hold Ventilador Debido a la respuesta rápida del ventilador a las fluctuaciones de tensión. Construya este circuito para que sea capaz de variar la velocidad el ventilador. experimente con diferentes valores de PWM en el ventilador.1 .Experimento 4: Control de Procesos Continuos Figura 4.

generando la respuesta adecuada. En el Experimento 3 se vieron varias opciones de montaje de interfaces de potencia.1: Control a Lazo Cerrado En este diagrama. La Interfaz de Potencia tiene la capacidad de controlar el Actuador. La acción tomada por el Actuador es suficiente para llevar a la Salida Real hacia el valor deseado. el Controlador acciona la Interfaz de Potencia. Este bloque provee el acondicionamiento de señal para la salida del Controlador. una válvula solenoide. cuando se acercó o alejó el ventilador.1. Sin Control a Lazo embargo. El bloque de Acondicionamiento de Señal toma la salida directa del sensor y la convierte en datos que el bloque Controlador pueda interpretar. aunque sean ligeras.1 • Página 125 . Basándose en esta evaluación. La Calibración es un valor de entrada al Controlador que representa la salida deseada del proceso. un Sensor apropiado está midiendo la Salida Real. Un diagrama de bloques típico de un sistema de control automático se muestra en la Figura 5. etc. Aunque se pudo encontrar una configuración que mantenía la temperatura deseada en el Experimento 4. El Controlador evalúa las dos entradas de datos. Control Industrial Versión 1. si el proceso se afecta por variaciones. Este puede ser un relé.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. No hay ningún mecanismo en un sistema a lazo abierto que reaccione cuando las perturbaciones afectan la salida. el Experimento 4 nos mostró que este tipo de Cerrado sistemas no pueden garantizar la salida deseada. el driver de un motor. Figura 5. la configuración fija dejó de ser útil. El control a lazo cerrado ajusta automáticamente un proceso luego de juntar y evaluar datos.

Las corrientes de aire del ventilador actuarán como una perturbación del proceso. proporcional. Hay cinco modos de control común. En control a lazo cerrado. El LED también se controla desde el Pin 8. Nuestro sistema mostrará las ventajas y desventajas de este método de control. Estos son on-off (encendido. este es idéntico al del Experimento 4.1: Cinco Modos de Control Comunes Modo de Control Proceso ON-OFF ON-OFF con banda diferencial Proporcional Integral Derivativo Evaluación ¿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 límites superior e inferior? ¿Qué tan lejos está la variable medida. etc. dado que la salida de este proceso está siendo monitoreada y su valor determina la configuración del actuador. integral y derivativo. Las características fundamentales que distinguen cada modo de control están listadas abajo. Recuerde que el LED se alimenta de la fuente de +5-Vdd y el calentador se alimenta directamente desde la fuente de alimentación. en la Tabla 5. del valor deseado? ¿El error aún se mantiene? Acción La salida se enciende (ON) o apaga (OFF) completamente. El envase de película de 35-mm provee el ambiente que controlará. define el modo de control del proceso. monitorearemos la temperatura. La Figura 5.1.apagado). podemos decir que se trata de un sistema a lazo cerrado realimentado. etc. Aumenta la fuerza de la acción mientras persista el error. ¿Qué tan rápido se produce el error? Genera una respuesta basada en la velocidad de cambio de la señal de error (derivada). El sensor LM34 proveerá los datos sobre temperatura. Página 126 • Control Industrial Versión 1. Las características del sistema que se está controlando determinan la conveniencia del modo de control. Más aún. Toma un grado de acción relativo a la magnitud del error. El tipo de reacción que se produce luego de la evaluación de la entrada.. integral y derivativo.Experimento 5: Control a Lazo Cerrado Como puede ver. El Experimento 6 usará el mismo circuito para explicar y aplicar los modos de control proporcional. 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.2 muestra el circuito necesario para los siguientes ejercicios. El driver del calentador provee suficiente potencia para desarrollar calor en el resistor. La salida se enciende (ON) o apaga (OFF) completamente para lograr que el valor medido permanezca dentro de esa rango. La entrada cambia la salida del proceso ! la salida es monitoreada para realizar el control ! la evaluación cambia la entrada ! eso modifica la salida del proceso. este tipo de control forma un bucle o un lazo cerrado.1 . on-off con banda diferencial. Deje el circuito montado una vez que complete este ejercicio. usándola para determinar los niveles de control. Tabla 5. Como puede ver.

2: Circuito de Control a Lazo Cerrado Control Industrial Versión 1.1 • Página 127 .Experimento 5: Control a Lazo Cerrado Figura 5.

Esto representaría los requerimientos de una incubadora usada para empollar huevos. En lugar de encender el calentador continuamente. La rutina que muestra los datos.5 Volts. Esto establecerá un rango de medición de escala completa desde 70 hasta 120 grados F. Página 128 • Control Industrial Versión 1.5 oF es perfecto. Aunque puede ser difícil imaginarse una incubadora cuando mira a su envase de película. Ejercicios Ejercicio 1: Estableciendo un Control a Lazo Cerrado Supongamos que nuestro objetivo es mantener la temperatura dentro del envase en 101. Procedimiento El programa para esta aplicación requiere adquisición de datos. Este control tiene algunas desventajas.Experimento 5: Control a Lazo Cerrado Si todavía no montó el circuito en su protoboard. Vea nuevamente el Experimento 4 para obtener detalles del montaje del envase de película.1 .50 no se causa daño alguno a los embriones. evaluación y acción de control. sin embargo. si está por encima del valor escogido.50 oF + 1 grado.1 puede ser usado para adquirir y calcular las mediciones. Es decir. Mantener la temperatura en el valor deseado parece ser una tarea de “sentido común”. préndalo. Revise cuidadosamente las tensiones en Cero y Rango del ADC0831. simplemente mida la temperatura. si está por debajo. la operación del LM34. establecerá un control on-off es su incubadora. se agregará una nueva subrutina para controlarlo.50 o baja hasta 100. La estructura y mucho del contenido del Programa 4. Use su voltímetro para ajustar la tensión de Cero (Vin(-)) a 0.7V y el Rango a (V(ref)) a 0. Mantener la temperatura en 101. Éste también se aprecia en aplicaciones de control reales. Tómese un tiempo. hágalo ahora cuidadosamente. planee la distribución y sea cuidadoso para evitar cortocircuitos.1 a continuación. Vea el Programa 5. apague el calentador y. Use el espacio eficientemente para que entre todo el circuito. Preste mucha atención al comportamiento de su modelo. pero si la temperatura sube hasta 102. Durante el siguiente ejercicio. el BASIC Stamp podría ser usado en un incubador grande de tipo comercial. El modo de control más simple es el on-off. La decisión se basará en la variable tempdeseada. también almacenará los valores máximo y mínimo del proceso . o el uso del conversor analógico a digital ADC0831.

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 número (0 to 255) Almacena valor convertido en temperatura ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' Espera que se limpie el buffer Reinicia el gráfico para limpiar datos Título de la ventana 60000 puntos de datos Máx.CR DEBUG "!DELD". ' Configura graficador Pause 500 DEBUG "!RSET".CR DEBUG "!PLOT ON".1: Control Simple ON/OFF con StampPlot ' Este programa establece un control simple ON/OFF para la incubadora.1". ' El programa distribuye las E/S de acuerdo a la Figura 5.CR DEBUG "!SHFT ON".CR DEBUG "!RSET".1 Borrar archivo de datos Limpiar Min/Max Limpiar mensajes Limpia barra de usuario Guardar datos Activar temporizador Habilita desplazamiento de gráfico Iniciar gráfico Reinicia temporizador de gráfico 0 TempRango VAR word TempRango = 5000 Offset VAR word Offset = 700 ' Rango máximo en décimas de grado ' Declara rango para Vref 0.Experimento 5: Control a Lazo Cerrado 'Programa 5.CR DEBUG "!TMAX 300".2.CR DEBUG "!SPAN 70.CR DEBUG "!TITL Control Simple ON/OFF ".7 Con estos valores.CR DEBUG "!AMUL .50V ' ' ' ' Temp.CR DEBUG "!SAVD ON".CR DEBUG "!CLMM".70V y Rango = Vref = 0.120". mínima. 300 segundos 70-120 grados Multiplicar datos por 0.CR DEBUG "!CLRM".255 para temps de 700 a 1200 décimas de grado Tempdeseada VAR word Tempdeseada = 1015 BanderaMM VAR bit BanderaMM = 0 LOW 8 ' Inicializa tempdeseada en 101.50V.1 • Página 129 .5 grados ' Inicializa calentador apagado Principal: Control Industrial Versión 1. @Offset.CR DEBUG "!USRS ". la salida del ADC será de 0 .CR DEBUG "!TSMP ON". ' Tensiones de Cero y Rango: Digital 0 = Vin(-) =0.CR DEBUG "!PNTS 60000". ADC = 0 Declara el Cero para Vin(-) 0.

Envía un pulso de 10 uS al 0831 Recibe los datos Detiene la conversión ' Convierte el valor digital a temperatura ' basándose en las variables Rango y ' Offset. MSBPOST. DEBUG "!CLMM".CR DEBUG "!USRS Búsqueda de Máximo/Mínimo Lista". ' 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 RETURN LimpiaMM: ' Limpia Min/Max cuando alcanza tempdeseada.CR BanderaMM = 1 RETURN Página 130 • Control Industrial Versión 1.10 SHIFTIN Dout.[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 conversión del 0831 Selecciona el chip Prepara la línea clock.CR DEBUG IBIN OUT8. CLK.1 .Experimento 5: Control a Lazo Cerrado GOSUB Obtenerdato GOSUB Calc_Temp GOSUB Control GOSUB Mostrar GOTO Principal Obtenerdato: LOW CS LOW CLK PULSOUT CLK.

Cuando la temperatura se detiene y comienza a caer. Este calor se transfiere a través del ambiente y aumenta la temperatura del sensor. 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. la temperatura continúa subiendo. el calentador se encenderá como indica el LED. StampPlot Lite graficará la respuesta de la temperatura del sistema y el estado on-off de la salida Pin 8. pero la masa del resistor de medio Watt también lo es. abriendo StampPlot Lite. En este punto. la duración de cada ciclo. por la inercia térmica que describimos antes.Experimento 5: Control a Lazo Cerrado Ejecute el programa y observe el comportamiento del sistema. Temperatura Máxima _______________ Temperatura Mínima __________________ Usando su cursor. cerrando la ventana debug. El envase de película de 35-mm es pequeño. 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): Duración del ciclo = (T2off) – (T1off): ____________ ____________ ____________ ____________ Control Industrial Versión 1. el aire continuará calentándose y el LM34 reportará este fenómeno. Luego que el proceso haya repetido algunos ciclos. recibiendo el nombre de inercia térmica. el calentador se enciende nuevamente. registre los valores máximo y mínimo que alcanza normalmente la temperatura. el BASIC Stamp apagará el calentador. El sobrepaso de temperatura es mayor cuando la cantidad de energía térmica contenida en la masa del resistor es más grande. bien aislada y mantenida dentro de un ambiente a temperatura constante. luego de apagar el calentador. Durante un tiempo. es importante entender la dinámica de su sistema. descargando el programa.1 • Página 131 . y presionando el botón “reset”. al pasar por la temperatura deseada. Siga el procedimiento para ejecutar StampPlot Lite. La temperatura seguirá bajando una vez encendido el calentador. en comparación con la que se encuentra distribuida en el envase. El calentador / resistor se calentará bastante cuando se le aplique toda la potencia. Si nuestra incubadora fuera grande. El calor acumulado en el interior del resistor continuará disipándose en el aire. Como resultado. la temperatura de su sistema probablemente se sobrepasará menos de un grado.5 F. Registre estos tiempos abajo. Cuando el sensor se calienta a 101. Esto es similar a la inercia mecánica de un objeto móvil. Cuando inicia su sistema. Este ciclo en el que la temperatura pasa por encima y por debajo de la deseada es típico del control on-off. La velocidad de este ciclo y la magnitud en que se aleja de la temperatura deseada dependen de las características del sistema. el uso del control on-off sería aceptable.

¿Puede observar esto en la respuesta de su sistema? Calentador apagado Página 132 • Control Industrial Versión 1.Experimento 5: Control a Lazo Cerrado Un problema serio con el control on-off cuando la salida oscila rápidamente cuando las mediciones rondan la temperatura deseada. ¿Puede observar el parpadeo rápido del LED cuando la temperatura se acerca al valor deseado? __________ Quite el capacitor de 10-uF de la salida del sensor.4 una pantalla que se obtuvo con este experimento. La inercia térmica y la oscilación alrededor del valor deseado representan un problema. También se podrían dañar los elementos electromecánicos de salida tales como motores. relés y solenoides. Como puede ver. El microcontrolador encenderá y apagará el calentador de acuerdo a esa señal. El ruido que se superponga a la medición del sensor analógico sería interpretado como una fluctuación rápida por encima y por debajo de la temperatura deseada.3: Control ON-OFF Cuando se Superpone Ruido en los Datos Calentador encendido Temp. ¿Mejora o empeora este problema? ¿Por qué? La Figura 5. esta conmutación rápida podría causar ruido indeseado de RF.1 . deseada La oscilación lenta de la temperatura alrededor de la referencia tiene superpuesta una señal de ruido de alta frecuencia. El diagrama de la Figura 5.3 representa este problema. En una incubadora real donde se controla una gran potencia. el efecto de esta superposición es que el valor medido de la temperatura pasa por encima y por debajo de la temperatura deseada varias veces consecutivas. Figura 5.

4: Control Simple ON/OFF Control Industrial Versión 1.1 • Página 133 .Experimento 5: Control a Lazo Cerrado Figura 5.

5 grados. Conecte su ventilador a la fuente de alimentación y apúntelo hacia el envase de película. Cuando el valor medido va más allá de ese límite. Coloque una bolita de vidrio dentro del envase. Al cruzar este límite el calentador se enciende nuevamente y el ciclo comienza nuevamente. Luego la acción opuesta se toma para regresar el proceso al inicio. Cuando el sistema es iniciado y su temperatura está por debajo del límite más bajo. Reinicie el programa y observe la acción de control. La Figura 5. se toma la acción apropiada para enviar la temperatura hasta el límite opuesto. Una incubadora es un buen ejemplo. 2. Describa cualquier efecto que el nuevo nivel de perturbación tenga sobre el valor pico y/o el ciclo de la temperatura. Resuma como ha cambiado la dinámica de su sistema. el calor comenzará a abandonar el proceso y la temperatura comenzará a caer hacia el límite inferior. superior e inferior. el calentador se apaga. Aunque la temperatura deseada es de 101. el calentador se enciende y la temperatura subirá. Ejercicio 2: Control de Banda Diferencial La oscilación de alta frecuencia causada por el ruido es la mayor desventaja del control simple on-off. La mayoría de los sistemas de control on-off en la práctica. Resuma como ha cambiado la dinámica de su sistema. toleran valores de medición mínimo y máximo. Página 134 • Control Industrial Versión 1. Reinicie el programa y observe la acción de control.1 .Experimento 5: Control a Lazo Cerrado ¡Desafío! Modifique la Dinámica de su Sistema 1. se permite una variación de + 1 grado desde ese punto. El control de banda diferencial es un modo de control que genera una acción cuando la medición cruza ciertos límites predefinidos. Describa cualquier efecto que el cambio de masa de su sistema tenga sobre el valor pico y/o el ciclo de la temperatura.5 grafica la acción tomada por un control de banda diferencial. Cuando la temperatura cruza el límite superior.

Cuando la medición se encuentra en cualquier punto entre estos límites. El calentador es activado cuando la señal de la temperatura (+ruido) cruza un límite. la oscilación de alta frecuencia en la salida es eliminada.6 del anterior.5: Acción de Control de Banda Diferencial El resultado es un tiempo de ciclo on-off más lento y la cancelación de la influencia del ruido.Experimento 5: Control a Lazo Cerrado Figura 5. Observe como difiere el diagrama temporal de la Figura 5. Luego. Debido a que la banda diferencial es más ancha que el efecto del ruido. Control Industrial Versión 1.1 • Página 135 . la señal (+ruido) debe llegar hasta el otro límite antes de que se produzca otra conmutación en el calentador. que se había realizado para el modo de control onoff simple. el estado del calentador no se modifica.

estamos aceptando una variación más amplia en la temperatura. La subrutina Control puede modificarse fácilmente para el control de banda diferencial. Limite_superior Limite_inferior Limite_superior Limite_inferior VAR word VAR word = 1020 = 1010 '102 grados décimas '101 grados décimas Página 136 • Control Industrial Versión 1. se aleje del valor “promedio” deseado. La inercia térmica de nuestro sistema aun genera excesos en los valores límites de la temperatura.1. Haga las siguientes modificaciones al Programa 5.Experimento 5: Control a Lazo Cerrado Figura 5. En este caso. Declare las nuevas variables Limite_superior y Limite_inferior al comienzo del programa e inicialícelas en 102 oF y 101 oF respectivamente. el control de banda diferencial normalmente es escogido antes que el control on-off simple.6: Acción de Control de Banda Diferencial Cuando se Superpone Ruido a los Datos Calentador encendido Límite superior Valor Deseado Límite inferior Calentador apagado Estas ventajas surgen con el compromiso de permitir que la variable bajo control. Cuando los procesos permiten esta variación.1 .

investigue la duración de los ciclos.1 • Página 137 . Temperatura Máxima _______________ Temperatura Mínima __________________ Con su cursor. de acuerdo al gráfico. 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): Duración del ciclo = (T2off) – (T1off): ____________ ____________ ____________ ____________ Verifique a qué temperatura se apaga el calentador. reemplace la subrutina de Control on-off por el siguiente código. Quite momentáneamente el capacitor de filtrado de 10-uF. Registre estos tiempos abajo. lo enciende.Experimento 5: Control a Lazo Cerrado Luego. Control: IF Temp > Limite_superior THEN OFF ' Sobre el límite superior apaga calefactor. 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. cuando la temperatura está cerca de los límites? Control Industrial Versión 1. ¿El aumento de ruido en la lectura genera una oscilación de alta frecuencia en la salida. Registre lo siguiente: Registre los valores máximo y mínimo de la temperatura. ¡Desafío! Observe y Evalúe el Control de Banda Diferencial Permita que el programa realice algunos ciclos. IF Temp < Limite_inferior THEN ON ' Bajo el límite inferior.

Describa cualquier efecto que el cambio de masa de su sistema tenga sobre el valor pico y/o el ciclo de la temperatura. que el sobrepico de temperatura es de cerca de medio grado y que el valor promedio es el valor deseado. La contra sin embargo. Ambos tienen ventajas y desventajas. 2. notará las siguientes diferencias. el conocimiento del proceso y su hardware determinará el modo de control apropiado. Página 138 • Control Industrial Versión 1. está en que la temperatura del proceso se alejará mas del punto deseado. El período de los ciclos ON/OFF es más largo. Resuma como ha cambiado la dinámica de su sistema. 3. Observe sin embargo. Reinicie el programa y observe la acción de control. El aumento del período del ciclo y la inmunidad al ruido cerca de la temperatura deseada. El control on-off simple genera acciones más frecuentes en el calentador. son mejoras evidentes sobre el control simple on-off. ¿ON/OFF Simple o Banda Diferencial? Afortunadamente. Compare esta respuesta de control con la que obtuvo con el control ON/OFF de Banda Diferencial. Reinicie el programa y observe la acción de control. Los ciclos de alta frecuencia cercanos a la temperatura deseada no se producirán. Obviamente. 1. Describa cualquier efecto que el nuevo nivel de perturbación tenga sobre el valor pico y/o el ciclo de la temperatura.Experimento 5: Control a Lazo Cerrado Use el ventilador para modificar las perturbaciones del proceso.1 . Un ciclo de alta frecuencia no es aceptable si el calentador va a ser controlado por un relé electromecánico. Todavía se producen picos máximos y mínimos. Períodos de ciclo de menos de un segundo podrían presentarse si su sistema tiene recuperación rápida o si hay ruido en la línea de señal analógica. los datos que ha observado y almacenado revelarán algunas características importantes de estos dos modos de control. Coloque una bolita de vidrio dentro del envase. Con el control de banda diferencial. pero ahora dentro de los límites.

Experimento 5: Control a Lazo Cerrado Ambos modos tomaron acciones de control apropiadas para mantener la temperatura bajo niveles variantes de perturbación y condiciones de carga. El Experimento 6 investigará controles que toman una cantidad apropiada de acción basándose en la evaluación de las mediciones.1 • Página 139 . para mantener la temperatura en cierto punto. 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á automáticamente las acciones necesarias de control. donde se encontraba un valor de excitación intermedio entre completamente encendido y completamente apagado. Control Industrial Versión 1. Desafíos de Programación 1. Las condiciones completamente encendido y completamente apagado del elemento de control final fuerzan continuamente la variable. Recuerde el ejercicio de Control a Lazo Abierto del Experimento 3. Integral y Derivativo nos permitirá maximizar la efectividad del sistema de control. la temperatura quedaba en el valor correcto cuando se aplicaba el porcentaje requerido de excitación. Modifique su programa de forma que una banda diferencial de +1 grado pueda calcularse automáticamente. 2. basándose en la temperatura deseada. La contra de estos dos modos de control ON/OFF es que la variable bajo control está siempre variando su valor. Si todas las perturbaciones del proceso permanecían constantes. fuera de los límites. también lo hacía la temperatura. También vimos que a medida que las condiciones cambiaban. Aplicar la teoría de control Proporcional.

1 . ____________________ ____________________ ____________________ 7. Mencione tres dispositivos que no soportarían ciclos de activación de alta frecuencia. Página 140 • Control Industrial Versión 1. 2. El control ON/OFF simple compara la medición de la variable del proceso con el ____________ ____________. El período del ciclo del proceso es afectado directamente por la cantidad de ____________ del sistema. 6.Experimento 5: Control a Lazo Cerrado Preguntas y Desafío 1. debido a la ________________________. Escriba una oración completa que indique claramente la diferencia fundamental entre control a Lazo Abierto y control a Lazo Cerrado. Si el elemento de control final de nuestra incubadora fuera un aire acondicionado en lugar de un calentador. La oscilación rápida que se produce cerca del punto deseado de un sistema de control ON/OFF es el resultado de una señal de __________ montada sobre la señal de datos.1? 4. ¿qué cambiaría del Programa 5. El control de banda diferencial actúa cuando la variable del proceso cruza _____________ límite. La variable del proceso continua aumentando después de que el elemento de control es apagado. 3. 8. 5.

2b por el ventilador y coloque el calentador directamente a la fuente de alimentación +como se muestra en la Figura 5. Experimente con él y anote sus observaciones. Cuando la medición está entre los límites. El período del ciclo será ______________ si se emplea control de banda diferencial en un sistema en lugar del control ON/OFF simple. la salida estará en el modo determinado por el __________ límite que se cruzó. Controle la temperatura encendiendo y apagando el ventilador mientras el calentador está permanentemente prendido. La conmutación de alta frecuencia no es un problema en el control de banda diferencial si la magnitud de _________________ es menor que la banda diferencial. Control Industrial Versión 1. tener menos sobrepicos y ser más susceptible a oscilaciones.Experimento 5: Control a Lazo Cerrado 9.2c. Observe que cada sistema con el que trabaja tiene sus propias características dinámicas. Podría realizar ciclos más rápidos. 12. Puede convenirle acercar el sensor y el calentador y abrir el envase para que el aire pueda circular por alrededor del par. 10. Desafío de Control: Invierta el Escenario Invierta las posiciones de los dispositivos de salida de la Figura 5. 11. Esto modificará la dinámica del sistema.2. Reemplace el calentador de la Figura 5. Tendrá que modificar el código de tal forma que la salida se encienda para hacer bajar la temperatura y se apague cuando pase por debajo de cierto valor. Agregando más masa a un sistema de control de banda diferencial ___________ el sobrepico y ___________ el período de ciclo del proceso.1 • Página 141 .

Experimento 5: Control a Lazo Cerrado Página 142 • Control Industrial Versión 1.1 .

o el resistor poniéndose viejo. Dependiendo de la excitación del calentador y de las condiciones alrededor de la incubadora. la cantidad de calor agregado y perdido rara vez permanece constante. Esto sería difícil o casi imposible de lograr.1 • Página 143 . deben entenderse las demoras en la reacción del sistema. A medida que cambian las condiciones. cambios en el movimiento del aire sobre el envase. En esta sección. debido a una perturbación. El primer paso para entender el control PID es que cada sistema tiene ganancias y pérdidas de energía. además de una ciencia. nuestra incubadora mantendría una temperatura constante. creamos un rango en el que la temperatura puede variar cíclicamente alrededor del valor deseado. la temperatura subirá o bajará. Un cambio instantáneo en las pérdidas. Mientras que estos tipos de control tienen sus ventajas y desventajas. el control del proceso sería tan simple como aplicar un nivel continuo de excitación. no se notará inmediatamente y tampoco lo hará un cambio en la excitación. exploraremos cada uno de los métodos y cómo trabajan juntos para controlar eficientemente un sistema. Control Industrial Versión 1. Usando banda diferencial. Mantener un proceso constante involucra agregar continuamente la misma cantidad de energía que pierde el proceso. En el Experimento 4. Esistema = Ein–Eout Se dice que un sistema está en equilibrio cuando la energía ganada (in) equivale a la perdida (out). El control del proceso puede ser considerado como un arte. usamos varios medios cíclicos para mantener el incubador a la temperatura deseada. el control PID nos permite controlar perfectamente un sistema. Equilibrio: Ein = Eout Una vez en equilibrio. Sin embargo. Si las pérdidas del sistema fueran constantes. vimos como usar modulación por ancho de pulso (PWM) para agregar energía a nuestro sistema con ciclos de trabajo entre 0% (completamente apagado) y 100% (completamente encendido). los factores que afectan un proceso siempre cambian. rayos de sol iluminando el envase. como la temperatura ambiente.Experimento 6: Control Proporcional – Integral – Derivativo Experimento 6: Control ProporcionalIntegral. Un objetivo del control de proceso es mantener constante un sistema. Agregado a esto.Derivativo Introducción al Control PID PID es la sigla para Control Proporcional-IntegralDerivativo. Cambian en cantidades y a velocidades impredecibles. aunque puede resultar un poco más complejo de implementar y ajustar para un óptimo rendimiento. En el ejercicio anterior.

o la magnitud del error. el sistema está en equilibrio y nuestro pie mantiene el acelerador en una posición constante. El control PID puede medir y tomar acción observando: 1) Qué tan lejos del punto de equilibro deseado está el sistema. ¿Si no apretamos más el acelerador. La Figura 6. la bomba de aceite. Cuando cambian las condiciones. haciéndole perder parte de la energía que suministra el motor y el auto comienza a frenarse. El elemento activo.1 ilustra la evaluación y control de un sistema con control PID. o muy lentamente como cuando el calentador se deteriora por el paso del tiempo. La suma de estas tres evaluaciones conforma la excitación de salida que intentará mantener el sistema en equilibrio. como cuando hay que subir una loma. Las condiciones o las perturbaciones de nuestro sistema pueden cambiar muy rápidamente. la velocidad del auto cambia y comienza a disminuir. La aceleración de la gravedad comienza a influir sobre el auto. o la velocidad de cambio. La bomba necesita ser ajustada para compensar esas pérdidas. Normalmente queremos que el auto mantenga una velocidad constante en la autopista. como cuando una ráfaga de viento sopla repentinamente sobre la incubadora. Un cambio lento en el sistema podría ser la corrosión de las cañerías causando fricción.Experimento 6: Control Proporcional – Integral – Derivativo Considere otros ejemplos de sistemas. Cuando el auto mantiene velocidad constante. el auto se detendrá en algún punto de la cuesta? No. o el cambio de la temperatura del aceite.1 . El motor compensa las pérdidas de fricción de las cubiertas contra el pavimento y de la carrocería contra el aire. Un cambio rápido en el sistema podría ser una válvula cerrándose para bloquear un sector de la cañería. reducirá la velocidad hasta un valor constante más bajo donde las pérdidas igualen a la energía suministrada y se encontrará un nuevo equilibrio. La fórmula clásica de control PID para calcular la salida del controlador es esta: Co pid = ( Kp * E ) + ( Ki * ∫ Et ) + ( Kd * Donde: Co = salida del controlador o excitación Kp = ganancia proporcional E = señal de error Ki = ganancia integral Kd = ganancia derivativa ∆E ) ∆t La ecuación de excitación basada en la anterior es: %ExcitaciónTotal = ExcitaciónPROP + ExcitaciónINT + ExcitaciónDERIV Página 144 • Control Industrial Versión 1. como el sistema lubricante de un auto. 2) El tiempo transcurrido desde que se presentó el error. 3) Qué tan rápido ocurre el error en el sistema. es controlado para mantener el flujo de aceite deseado. Otro sistema a considerar es el automóvil en sí.

Cambiaremos los valores de Ajuste del Control PID para verificar las distintas áreas de control. pero conectará manualmente el ventilador a la fuente de alimentación sin regular o a los 5V cuando sea requerido para generar las perturbaciones.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6. resolviendo la ecuación correspondiente.1: Diagrama en Bloques de Control PID En esta sección. A continuación se transcribe el programa completo para esta sección.2). Control Industrial Versión 1.1 • Página 145 . la incubadora será controlada usando control PID. Construcción del Circuito Usaremos el mismo circuito del Ejercicio 5 (Figura 5.

CR DEBUG "!RSET".CR DEBUG "!AMUL . Tiempo en segundos del eje X '************************************************* '***** Configura graficador PAUSE 2000 DEBUG "!TITL Control PID ". Del eje Y analógico MaxA CON 120 ' Valor Max.1) Ti CON 24 ' Tiempo de Reset Interal (1=~5 segundos) Kd CON 0 ' Ganancia Derivativa MinA CON 75 ' Valor Min. Del eje X analógico MaxT CON 600 ' Max.CR DEBUG "!TMAX "." Ki=".dec SP.CR DEBUG "!AMAX ". ADC = 0 Signo VAR WORD ' Almacena el signo de los cálculos 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 excitación Error excitación excitación excitación total Proporcional Integral Derivativa ' Contador para registrar tiempo de aplicación de PWM Página 146 • Control Industrial Versión 1.CR DEBUG "!USRS SP=".CR ' Reinicia el gráfico ' ************** 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 número entrante (0 a 255) Temp VAR WORD ' Almacena valor convertido que representa la Temp.CR ' Título ' Reinicia el gráfico ' 1000 puntos de datos ' Tiempo max. TempRango CON 5000 ' Rango completo en décimas de grado.1".CR DEBUG "!CLMM".CR DEBUG "!SHFT ON". ' Max.dec Kp. Offset CON 700 ' Temperatura mínima.dec Ti.DEC MinA.CR DEBUG "!AMIN ".CR DEBUG "!PNTS 1000".1: Control PID con StampPlot '********* CONFIGURACIÓN DEL CONTROL PID **************** SP CON 990 ' Temp deseada en décimas de grado Rango CON 20 ' Rango en décimas (20=2F) B CON 50 ' Configuración de excitación de polarización Kp CON 0 ' Ganancia Proporcional en décimas (10= ganancia de 1) Ki CON 0 ' Ganancia Integral en décimas (1= ganancia de 0.CR DEBUG "!PLOT ON".dec Ki.CR DEBUG "!SAVM ON".Experimento 6: Control Proporcional – Integral – Derivativo 'Programa 6. analógico ' Min.1 .DEC MaxT.dec Kd.1 ' Habilita temporizador ' Guarda mensajes en archivo ' Limpia min/max en el reset ' Habilita desplazamiento de gráfico ' Habilita graficador ' Muestra la configuración del excitador Kp="." DEBUG "!RSET". analógico ' Multiplicador analógico 0." Ti=". @Offset." Kd=".CR DEBUG "!TSMP ON".DEC MaxA.

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 Cálculos de Error Calcula error proporcional Calcula error Integral Calcula error Derivativo Calcula excitación 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 repetición PWM Calentador. CLK. SHIFTIN Dout. Temp = TempRango/255 * Datain/10 + Offset ' basándose en las variables Rango y RETURN 'Offset.1 • Página 147 . excitacion * 255/100.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 excitación integral Variable que define cuanto durará la excit.220 NEXT RETURN '********* Grafica datos Grafica_Datos: Control Industrial Versión 1.[Datain\9] ' Lee datos HIGH CS ' conversión RETURN Calc_Temp: ' Convierte el valor digital en Temp. msbpost. PWM (20=~5 segundos) Error acumulativo para cálculo 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 conversión del 0831 LOW CS ' Habilita el chip LOW CLK ' Prepara línea de clock.

Signo ajustado PropCalc: Signo = Err GOSUB PoneSigno P = ABS Err * KP + 5/10 ' Err prop= %Err * Kp /10 por escala.Experimento 6: Control Proporcional – Integral – Derivativo DEBUG DEC Temp.". DEC B." %B=". P = P * Signo ' +5 por redondeo RETURN '********** Excitación Integral .SDEC Excitacion.SDEC Err.SDEC I.".DEC Temp. SDEC D DEBUG " %Excitación:".CR RETURN '********** Calcula %Error ." %D=". SDEC P DEBUG " %I=". CR '** Mensaje de salida separado por comas para importar en hoja de cálculo ' DEBUG ".SDEC P.Temp) Signo = Err GOSUB PoneSigno Err = ABS Err*100/Rango Err = Err * Signo RETURN ' Calcula error de la temperatura ' Calcula % error '*********** Excitación Proporcional . DEC SP. " %P=".".".SDEC Err.SDEC D.".SDEC I.".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 '*********** Excitación Derivativa DerivCalc: D = (Err-UltimoErr) * KD ' Calcula excitación derivativa ' basándose en la diferencia del último error Página 148 • Control Industrial Versión 1.".1 ." Temp:".SDEC Excitacion.CR '** Mensaje de salida con formato de las lecturas (4 líneas) DEBUG "Deseada:". DEC Temp DEBUG " %Err:".".".Signo ajustado ErrorCalc: Err = (SP .".".

Experimento 6: Control Proporcional – Integral – Derivativo DerivListo UltimoErr = Err RETURN '********** Determina el signo de un valor PoneSigno: IF Signo.1 • Página 149 .bit15 = 0 THEN SignoPos Signo = -1 Return SignoPos: Signo = 1 SignoListo: Return ' Almacena error actual para el próximo cálculo ' Si signobit es 1. entonces es negativo Control Industrial Versión 1.

es importante comprender estas limitaciones y usar sistemas alternativos.2 es un diagrama de flujo del bucle principal del programa PID. Al programar operaciones complejas como en control PID.2: Diagrama de Flujo del Proceso Principal Inicio Configura Control de Excitación Configura SPL Lee ADC Calcula Temp. Calcula Excitación Envía datos SPL Excita el Calentador La Figura 6.1 .Experimento 6: Control Proporcional – Integral – Derivativo Figura 6. Cada proceso se discutirá en forma individual a medida que se toque cada tema. así como otros sistemas tales como los Controladores Lógicos Programables (PLCs). Todos los microcontroladores tienen sus limitaciones. Página 150 • Control Industrial Versión 1.

3 es un diagrama de flujo para estas rutinas. También necesitaremos limitar los valores máximos de forma que no excedan el 100% bajo ciertas circunstancias.1 • Página 151 . no los puede dividir o usar en instrucciones MIN y MAX para limitar su tamaño. Si el bit de signo es 0.768 a +32767. En esta sección ambos problemas serán importantes. es positivo y Signo se pone en 1. como con excitación total. PropCalc: Signo = Err GOSUB PoneSigno P = ABS Err * KP + 5/10 P = P * Signo RETURN . para realizar otras operaciones. se almacena en una variable tipo word rotulada Signo. La Figura 6. Los valores de excitación PID serán negativos o positivos dependiendo de si es necesario agregar o quitar excitación del sistema. El resultado luego se multiplica por Signo para que recupere su signo original. la excitación total es la suma de tres evaluaciones diferentes basadas en el error. El número a ser manipulado. Como se mencionó anteriormente. ' Si el bit es 1. Los valores consigno pueden ser de–32. entonces es negativo La primer parte del programa a considerar son los cálculos de excitación total. Esto permite que el tiempo con el calentador encendido sea mucho mayor que el relativamente corto en el que está apagado. como en el caso de la temperatura. que puede ser negativo. se manipula el valor absoluto del número original..Experimento 6: Control Proporcional – Integral – Derivativo Ya hemos superado la restricción de tener que trabajar con números enteros. Otra limitación que necesitaremos sobrellevar es el uso de números negativos. Si el bit de signo es 1. El porcentaje de excitación total se aplicará entonces al calentador usando PWM durante 5 segundos. Para realizar estas tareas. De regreso en la rutina que hizo la llamada. el bit de signo (bit15) es verificado.. Control Industrial Versión 1. trabajando en décimas de grado. es usada una subrutina llamada PoneSigno. Cuando PoneSigno es llamada. 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 bien el BASIC Stamp puede usar valores negativos. Varias rutinas la llaman usando GOSUB. es un valor negativo y la variable Signo se pone en -1.

1 .3: Diagrama de Flujo de la Rutina de Excitación Calcular Excitación Calcular % de Excitación Integral Sumar Excitaciones para % Ex.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6.drive * 255/100.220 ' repetición 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 ' ' ' ' Cálculos de Error Calcula error proporcional Calcula error Integral Calcula error Derivativo ' Calcula excitación total ' Ajuste de signo para max 100 min 0 Página 152 • Control Industrial Versión 1. Ajuste para máximo de 100% Return Excitacion_Calentador: FOR ContadorPWM = 1 TO TiempoPWM ' Aplica PWM durante 220 mSec por cada PWM Calentador. Total Calcular % Error Calcular % de Excitación Proporcional Calcular % de Excitación Deriv.

Control Industrial Versión 1. Al tratarse de un envase de película si aislar.Experimento 6: Control Proporcional – Integral – Derivativo Ejercicios Ejercicio 1: Excitación de Polarización Como se dijo antes. Desafortunadamente. Nuestra incubadora es un sistema muy fácil de perturbar. La Excitación de Polarización es la que compensa las pérdidas de energía promedio. Este punto es el que nos permite ejercer mayor control.1 • Página 153 . nuestro sistema no está bien diseñado. un sistema en equilibrio es donde la ganancia de energía iguala a las pérdidas. una excitación del 50% no será suficiente la mayoría de las veces para mantener la temperatura deseada. Modifique nuestra ecuación ligeramente: Co pid = B + ( Kp * E ) + ( Ki * ∫ Et ) + ( Kd * B = Excitación de Polarización O: ∆E ) ∆t %ExcitaciónTOTAL = %ExcitaciónPOLARIZ + %ExcitaciónPROP + %ExcitaciónINT + %ExcitaciónDERIV Para que los huevos de nuestra incubadora empollen correctamente. Algunas limitaciones de nuestra incubadora experimental son: • • • • Una polarización de la excitación del 50% es insuficiente para mantener una temperatura de 101. Diseñando el sistema de forma que una excitación de polarización del 50% sea suficiente para compensar las pérdidas promedio. afectando la temperatura medida. Cuando se diseña un sistema normalmente los ingenieros habrán determinado anticipadamente el promedio de pérdidas del sistema.5F. nos da la capacidad de agregar o quitar hasta un 50% para compensar otras pérdidas o grandes perturbaciones del sistema.5F con pérdidas promedio. con un pequeño resistor haciendo las veces de calentador. una excitación del 50% en el calentador debería proveer suficiente energía para mantener la temperatura de la incubadora alrededor de 101. Factores como temperatura ambiente y ventiladores soplando sobre el envase. Al mover o golpear la incubadora se mezclará el aire. Cada incubadora tendrá una temperatura estable diferente para una excitación de polarización del 50% debido a diversos factores. modificarán la temperatura.

4 muestra un ejemplo de este procedimiento. Tiempo en segundos del eje X Observe que Kp. 98. Se recomienda que el estudiante lea primero todo el Capítulo 6 y luego intente hacer tantas prácticas consecutivas como sea posible. Del eje X analógico MaxT CON 600 ' Max. Verifique que la Configuración del control de Excitación se ajuste a lo siguiente: '********* CONFIGURACIÓN DE CONTROL PID **************** SP CON 990 ' Inicialice SU temp deseada en décimas de grado Rango CON 20 ' Rango permitido en décimas (20=2F) B CON 50 ' Configuración de excitación de polarización Kp CON 0 ' Ganancia Proporcional en décimas (10= ganancia de 1) Ki CON 0 ' Ganancia Integral en décimas (1= ganancia de 0. dejando solamente la excitación de polarización del 50% sobre el calentador.1) Ti CON 24 ' Tiempo de Reset Interal (1=~5 segundos) Kd CON 0 ' Ganancia Derivativa MinA CON 75 ' Valor Min. Ej. Permita que la temperatura de la incubadora se estabilice para encontrar la temperatura de polarización del 50%. Ki y Kd están todas en 0 por lo que no proveen ninguna excitación.8 = 990). La Figura 6. Reinicie su BASIC Stamp 2 presionando “reset” en la plaqueta. 3) 4) 5) 6) 7) Encienda su sistema y descargue el programa al BASIC Stamp 2.Experimento 6: Control Proporcional – Integral – Derivativo Modificaremos nuestro punto de ajuste óptimo para operar el sistema a una temperatura de polarización del 50%. Cierre la ventana debug y conecte StampPlot Lite. Observe que esta temperatura de polarización puede variar de acuerdo a las condiciones de la habitación. Redondee la temperatura estabilizada al grado entero más cercano y fíjela como su constante SP (setpoint o punto de ajuste. Del eje Y analógico MaxA CON 120 ' Valor Max. Co pid = B %ExcitaciónTOTAL = %ExcitaciónPOLARIZACIÓN Para determinar la temperatura de polarización: 1) 2) Apague su sistema y espere hasta que se enfríe a temperatura ambiente. Página 154 • Control Industrial Versión 1.1 .

De esta forma. como verá más adelante.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6. 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 escalón en las condiciones.1 • Página 155 . aproximadamente 450 segundos. En un sistema con una respuesta de primer orden. En nuestra prueba. tal como nuestra incubadora. 1 constante de tiempo (1TC) para nuestro sistema sería 450/5 o 90 segundos. Registre los siguientes datos: Temperatura de Polarización con 50%: ______ Tiempo para 5TCs: _____ Tiempo para 1TC: _____ Control Industrial Versión 1. En este caso el escalón es un salto en la excitación del 0% al 50%. El tiempo de respuesta del sistema es importante cuando se está ajustando un sistema.4: Temperatura de Polarización con el 50% de Excitación Observe cuánto tiempo le tomó a la temperatura estabilizarse.

Excitación 110 100 90 80 70 60 50 40 30 20 10 0 100 Excitación PWM % % Excitación 100.5 103 Temperatura Página 156 • Control Industrial Versión 1. la cantidad de excitación necesaria para esa banda. Cualquier error entre el setpoint y los límites de tolerancia proveerá una acción de excitación proporcional. Si cualquier error alcanza los límites superior o inferior. ¿querríamos excitar al 100% o a algún valor menor. A mayor error mayor será la excitación proporcional.5 es una representación gráfica de la temperatura de la incubadora vs.0F a 102.0F.5F y una polarización del 50% es suficiente para mantener esta temperatura. De esta forma nuestro setpoint será 101.5 con una tolerancia de +/.1 . generando un error de –0. La cantidad de excitación de control proporcional es una relación directa con la cantidad de error del sistema. Cuanto más estable sea la temperatura. queremos mantener una temperatura de 101. queremos que se tome una acción total para regresar la temperatura al setpoint. más saludables serán los pollitos.5 102 102. o lo que es lo mismo.5F por encima o por debajo de este punto.5 101 101. Figura 6.0F grados. de 101. Igualmente es permisible una variación de 0.5F. La Figura 6.5F.Experimento 6: Control Proporcional – Integral – Derivativo Ejercicio 2: Control Proporcional Co pid = B + (Kp*E) %ExcitaciónTotal = %ExcitaciónPOLARIZACIÓN +% ExcitaciónPROP La siguiente evaluación en la ecuación PID es el control proporcional del sistema.0. Si la temperatura cae a 101.5: Temperatura vs.5F. para regresar la temperatura al punto deseado? En nuestra incubadora. Digamos que nuestro setpoint (punto de ajuste o deseado) es 101.

la excitación decrecerá proporcionalmente para disminuir la temperatura.2 grados? ______. Observando el gráfico. Control Industrial Versión 1.0F.5F. la excitación decrece a 0%. ¿y a 101. Si la temperatura sobrepasa los 101. se usará una excitación del 50% para agregar energía a nuestro sistema.5.0 = 1.Experimento 6: Control Proporcional – Integral – Derivativo De la Figura 6.1 • Página 157 . Si la temperatura es 101.0*100% = 30% La fórmula general de ganancia es: Ganancia = ∆Salida ∆Entrada En nuestro ejemplo.2: Error = 101. Ahora observemos esto mismo matemáticamente. A partir de 102F. Si la temperatura cae a 101 F. se usará una excitación del 100% para aumentar la temperatura y cualquier temperatura intermedia usará una cantidad proporcional de excitación. estamos usando el 100% del rango de excitación sobre el 100% del rango permisible de temperatura: Ganancia(Kp) = ∆Salida 100% = =1 ∆Entrada 100% Nuestro sistema tendría una ganancia proporcional (Kp) de 1.5F.2 = 0.7 grados? _______. 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.3 %Error (E) = 0.5 – 101. ¿cuál sería la excitación a 101.3/1. si la temperatura es de 101.0-101.

0102.0 to 102. ¿Esto significa que la temperatura no excederá los límites superior e inferior? No.6 es un gráfico de este control.1 . Un término más a considerar es Banda Proporcional. Esto simplemente significa que la respuesta dentro de esos límites será total. ¿Son iguales? ________. La Figura 6. ¿Qué sucede si queremos un control más ajustado de la temperatura de nuestro sistema? La banda permisible para el incubador sigue siendo 101.0. La Figura 6. Página 158 • Control Industrial Versión 1.2 grados sería: %ExcitaciónPROP = Kp*E = 1 * 30% = 30% La excitación total para nuestro sistema a esa temperatura sería entonces: %ExcitaciónTOTAL = B+(Kp*E)= 50%+30% = 80%.3 para una temperatura de 101.3.Experimento 6: Control Proporcional – Integral – Derivativo La cantidad de excitación proporcional a 101.3 se denomina Banda Proporcional del 100% debido a que se emplea el rango completo en la excitación.0). del 100% de la banda permisible (101.7: __________ Compare ese valor con la Figura 6.2F? Calcule la excitación total para una temperatura de 101. usando los valores máximos posibles en la acción de respuesta para lograr que la temperatura regrese al setpoint. pero podemos ajustar nuestros valores para que tomen acción total sobre la mitad de ese rango. ¿Corresponde este valor al que se obtiene gráficamente de la Figura 6.

Observe la relación entre ganancia proporcional y banda proporcional: Banda Proporcional = 1 1 *100% = * 100% = 50% Ganancia Proporcional 2 Control Industrial Versión 1.6: Temperatura vs.5 102 102.5 103 Tem peratura Excitación PWM % % Excitación En la Figura 6.7F: Error = __________ %Error = _________ (Pista: la banda permisible aún es 1.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6. Excitación Sobre un 50% del Rango 110 100 90 80 70 60 50 40 30 20 10 0 100 100. ¿Cuál sería 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. Use las ecuaciones para calcular lo siguiente a 101.0) Excitación Proporcional = ________ Excitación Total = _________.5 101 101.1 • Página 159 .6 el sistema está excitando el doble para una misma desviación del setpoint. Esto también es conocido como Banda Proporcional del 50% debido a que se toma la acción total de control sobre el 50% del rango permisible.

5 101 101.1 . Página 160 • Control Industrial Versión 1.5 103 Excitación PWM % % Excitación Calcule los siguientes datos para una temperatura de 101.0) Excitación Proporcional = _________ Excitación Total = _________.5 ∆Entrada 200% 110 100 90 80 70 60 50 40 30 20 10 0 100 100.Experimento 6: Control Proporcional – Integral – Derivativo ¿Y si quisiéramos un sistema de respuesta más lenta? Podemos definir que el rango de excitación esté por encima de las temperaturas del rango permisible.5 Temperatura 102 102. Temperatura: ∆Salida 100% = = 0.7F: Error = _________ %Error = _________ (Pista: la banda permisible aún es 1. Si el 100% de la excitación cubriera el doble del rango permisible: Ganancia(Kp) = Calcule la banda Proporcional: ________ Grafique la Excitación vs.

2) El BASIC Stamp trabaja con matemática entera.Experimento 6: Control Proporcional – Integral – Derivativo Controlando la Incubadora: La teoría es muy linda. Si es necesario. busque nuevamente la temperatura de polarización actual.5F=1015) y querremos trabajar con ganancias menores que 1. Por ejemplo. Esto debería hacerse si usted piensa que las condiciones en el interior o el exterior del envase son diferentes de cuando se calculó la temperatura de polarización anterior.5F.19 grados. Control Industrial Versión 1.0F o 100.5F. La temperatura de polarización al 50% de su incubadora se halló en el Ejercicio 1 de este experimento. la secuencia general será esperar hasta que la incubadora se estabilice a la temperatura de polarización. Al realizar estos experimentos. Nuestras temperaturas están en décimas de grado (101. La Figura 6. obteniendo un rango de 2. Para estos experimentos incrementaremos la banda permisible a +/-1. Una vez estable.0 a 102. lo que no nos permitirá realizar un control fino con una banda de temperaturas permisible de 101.5F a 102. el programa PID con las configuraciones adecuadas se descargará. Observe que en los cálculos de excitación proporcional el resultado es dividido por 10 para escalar el valor de Kp. Después de 1 minuto el ventilador se posicionará a aproximadamente 3 centímetros del envase y se encenderá manualmente. necesitaremos trabajar con ciertas limitaciones: 1) La temperatura de polarización con una excitación de polarización del 50% no será 101. pero ahora necesitamos tratar con la temperatura real dentro del envase usando control proporcional. Para esto. la temperatura estable con 50% de polarización será mayor. conectando el terminal positivo a la fuente (Vin) durante 10 segundos. 3) La resolución del conversor A/D es de 0. si la temperatura ambiente es más alta ahora.0.7 es el diagrama de flujo de los cálculos de error y excitación proporcional.1 • Página 161 .0F.

Signo ajustado PropCalc: Signo = Err GOSUB PoneSigno P = ABS Err * KP/10 ' Error Prop = %Err * Kp P = P * Signo RETURN (/10 para escala) Página 162 • Control Industrial Versión 1.7: Cálculos de Error y Excitación Proporcional Calcular % Error Calcular % Excit.1 . Prop.Temp) Signo = Err GOSUB PoneSigno Err = ABS Err*100/Rango Err = Err * Signo Return ' Calcula error de temperatura ' Calcula % error '*********** Excitación Proporcional . Error = Setpoint-Temp % Error Prop= %Error * Kp % Error = Error/Rango*100 Regresar Regresar '********** Calcula %Error .Signo ajustado ErrorCalc: Err = (SP .Experimento 6: Control Proporcional – Integral – Derivativo Figura 6.

Permita que la temperatura se estabilice a la temperatura de polarización.8a: Respuesta con Kp = 1. Ajuste la configuración de control PID del programa 6. descargue el programa al BS2. sobrepasa el límite inferior y va hacia arriba nuevamente. Figura 6. usando un valor de SP 1. Monitoree la respuesta de la incubadora a la perturbación.Experimento 6: Control Proporcional – Integral – Derivativo Control PID: Banda Proporcional 100%. encienda el ventilador durante 10 segundos. cierre la ventana debug. Esto es llamado sobreexcitación (hunting) Se pone y se saca (hunting). igual a la temperatura de polarización en décimas y el valor de Kp en 10 para una ganancia de 1 Desconecte SPL. encuentre la temperatura de polarización de excitación del 50%. luego se detiene y comienza a descender. Banda 100% Note como la temperatura sobrepasa el valor límite. Cuando haya pasado 1 minuto (60 segundos). Monitoree la temperatura en el SPL. Ganancia Proporcional = 1 1) 2) 3) 4) 5) De ser necesario.1 correctamente.1 • Página 163 . Control Industrial Versión 1. reconecte el SPL y reinicie su BS2.

El setpoint es 970 o 97.DEC Temp.". %Error y la excitación.". Dependiendo de las necesidades del sistema. separada por comas.SDEC Excitacion. la temperatura de polarización de nuestra prueba.".".1 . Realicemos los cálculos para analizar algunos de estos valores. %ExcitaciónTotal = %ExcitaciónPOLARIZACIÓN + %ExcitaciónPROP + %ExcitaciónINT + %ExcitaciónDERIV = = 50% + 40% + 0% + 0% = 90% ¡Los cálculos funcionan! Usando la línea opcional para almacenar un mensaje en un archivo de la subrutina Mostrar.2F) la excitación total fue del 90% con un 50% de excitación de polarización y un 40% de la excitación proporcional.CR La Figura 6. El control de velocidad crucero de nuestros autos actuaría muy extraño si hiciera oscilar nuestra velocidad alrededor de la velocidad deseada. '** Mensaje de salida separado por comas para importar en hoja de cálculo ' DEBUG ".SDEC D.SDEC I. los datos almacenados podrían importarse en una hoja de cálculo como Excel.8b muestra estos datos importados a Excel. de los datos de la ventana de mensajes.".". La ventana de mensajes muestra el valor del setpoint y la temperatura actual.2F=0. Es una versión simple. para su análisis.Experimento 6: Control Proporcional – Integral – Derivativo excitación basándose en la respuesta del sistema hasta que finalmente se alcanza un valor estable.".".SDEC P. El recuadro del usuario en la parte superior de la gráfica muestra la configuración actual para el control PID.". A una temperatura de 962 (96. Error = Setpoint – Temperatura = 97.".0F-96.SDEC Err.8F/2F * 100 = 40% %ExcitaciónPROP = Kd*E = 1*40% = 40% %ExcitaciónINT y ExcitaciónDERIV serán 0 dado que sus ganancias son 0.0F.8F %Error = Error / rango * 100 = 0. excitación proporcional y excitación total. el control PID puede ajustarse para evitar la sobreexcitación. que puede ser importada y graficada en otro utilitario. Página 164 • Control Industrial Versión 1.". mostrando el error.

3 52. la línea de %Error no se puede apreciar porque %P (Error Proporcional) está superpuesta. . La cantidad de error proporcional se suma a la excitación de polarización del 50% y sigue exactamente el mismo patrón que el error.9 336 Control Industrial Versión 1. debido a que %ExcitaciónPROP = %Error.1 77.8b: Archivo Graficado en Excel Excitación con Kp=1 120 100 80 60 40 20 0 -20 -40 -60 -80 % Excitación %Err %P % Excitación 104 130 155 181 207 233 259 284 310 0.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6.44 26.1 • Página 165 Segundos Note que con una ganancia proporcional de 1.

note que la velocidad de respuesta es ligeramente más rápida aunque se observa mayor sobreexcitación (hunting).9a: Respuesta con Ganancia = 2. Ganancia Proporcional = 2 Repita el experimento para una banda proporcional del 50% y una ganancia de 2.1 . Página 166 • Control Industrial Versión 1.Experimento 6: Control Proporcional – Integral – Derivativo Control PID: Banda Proporcional 50%. Banda 50% Con una ganancia de 2. Cambie Kp = 20 en los ajustes de control y ejecute el programa. Figura 6.

3 52.7a a 96.1 • Página 167 .7F: Error = __________ %Error = __________ __________ %ExcitaciónPROP = __________ %ExcitaciónTOTAL = Control Industrial Versión 1.44 26.9 104 130 155 181 207 233 259 284 310 336 -50 -100 -150 Segundos %Err %P %Excitación Observe en la Figura 6.1 77.9b: Archivo de Datos Graficado en Excel Excitación con Kp=2 200 150 %Excitación 100 50 0 0. Verifique los valores de excitación mostrados en la ventana de mensajes de la Figura 6.9b que con esta configuración de ganancia la cantidad de excitación proporcional (%P) es el doble que el error (%Err).Experimento 6: Control Proporcional – Integral – Derivativo Figura 6.

Repita el experimento para una banda proporcional del 20% y una ganancia de 5.11 muestra el resultado de nuestras pruebas. pero dentro de un rango controlable con una ganancia proporcional de 1 (Kp=10). pero se presenta muchísima más sobreexcitación e inestabilidad continua del sistema. Página 168 • Control Industrial Versión 1.1 . Grafique los resultados. fije una temperatura de referencia (SP) mucho más alta que la temperatura de polarización. Como experimento final. Realizamos la prueba para 10F por encima de la temperatura de polarización (107F).10 es nuestro resultado en el SPL.Experimento 6: Control Proporcional – Integral – Derivativo Control PID: Banda Proporcional 20%. Figura 6. La Figura 6. Use Kp = 50 en la configuración de control.10: Respuesta con = 5. Banda 20% Note que la velocidad de respuesta es nuevamente un poco más rápida. La Figura 6. Ganancia Proporcional = 5 Demasiada ganancia puede ser perjudicial para el control.

veremos como puede usarse el Error Integral para generar una excitación que termine con ese error remanente. proveyendo una excitación proporcional de 0%. algún error DEBE existir para proveer excitación adicional del control proporcional.11: Setpoint 10F (107F) por encima de la Temperatura de Polarización Si bien lo intenta mucho. Control Industrial Versión 1. En la próxima sección.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6. Se agrega excitación adicional debido a que existe un error. %ExcitaciónTOTAL = 50% + 0% Si la temperatura deseada no es la de polarización. creando un error. Si la incubadora fuera capaz de estabilizarse en el setpoint. ¿por qué no se estabiliza allí? Recuerde que nuestro sistema con una excitación del 50% se estabilizaba alrededor de 97F. Si 107F es una temperatura que el sistema podría mantener.1 • Página 169 . quedando solamente la excitación de polarización que no es suficiente para mantener la temperatura. menor será el error restante. el error sería 0. la temperatura no se estabiliza a 107 grados. Si E = 0 entonces %ExcitaciónPROP = 0%. %ExcitaciónTOTAL = %ExcitaciónPOLARIZACIÓN + %ExcitaciónPROP %ExcitaciónPROP = Kp*E. A menor ganancia proporcional.

no se puede mantener el setpoint. ¿qué sucede cuando la perturbación afecta el equilibrio de nuestro sistema por un largo período de tiempo? Al final del último experimento se vio lo que ocurre cuando la excitación de polarización no es suficiente para contrarrestar las pérdidas promedio. permitiendo que la temperatura alcance el setpoint. la temperatura deseada no puede ser mantenida. Considere nuestra incubadora. ¿qué tipo de respuesta del sistema esperaría? ¿Por qué? si la temperatura está 0. El sistema se estabilizará a una temperatura inferior a la deseada.Experimento 6: Control Proporcional – Integral – Derivativo ¡Desafío! 1. la excitación integral puede usarse para eliminar este error remanente. El control Integral puede ser usado para eliminar el error remanente debido a perturbaciones duraderas del sistema. ¿cuál sería la excitación total? Confirma su teoría. la cocción Página 170 • Control Industrial Versión 1.6F por debajo del setpoint.1 . La excitación Integral también es usada cuando se necesita realizar una aproximación lenta con tiempos largos de estabilización. debido a que debe permanecer algo de error. Pero. Debido a que debe existir algún error para que se produzca excitación proporcional. para asegurarse que no se produzcan sobrepicos. manteniéndolo el equilibrio. Estas pueden ser producidas por pérdidas o ganancias de energía que persisten por un largo período de tiempo. 2. que pasaría si el ventilador se apuntara permanentemente a la incubadora? Las pérdidas continuas del sistema serían mayores. La excitación de polarización del 50% no será suficiente para mantener la temperatura y la excitación proporcional responderá al error en un intento de regresar el sistema al. Considere por ejemplo. Ejercicio 2: Control Proporcional + Integral Co pid = B + ( Kp * E ) + ( Ki * ∫ Et ) %ExcitaciónTotal = %ExcitaciónPOLARIZACIÓN + %ExcitaciónPROP + %ExcitaciónINT Anteriormente hemos observado lo que ocurre cuando ocurrían perturbaciones rápidas en nuestro sistema en equilibrio. En función del tiempo. Pero como hemos visto. El control proporcional puede ser usado para llevar a la temperatura de regreso al setpoint.5 (Kp=5). Encontramos una temperatura de polarización en la que una excitación de polarización del 50% era suficiente para contrarrestar las pérdidas del sistema. Si la ganancia proporcional se pusiera en 0. Pero. 3.

Después de cocinarla un poco la prueba. la cantidad de error bajo la curva se acumula para encontrar el error integrado. mayor será el error total integrado (ET).Experimento 6: Control Proporcional – Integral – Derivativo de una sopa.1 • Página 171 . ¿Qué sucede si le agrega demasiada sal? ¡Sacar un poco de sal de la sopa le resultaría un poco difícil! Un ejemplo industrial podría ser agregar pigmento a una pintura para lograr el color deseado. ¿La prueba inmediatamente después y agrega más sal? No. ET = Σ(E1+E2+E3+…) %ExcitaciónINT = Ki* ET/T Control Industrial Versión 1.12. luego la prueba y agrega un poquito más hasta que consigue el gusto que deseaba. agrega la cantidad de sal que le parece que falte para que tenga buen gusto. A mayor error y cuanto más dure. espera por un rato para que la sal se mezcle. mayor será la excitación integral. En la excitación integral. Figura 6. la cantidad de error es integrada con respecto al tiempo. Circuitos electrónicos monitorean el color de la pintura y agregan gradualmente el pigmento hasta que se alcanza el color deseado. Como se ve en la Figura 6.12: Integrando el Error Señal de Error Tiempo El error integrado es multiplicado por la ganancia integral para encontrar la ganancia integral. Cuanto más tiempo dura el error.

1 . por ganancia Sumar uno al contador integral Sumar % Excit. si agregamos más sal antes de que se estabilice la mezcla.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 Página 172 • Control Industrial Versión 1.13: Diagrama de Flujo de Cálculo de la Integral Cálculo de % de Excitación Integral Calcular error promedio Acumular Error total Multip. Dependiendo del tiempo de respuesta del sistema podría tratarse de segundos a horas o incluso días. Figura 6. La Figura 6.13 es el diagrama de flujo para los cálculos de la integral. El tiempo de estabilización de nuestra incubadora se halló en el Experimento 1 de esta misma sección y fue de 450 segundos es nuestro caso. error prom. Al igual que al agregar sal a la sopa. Error Integral Contador < Reset? Si No Reiniciar eror acumulado Reiniciar contador Regresar Código para el diagrama de flujo anterior: '********** Excitación Integral .Experimento 6: Control Proporcional – Integral – Derivativo ¿Qué tan a menudo se actualiza la ganancia integral? La excitación integral debería basarse en lecturas estables. sería muy fácil pasarse de la cantidad necesaria.

1 • Página 173 .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 Versión 1.

1 para una Banda Proporcional de 1000%. Página 174 • Control Industrial Versión 1. o tiempo de reset. Ki=0 Kd=0 2) Apunte el ventilador hacia la incubadora desde una distancia de 15cm (si no ve respuesta después de 30 segundos. en lugar de las perturbaciones fuertes de 10 segundo usadas en el experimento de control proporcional. Ki=1 6) Descargue el programa y grafique con los valores nuevos. El ventilador debería ser colocado a aproximadamente 15 centímetros de la incubadora.1 (Ki=1 Ti = 24. Esto producirá una perturbación a largo plazo del sistema.Experimento 6: Control Proporcional – Integral – Derivativo Controlando la incubadora En este ejercicio. Ki=1). La Figura 6. En la ganancia proporcional usaremos un valor muy pequeño para evitar la sobreexcitación y permitir un rango bastante amplio de error desde el setpoint.14a muestra los resultados obtenidos con un setpoint de Polarización de 97. 4) Permita que el sistema se estabilice con esta nueva pérdida. 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).0F y la Figura 6. 5) Cambie la ganancia integral a 0. acérquelo en incrementos de 2 cm y pruebe otra vez). 3) Conecte el ventilador al Pin 20 (5V) y a masa.1 . Ganancia de 0.14b es un gráfico de Excel realizado con los datos capturados. se usará el ventilador para producir una perturbación de larga duración sobre el sistema. Ayude a arrancar el ventilador si es necesario. El tiempo de actualización integral. pero es muy largo de graficar). será de 120 segundos (450 segundos sería más apropiado para permitir que el sistema se estabilice.1 (Kp=1 y Ganancia Kp=1) Kp=1 Integral de 0(Ki=0 y derivativa en 0 (Kd=0 Ki=0) Kd=0). La ganancia Integral se fijará en décimas. 1) Ajuste el Programa 6.

8F. así como también la temperatura.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6.1 • Página 175 .0F y la perturbación del ventilador.14a: Efectos de Perturbaciones Duraderas Note que con una temperatura de Polarización de 97. Control Industrial Versión 1. la temperatura estable inicial fue de 94. Con el tiempo la excitación. ascendieron lentamente hasta que la temperatura alcanzó el setpoint.

Página 176 • Control Industrial Versión 1.1 * (11%+11%+11%….44 26. %ExcitaciónTotal = %ExcitaciónPOLARIZACIÓN + %ExcitaciónPROP + %ExcitaciónINT %ExcitaciónPROP = Kp * ET = 0.1 * (97. se cumple el primer tiempo de reset integral. %ExcitaciónPROP = 11% dado que la temperatura es aún 95.3 52. la temperatura comienza a aumentar.[¡24 veces!])/24 = 11% %ExcitaciónTotal = 50% + 11% + %11% = 72% Note que a mayor excitación total (%Excitación). el error disminuye así como también la excitación proporcional.0F-94. Segundos Note que el error inicial (%Err) fue del 11% a una temperatura estable de 94.8F. La excitación Integral permanece constante hasta el próximo tiempo de reset que se produce a los 240 segundos.14b: Datos Graficados en Excel Kp=0. Esto es multiplicado por la ganancia integral para encontrar la excitación integral.1 Ki=1 140 120 %Excitación 100 80 60 40 20 0 104 130 156 181 207 233 259 285 310 336 362 0.8F %ExcitaciónPROP = Kp * ET = 0. Todos los valores de error anteriores se suman y promedian en el tiempo.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6.9 388 %Err %P %I %Excit.1 -20 77. %ExcitaciónTotal = 50% + 11% + 0% A aproximadamente 120 segundos. donde se vuelve a incrementar el valor de acuerdo al promedio de los valores desde el reset anterior.8F)/2F * 100 = 11% %ExcitaciónINT = Ki * 0 hasta el primer tiempo de reset.1 .

15: Temperatura Luego de Quitar una Perturbación La Figura 6.1 • Página 177 . Esto significaría que el error persistiría constantemente y la salida se ‘sobreexcitaría’ a niveles excesivamente Control Industrial Versión 1.15 muestra lo que sucede cuando se quita la perturbación. Puede producirse Sobreexcitación Integral si la excitación integral agregada es insuficiente para forzar el sistema a volver a la temperatura de setpoint. La excitación Integral se incrementaría continuamente. la excitación proporcional prácticamente desaparece y la excitación integral junto con la de polarización mantienen la temperatura. %ExcitaciónTotal = %ExcitaciónPOLARIZACIÓN + %ExcitaciónPROP + %ExcitaciónINT %ExcitaciónTotal = 50% -1% + 21% = 70% ¿Pero qué sucede cuando se quita la perturbación? 1) Apague el ventilador.Experimento 6: Control Proporcional – Integral – Derivativo Eventualmente. la temperatura alcanza el setpoint. La excitación adicional provista por la componente integral desaparecerá lentamente. Figura 6. el error tiende a cero.

una vez eliminada la perturbación y con un error residual del 10%? Es astuto tomar recaudos en su programa para limitar la excitación integral acumulativa a menos del 100% ¡Desafío! 1. A mayor diferencia.1 . cuando se ajusta apropiadamente. generando un sistema sin respuesta. Ejercicio 3: Control Proporcional-Derivativo Co pid = B + ( Kp * E ) + ( Kd * ∆E ) ∆t %ExcitaciónTOTAL = %ExcitaciónPOLARIZACIÓN + %ExcitaciónPROP + %ExcitaciónDERIV El Control Derivativo responde a un CAMBIO en el error.000%. La Figura 6. permite que un sistema responda rápidamente a cambios bruscos. La premisa fundamental para determinar la excitación derivativa asume que la velocidad actual de cambio de la señal de error continuará en el futuro a menos que se tome alguna acción. ¿cuánto tiempo necesitaría para recuperarse.16 ilustra como evaluaríamos la pendiente de una señal de error. Si nuestro programa permitiese que la excitación integral llegara al 20. La excitación derivativa. podemos encontrar la velocidad de cambio de la variable del proceso. 2. Encontrando las diferencias entre muestras de error tomadas a intervalos regulares. mayor será la pendiente y por lo tanto mayor la excitación derivativa necesaria para contrarrestar el cambio. Página 178 • Control Industrial Versión 1. ¿Cuál sería 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 teoría.Experimento 6: Control Proporcional – Integral – Derivativo grandes.

En nuestra incubadora. Normalmente realiza pequeños ajustes para que la posición de su cuerpo mantenga el balance. una gran ráfaga de viento lo golpea causándole una rápida pérdida del balance. Usted está respondiendo proporcionalmente a un error que existe en su equilibrio.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6.1 • Página 179 . en un período de tiempo muy corto. En respuesta. un cambio rápido de la temperatura será contrarrestado por una reducción inmediata en la excitación. De pronto. usted gira velozmente para contrarrestar el viento.16: Error Derivativo Señal de Error Pendiente Tiempo Considere el acto de hacer equilibrio sobre un tronco caído. Esta acción se basó en un cambio repentino en su equilibrio. Control Industrial Versión 1.

1) 2) 3) Configuración: Ganancia Proporcional de 2 (Kp=20 Ki=0 ganancia derivativa de 1 (Kd=2 Kp=20).17: Diagrama de Flujo y Código para Control Derivativo Cálculo de % de Excit.18b es un gráfico de Excel de los datos.1 . Kd=2 Permitir que la temperatura se estabilice en el SPL.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6. La Figura 6. La Figura 6. solamente que esta vez se usará excitación derivativa junto con la proporcional. nuestra temperatura de polarización fue de 99. Kp=20 Ki=0.0F) Página 180 • Control Industrial Versión 1.18a muestra los resultados de nuestra prueba. Derivativa = (Err – UltimoErr) * Ganancia Almacena Error en UltimoErr Regresa Código para este diagrama de flujo: '*********** EXCITACIÓN DERIVATIVA DerivCalc: D = (Err-UltimoErr) * KD DerivListo UltimoErr = Err RETURN ' Calcula excitación derivativa ' basándose en la diferencia sobre el último error ' Almacena error actual para el próximo DerivCalc En este experimento. Kd=2). (Para esta prueba. Derivativa % Excit. repetiremos las perturbaciones en un sistema con ganancia proporcional de 2 del Ejercicio 2. Prender el ventilador por 10 segundos. El ventilador se conectará nuevamente a Vin (pin 19) por 10 segundos a 3 centímetros del envase.

9a que usaba solamente excitación proporcional. debido a que 2 lecturas consecutivas de 99.4F) entre el valor anterior y el actual.1 • Página 181 . Control Industrial Versión 1. El segundo dio %D del 0%. Primero se tuvo una excitación %D del 40%.0F.18a: Respuesta a la Perturbación con Ganancia Proporcional de 2 y Ganancia Derivativa de 2 Compare esta con la Figura 6. Note que el sistema se estabiliza mucho más rápidamente con muy pocas oscilaciones y sobrepicos.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6. hay 2 lecturas consecutivas de 99. En la sección de mensajes.0F no representan ningún cambio en el error (una pendiente igual a cero). dado que hubo un cambio de error del 20% (0.

Segundos Note en el gráfico anterior cómo un cambio en %Err genera una excitación derivativa. aunque sea alto.1 331 Porcentaje %Err %D %Excit.8 62.0F: %ExcitaciónTOTAL = %ExcitaciónPOLARIZACIÓN + %ExcitaciónPROP + %ExcitaciónDERIV En el momento de la primera medición.0F-99.1 41.0 con el setpoint en 99. Cuanto mayor es el cambio en %Err. en un esfuerzo por detener el cambio.5 83. Hagamos algunas cuentas para un cambio de temperaturas entre mediciones de 99.18b: Gráfico 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.4F/2F * 100 = -20% La temperatura cayó a 99.0F = 0F %Error = Error / rango * 100 = 0F/2F * 100 = 0% Página 182 • Control Industrial Versión 1. Cuando el error es constante. mayor es %D. Una variación positiva de %Err (temperatura bajando) genera una excitación positiva.0F-99. T=99.4: Error = setpoint – actual = 99.45 21.Experimento 6: Control Proporcional – Integral – Derivativo Figura 6.4F = -4F %Error = Error / rango * 100 = -0. %D es 0.0F en el momento de la segunda medición: Error = setpoint – actual = 99.1 .4 a 99.

Es usada para eliminar las condiciones de error que persisten en el tiempo. ¿cuál sería la excitación total? Pruebe y confirma su teoría. 2. La excitación proporcional actúa agregando una cantidad de excitación proporcional a la magnitud del error entre el setpoint y el valor actual. Debe existir algo de error para que actúe la excitación proporcional. El control Derivativo entra en acción basándose en el cambio del error. ¿cuál sería la excitación final? Error = ________ %Error = ________ ________ %ExcitaciónPROP = ________ %ExcitaciónDERIV = ________ %ExcitaciónTOTAL = ¡Desafío! 1. 3. La excitación de polarización es usada para estimar la excitación necesaria para mantener un setpoint bajo condiciones normales.Experimento 6: Control Proporcional – Integral – Derivativo %ExcitaciónPROP = %Error * Kp = 0% * 2 = 0% %ExcitaciónDERIV = (Este %Error – Anterior %Error) * Kd= (0%-20%) * 1 = 40% %ExcitaciónTOTAL = %ExcitaciónPOLARIZACIÓN + %ExcitaciónPROP + %ExcitaciónDERIV = =50%+0%+40% = 90% Incluso aunque la temperatura volvió al setpoint proveyendo un 0% de excitación proporcional. 3 evaluaciones de excitación independientes se realizan para calcular la excitación final del elemento de control. aunque también aumenta la posibilidad de sobreexcitación y sobrepicos. Resumen del Control Proporcional-Integral-Derivativo Con control PID. dando como resultado en ocasiones una condición estable aunque fuera del valor deseado.2%. ¿Cuál sería la respuesta del sistema con una ganancia derivativa igual a 5? ¿Por qué? Con un cambio de –0. Control Industrial Versión 1.1 • Página 183 . Si la siguiente lectura fuese 99. La excitación Integral actúa integrando la señal de error en función del tiempo y tomando acción en función del error total. A mayor ganancia proporcional más rápida será la respuesta del controlador. También es una buena opción para una aproximación lenta al setpoint y sin sobrepicos en sistemas lentos. su valor cayó desde la última medición.3 F en la temperatura con respecto al setpoint. agregando excitación. en un intento por detener la caída de la temperatura.

La segunda aplicación controla la acidez (pH) en la producción de una bebida cola. Los procedimientos básicos para calibrar un control PID son los siguientes. 2) Página 184 • Control Industrial Versión 1.1 . Como se mencionó anteriormente. 4. Ajustar un sistema PID involucra calibraciones de parámetros de software para cada factor. 2.2 a 7. La temperatura ambiente varía de 65 a 75 grados. ponga todas las ganancias en 0 Vaya subiendo el valor de la ganancia proporcional hasta que el sistema comience a oscilar. Una válvula regula el agregado de ácido fosfórico para regular el pH del chorro de agua entrante. La cantidad de ácido necesario varía de acuerdo al pH del agua entrante y la velocidad de flujo del chorro de agua. El sensor de pH sensor es relativamente lento. El control Derivativo puede prevenir sobreexcitaciones y sobrepicos. la calibración es tanto un arte como una ciencia. la primer aplicación es un proyecto hogareño que usa el LM34 para medir la temperatura en un acuario de 80 litros. Reduzca la ganancia proporcional hasta que se detenga la oscilación y redúzcala un 20 % más. entre lecturas. 3. Evalúa la pendiente de la salida y actúa para oponerse al cambio. La meta al calibrar el sistema es ajustar las ganancias de forma de obtener el mejor rendimiento bajo condiciones dinámicas.Experimento 6: Control Proporcional – Integral – Derivativo El control Derivativo actúa basándose en la magnitud de cambio del error. aumente la componente integral hasta que el sistema se vuelva inestable y luego redúzcala ligeramente. Cada modo de control tiene su respuesta característica para mantener la salida deseada. Se han escrito muchos libros sobre el control PID y su ajuste.4. La temperatura del agua es mantenida con una tolerancia de + 1 grado. Considere las siguientes tres aplicaciones del mundo real. alrededor de 80 oF variando el ciclo de trabajo de un calentador de 200 Watts. El chorro de agua que ingrese al proceso. pero un exceso de excitación puede llevar al sistema a oscilaciones pronunciadas. Estos procedimientos suponen que usted puede proveer o simular un cambio en escalón en la señal de error: 1. A medida que gane experiencia en este tipo de control. El agua del suministro tiene un pH de 7. ¿Cuáles son las características más relevantes de estos procesos que determinarán el esquema de control más conveniente? ¿Qué modo(s) de control siente que trabajaría(n) mejor? 1) Similar a nuestra incubadora. 5. verá que las características del proceso determinarán la forma de reaccionar al error. debe tener un pH de 6.8. Incremente la componente derivativa para mejorar la respuesta temporal y la estabilidad del sistema. Luego.

En el control por prealimentación se miden aquellos factores que afectan un proceso. La planta está dentro de un pequeño invernadero (del tamaño de una caja de zapatos). considere otra alternativa al control por realimentación (feedback).Experimento 6: Control Proporcional – Integral – Derivativo 3) En una planta de investigación científica de la Universidad Estatal de San Diego. Se espera y. hasta cierto grado se tolera. se detectan cambios en la salida y se genera una señal de error. Nos hemos concentrado en acciones de control basados en la realimentación de los valores en la salida del proceso. Solo hemos rozado la superficie de la teoría del control de procesos con realimentación. El PID es ajustado para eliminar el error lo más rápido posible. pueden producirse rápidamente y con grandes magnitudes. ¿podría usar esta información para controlar mejor la incubadora? Es un concepto interesante. Comprender cómo afectan a la variable que intentamos mantener constante. pero la premisa fundamental del control por realimentación. Un sensor muy rápido del tipo termocupla está apoyado en la hoja midiendo la temperatura. se debe mantener constante la temperatura superficial de la hoja de una planta. Mientras finalizamos este capítulo.1 • Página 185 . Las perturbaciones como cambios en el viento. Cuando las perturbaciones afectan nuestro proceso. ¿no? Control Industrial Versión 1. Este sería el control por prealimentación (feed-forward). luz del sol y metabolismo de la planta. un cierto nivel de error. nos permitirá tomar una acción sobre la salida antes de que aparezca una señal de error. Se puede efectuar un control ajustado de la variable del proceso usando PID. es responder al error. Si pudiese medir los cambios en la temperatura ambiente y la velocidad del viento producida por el ventilador.

¿Se podría usar control on/off del sistema para realizar un control PID? Explique.3 entre lecturas. con un setpoint de 101. Un sistema tiene un setpoint de 101. Para reducir el efecto de una perturbación duradera sobre el sistema: ______________. Si la temperatura actual fuese 101. Un sistema tiene una ganancia derivativa de 2. Un sistema tiene un setpoint de 101. Página 186 • Control Industrial Versión 1.1 . ¿cuál sería el error debido a la excitación derivativa? __________.5 grados. 3. integral.8 a 101. Para regresar un sistema al setpoint basándose en la diferencia entre la temperatura actual y la deseada debida a una perturbación breve: ________________. ¿Qué tipo de control (proporcional. ¿cuánto valdría la excitación debida al error proporcional? ___________ 5. Para minimizar el efecto de una perturbación rápida en el sistema: ______________. 2.2.0.5 grados y una banda permisible de +/. o derivativo) sería más aconsejable en los siguientes casos? a. b. c.Experimento 6: Control Proporcional – Integral – Derivativo Preguntas y Desafío 1.5. Para una banda proporcional del 50%.5 con una ganancia de 3. ¿cuál sería la ganancia proporcional? ____________. Si la temperatura cayó de 101. 4.

Grafique y anote sus resultados (observe las escalas de los gráficos): Kp=____ Ki=____ Ti=____ Kd = ____ Tiempo en el que alcanza 95.17) del Experimento 2. Regule la temperatura de esta incubadora más grande.1 • Página 187 . 2. Use el circuito sample and hold (Figura 2. Discuta como implementar el control PID para controlarlo.Experimento 6: Control Proporcional – Integral – Derivativo Desafío de Control Final Desde un estado frío (incubadora a temperatura ambiente). Encuentre la temperatura de polarización del 50% e intente regularla usando control PID. Use el pin de salida Pin 8 (salida de excitación sin sample and hold) para excitar un relé de estado sólido que controle una lámpara. Coloque la lámpara y el sensor en un contenedor apropiado. Otros sistemas para armar: 1. Una físicamente 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 un sistema: Encuentre un ejemplo de un sistema que emplee o pueda emplear control PID. Control Industrial Versión 1. lo más rápido posible con mínimos sobrepico y sobreexcitación. encuentre los valores de control PID que lleven la incubadora a una temperatura operativa de 95 grados.0F por primera vez: _________ Valor máximo alcanzado: (Tiempo)_________ (Valor) __________ Valor mínimo siguiente: (Tiempo)__________ (Valor) ___________ Capture esa pantalla (ALT-Prt Scrn) e imprímala usando MS Paint.

.

1d. En Hexadecimal (base 16) un byte se parte en dos nibbles (alta y baja). Asegúrese de conectar el cristal lo más cerca posible del CI para maximizar la precisión en la temporización (la distancia aumentará el error debido a los efectos capacitivos de la protoboard). El DS1302 también tiene RAM disponible para almacenamiento general de datos. Control Industrial Versión 1. podemos poner al CI en el 'modo de escritura' y enviarle datos serialmente desde el BASIC Stamp 2. El DS1302 RTC usa un oscilador a cristal externo de 32. Para nuestra aplicación solamente usaremos el registro de hora del día del chip.1 • Página 189 . meses. Por favor vea las hojas de datos del DS1302 y las notas de aplicación de Parallax referidas a características adicionales. los datos se transmiten serialmente del CI al BASIC Stamp 2. y adquirir datos sobre largos períodos de tiempo para ser recuperados y analizados posteriormente.2 muestra como podría quedar el circuito distribuido en su protoboard. El RTC es similar al BASIC Stamp debido a que los datos se almacenan en registros (memoria RAM) que pueden ser escritos y leídos.767kHz como base de tiempo.Experimento 7: Control de Tiempo Real y Adquisición de Datos Experimento 7: Control de Tiempo Real y Adquisición de Datos Los microcontroladores. La Figura 7. como el BASIC Stamp pueden ser buenos para trabajar sobre períodos de tiempo muy cortos. Algunos ejemplos incluyen controles de calefacción de edificios que reducen la calefacción fuera del horario de trabajo. Para esto necesitaremos agregar características de tiempo real al circuito montado en el Experimento 5. Al igual que con el conversor A/D ADC0831. Conecte el Reloj de Tiempo Real DS1302 (Real Time Clock o RTC) como se muestra en la Figura 7. horas. Estos registros almacenan el tiempo y la fecha como segundos. pero hay muchos procesos que deben mantener un registro preciso del tiempo real (hora del día) y posiblemente incluso la fecha o día de la semana. etc. Para fijar la hora actual por primera vez. Este experimento explorará la generación de aplicaciones que tomen ciertas acciones basándose en la hora del día o en intervalos de tiempo y la adquisición y recuperación de datos. y cada una se lee como un dígito. Esto nos permite tener acceso a la hora actual que es generada por el DS1302. para ahorrar energía. Los datos de la hora (y fecha) se almacenan en el DS1302 como números Decimales Codificados en Binario (Binary Coded Decimals o BCD). Este es un subconjunto de la base numérica Hexadecimal. templar un metal calentándolo a distintas temperaturas por períodos específicos de tiempo. tales como milisegundos o segundos.1c y el pulsador de la Figura 7. minutos.

1 .Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7.1: Circuito Completo con Reloj de Tiempo Real Página 190 • Control Industrial Versión 1.

Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7.1 • Página 191 . Con un número binario de 8-bits tenemos un rango máximo decimal de 0 a 255. cada lugar es una potencia más alta de 2 y el equivalente decimal sería: 64+4+2 = 70. En binario. el byte es partido en dos nibbles y convertido individualmente: 0100 0110 4 6 Control Industrial Versión 1. En Hexadecimal.2: Ejemplo de Distribución de Componentes para el Experimento 7 Tome por ejemplo el número binario: 01000110.

de forma que la hora 1:00 PM se mostrará como 13:00. la temperatura se mantendrá a valores más altos que durante la noche. Nuestro primer ejemplo de 01000110 es 46BCD (un número BCD válido) y $46 (un número hexadecimal válido).Experimento 7: Control de Tiempo Real y Adquisición de Datos Este número decimal se escribe normalmente como 86H (formato Intel). usaremos control ON/OFF en lugar del más apropiado control de banda diferencial. Nuestros programas usarán la notación hexadecimal al configurar o controlar los tiempos en el RTC. el rango válido será de 0 a 9 por cada nibble. Nuestro segundo ejemplo 10101110 sería $AE (hexadecimal válido). El número binario 10101110 se representará en Hexadecimal como $AE.1 es el código para el experimento. $86 (formato Motorola) o 8616 (formato científico). Durante las horas de trabajo. el RTC se configura para ser usado en formato 24 horas. logrando un ahorro de energía. cada nibble es usada nuevamente para representar un solo dígito. pero un valor BCD INVÁLIDO debido a que A y E no representan números decimales válidos. Dado que usaremos nuestra incubadora y para asegurarnos que la temperatura esté por encima de la temperatura ambiente. Dado que un solo número representa cada nibble. Adicionalmente. Para simplificar nuestro código. El Programa 7. El rango completo hexadecimal de un byte de datos es de $00 a $FF. El termostato pondrá a funcionar la calefacción 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. usaremos los valores 100F para horas de trabajo y 90 F para horario nocturno. o decimal de 0 a 15. Página 192 • Control Industrial Versión 1. En Hexadecimal los valores de 10 a 15 se representan usando las letras de la A a la F. Ejercicio 1: Control de Tiempo Real En este primer ejercicio simularemos la calefacción de un edificio de oficinas.1 . tenemos un rango en binario de 0000 a 1111. pero dado que se trata de un número DECIMAL codificado. 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.

' 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 número entrante (0 a 255) Almacena valor convertido que representa la Temp ' Rango completo en décimas de grado. CTiempoAlto CON $0600 ' Define hora para subir temperatura. @Offset. ' Temperatura mínima. ' 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.Control ON/OFF en Tiempo Real.Experimento 7: Control de Tiempo Real y Adquisición de Datos ' Programa 7. TempBaja CON 900 TempAlta CON 1000 '********************************* GOSUB PoneHora Setpoint = TempBaja CTiempo = CTiempoAlto Segundos = $00 ' Define temperatura baja en décimas de grados. '***** Configuración Inicial ******* Tiempo = $0553 ' Define Tiempo inicial Segundos = $00 CTiempoBajo CON $1800 ' Define hora para bajar temperatura. ' Define temperatura alta en décimas de grados.1 • Página 193 .1 . 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 ' Distribución 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 Versión 1.

CR ' Reinicia el gráfico DEBUG "!TITL Control ON/OFF Temporizado ". MSBPOST.Experimento 7: Control de Tiempo Real y Adquisición de Datos Minutos Segundos VAR VAR Tiempo.LOWBYTE CSegundos VAR Byte ' Word para almacenar la hora completa ' Byte alto son horas ' Byte bajo minutos ' Configura gráfico PAUSE 500 ' Tiempo para limpiar el buffer DEBUG "!RSET". RETURN Control: IF Temp > PuntoAjuste THEN OFF HIGH 8 RETURN OFF: LOW 8 ' Mant.CR ' 70-120 Grados DEBUG "!AMUL 0.HIGHBYTE CMinutos VAR CTiempo.LOWBYTE BYTE ' Byte bajo son minutos ' Tiempo para cambiar variables CTiempo VAR WORD CHoras VAR CTiempo.CR ' 4000 puntos de datos DEBUG "!TMAX 900".[Datain\9] ' HIGH CS ' RETURN Adquiere conversión del 0831 Habilita el chip Prepara línea de clock.CR ' Inicia gráfica DEBUG "!RSET".CR DEBUG "!PNTS 4000".CR ' Habilita temporizador DEBUG "!SHFT ON". la temperatura alrededor del setpoint Página 194 • Control Industrial Versión 1. CLK.CR ' Habilita desplazamiento de gráfico DEBUG "!PLOT ON".1".CR ' Reinicia el gráfico 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. Lee datos Detiene la conversión Calc_Temp: ' Convierte el valor digital en Temp Temp = TempRango/255 * Datain/10 + Offset ' basándose en las variables Rango y ' Offset.1 DEBUG "!CLMM".1 .CR ' Max 900 segundos DEBUG "!SPAN 70.120".CR ' Limpia mensajes DEBUG "!TSMP ON".CR ' Limpia Min/Max DEBUG "!CLRM".cr ' Multiplica datos por 0.

Minutos.CR DEBUG DEC Temp.%10\2.":".".CR RETURN PoneHora: ' ****** Inicializa el reloj de tiempo real RTemp = $10 : RTCCmd = CtrlReg : GOSUB EscribirRTC ' Borra el bit de protección 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 protección contra escritura en el registro de control Return EscribirRTC: ' Escribe en el DS1202 RTC HIGH RTCReset SHIFTOUT RTC_IO. HEX2 Horas.Experimento 7: Control de Tiempo Real y Adquisición de Datos RETURN Mostrar: ' Muestra tiempo real y tiempo para el próx cambio y envía datos a graficador DEBUG "!USRS Hora Actual:".RTCCmd\5.HEX2 CMinutos.RTemp] LOW RTCReset RETURN LeerRTC: ' Lee todos los datos del RTC HIGH RTCReset SHIFTOUT RTC_IO.HEX2 segundos DEBUG " Siguiente Cambio a las:". HEX2 Horas.BrstReg\5.HEX2 minutos.":". [Segundos.":".Setpoint = ".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 Minutos.%10\2] SHIFTIN RTC_IO. HEX2 Horas.1 • Página 195 . LSBFIRST.CR CTiempo = CTiempoBajo RETURN TAlta: Control Industrial Versión 1. [%1\1.HEX2 Minutos.":".HEX2 Segundos DEBUG "-.Setpoint = ".":".":".0".DEC PuntoAjuste/10. LSBFIRST.CR DEBUG IBIN OUT8. RTC_CLK.HEX2 CHoras.". RTC_CLK.0".":". DEC PuntoAjuste/10.HEX2 segundos DEBUG "-.CR CTiempo = CTiempoAlto RETURN ' Cambia a temperatura diurna Setpoint = TempAlta DEBUG "Tiempo: ". LSBPRE. RTC_CLK. [%0\1.

SPL Si ¿Hora de Cambiar a Baja? Lee Hora Controla Hora Regresar No Obtiene Datos de Temp. Temp. Config. Alta Muestra Cambios Muestra Cambios Controla Temperatura Regresar Muestra y Grafica Datos Regresar Página 196 • Control Industrial Versión 1.3: Diagrama de Flujo del Control de la Calefacción Inicio Control de Hora Inicializa Hora y Constantes Config. Temp.Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7. Baja Calcula Temperatura Config. Reloj de Tiempo Real ¿Hora de Cambiar a Alta? Si No Config.1 .

obteniendo las posiciones BCD que representan la hora. El programa usa dos juegos de variables para la hora. se reconecta la alimentación y algunas veces cuando se activa el puerto COM o cuando se reinicia la PC. Esto debería permitir el tiempo suficiente para que la temperatura se estabilice a la temperatura más baja. pero en secciones posteriores puede querer usar los valores reales de hora inicial. ' Define temperatura baja en décimas de grados. La Figura 7. uno para leer / escribir la hora actual y otro para almacenar la hora a la que deseamos cambiar el termostato.HIGHBYTE Tiempo.4 muestra el gráfico obtenido. ' Define hora para subir temperatura. La ora de inicio es adecuada para esta sección. '***** Configuración 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. ' Ajusta RTC Nota: Si se quita la alimentación del Reloj de Tiempo Real DS1302 se reiniciará con valores impredecibles cuando ésta regrese. se puede poner esta línea como comentario y descargar nuevamente el programa para evitar que la hora se reinicie a 05:53 cuando se reinicia el BASIC Stamp.1 inicia la hora 7 minutos antes de que se produzca el cambio a horario de trabajo. Las horas a las que se produce el cambio de temperatura se definen en este sector. Lo mismo se realiza para los minutos con las dos posiciones más bajas. GOSUB PoneHora pone al reloj de tiempo real en la hora especificada. horas ' Byte bajo.1 • Página 197 .Experimento 7: Control de Tiempo Real y Adquisición de Datos Observe que el programa reiniciará la hora a 05:53 cada vez que el BASIC Stamp reinicia. Control Industrial Versión 1. reinicia el Stamp manualmente. Por este motivo se emplea Gosub PoneHora.LOWBYTE ' Word para almacenar la hora completa ' Byte alto. Esta es una herramienta muy poderosa cuando se desea tener acceso a distintas partes de una misma variable. Esto puede ocurrir cuando se carga el programa. El Programa 7. ' Define temperatura alta en décimas de grados. Observe que las variables Tiempo y CTiempo se subdividen en Horas y Minutos: Tiempo Horas Minutos VAR VAR VAR WORD Tiempo. minutos La variable Horas se asigna como el byte alto de la variable Tiempo. Una vez configurada correctamente la hora.

Necesitará esperar 12 horas para ver si el setpoint desciende a las 18:00. Descargue y ejecute el Programa 7..4: Calefacción Edilicia Controlada por Horario El recuadro de usuario del StampPlot Lite muestra la hora actual y la hora a la que se producirá el próximo cambio.1 . agregando más dispositivos de salida y expandiendo la sección de control del código. Observe con el StampPlot Lite al menos el cambio de las 06:00.Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7..1. Puede parecer que la hora del recuadro cambie a intervalos irregulares. La gráfica 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. El sector de mensajes muestra la hora a la que se produjo el último cambio y el valor para el próximo. pero este es el resultado de diferencias temporales a las que el BS2 muestra los datos y no diferencias en el RTC. ¿Tiene tiempo para esperar? Página 198 • Control Industrial Versión 1. podríamos agregar muchos eventos temporizados en el transcurso del día.

$3C. Esto se logra controlando si un dígito excede el rango BCD ( >9) y sumándole 6 si es así. Pruebe esto con el resultado anterior: $3D + $06 = $43 (contando 6: $3E. El intervalo debe sumarse a la hora inicial de la fase de cada temperatura. 2) Agregue un setpoint de 95 F entre las 4:00PM (16:00) y 6:00 PM (18:00). Esto templa el metal y le otorga ciertas características deseables. $3B. $3D). 3) Use el LED en P8 para simular la lámpara de una casa. $3A. ¡Es un éxito! Ahora tenemos el valor que necesitamos en BCD.1 • Página 199 . En este caso un metal es calentado a cierta temperatura durante una cantidad fija de tiempo. Modifique la hora y la temperatura inicial para verificar su funcionamiento. Si recuerda. tales como dureza y resistencia a la torsión. pero no lo es. nuestro resultado sería $3D (contando 5: $39. Sabemos que deberíamos obtener como resultado 43 segundos. el BASIC Stamp 2 está trabajando en hexadecimal. Agregue el código necesario para encenderla a las 8:00 PM (20:00) y apagarla a las 11:00 PM (23:00). $3F. Cuando suma valores de tiempo. un subconjunto del hexadecimal. Control Industrial Versión 1. Dado que estamos trabajando con intervalos de tiempo en lugar de horas absolutas. $42. Necesitamos ajustar el resultado a valores decimales.Experimento 7: Control de Tiempo Real y Adquisición de Datos Preguntas y Desafíos: 1) Los datos almacenados en el DS1302 usan el sistema numérico ______. Tome el ejemplo de 38 segundos + 5 segundos. ¡esperaríamos por siempre!. pero como en realidad estamos sumando $38 + $05 (hexadecimal). Modifique la hora inicial del RTC para verificar su funcionamiento. $40. a menudo un proceso puede necesitar realizar acciones a ciertos intervalos de tiempo. Esto suena simple. El templado es un ejemplo de este proceso. nuestra temporización se realiza en BCD. Ejercicio 2: Temporización por Intervalos En lugar de tener eventos que ocurren a horas definidas del día. se aumenta a otra temperatura por cierto tiempo y luego se enfría rápidamente a otra temperatura. $43). $41. Si esperáramos hasta que este valor sea igual que el obtenido del RTC. necesitaremos realizar cálculos para encontrar la hora de finalización de cada intervalo.

" No: Sumar 6 a minutos Este es el código: AjustarHora: ' Rutina de ajuste de hora BCD IF CSegundos.lownib < $A THEN DecenaHoras CHoras = CHoras + 6 DecenaHoras: IF CHoras < $24 THEN AjustarListo CHoras = CHoras . Esta es la secuencia general. Más simple aún es escoger intervalos de temporización que no contengan los dígitos 7. Página 200 • Control Industrial Versión 1. Esto genera un valor BCD válido.$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 posición que su valor exceda 7. Sumando en hex obtenemos $60. • Controlar que las unidades de minutos sea un valor BCD legal (<$A). o 9. sumar primero 4.Experimento 7: Control de Tiempo Real y Adquisición de Datos Otro de los temas que necesitamos tratar es que tanto las unidades como las decenas podrían requerir un ajuste. mientras que las horas hasta 24. Dependiendo del resultado podríamos tener un acarreo a minutos o horas.$60 CMinutos = CMinutos + 1 UnidadMin: IF CMinutos.lownib < $A THEN DecenaMin CMinutos = CMinutos + 6 DecenaMin: IF CMinutos < $60 THEN UnidadHoras CMinutos = CMinutos . que nuestro programa usará: • Controlar que las unidades de segundos sea un valor BCD legal (<$A). Tome por ejemplo $58 + $08.1 . " No: Restar 60 a segundos. luego sumar nuevamente 4 y ajustar otra vez. " No: Agregar 6 a segundos. • Controlar si los segundos resultantes son menos de 60. Sumar uno a minutos. ajustar. Segundos y minutos se cuentan hasta 60. o algoritmo.lownib < $A THEN DecenaSeg CSegundos = CSegundos + 6 DecenaSeg: If CSegundos < $60 Then UnidadMin CSegundos = CSegundos .$60 CHoras = CHoras + 1 UnidadHoras: IF CHoras. 8. solamente que no es el correcto. Una solución simple para sumar 8.

Esta es la secuencia que seguirá nuestro proceso de templado: • • • • Fase 1: Calentar a 95. Fase 3: Enfriar a 85.1 para obtener el Programa 7.0 F durante 5 minutos.0 F durante 10 minutos. Proceso completo. Fase 2: Calentar a 100 F durante 15 minutos.1 • Página 201 .Experimento 7: Control de Tiempo Real y Adquisición de Datos En esta sección simularemos este proceso con nuestra incubadora. Haga las siguientes modificaciones al Programa 7. pero teniendo en cuenta que normalmente el templado se realiza a miles de grados.2.2: Temporización por Intervalos ' Controla 3 niveles de temperatura por cierta cantidad de tiempo '****** Configuración 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 dígito 7 o superior Duración de la fase 1 Duración de la fase 2 Duración 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 sección intermedia del código 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 Versión 1. ' Programa 7. comenzar desde el principio con la siguiente muestra de material.

lownib < $A THEN DecenaMin CMinutos = CMinutos + 6 DecenaMin: IF CMinutos < $60 THEN UnidadHoras CMinutos = CMinutos .hex2 segundos DEBUG "-.$60 CHoras = CHoras + 1 UnidadHoras: IF CHoras.cr RETURN AjustarHora: ' rutina de ajuste de hora BCD IF CSegundos.$24 AjustarListo: RETURN ' Fase 3 - Fase2: Página 202 • Control Industrial Versión 1.":".lownib < $A THEN DecenaHoras CHoras = CHoras + 6 DecenaHoras: IF CHoras < $24 THEN AjustarListo CHoras = CHoras .Setpoint: ".$60 CMinutos = CMinutos + 1 UnidadMin: IF CMinutos.CR Setpoint = PTemp2 CMinutos = CMinutos + PTiempo2 GOTO Siguiente Fase3: DEBUG "Fase 2 completa". dec setpoint.hex2 minutos.CR Setpoint = PTemp1 CMinutos = CMinutos + PTiempo1 GOTO Siguiente ' Fase 2 DEBUG "Fase 1 completa".lownib < $A THEN DecenaSeg CSegundos = CSegundos + 6 DecenaSeg: If CSegundos < $60 Then UnidadMin CSegundos = CSegundos .CR Debug "!BELL".":".Experimento 7: Control de Tiempo Real y Adquisición de Datos Fase1: ' Fase 1 Debug "Fase 3 completa – Siguiente muestra".1 . hex2 horas.CR Setpoint = PTemp3 CMinutos = CMinutos + PTiempo3 Siguiente: GOSUB AjustarHora ' ajusta hora BCD DEBUG "Tiempo: ".

2.Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7. 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 Versión 1. Preguntas y Desafíos: 1) ¿Por qué es preferible usar el RTC para temporizaciones largas.5 muestra un ejemplo de la ejecución del programa. Descargue y ejecute el Programa 7.1 • Página 203 . Observe que hay tres fases distintas de temperatura que se repiten. Use StampPlot Lite para monitorear su sistema.5: Temporización por Intervalos La Figura 7.

0 F. pero es un tema importante y dado que ya tenemos un RTC conectado. uno de los beneficios más grandes de los microcontroladores es que son autónomos y no necesitan una PC. Cuando los datos se almacenan en la memoria. puede no ser práctico recolectar los datos en una PC en tiempo real. Simplemente no tendríamos una información actualizada del estado de nuestro sistema. sean lo más estable posibles. es el momento apropiado para introducirlo. La adquisición de datos se emplea para registrar y almacenar datos dentro del microcontrolador. Un reinicio no intencional del Stamp normalmente eliminará sus datos y comenzará el programa nuevamente. Esto datos podrán ser recuperados para realizar un análisis posterior. algunas veces al conectarlo a la PC. Página 204 • Control Industrial Versión 1. Los programas se almacenan al final de la memoria.6 muestra el mapa de memoria del BASIC Stamp 2. es importante asegurarse que el hardware. el programa y el reloj.1 . Por supuesto.Experimento 7: Control de Tiempo Real y Adquisición de Datos 3) Modifique el programa agregando una fase 4 de 5 minutos a 80. Debido a la ubicación u otros factores. El BASIC Stamp 2 tiene 2048 bytes de memoria EEPROM disponibles para el programa y almacenamiento de datos. Algunos ejemplos de esto incluyen estaciones meteorológicas remotas y experimentos para el Transbordador Espacial. Así como los programas del BASIC Stamp se almacenan en memoria no volátil (permanece aún con pérdida de alimentación) llamada EEPROM. permitiéndonos usar la parte superior para almacenar datos. o incluso debido a una pérdida temporaria de la alimentación. El data-logger puede no ser controlado por períodos de tiempo muy largos. Ejercicio 3: Adquisición de Datos (Data Logging) La adquisición de datos no cae dentro del área de control de procesos. Todos los experimentos de este libro funcionan apropiadamente. El Stamp se puede reiniciar fácilmente presionando el botón reset. La mayoría de nuestros experimentos han usado StampPlot Lite para mostrar gráficamente las condiciones actuales de nuestro sistema. La Figura 7. grafiquemos o no los datos en una PC. nosotros también podemos escribir nuestros datos allí.

Minutos y Valor (opcionalmente. grabando la hora solamente al principio. como la hora de inicio y la siguiente posición de memoria. almacenando los datos en intervalos de tiempo conocidos podemos luego extrapolar la hora de cada medición. Esto requeriría 3 bytes por medición: Horas. como cuando se lo conecta a la PC para recuperar los datos? ¿Qué pasaría si se perdiera la hora de inicio de las mediciones? ¿Qué sucedería si el RTC se reiniciara en algún momento de forma que la hora volviera a cero? También podemos usar la EEPROM para registrar los datos importantes.6: Mapa de Memoria del BASIC Stamp 2 Una vez almacenados los datos. para evitar la pérdida de datos importantes. De esta forma solamente se requiere 1 byte por medición. Control Industrial Versión 1. dependiendo de la necesidad de cada caso). se podrían grabar los segundos. la hora puede almacenarse en la memoria junto con cada valor. necesitaremos recuperar tanto el valor como la hora a la que se realizó la lectura. Al almacenar los datos. en el caso que el microcontrolador se reiniciara. podemos guardar la hora a la que comenzaron a tomarse mediciones. ¿Pero qué sucede si se reinicia inadvertidamente el microcontrolador. El programa que hemos desarrollado se asegura de no perder datos debido a reinicios accidentales. O.1 • Página 205 .Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7.

Después de varios miles de ciclos de escritura la EEPROM fallará. variable byte Usaremos el DS1302 como temporizador de intervalos que controlará cuándo se tomaran muestras. o un dispositivo independiente. Para este experimento recolectaremos la temperatura exterior sobre un largo período de tiempo y luego descargaremos los valores con el StampPlot Lite. Nota: No almacena más datos del que le permita el lugar de la EEPROM. la última hora registrada en el BS2 podría rescribirse en el RTC. como una EEPROM serial. ¿Cuántos datos podemos almacenar? Después de descargar el programa. El Programa 7. Soluciones posibles a este problema son hacer funcional el proyecto con una batería o agregar un capacitor de alta capacidad al RTC como muestran las hojas de datos. sobrescribir el espacio del código causará que el BASIC Stamp programa comience a fallar. incluso días. valor byte El comando READ es usado para asignar datos de la memoria a una variable: READ Dirección de Memoria. pero el RTC probablemente mostrará horas no validas.1 .3 es el código para nuestro data logger. A intervalos de 5minutos. Otra opción podría ser escribir continuamente la hora actual en la EEPROM de forma que si se corta la energía. El comando WRITE es usado para escribir los datos en la memoria: WRITE Dirección de Memoria. Ante una pérdida de energía. Un ‘súpercapacitor’ puede mantener el RTC en hora por mucho tiempo. ¿durante cuánto tiempo podremos registrar datos hasta que se llene la memoria? Otras opciones para almacenar datos son los registros del usuario del RTC. quedan aproximadamente 700 bytes de los 2K de EEPROM del BASIC Stamp 2. así que podríamos preferir no escribir repetidamente sobre la misma ubicación. el BS2 será capaz de recuperar los datos perdidos. Es suficientemente diferente de los otros programas como para requerir que mostremos el listado completo. Hora e Intervalo Toma de Datos ************** Tiempo = $2246 ' Hora inicial Página 206 • Control Industrial Versión 1. '*** Config.Data Logging en Tiempo Real ' Este programa registrará en la memoria EEPROM la temperatura ' a intervalos definidos usando el reloj de tiempo real. Esto nos permitirá almacenar 700 datos. Inic.3 . Pero las EEPROMs tienen una cantidad limitada de ciclos de escritura. ' Programa 7.Experimento 7: Control de Tiempo Real y Adquisición de Datos Una interrupción en la alimentación es uno de los problemas para los que no está preparado este programa. aunque mucho código viene de otros programas.

LOWBYTE LSegundos VAR BYTE ' Variables de hora inicial STiempo VAR WORD SHoras VAR STiempo. 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 conexión 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. ADC = 0 Control Industrial Versión 1.HIGHBYTE Minutos VAR Tiempo.1 • Página 207 .LOWBYTE DirecMem VAR WORD ' Ubicación 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 número entrante (0 a 255) Almacena valor convertido que representa la Temp Rango completo en décimas de grado Temperatura mínima.HIGHBYTE SMinutos VAR STiempo. @Offset.HIGHBYTE LMinutos VAR LTiempo.Experimento 7: Control de Tiempo Real y Adquisición de Datos ' No usar dígitos > 6 Intervalo CON $05 ' Intervalo de muestreo (en minutos BCD) Muestras CON 500 ' Cantidad de muestras a tomar Stop_Reset CON 0 ' 0=reset.LOWBYTE Segundos VAR BYTE ' Variables de Hora de almacenamiento LTiempo VAR WORD LHoras VAR LTiempo.

DirecMem.SHoras Read 3.1 .HIGHBYTE READ 1.[Datain\9] ' HIGH CS ' RETURN Adquiere conversión del 0831 Selecciona el chip Alista clock.SMinutos ' ' ' ' LED apagado Espera que libere el botón Recupera datos de dirección de memoria y hora ' Inicia las variables de temporización 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.LOWBYTE READ 2. CLK.CR SalteaInicial: LOW LED IF PB = 0 THEN SalteaInicial READ 0. MSBPOST. mantenga presionado el botón hasta que el LED se apague DEBUG "Mantenga presionado el botón para inicializar el reloj y tomar datos".DirecMem. Lee datos fin de conversión ' Suma intervalo para hora de medición ' Ajuste Decimal del resultado Calc_Temp: ' Convierte el valor a temperatura basándose Temp = TempRango/255 * Datain/10 + Offset ' en Rango y Página 208 • Control Industrial Versión 1.Experimento 7: Control de Tiempo Real y Adquisición de Datos PB LED LOW LED VAR CON IN15 8 ' Pulsador ' LED ' apaga LED '***** Inicialización ******* INIT: ' Para cargar la hora.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 botón".

Experimento 7: Control de Tiempo Real y Adquisición de Datos
RETURN ' Offset.

Control: IF PB = 0 THEN DescargaDatos RETURN

' Si el botón 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 recuperación

LMinutos = LMinutos + Intervalo ' Actualiza para el siguiente intervalo IF DirecMem-4 < Muestras THEN AjustarHora ' Si queda lugar, continúa 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 Versión 1.1 • Página 209

Experimento 7: Control de Tiempo Real y Adquisición de Datos

PoneHora: ' ****** Inicializa el reloj de tiempo real RTemp = $10 : RTCCmd = CtrlReg : GOSUB EscribirRTC ' Limpia el bit de protección 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 protección 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 recuperación por reinicio ' Ubicación 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 gráfico Título 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 gráfico "!DELM",CR ' Borra archivo de mensajes "!SAVM ON",CR ' Guarda mensajes (datos almac) a archivo "!PLOT ON",CR ' Inicia gráfica

PAUSE 500

Página 210 • Control Industrial Versión 1.1

Experimento 7: Control de Tiempo Real y Adquisición 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 gráfico

' Ajusta hora de muestreo = hora inicio ' título

' Bucle por las ubicaciones de memoria ' Lee dato almacenado en la memoria ' Calcula la temp basándose 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 ' Después de descargar datos, tenga presionado el botón para reiniciar ' la captura de datos, o continuará desde el punto actual HIGH 8 ' LED encendido DEBUG "Presione el botón ahora para reiniciar la adquisición ",CR PAUSE 2000 IF PB = 1 THEN SalteaReset ' Si el botón no está presionado, saltea GOSUB RecuperaDatos ' Reinicio – guarda nuevos datos de recuperación DEBUG "Suelte el botón ahora",CR SalteaReset: LOW 8 ' LED apagado If PB = 0 THEN SalteaReset ' Espera que suelte el botón Return

Discutiremos la operación del programa por bloques. Al principio del código está la información de inicialización:
'*** Config. Inic.. Hora e Intervalo Toma de Datos ************** Tiempo = $2246 ' Hora inicial ' No use dígitos >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 Versión 1.1 • Página 211

Experimento 7: Control de Tiempo Real y Adquisición de Datos Estos datos definen la hora a colocar en el RTC, cuánto durará el intervalo entre muestras y cuántas muestras se tomarán. Stop_Reset decide detener el registro de datos (1) o reiniciarlo (0) y sobrescribir los datos anteriores destruyéndolos, una vez que se alcanzó la cantidad máxima de muestras. El pulsador tiene varios propósitos: 1. Al energizar o reiniciar el BS2, aparecerá un mensaje avisándole que tenga presionado el botón para inicializar el reloj y la adquisición de datos (también se encenderá el LED para esto). Si el botón se mantiene presionado, el valor de la hora del sector de inicialización se usará para configurar al RTC y la adquisición de datos se reiniciará desde el principio. Se escribirán datos de recuperación 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 recuperación por reinicio ' Ubicación inicial ' Escribe en la EEPROM ' Guarda hora de inicio en la EEPROM

Note que una dirección de memoria es un valor tamaño word y debe guardarse en un byte alto (high) y uno bajo (low). 2. Si se presiona el botón durante la adquisición de datos, éstos serán 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 botón NO es presionado, el programa leerá los datos de recuperación de la ubicación de memoria actual y tiempo de inicio de la EEPROM. La hora del RTC NO se reiniciará. Debería haber mantenido la hora apropiadamente A MENOS QUE se hubiese cortado la alimentación. La Figura 7.7 muestra el diagrama de flujo de la inicialización del programa.

Página 212 • Control Industrial Versión 1.1

Experimento 7: Control de Tiempo Real y Adquisición de Datos

Figura 7.7: Rutina de Inicialización de Adquisición de Datos

Inicio

Fijar Hora en RTC

Leer Datos de Recuperación

Fijar hora y Adquirir Datos

Almacenar Datos de Recuperación en la EEPROM

Avisar al usuario que presione el botón para inicializar hora y adquisición de datos

Bucle Principal

Pedir al usuario que libere el Botón

¿Botón Presionado?

Si

No

¿Botón Liberado?

Si

No

Control Industrial Versión 1.1 • Página 213

de Datos Ajustar Tiempo BCD Incrementar Intervalo de Tiempo Regresar Página 214 • Control Industrial Versión 1.8: Rutinas de Control y Almacenamiento Control de Tiempo Control Tiempo=LTiempo Ubicac.1 . Datos Control de Hora Guardar Datos Ubic. < Muestras No Escribir datos en la EEPROM Reset Si Si Hacer parpadear LED Incrementar puntero de Ubicación de Memoria No Actualizar los Datos de Recuperación Escribir Ubicación del Puntero en EEPROM para Recup.<Muestras y Si Botón presionado Si Guardar Datos No Regresar No Descarg.Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7.

Luego se calcula el siguiente horario de muestreo (y después se ajusta a BCD). Descarga Datos configura al StampPlot para graficar y crea un bucle que lee los valores almacenados.DirecMem.9 ilustra el diagrama de flujo de la rutina DescargaDatos. se le pide al usuario que presione el botón para reiniciar la captura de datos desde el principio (el LED se encenderá para indicar esto).8) es usada para determinar si es momento de guardar otro dato en la memoria. Una vez que se completa el bucle. El valor actual de DataIn (valor leído del ADC) es almacenado en la dirección de memoria actual y la dirección de memoria es incrementada para el ciclo siguiente. 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. para determinar la hora original a la que el dato fue almacenado. Esto nos permite guardar el dato en un byte en lugar de dos en un word. la adquisición de datos se detendrá (ver ControlTiempo) o se reiniciará. El valor almacenado se convertirá a temperatura cuando se descargue a la PC. DataIn HIGH 8:PAUSE 250:LOW 8 DirecMem = DirecMem + 1 WRITE 0. dependiendo del valor de Stop_Reset. reinicia o finaliza La Figura 7. Control Industrial Versión 1. Note que la hora de adquisición de datos es la de inicio y el intervalo de temporización se suma en cada repetición del bucle. los convierte en temperatura y envía los valores al graficador y a la ventana de mensajes.1 • Página 215 . sigue ' Si completó. Note que el valor directo de DataIn del ADC es almacenado y no el valor calculado de la temperatura.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 ubicación memoria Actualiza datos de recuperación ' Actualiza para el siguiente intervalo ' Si no completó muestras. Cuando se presiona el botón.DirecMem. Esto se comprueba a la vez que se verifica que la cantidad de muestras tomadas sea menor que la cantidad máxima especificada.HIGHBYTE WRITE 1.Experimento 7: Control de Tiempo Real y Adquisición de Datos La rutina de Control de Tiempo (Figura 7. GuardaDato: WRITE DirecMem. Si se alcanza la cantidad máxima de muestras.

Actual? No Página 216 • Control Industrial Versión 1.Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7.1 .9: Diagrama de Flujo de Descarga de Datos Descarga Datos Hora de Adquisición = Hora actual Configura SPL Ltime = Hora de inicio Ajusta Hora BCD Puntero = 4 Lee Dato en el puntero Pide que presione el botón para Reiniciar Escala dato para Temperatura ¿Botón presionado? No Si Suma intervalo entre mediciones Reinicia Datos de Recuperación Ajusta Hora BCD Pide que suelte el botón Envía Datos al SPL ¿Botón liberado? Incrementa Puntero Si No Regresa Si ¿Puntero < Dir.

10a muestra una ventana con los datos obtenidos con StampPlot Lite.Temperatura 0.10b. como se muestra en la Figura 7.22:56. permitiendo la descarga sin afectar los datos almacenados.787 2. Una parte del archivo guardado es el siguiente: Punto.783 Control Industrial Versión 1.787 3.1 • Página 217 . la hora de control se actualizará con el valor de la hora de la siguiente medición y la adquisición continuará desde donde iba.783 5.23:16.787 1. La Figura 7.Experimento 7: Control de Tiempo Real y Adquisición de Datos Una vez completado DescargaDatos.23:11.22:51.10a: Muestra de Datos Descargados El formato de los datos del mensaje sirve para importarlo en una hoja de cálculo para graficarlos.Tiempo.787 4.23:06.23:01. Figura 7.

(700 = 70 grados) Página 218 • Control Industrial Versión 1.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 (décimas) Tiempo Para obtener estos datos colocamos nuestra incubadora fuera de una ventana y registramos las temperaturas exteriores. Los valores del rango por software están determinados por las tensiones de rango y offset del ADC0831. 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 día. el sol y las capas térmicas que se forman dentro del envase.1 . Revise el Experimento 4. La máxima esperada del día era 88F y ¡estuvo muy cerca! Por supuesto.Experimento 7: Control de Tiempo Real y Adquisición de Datos Figura 7. Offset. TempRango Offset CON CON 5000 700 ' Rango máximo (5000 = 50 grados) ' Temp. no estamos restringidos a rangos de temperatura de 70F a 120F. Estas temperaturas pueden ser engañosas debido a los efectos del viento. min.

Después que tome la primer muestra. por ejemplo). 1) Determine el rango esperado de valores para la temperatura. d) Use la ventana Debug o el StampPlot para observar la hora del BS2 y la de la PC. BS2:_________ PC: __________ Diferencia: ________ h) Extrapole el error para 24 horas: _________ ¿Estos datos colman sus expectativas? Control Industrial Versión 1. Realice la adquisición de datos de un sistema: Determine una temperatura que desee registrar durante un largo período de tiempo. así que cuando el programa esté listo para descargarse: a) Abra el reloj de Windows y fíjese la hora. asegúrese de usar una batería que dure todo el tiempo de la adquisición de datos. b) Coloque una hora de inicio un poco más adelantada de la actual (recuerde usar el formato de 24-horas) Tiempo = $1530 c) 5 segundos antes del tiempo de iniciación.Experimento 7: Control de Tiempo Real y Adquisición de Datos Preguntas y Desafíos: 1. Fije las variables rango y offset y coloque los potenciómetros apropiadamente. Esto puede ser en el exterior. BS2: _________ PC: __________ Diferencia: ________ e) Deje funcionar su data logger. 3) ¿Listo para programar? Si va a mover su plaqueta. ejecute y conecte StampPlot Lite y presione el pulsador para descargar los datos. o tal vez algún otro sistema de cambios lentos (un tanque de agua bajo el sol. Basándose en un máximo de 50 muestras. 2) Determine cuánto tiempo necesita para adquirir los datos (¿un día? ¿El fin de semana?). calcule el intervalo de tiempo de la adquisición de datos. puede probar la descarga de datos presionando el pulsador. la temperatura ambiente (¿la calefacción / aire acondicionado cambia durante la noche?).1 • Página 219 . 4) También queremos controlar la precisión del RTC en este experimento. 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. f) Después que termine de registrar los datos. g) Use la ventana Debug o StampPlot para controlar la hora del BS2 y de la PC.

Experimento 7: Control de Tiempo Real y Adquisición de Datos 2. 3.1 . Comente sobre el sistema que monitoreó y las conclusiones de sus resultados. ¿Cuánto fue el error calculado sobre un período de 24-horas? ¿Cómo se podría compensar este error en el software? 4. ¿Por qué es importante limitar la cantidad de datos adquiridos por el BS2? Página 220 • Control Industrial Versión 1.

Descargando e Instalando StampPlot Lite StampPlot Lite puede descargarse del sitio web de Stamps en Clase en http://www. el programa se instala haciendo doble clic en el ícono setup.stampsenclase. Para descargar StampPlot Lite. haga clic en el link “Downloads” de nuestro sitio web y busque la sección “Control Industrial”.com.Apéndice A: StampPlot Lite Apéndice A: StampPlot Lite StampPlot Lite es una aplicación desarrollada por SelmaWare Solutions para el libro Control Industrial.1 • Página 221 . La aplicación permite graficar y capturar datos generales analógicos y digitales. Control Industrial Versión 1.exe y aceptando los directorios por defecto.

13 Debug "!RSET". 13 ' Grafica el número 100 Valores Digitales Cualquier cadena que comience con un '%' se procesará como valor digital. si es necesario. Un dibujo digital separado será comenzado por cada valor binario de la cadena.1 . Debug IBIN4 INC. Una vez que se iniciaron los gráficos digitales. debe tenerse precaución en enviar siempre la misma cantidad de bits dado que los gráficos dependen del orden y la posición. Debug "¡Hola Mundo!". Debug "!AMAX 200". "%1001" dibujará cuatro valores digitales.Apéndice A: StampPlot Lite Los datos del BASIC Stamp se procesan en una de cuatro formas por la aplicación: Valores Analógicos Cualquier cadena que se envíe que comience con un valor numérico será procesada y graficada como un valor analógico.13 Note que cada ingreso de datos DEBE terminar con un retorno de carro data (13 o CR). Por ejemplo. Página 222 • Control Industrial Versión 1. Debug DEC 100. La configuración de la aplicación puede controlarse desde el BASIC Stamp usando valores y palabras de control específicas.13 ' Configura máximo analógico del gráfico = 200 ' Reinicia el gráfico Otras cadenas El resto de las cadenas simplemente se agregará al recuadro de mensajes.13 ' Grafica 4 valores digitales Configuración de Control Toda cadena que comience con '!' será procesada como configuración de control. Se pueden enviar hasta 9-bits.

Cierre la ventan debug azul del BASIC Stamp presionando el botón “close”. 3. Una vez que los puntos llegan a la cantidad máxima.CR ' Pausa corta y reset Debug "!SPAN 0. El siguiente programa realizará algunos ajustes de configuración. 6. El graficador adquirirá los datos digitales y analógicos y los almacenará temporalmente para que puedan ser reajustados o desplazados por la pantalla.CR ' Activar temporizador en los mensajes Debug "!TMAX 60".CR ' Configura gráfico 60 segundos max Debug "!RSET". CR Debug IBIN4 X. graficará en forma continua y mostrará el valor de X en el StampPlot. el graficador puede detenerse o reiniciarse. Hágalo presionando el botón Reset de la plaqueta. La cantidad de puntos de datos recogidos es ajustable. CR ' Variable contador ' Mensaje que avisa que el bucle está reiniciando. Ingrese y ejecute su programa en el BASIC Stamp usando el editor del BASIC Stamp. asegúrese de destildar la casilla 'Connect' del StampPlot o su puerto COM será bloqueado por el StampPlot Lite. ' Bucle For-Next para contar hasta 15 ' Grafica valor analógico de X ' Grafica bits digitales de X ' Cambia el mensaje de estado de usuario.CR ' Rango del valor analógico Debug "!TSMP ON". Ingrese el programa y use los pasos de arriba para probarlo con el StampPlot Lite. Inicie StampPlot Lite haciendo clic en Inicio/Programas/StampPlot/StampPlot Lite. Algunos programas pueden requerir que reinicie el BASIC Stamp para tomar la configuración inicial y los ajustes de control.CR ' Reinicia gráfico X var Byte Bucle: Debug "Comenzando el bucle". Antes de descargar (ejecutar) otro programa en el BASIC Stamp. DEC X. Debug "!USRS el valor de X es ". 4. ' Apéndice A Programa ejemplo de StampPlot ' Configura StampPlot Pause 500: Debug "!RSET". Haga clic en la casilla 'Plot Data'. CR Pause 200 ' Pausa corta Next Goto Bucle ' Reinicia Control Industrial Versión 1. 7. 2.1 • Página 223 . 5. Seleccione el puerto COM y haga clic en la casilla 'Connect'. 50".Apéndice A: StampPlot Lite Los pasos para usar programas del BASIC Stamp con StampPlot Lite son los siguientes: 1. dibujando sus cuatro bits digitales. CR For X = 0 to 15 Debug DEC X.

Apéndice A: StampPlot Lite Abajo se muestra un ejemplo obtenido con StampPlot Lite y el programa anterior. Página 224 • Control Industrial Versión 1.1 .

1 • Página 225 . [!MAXS ] Reset Plot: Cuando se alcanza la máxima cantidad de puntos de datos. A continuación damos una breve explicación de cada control. [ !USRS mensaje ] Control Industrial Versión 1. Al desactivar este control se detendrá el gráfico pero continuarán funcionando los mensajes y otras opciones. podría colocar el cursor sobre cada control para obtener un recuadro de ayuda contextual.Apéndice A: StampPlot Lite Herramienta de Ayuda Contextual Si StampPlot Lite se está ejecutando en su computadora. limpia los valores mínimo y máximo (opcional). reinicia el tiempo a 0. [ !RSET ] Stop Plot: Cuando se alcanza la máxima cantidad de puntos de datos. Connect: Conecta la aplicación al puerto COM seleccionado. el gráfico se detiene (Se deselecciona Plot Data). [ !MAXR ] User Status: (mostrando "El valor de X es 9") Mensajes de estado opcionales del BASIC Stamp pueden colocar datos aquí. donde sea aplicable: Sección Superior: Controles Generales • • • • • • • Com 1: Despliegue hacia abajo las opciones para seleccionar el puerto COM correcto. el gráfico se reinicia. [ !PLOT ON/OFF] Reset: Limpia el gráfico. Plot Data: Activa la graficación de los datos entrantes. El comando programable para el BASIC Stamp está entre corchetes.

CR). si es necesario. como cero por ejemplo ( DEBUG DEC 0. El uso del comando !SPAN del BASIC Stamp agregará un rango a este menú. Si está tildado "Save Messages…".[ !SAVD ON/OFF ] Delete Data File: Borra "stampdat. valor digital. valormax ] Botones + y -: Duplican o fraccionan el rango.” Si el almacenamiento de datos está habilitado. envíe con debug cualquier valor.txt" de la carpeta del programa. .txt" en la carpeta del programa. llamado "stampdat. puntos de datos digitales. Los mensajes se guardarán de la misma forma que aparecen en el recuadro de mensajes. el archivo será recreado inmediatamente después de ser eliminado. Los valores analógicos y digitales también se almacenarán. el archivo se recreará inmediatamente. segundos desde el último reset. [ !DELD ] Valores Analógicos Máximos y Mínimos: Estos pueden ser modificados manualmente. cada registro incluirá la hora actual del sistema y la cantidad de segundos desde el último reset. Note que cada registro está delimitado por comas para importarlo en una hoja de cálculo.” Si está habilitada la temporización. El valor mínimo no cambia. [ !DELM ] • • • • • • Página 226 • Control Industrial Versión 1. valor analógico. [ !TSMP ON/OFF ] Clear Messages: Borra los mensajes del recuadro de mensajes. [ !SPAN valormin. Para grabar los datos cuando no se registra ningún valor analógico.txt. Incluye la hora actual y la cantidad de segundos desde el último reset.Nota: Los datos se guardan SOLAMENTE cuando llegan datos ANALÓGICOS.Apéndice A: StampPlot Lite Sección Izquierda: Principalmente para configurar el Gráfico Analógico • • • • Span Drop-Down: Permite la selección de rangos predefinidos. [ !AMIN valor !AMAX valor <o> !SPAN valormin. [ !CLRM ] Save messages to file: Guarda los mensajes en el archivo "stampmsg.Hora del día. [ !AMUL valor ] Save Data to File: Guarda los datos entrantes en un archivo de texto en la carpeta del programa. Multiplier: Define el valor por el que se multiplicarán los datos analógicos provenientes del BASIC Stamp antes de ser graficados o guardados en el archivo. Haga clic sobre el recuadro e ingrese el nuevo valor. [ !SAVM ON/OFF ] Delete Msg file: Elimina el archivo "stampmsg. valormax ] Time Stamp: Habilita la temporización de los mensajes y datos del archivo.txt. puntos de datos analógicos. Cada registro tendrá el siguiente formato: .1 .

[ !CLMM ] Clear min/max on reset: Al tildar esta casilla. los datos se almacenan en la memoria. La cantidad máxima de puntos (analógicos o digitales) que pueden ser almacenados se colocan en la casilla Max. Clear Min/Max: Borra los valores máximo y mínimo registrados. También habilita la operación de la barra de desplazamiento cuando se recolectan datos. [ !PNTS 1000 ] Last Analog Data: Muestra el tiempo desde el último reset y el último valor analógico graficado. de acuerdo con su configuración. ‘Current’ muestra la cantidad de puntos que actualmente se hallan almacenados. Minimum: Registra el valor analógico mínimo y el tiempo en el que se produjo. puede usarse la barra de desplazamiento horizontal para reposicionar el dibujo (si está almacenando datos. [ !SHFT ON/OFF ] +/-: Duplican o reducen el rango de tiempo del gráfico. Una vez que se alcanza la cantidad máxima. el gráfico se reiniciará o detendrá. Plot Pointer: Al mover el puntero sobre la pantalla se muestran las magnitudes correspondientes al tiempo y valor analógico de ese punto del gráfico. Nota: Desplazamientos del gráfico durante la adquisición de datos pueden causar errores en la temporización de los datos a medida que se actualiza la pantalla. Enable Shift debe estar activada). el programa borrará los registros máximo y mínimo cuado se presente el reset.Apéndice A: StampPlot Lite Sección Inferior: Desplazamiento de Gráfico y Rango de Tiempo • • • • Los tiempos mínimo y máximo pueden fijarse manualmente. [ !TMIN valor y !TMAX valor ] Scroll Bar: Si el gráfico se extiende más allá de los límites actuales. El valor mínimo del gráfico no cambiará. Sección Derecha: Datos del Gráfico • Data Points: Para que el gráfico pueda ser manipulado. Enable Shift: Le permite al gráfico desplazarse automáticamente cuando se exceda el tiempo de máximo. Haga clic sobre el campo del valor a ser modificado e introduzca el valor nuevo. Maximum: Registra el valor analógico máximo y el tiempo en el que se produjo. [!CMMR] • • • • • • Control Industrial Versión 1.1 • Página 227 .

Para usar estos comandos. simplemente colóquelos en un comando debug desde BASIC Stamp. Todos los comandos deben terminar con CR (ASCII 13): DEBUG "!PLOT ON". Controles del BASIC Stamp y Comandos de Configuración La mayoría de los controles y configuración del gráfico pueden ajustarse desde el programa del BASIC Stamp. CR.Apéndice A: StampPlot Lite Control de Pantalla y Zoom • • • Al mover el cursor sobre el gráfico se mostrarán los valores correspondientes a la posición del puntero. 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 (mayús.) puede seleccionar un sector del gráfico para realizar un zoom. Fija el factor de multiplicación de los datos entrantes Fija el tiempo máximo (segundos) Fija el tiempo mínimo (segundos) Fija la cantidad de puntos de datos a adquirir Habilita / deshabilita el gráfico de datos Reinicia el gráfico 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 gráfico cuando se completa la cantidad máxima de puntos de datos Reinicia el gráfico cuando se completa la cantidad máxima de puntos de datos Habilita / deshabilita el desplazamiento del gráfico cuando se registran datos (puede causar pérdida de precisión en los datos si se habilita) Página 228 • Control Industrial Versión 1. Haciendo doble clic se cambia el modo de fondo de pantalla de amarillo a blanco y las líneas finas por gruesas. 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 Descripción Título de la ventana Muestra un mensaje en el recuadro User Status Emite un sonido por la PC Fija el valor analógico máximo Fija el valor analógico mínimo Fija los valores analógicos máximo y mínimo cono arriba (también agrega el rango al recuadro Rango Drop-Down).1 .

Para obtener una configuración más rápida o conveniente al iniciar el BASIC Stamp. no hay gráfico y la incapacidad de responder a los controles (se cuelga). Una pausa de 10 ms normalmente es suficiente para una computadora bastante rápida. aparecerá un mensaje en un recuadro y se desconectará. Realice un RESET del StampPlot (!RSET) antes de realizar cambios de configuración para permitir que los puntos de datos se eliminen. La aplicación necesita una pausa regular mínima en la recepción de datos para completar el proceso. más tiempo demorará el graficador para actualizar o desplazar la imagen.1 • Página 229 . pone el tiempo en 0. Como con cualquier aplicación.Apéndice A: StampPlot Lite !TSMP ON/OFF !SAVD ON/OFF !SAVM ON/OFF !DELD !DELM Habilita la temporización de la lista de mensajes y los datos almacenados Activa la grabación en archivos de los datos digitales y analógicos Activa la grabación de mensajes en un archivo Borra el archivo de datos Borra el archivo de mensajes Notas de Aplicación Adicionales El tamaño del gráfico que se usa depende de la cantidad de puntos de datos y de la velocidad a la que se transmiten. Reset (!RSET) al finalizar la configuración. Por ejemplo. estas son las configuraciones recomendadas: • • • Pausa de 500ms al inicio para que se limpie el buffer del StampPlot. A mayor cantidad de puntos y cuanto mayores sean los valores. Si la aplicación detecta que recibir correctamente los datos. la mejor forma de aprender a usarla es jugando con ella. ¡Diviértase! Control Industrial Versión 1.1 = 600 puntos de datos. evitando que se produzca una actualización de la pantalla (redibujado). si desea que 60 segundos de datos ocupen toda la pantalla y se transmiten desde el BASIC Stamp a una velocidad máxima de 100 ms (Pause 100 + tiempo de procesamiento): 60/0. Algunas indicaciones que la computadora no da abasto con los datos son: datos desparejos.

Los valores de ganancia pueden ingresarse en la ventana de datos y luego serán leídos por su BS2. • Capacidades interactivas para realizar ajustes funcionando. Una macro basada en la PC muestra la temperatura en el termómetro. 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 %Excitación (barras inferiores). http://www.selmaware. • Características de adquisición avanzadas.com/ Página 230 • Control Industrial Versión 1. • Capacidad de dibujar gráficos.Apéndice A: StampPlot Lite Upgrade a StampPlot Pro para sus experimentos de Control Industrial Algunas de sus características son: • Gráfico de múltiples canales analógicos. • Almacenamiento de gráficos e imágenes. Descargue el programa y evalúelo gratis. incluyendo manipulación de datos. Ejemplos basados en el libro Control Industrial están publicados en los tutoriales online. • Macros basadas en PC para instrucciones.1 .

Apéndice B: Codificador de Ventilador Apéndice B: Plantillas Codificadoras del Ventilador Estas plantillas son de tamaño real y podrían ser usadas como interruptores digitales en el Experimento 2. Control Industrial Versión 1.1 • Página 231 .

1 .Apéndice B: Codificador de Ventilador Página 232 • Control Industrial Versión 1.

Éstas pueden descargarse de http://www. Control Industrial Versión 1.1 • Página 233 .pandbrelays.Apéndice C: Hoja de Datos del SSR Apéndice C: Hoja de Datos del SSR El Apéndice C muestra las hojas de datos del relé de estado sólido “Hockey Puck”.com/.

Apéndice C: Hoja de Datos del SSR Página 234 • Control Industrial Versión 1.1 .

Apéndice C: Hoja de Datos del SSR Control Industrial Versión 1.1 • Página 235 .

1 .Apéndice C: Hoja de Datos del SSR Página 236 • Control Industrial Versión 1.

Si desea ver más aplicaciones del LM34 que las que aparecen en este apéndice.Apéndice D: Hoja de Datos del LM34 Apéndice D: Hoja de Datos del LM34 El Apéndice D muestra las hojas de datos de National Semiconductor del LM34.pdf. Este apéndice incluye las primeras cinco (5) páginas de las 12.national.1 • Página 237 . el documento completo puede descargarse de http://www. Control Industrial Versión 1.com/ds/LM/LM34.

Apéndice D: Hoja de Datos del LM34 Página 238 • Control Industrial Versión 1.1 .

1 • Página 239 .Apéndice D: Hoja de Datos del LM34 Control Industrial Versión 1.

Apéndice D: Hoja de Datos del LM34 Página 240 • Control Industrial Versión 1.1 .

1 • Página 241 .Apéndice D: Hoja de Datos del LM34 Control Industrial Versión 1.

1 .Apéndice D: Hoja de Datos del LM34 Página 242 • Control Industrial Versión 1.

1 • Página 243 .pdf.national. Si desea ver más aplicaciones del LM358 que las que se muestran en este apéndice. Este apéndice muestra las primeras cinco (5) páginas de las 23. puede descargar el documento completo de http://www.com/ds/LM/LM158.Apéndice E: Hoja de Datos del LM358 Apéndice E: Hoja de Datos del LM358 El Apéndice E muestra las hojas de datos del LM358 de National Semiconductor. Control Industrial Versión 1.

1 .Apéndice E: Hoja de Datos del LM358 Página 244 • Control Industrial Versión 1.

1 • Página 245 .Apéndice E: Hoja de Datos del LM358 Control Industrial Versión 1.

1 .Apéndice E: Hoja de Datos del LM358 Página 246 • Control Industrial Versión 1.

Apéndice E: Hoja de Datos del LM358 Control Industrial Versión 1.1 • Página 247 .

Apéndice E: Hoja de Datos del LM358 Página 248 • Control Industrial Versión 1.1 .

Si desea ver más aplicaciones del DS1302 que las que se muestran en este apéndice. Control Industrial Versión 1. el sitio web de Parallax incluye la documentación del AppKit para este componente.1 • Página 249 . Este apéndice incluye las primeras cinco (5) páginas de las 23.Apéndice F: Hoja de Datos del DS1302 Apéndice F: Hoja de Datos del DS 1302 El Apéndice F muestra las hojas de datos del 1302 de Dallas Semiconductor.

Apéndice F: Hoja de Datos del DS1302 Página 250 • Control Industrial Versión 1.1 .

1 • Página 251 .Apéndice F: Hoja de Datos del DS1302 Control Industrial Versión 1.

1 .Apéndice F: Hoja de Datos del DS1302 Página 252 • Control Industrial Versión 1.

Apéndice F: Hoja de Datos del DS1302 Control Industrial Versión 1.1 • Página 253 .

Apéndice F: Hoja de Datos del DS1302 Página 254 • Control Industrial Versión 1.1 .

0 http://www. pueden hacerlo en Parallax. También se pueden ordenar componentes individuales empleando los códigos de stock que aparecen abajo. Apéndice G: Listado de Componentes y Suministros Kits de la Plaqueta de Educación El BASIC Stamp II (BS2-IC) se vende suelto o incluido en Plaqueta de Educación Full Kit.Apéndice G: Listado de Componentes y Suministros Todos los componentes (página siguiente) usados en los experimentos de Control Industrial pueden encontrarse fácilmente en comercios de componentes electrónicos.com Control Industrial Versión 1. 300 mA 9 VCC Cable Serial Plaqueta de Educación (#28150) Descripción Plaqueta de Educación y cables de interconexión Cables de Interconexión Cantidad 1 10 1 1 1 Cantidad 1 6 La siguiente documentación impresa es muy importante para obtener información adicional: Parallax # 27919 27341 Documentación sobre el BASIC Stamp Descripción Internet Manual BASIC Stamp Versión 2.Full Kit). y 3) el Kit de componentes de Control Industrial.com Manual Control Industrial http://www. (2) una Plaqueta de Educación (suelta o con la Plaqueta de Educación Full Kit). Si ya posee el módulo BS2-IC. Parallax # 28150 800-00016 BS2-IC 750-00008 800-00003 Parallax # 28102 800-00016 Plaqueta de Educación – Full Kit (#28102) Descripción Plaqueta de Educación Cables de Interconexión BASIC Stamp II Fuente de Alimentación. entonces solamente debería comprar la Plaqueta de Educación. Los clientes que deseen comprar el kit completo. Para usar este libro necesita tres partes principales: (1) un módulo BASIC Stamp II (suelto o junto con la Plaqueta de Educación.stampsinclass.stampsinclass.1 • Página 255 .

com. Componentes de reemplazo pueden ordenarse a http://www.1 . necesita una Plaqueta de Educación con un BASIC Stamp y el Kit de Componentes.1 V . 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 Página 256 • Control Industrial Versión 1.768 kHz LED verde LED rojo LED amarillo IR Led con termocontraíble Fototransistor infrarrojo Pulsador Transistor 2N3904 Chip DS 1302 Op-Amp Dual LM358 Envase película 35 mm Ventilador 12 VDC Punta de Temp. 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 Descripción resistor 1K ¼ Watt resistor 10K ¼ Watt resistor 20K ¼ Watt resistor 220 Ohm ¼ Watt resistor 470 Ohm ¼ Watt Potenciómetro multivueltas 10K ¼ Watt Diodo Zener 5. por experimento.Apéndice 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. El contenido de este Kit se muestra abajo.5 W MOSFET BS170 Capacitor .68uF capacitor 1uF capacitor 10uF 10V Cristal 32.stampsinclass.

Apéndice H: Desafío de Incubadora Comercial La incubadora de envase de película proveía para el modelado de estrategias básicas de control de procesos. Georgia (http://www.1 • Página 257 . 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.gqfmfg.00.com) es uno de los tantos fabricantes que tienen una completa línea de incubadoras y equipos. El BASIC Stamp está en condiciones de monitorear y controlar aplicaciones hogareñas hasta controles críticos de procesos industriales. GQF Manufacturing de Savanna. Un buen proyecto para un aficionado serio o para el laboratorio de una escuela es el desarrollo de una incubadora real basada en microcontrolador.00. Hay sistemas en venta a partir de los $20. Mfg #1611 Control Industrial Versión 1. Apéndice H: Desafío de Incubadora Comercial Este texto lo ha introducido en la selección y conexión apropiada de dispositivos industriales.

Le convendrá agregar un par de pulsadores para desactivar la alarma mientras se calienta por primera vez la incubadora.Apéndice H: Desafío de Incubadora Comercial El Experimento 3 mostró como emplear relés para controlar cargas de gran tensión y potencia. Éste puede conectarse directamente a la fuente del BASIC Stamp. El circuito sensor LM34/ADC 0831 y el amplificador de corriente del calentador usados en los Experimentos 4 a 7 servirían para nuestra aplicación real. Radio Shack vende una gran variedad de relés que serían apropiados. La alarma debería activarse por temperaturas muy altas o muy bajas. Sería bueno agregarle una alarma audible para que se active cuando la incubadora se sale de los rangos permitidos.9d sería un excitador adecuado para entregar los 150 mA requeridos. Página 258 • Control Industrial Versión 1. Por ejemplo. El ventilador y la bandeja gira huevos se encienden y apagan frecuentemente y podrían ser controlados por un relé electromecánico dimensionado adecuadamente. El rango del ADC0831 podría enfocarse sobre estas temperaturas como se explicó en el Experimento 4. los huevos de pollo deberían incubarse a 101.5F. controlándolo mediante un relé electrónico de estado sólido. De esta forma interrumpirá la alimentación si su termostato electrónico o su relé de estado sólido fallan. Al hacer esto obtendrá una mejor resolución y datos más precisos. La temperatura de incubación depende del tipo de huevos. Repase el Experimento 2 para ver los circuitos apropiados y la programación de las entradas digitales.5F mientras que la mejor temperatura para los de pato y ganso es 100. controla el calentador de alta tensión. Éste a su vez. El calentador debería ser revisado muy seguido.1 . Las pruebas y gráficas con StampPlot Lite le darán la información necesaria para analizar y evaluar los pros y contras de cada método. Este podría dejarse en su lugar como un elemento de seguridad y ajustándolo 2 grados por encima de la temperatura deseada. El MOSFET BS170 usado en la Figura 3. Sin embargo. Un termostato bimetálico mecánico normalmente controla el calentador de la incubadora. La estrategia de control del calentador podría basarse en cualquiera de los cinco modos que se discutieron en los Experimentos 5 y 6. en lugar de activar un resistor de 47Ohm podría activar un relé de estado sólido. El parlante piezoeléctrico de 108 dB de Radio Shack (# 273-057) mostrado abajo definitivamente le llamará la atención.

Apéndice H: Desafío de Incubadora Comercial Un recipiente con agua. La versión de evaluación del Stamp Plot Pro se puede descargar de Parallax en el sitio web de Stamps en Clase.wav son algunas de sus opciones. Gráficos analógicos múltiples. Agregando el temporizador DS1302 introducido en el Experimento 7 puede darle todas las características de una incubadora comercial de última generación. El StampPlot Pro permite monitorear la incubadora remotamente por internet. Control Industrial Versión 1. interacción bidireccional en tiempo real y la capacidad de manejar archivos . Reportes diarios de las variaciones de temperatura pueden almacenarse en el Stamp y pasarse luego a la PC. StampPlot Lite podría graficar continuamente y reportar las condiciones del sistema. Para automatizar el proceso. dentro de la incubadora. Los huevos pueden rotarse a intervalos programados.1 • Página 259 . La salida alta / baja del comparador sería una entrada digital para el Stamp. O incluso mejor. Esta condición podría hacer parpadear una lámpara o sonar la alarma. Cuando la humedad cae por debajo del valor deseado. Se controlaría la temperatura y la humedad. Cada ejercicio del Experimento 7 puede modificarse para realizar estas tareas. asegura que la humedad se mantenga suficientemente alta para mantener los huevos hidratados. Se podrían programar variaciones de temperatura como una rampa ascendente de 1 grado. Los pollitos saludables de la fotografía de abajo son el resultado exitoso de haber mantenido el proceso por 21 días. enciende un humidificador y bombea vapor de agua. el software StampPlot Pro agrega muchas más opciones de cómputo. en las 24 horas anteriores a la eclosión. el laboratorio de medición de humedad del libro Mediciones Ambientales del programa Stamps en Clase podría ser modificado para detectar como se seca el agua del recipiente. la salida del sensor de humedad podría comparase con una tensión de referencia a la entrada del LM358. Si desea realizar algo más elaborado. capacidad de realizar gráficos propios.jpg y . Si dedica una computadora a este sistema. ¿Cómo podría el BASIC Stamp agregar inteligencia a este aspecto de nuestra incubadora? Tal vez podría hacer titilar un LED para recordarle que controle la cantidad de agua.

Apéndice H: Desafío de Incubadora Comercial Como puede ver. tenga estos conceptos en cuenta y guarde este libro en su biblioteca como referencia. esta aplicación de incubadora comercial incorpora los conceptos vertidos en cada sección de este manual. Página 260 • Control Industrial Versión 1.1 . No cabe duda que muchos de ustedes se detendrán en este punto y se convertirán en criadores de pollitos. A medida que continúe experimentado con los BASIC Stamps y los use en sus proyectos y en aplicaciones industriales reales.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->