Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ICSpanish
ICSpanish
Garanta
Parallax garantiza sus productos contra defectos en sus materiales o debidos a la fabricacin por un perodo de 90 das. Si usted
descubre un defecto, Parallax segn corresponda, reparar, reemplazar o regresar el valor de la compra. Simplemente pida un
nmero de autorizacin de regreso de mercadera (Return Merchandise Authorization, RMA), escriba el nmero en el exterior de la
caja y envela a Parallax. Por favor incluya su nombre, nmero telefnico, direccin y una descripcin del problema. Nosotros le
regresaremos su producto o el reemplazo, usando el mismo mtodo de correo que usted us para enviar el producto a Parallax.
Desvinculacin de Responsabilidad
Parallax, Inc. no es responsable de daos por consecuencias, incidentes o daos especiales que resulten de cualquier violacin de la
garanta, bajo cualquier teora legal, incluyendo prdida de beneficio, tiempo, dao o reemplazo de equipo o propiedad y cualquier
costo, recuperando, reprogramando o reproduciendo cualquier dato guardado o usado dentro de los productos Parallax. Parallax
tampoco es responsable de cualquier dao personal, incluyendo vida o muerte, resultado del uso de cualquiera de nuestros productos.
Usted tiene absoluta responsabilidad por la aplicacin que desarrolle con el BASIC Stamp.
Acceso en Internet
Mantenemos sistemas de Internet para su uso. Estos pueden ser usados para obtener software, comunicarse con miembros de
Parallax y comunicarse con otros clientes. Las rutas de acceso a la informacin se muestran a continuacin:
E-mail:
Web:
aalvarez@parallaxinc.com
http://www.parallaxinc.com y http://www.stampsenclase.com
Contenido
Contenido
Prefacio ........................................................................................................................................... iii
Destinatarios y Guas para Profesores.......................................................................................................................... v
Derechos de Copia y Reproduccin ............................................................................................................................... v
Experimento 1: Diagramas de Flujo y StampPlot Lite .......................................................................... 6
Ejemplo 1: Ajuste de la Temperatura de la Ducha .......................................................................................................7
Ejemplo 2: Contador de Cinta Transportadora............................................................................................................9
Ejercicio 1: Diseo de Diagramas de Flujo...................................................................................................................13
Ejercicio 2: Circuito de LED que Titila ..........................................................................................................................13
Ejercicio 3: Datos Analgicos.........................................................................................................................................16
Ejercicio 4: Uso del StampPlot Lite ..............................................................................................................................19
Preguntas y Desafo ........................................................................................................................................................23
Experimento 2: Acondicionamiento de Seal de Entrada Digital......................................................... 25
Ejercicio 1: Interruptor Bsico......................................................................................................................................30
Ejercicio 2: Rebote de Interruptores y Rutinas Anti-Rebote ...................................................................................35
Ejercicio 3: Disparo por Flanco .....................................................................................................................................38
Ejercicio 4: Interruptor Electrnico.............................................................................................................................44
Ejercicio 5: Tacmetro ...................................................................................................................................................50
Preguntas y Desafo ........................................................................................................................................................62
Experimento 3: Acondicionamiento de la Seal de Salida Digital ........................................................ 69
Ejercicio 1: Control Secuencial .....................................................................................................................................72
Ejercicio 2: Aumentando la Potencia del BASIC Stamp.............................................................................................83
Preguntas y Desafo ........................................................................................................................................................89
Experimento 4: Control de Procesos Continuos................................................................................. 95
Ejercicio 1: Control ON-OFF de Bucle Cerrado..........................................................................................................96
Ejercicio 2: Control a Lazo Cerrado vs. Lazo Abierto..............................................................................................111
Preguntas y Desafo ......................................................................................................................................................123
Experimento 5: Control a Lazo Cerrado ...........................................................................................125
Ejercicio 1: Estableciendo un Control a Lazo Cerrado............................................................................................128
Ejercicio 2: Control de Banda Diferencial .................................................................................................................134
Preguntas y Desafo ......................................................................................................................................................140
Experimento 6: Control Proporcional-Integral-Derivativo ............................................................... 143
Ejercicio 1: Excitacin de Polarizacin ......................................................................................................................153
Ejercicio 2: Control Proporcional + Integral ............................................................................................................170
Ejercicio 3: Control Proporcional-Derivativo...........................................................................................................178
Preguntas y Desafo ......................................................................................................................................................186
Experimento 7: Control de Tiempo Real y Adquisicin de Datos ........................................................189
Pgina i
Contenido
Ejercicio 1: Control de Tiempo Real...........................................................................................................................192
Preguntas y Desafo ......................................................................................................................................................199
Ejercicio 2: Temporizacin por Intervalos ................................................................................................................199
Preguntas y Desafos.....................................................................................................................................................203
Ejercicio 3: Adquisicin de Datos (Data Logging)......................................................................................................204
Preguntas y Desafos.....................................................................................................................................................219
Apndice A: Stamp Plot Lite ........................................................................................................... 221
Apndice B: Plantillas de Ventilador ................................................................................................ 231
Apndice C: Hoja de Datos del SSR.................................................................................................. 233
Apndice D: Hoja de Datos del LM34 ............................................................................................... 237
Apndice E: Hoja de Datos del LM358 .............................................................................................. 243
Apndice F: Hoja de Datos del DS1302 ............................................................................................ 249
Apndice G: Listado de Componentes y Suministros........................................................................ 255
Apndice H: Desafo de Incubadora Comercial................................................................................. 257
Pgina ii
Prefacio
Prefacio
El control de procesos industriales es un rea fascinante de la tecnologa electrnica y nada ha
revolucionado esta rea, como los microcontroladores. El microcontrolador ha agregado un cierto nivel de
inteligencia a la evaluacin de datos y un cierto grado de sofisticacin en las respuestas a las perturbaciones
del proceso. Los microcontroladores actan como los cerebros de la maquinaria de fabricacin y los
dispositivos electrnicos de consumo.
El control de procesos involucra aplicar tecnologa a una operacin que transforma a la materia
prima en un producto terminado. Casi todo lo que usted usa o consume, ha pasado por algn tipo de control
de proceso automatizado en su produccin. Los controles de procesos automatizados mejoran la
productividad y la terminacin del producto, mientras reducen los costos de produccin.
Este texto intenta introducir los conceptos y caractersticas del control de procesos con
microcontroladores, con experimentos prcticos sobre los siguientes temas:
a) Escritura de un programa partiendo de un diagrama de flujo, para realizar un control de
proceso secuencial.
b) Uso de pulsadores, conteo de ciclos y procesos de E/S simples para trabajar con un sistema
bajo control.
c) Control de proceso continuo comenzando con control on-off, continuando con banda
diferencial con mltiples niveles de accin.
d) Control Proporcional Integral Derivativo (PID) de un pequeo sistema de calefaccin de
escritorio.
e) Control temporizado de los anteriores e introduccin a la adquisicin y almacenamiento de
datos (data logging).
El hardware necesario en los experimentos para simular los procesos se ha mantenido en el mnimo
indispensable. Si bien el microcontrolador es el cerebro del proceso, no puede ser el msculo. Las
aplicaciones reales necesitan que el microcontrolador lea y controle una gran variedad de dispositivos de
entrada y salida (E/S). Se usan simples pulsadores montados en una protoboard para simular la accin de
interruptores mecnicos y electromecnicos que se encuentran en la industria. Diodos emisores de luz visible
(LEDs), pequeos ventiladores y resistores de baja potencia simulan guarda motores y equipamiento de alta
tensin (HVAC). La informacin incluida en los experimentos le ayudar a comprender la interfaz elctrica
para conectar dispositivos de E/S del mundo real al BASIC Stamp.
La naturaleza fsica de los elementos en un sistema determina el modo de accin de control ms
apropiado. La dinmica de un proceso incluye un estudio de la relacin entre las perturbaciones en las
entradas y las correspondientes acciones en las salidas, de acuerdo a las variables medidas. Es difcil
Pgina iii
Prefacio
comprender la dinmica de un proceso sin ser capaz de ver esta relacin. Para los autores, esto defini la
necesidad de desarrollar una interfaz grfica para el BASIC Stamp; culminando en la creacin y distribucin
del StampPlot Lite. Este software permite graficar valores analgicos y digitales y almacenar datos.
StampPlot Lite es usado en casi todos los experimentos, y le ser especialmente til cuando investigue los
distintos modos de control de procesos. Tambin se muestran las imgenes de las pantallas en el libro.
Este libro es una segunda edicin donde hemos intentado mejorar a la primera. Algunos cambios y
modificaciones incluyen:
a)
b)
c)
d)
Agradecemos a nuestros editores Ms. Cheri Barrall y Dale Kretzer, y por supuesto a Ken Gracey y a
Russ Miller de Parallax por sus revisiones y mejoras a este texto. Adems, agradecemos al Dr. Clark Radcliffe
de la Michigan State University por su revisin detenida. Muchos clientes de rea educativa de Parallax nos
proveyeron sus recomendaciones para esta segunda revisin.
Los autores son instructores en Southern Illinois University en Carbondale en el programa de
Electronic Systems Technologies y adems socios en la compaa de software SelmaWare Solutions. Visite el
sitio web para encontrar ejemplos del uso de StampPlot Pro especficamente creados para los lectores de
este libro.
Lo invitamos a enviarnos sus comentarios. Por favor contctenos mediante nuestros sitios web y
enve todos los errores que encuentre en este libro a Parallax a la direccin aalvarez@parallaxinc.com, as
podremos corregirlos en la prxima revisin.
Will Devenport y Martin Hebel
Southern Illinois University, Carbondale
Electronic Systems Technologies
http://www.siu.edu/~imsasa/est
Pgina iv
-- y --
SelmaWare Solutions
http://www.selmaware.com
Prefacio
Traduccin
Traducido y adaptado al castellano por Arstides A. Alvarez. Correccin y edicin de la traduccin:
Ana M. Lusi y Arstides L. Alvarez. Si encuentra errores en el texto, contctese con nosotros, para poder
mejorar la calidad de la documentacin en castellano.
e-mail: aalvarez@parallaxinc.com
Sitios web en Castellano:
www.stampsenclase.com
www.cursoderobotica.com.ar
Pgina v
Experimento 1:
Diagramas de Flujo
y StampPlot Lite
Hagamos una lista ordenada con una descripcin breve de lo que debera ocurrir:
Ahora que conocemos los pasos bsicos involucrados, desarrollemos un diagrama de flujo para el proceso.
Comencemos mirando el diagrama de flujo de la Figura 1.3.
Observe la ubicacin del recuadro de E/S que controla el botn de parada de emergencia, PARAR1. el botn se
revisa en cada ciclo. Qu sucedera si lo hubisemos puesto despus del recuadro de decisin que controla si
se contaron 100 cajas? Cunto tiempo pasara desde que se presiona el botn hasta que se detuviese la
cinta?
Este diagrama de flujo describe todo lo que nuestro programa debe hacer? Definitivamente no, pero es un
buen comienzo determinar el flujo general del proceso. Observe el recuadro de Proceso "Contar cajas con
DETECTOR1". Cmo se realiza esto exactamente? Necesitaramos desarrollar un diagrama de flujo para
describir solamente esta rutina. Si un proceso necesita ms detalle, podramos reemplazar el recuadro de
Proceso con uno de Sub-Proceso como se muestra en la Figura 1.4.
Qu tan complicado es contar las cajas que pasan por el detector? Si DETECTOR1 se activa yendo a nivel
bajo, contamos cuando baja? Cuando el detector permanece en nivel bajo, cmo evitamos que cuente
nuevamente, la prxima vez que el programa pasa por ese punto? Qu sucede si la caja vibra sobre la cinta
transportadora, a medida que atraviesa el haz de nuestro detector? Cmo evitamos contar varias veces la
misma caja? Las respuestas pueden no ser tan simples como parece. Incluso cuando se realiza una tarea tan
simple como contar las cajas que pasan, muchas variables deben ser tenidas en cuenta.
Figura 1.3:
Diagrama de Flujo
de la Cinta
Transportadora
Otra consideracin es la salida de nuestro detector. Podemos medir directamente la salida usando una de
las entradas del BASIC Stamp, o se necesita algn circuito para acondicionar la seal primero?
Consideremos ahora una salida en nuestro ejemplo de la cinta transportadora. Cmo encenderemos el
motor? Es muy dudoso que la salida de 5 Volts, con escasos miliamperes del BASIC Stamp sea capaz de
alimentar directamente un motor con suficiente potencia para mover una cinta transportadora. Cmo
acondicionaremos una salida del BASIC Stamp para controlar una carga de mayor corriente y tensin?
Estos temas se irn desarrollando a medida que trabaje en los captulos de este manual. Lo que nos parece
simple de hacer como humanos, puede requerir algunos algoritmos sofisticados si queremos realizarlo con un
microcontrolador. Usaremos los componentes electrnicos disponibles, un mdulo BASIC Stamp, y la
Plaqueta de Educacin, para simular algunos procesos de control industrial complejos.
Ejercicios
Ejercicio 1: Diseo de Diagramas de Flujo
Dibuje un diagrama de flujo que encienda un calentador por debajo de 100 grados y lo apague por encima de
120 grados.
Ejercicio 2: Circuito de LED que Titila
Usaremos un circuito simple para demostrar el proceso de un diagrama de flujo y armaremos el programa
que cumpla la tarea. Deber armar el circuito que se muestra en la Figura 1.5. Se necesitarn los siguientes
componentes para este experimento:
(1) LED, verde
(2) resistores 220-Ohm
(1) resistor 10K-Ohm
(1) pulsador
(1) potencimetro multivueltas de 10K-Ohm
(1) capacitor 1 uF
(varios) cables de interconexin
Figura 1.5: Ejercicio 2, Esquema del Circuito para LEDs que Titilan
Figura 1.6:
Ejercicio 2. Diagrama de Flujo del LED que Titila
input pb1
output led1
low led1
'Apaga el LED
bucle:
if pbl = 0 then bucle
'No se presion? Regresa al inicio
gosub titilar_led1 'Si se presion, ejecuta la subrutina
goto bucle
'Despus de regresar, salta al inicio
titilar_led1:
for cnt = 1 to 5
high led1
pause 1000
low led1
pause 1000
next
return
Desafo de Programacin
Haga el diagrama de flujo y el programa para un proceso donde el LED deba titilar 4 veces por segundo,
mientras el pulsador NO est presionado.
El comando PBASIC que usaremos para leer el valor analgico del potencimetro es rctime. Un segmento de
cdigo tpico para leer el potencimetro es el siguiente:
high 7
pause 10
rctime 7, 1, pot
A mayor resistencia, mayor tiempo necesitar el capacitor para cargarse; por lo tanto, mayor ser el valor de
pot. De esta forma, podemos adquirir un valor analgico de un dispositivo de entrada simple.
Escribamos un programa de control de proceso que use este tipo de entrada. Nuestro proceso monitorear la
temperatura para encender un calentador a menos de 100 grados y lo apagar a ms de 120 grados. El
potencimetro representar un sensor de temperatura y el LED indicar el comportamiento del supuesto
calentador. Usaremos la ventana debug para mostrar nuestra temperatura y el estado del calentador. El valor
mximo del potencimetro, con esta combinacin de resistor y capacitor, puede llegar a 5000, as que lo
dividiremos por 30 para obtener un rango ms razonable.
Ingrese y ejecute el Programa 1.2. Controle los valores de la ventana debug mientras ajusta el potencimetro
y observe especialmente qu ocurre cuando el valor sube por encima de 120 o cae por debajo de 100.
'Programa 1.2,
LED1
VAR
RC
CON
Temp
VAR
Calentador simple
OUT4
7
WORD
OUTPUT 4
LED1 = 1
Principal:
GOSUB LeeTemp
GOSUB ControlaTemp
PAUSE 250
GOTO Principal
LeeTemp
HIGH RC
PAUSE 10
RCTIME RC, 1, Temp
Temp = Temp/30
'LED1 est en P4
'Red RC en Pin 7
'Temp es una variable para almacenar resultados
'configura el LED como salida
'Inicia encendido
'Lee el potencimetro
'Ajusta el valor y
'lo almacena como Temp
ControlaApagado:
'Si Temp < 120 o el calentador est apagado, listo
IF (Temp < 120) OR (LED1 = 0) THEN Listo
LED1 = 0
'sino, lo apaga y muestra
DEBUG "Calentador Apagado", CR
Listo:
RETURN
Desafo de Programacin
Modifique el proceso (diagrama de flujo y programa) para que el LED indique el ciclo de trabajo de un aire
acondicionado entre 70 y 75 grados (Fahrenheit).
La regla principal del SPL es que cada lnea debe terminar con un retorno de carro (13 o CR).
Por favor revise el Apndice A para una explicacin ms profunda del StampPlot Lite.
Si an no ha instalado StampPlot Lite, descrguelo de http://www.stampsenclase.com, e instlelo en su
computadora. Haga doble clic en el botn setup e instlelo en el directorio que usted elija.
Miremos nuevamente el Programa 1.2, nuestro calentador simple, pero esta vez usando StampPlot Lite para
poder visualizar mejor el proceso. El Programa 1.2 ha sido reescrito como Programa 1.3, para utilizar el
StampPlot Lite (las lneas en negrita estn agregadas / modificadas del programa 1.2).
'Programa 1.3; Calentador simple usando StampPlot Lite
'Configura StampPlot Lite
PAUSE 500
DEBUG "!SPAN 50,150",CR
'Configura amplitud (span) 50-150
DEBUG "!TMAX 60",CR
'Configura para 60 segundos
DEBUG "!PNTS 500",CR
'500 puntos de datos por grfico
DEBUG "!TITL Control de Calentador Simple ",CR
'Ttulo del formulario
DEBUG "!SHFT ON",CR
'Permite que el grfico se desplace
DEBUG "!TSMP ON",CR
DEBUG "!PLOT ON",CR
'Comienza a dibujar
DEBUG "!RSET",CR
'Reinicia (borra) el grfico
LED1
RC
Temp
VAR
CON
VAR
OUT4
7
WORD
'LED1 est en P4
'Red RC en Pin 7
'Temp es una variable para almacenar resultados
OUTPUT 4
LED1 = 1
Principal:
GOSUB LeeTemp
GOSUB ControlaTemp
PAUSE 250
GOTO Principal
LeeTemp
HIGH RC
PAUSE 10
RCTIME RC, 1, Temp
Temp = Temp/30
DEBUG DEC Temp, CR
DEBUG IBIN LED1,CR
RETURN
'Lee el potencimetro
'Ajusta el valor y
'lo almacena como Temp
'Enva el valor de la temperatura
'Enva el estado del LED
ControlaTemp:
ControlaApagado:
'Si Temp < 120 o el calentador est apagado, listo
IF (Temp < 120) OR (LED1 = 0) THEN Listo
LED1 = 0
'sino, lo apaga y muestra
DEBUG "Calentador Apagado", CR
DEBUG "!USRS Calentador apagado",CR
'Actualiza la barra de estado del SPL
Listo:
RETURN
Descargue el programa en su BASIC Stamp y siga estas instrucciones para usar el StampPlot Lite.
Ejecute su StampPlot Lite usando el botn de Inicio de Windows y siguiendo la siguiente secuencia
Programas/StampPlot/StampPlot Lite.
Escriba y descargue el Programa 1.3 en su BASIC Stamp.
Cierre la ventana azul de debug del editor del BASIC Stamp.
Seleccione el puerto COM apropiado en el StampPlot Lite y haga clic en 'Connect.'
Reinicie el BASIC Stamp presionando el botn Reset de la Plaqueta de Educacin. Ahora est listo
para usar este software nico.
En este punto debera ver como se dibujan los datos en la pantalla. Ajuste el potencimetro de 10K-Ohm con
sus dedos o un destornillador pequeo. La lnea analgica muestra el valor del potencimetro. El trazo digital
de la parte superior muestra el estado del LED indicador. La Figura 1.8 es un ejemplo del grfico que se obtuvo
con este mismo circuito.
Figura 1.8: Grfico del StampPlot Lite para el Ejercicio 4
Calentador encendido
Observe la relacin entre el valor analgico y la conmutacin de la salida digital. Use los controles del
StampPlot Lite para familiarizarse con sus funciones y caractersticas. Analice el Programa 1.3 y observe los
ajustes de configuracin y los datos enviados al software utilitario. Vea el Apndice A si tiene problemas para
entender el funcionamiento del StampPlot Lite.
Desafo de Programacin
Modifique el desafo del aire acondicionado del Ejercicio 2, para que use el StampPlot Lite. Configure su
programa para transmitir datos aproximadamente cada 0,5 segundos. Calcule la cantidad de puntos de datos
necesarios para llenar la pantalla en un tiempo mximo de 60 segundos. Ejectelo y vea si funciona.
Ahora por diversin!
Escriba y descargue el siguiente programa. El potencimetro simula una ducha de un solo grifo (mezcladora).
Ajuste la temperatura de la ducha para obtener 110 Fahrenheit constantes. Vea qu tan rpido puede
Ajuste la ducha
VAR BYTE
VAR BYTE
VAR BYTE
VAR WORD
RC
CON 7
LED1
CON 4
PuntoAjuste = 110
PAUSE 500
DEBUG "!RSET",CR,"!SPAN 0,200",CR,"!TMAX 30",CR,"!PLOT ON",CR
DEBUG "!TSMP ON",CR,"!MAXS",CR,"!PNTS 100",13
DEBUG "!USRS Ajuste la temperatura a ",DEC PuntoAjuste,CR
Principal:
HIGH RC
PAUSE 10
RCTIME RC,1,Temp
Temp = Temp/ 30
IF Temp > TempAct THEN MasAlta
IF Temp < TempAct THEN MasBaja
GOTO Display
MasAlta:
DIF = Temp - TempAct/5
TempAct = TempAct + Dif
GOTO Display
MasBaja:
Dif = TempAct - Temp/5
TempAct = TempAct - Dif
Display:
LOW LED1
DEBUG DEC TempAct,CR
IF TempAct <> PuntoAjuste THEN SkipBeep
DEBUG "AJUSTADA!",CR,"!BELL",CR
HIGH LED1
SkipBeep:
PAUSE 250
GOTO Principal
Preguntas y Desafo
1. Mencione una actividad humana cotidiana que involucre una decisin. Liste los pasos necesarios para
llevar a cabo ese proceso y las decisiones que deben tomarse.
2. Desarrolle un diagrama de flujo simple para el proceso de la Pregunta 1.
3. Mencione un ejemplo de un proceso electrnico en su hogar o escuela (tal como el control de un horno
microondas, un reloj despertador, etc.). Desarrolle un diagrama de flujo simple que describa el proceso.
4. Desarrolle el diagrama de flujo y el cdigo para los siguientes procesos: El potencimetro simula un
sensor de temperatura. Si la temperatura excede 100 grados Fahrenheit, enciende la alarma (LED). La
alarma no se apaga hasta que se presiona el botn.
5. Modifique el programa de la Pregunta 4 de forma que use StampPlot Lite para mostrar la temperatura, el
bit de alarma y el estado de la alarma.
Experimento 2:
Acondicionamiento
de Seal de
Entrada Digital
Los interruptores pueden controlar una operacin de tres formas. Una podra ser si conectamos
directamente una carga al interruptor, controlando toda la corriente y la tensin de la carga. Tambin
podemos conectarlo a la entrada de un rel. En este caso, el interruptor controla con poca potencia el
circuito de entrada del rel, mientras que la potencia es controlada por el circuito de salida. El estado
encendido / apagado (on/off) del interruptor tambin podra proveer una seal digital a la entrada de un
controlador programable.
Cuntos interruptores us hoy? Y, qu procesos afect con la accin de dichos interruptores? La tabla 2.1
lista unas pocas posibilidades, comenzando por el principio del da:
Tabla 2.1: Interruptores que podra haber usado al principio del da.
Estado del Interruptor
Primero podra presionar el botn SNOOZE de su
reloj despertador.
Luego, tropezando al entrar al bao, prende la luz.
Ahora, en la cocina, prende la cafetera, presiona la
tostadora de pan y programa su microondas. Abre el
refrigerador y la luz se enciende.
Enciende el termostato.
Enciende su TV, cambia de canal, sube el volumen.
Resultado
La alarma se apaga y... 5 minutos ms para dormir!
Algunos de los interruptores listados en la Tabla 2.1 tienen control directo de la continuidad elctrica de las
cargas involucradas. Por ejemplo, el interruptor de la luz del bao controla el flujo real de la corriente que
La Tabla 2.2 muestra la representacin esquemtica de varios interruptores industriales. Los smbolos se
dibujan para representar el estado normal del interruptor. Estado normal se refiere al estado de reposo o
Pulsador
Lmite
Mecnico
Interruptor
Proximidad
de
Rel
NormalNormalmente
Abierto
Normalormalmente
Cerrado
Mientras que el concepto de interruptor es muy simple, parece no haber lmites para los diseos fsicos que
encontrar en aplicaciones de control industrial. Los interruptores tambin pueden ser diseados como
Normalmente Cerrados (N.C.); se encuentran cerrados en reposo y sus contactos se abren cuando son
activados. Como tcnico, programador, o diseador de sistemas, debe estar al tanto de la posicin Normal (de
reposo) de un interruptor.
Figure 2.2a
Figure 2.2b
Resistor de Referencia:
El resistor fijo de 10K-Ohm en las Figuras
2.2a y 2.2b es necesario para obtener niveles
lgicos variables. Est conectado en serie
con el interruptor. Su valor debe ser mucho
mayor que la resistencia del interruptor
cerrado y mucho menor que la resistencia
del interruptor abierto. Cuando el
interruptor est abierto en la Figura 2.2a, el
resistor no recibe tensin y el punto de
entrada es llevado a masa. En la Figura 2.2b,
el circuito abierto hace que la entrada quede
fijada a +5 Volts. Debe tener en cuenta estos
resistores (pull-up y pull-down) siempre que
trabaje con interruptores mecnicos o
electrnicos.
Ejercicios
Ejercicio 1: Interruptor Bsico
Para comenzar una investigacin sobre la programacin de pulsadores, conecte dos como se muestra en la
Figura 2.2 en la protoboard de la Plaqueta de Educacin. Conecte la configuracin de activo alto (Figura 2.2a)
en el Pin 1 de E/S y la salida de la configuracin activo bajo (Figura 2.2b) al Pin 2. Observe cul es cual. Como
se dijo anteriormente, esto es importante. La Figura 2.3 muestra la fotografa de cmo podra quedar
montado este circuito en la Plaqueta de Educacin.
Figura 2.3: Fotografa del Montaje del Circuito de la Figura 2.2
INPUT 1
INPUT 2
PB1 VAR IN1
PB2 VAR IN2
Bucle:
PAUSE 100
' Reduce velocidad del bucle
DEBUG IBIN PB1, BIN PB2, CR
' Grafica el estado digital
DEBUG DEC 0, CR
' Enva un 0 para lograr desplaz. de pantalla
IF (PB1 = 1) and (PB2 = 0) THEN Ambos
' Verifica ambos botones
IF PB1 = 1 THEN PB1_on
' Verifica si PB1 (activo alto) est presionado
IF PB2 = 0 THEN PB2_on
' Verifica si PB2 (activo bajo) est presionado
DEBUG "!USRS Estados normales
- Ninguno presionado", CR
' Informa que ninguno est presionado
GOTO Bucle
PB1_on:
DEBUG "!USRS Entrada 1 en nivel alto
GOTO Bucle
PB2_on:
DEBUG "!USRS Entrada 2 en nivel bajo
GOTO Bucle
Ambos:
' Reporta que ambos estn presionados
DEBUG "!USRS PB1 alto y PB2 bajo - Ambos presionados", CR
DEBUG "!BELL", CR
' Emite sonido.
GOTO Bucle
El propsito de este programa es ejecutar cierto cdigo de acuerdo al estado (presionado o no) de los
pulsadores. Este ejercicio simple introduce varias consideraciones a tener en cuenta cuando se trabaja con
entradas digitales, se programan varias instrucciones ifif-then,
then o se usan algunos operadores lgicos de
PBASIC.
Primero, in1 e in2 simplemente contienen el valor lgico de los pines de entrada: +5 V = 1 lgico y 0 V = 0
lgico. El pulsador activo alto PB1 entrega un 1 si est presionado. El pulsador activo bajo PB2 entrega un 0
cuando est presionado. El programa controla el estado lgico de las entradas; como programador, debe
comprender como se relaciona esto con la condicin de presionado o no presionado de los botones. Esto
es evidente en la primer lnea del programa donde se emplea un operador lgico AND.
Cuando considera las configuraciones de los botones, tiene sentido lgico que si In1 entrega un estado alto e
In2 un estado bajo, entonces ambos botones estn presionados. Las acciones de los controladores
industriales a menudo dependen del estado de muchos interruptores y contactos. Una revisin de los
operadores lgicos de PBASIC, incluyendo AND, OR, XOR y NOT, puede ser conveniente para cumplir estos
requerimientos usando un BASIC Stamp.
Otro aspecto a observar en el Programa 2.1 es el flujo del programa. Las estructuras IF-THEN verifican una
condicin y si esta condicin se cumple, entonces la ejecucin del programa salta hacia la etiqueta. En este
caso, la rutina a la que salta simplemente imprime el estado de los interruptores en el StampPlot Lite. En
aplicaciones industriales, esta porcin del programa podra causar una accin de salida apropiada. Dado que
la ltima lnea de cada subrutina es GOTO Bucle, la ejecucin del programa salta al principio del bucle
principal y cualquier parte de cdigo que se encuentre por debajo de la instruccin IF-THEN que caus la
bifurcacin se ignora. El diagrama de flujo de la Figura 2.5 muestra como se ejecuta el programa.
Figura 2.5: Diagrama de Flujo del Programa 2.1
Ingrese y ejecute el programa de acuerdo al procedimiento para emplear el StampPlot Lite. El estado de los
pulsadores y los LEDs se mostrar en la pantalla. Cuando PB1 es presionado, los LEDs parpadearn. Puede
ser usted lo suficientemente rpido como para hacerlos titilar solamente una vez? Intntelo.
500
"!TITL Desafo de Velocidad",CR
"!TMAX 25", CR
"!PNTS 300", CR
INPUT 1
INPUT 2
OUTPUT 4
Out4 = 1
OUTPUT 5
Out5 = 0
Bucle:
DEBUG IBIN In1, BIN In4, BIN In5, CR
DEBUG DEC 0, CR
IF In1 = 1 THEN Titila
'
'
'
'
GOTO Bucle
Titila:
TOGGLE 4
TOGGLE 5
GOTO Bucle
Si StampPlot Lite no responde a los datos que enva el BASIC Stamp, debera agregar una pequea pausa en la
rutina Bucle:. Una PAUSE 2 o PAUSE 5 (incluso hasta 10 en computadoras muy lentas) aliviar los
problemas que pueda encontrar en la transmisin de datos.
Es casi imposible presionar y liberar el botn suficientemente rpido como para realizar la accin solamente
una vez. Esto se muestra en la Figura 2.7. El bucle del programa se ejecuta demasiado rpido. Si usted es
lento, el programa tiene la oportunidad de ejecutarse varias veces mientras el interruptor se encuentra
presionado. Agregue a esto varios milisegundos de rebote y podra obtener muchos pulsos cada vez que
presione el botn.
Figura 2.7: La Respuesta Lenta y el Rebote Pueden Ser un Problema
Otorgando este tiempo de establecimiento, es mucho ms fcil lograr que Titila: se ejecute una sola vez, al
presionar rpidamente el botn. Esta tcnica elimina el rebote del interruptor y le da tiempo suficiente para
liberarlo antes del siguiente ciclo de programa. La PAUSE debe ser suficientemente larga para evitar estos
inconvenientes. Sin embargo, si la PAUSE es demasiado larga, se podra presionar el botn sin que el
microcontrolador lo note.
500
"!TITL Activacin por Flanco",CR
"!TMAX 50",CR
"!PNTS 300",CR
"!AMAX 20",CR
"!MAXR",CR
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
50
"!USRS Total = ",DEC Contar, CR
DEC Contar, CR
IBIN PB1, BIN PB2,CR
'
'
'
'
'
'
'
'
Borra:
IF(In2 = 1) OR (Band2 = 1) THEN Bucle
Cuando PB1 es presionado, el programa salta a la rutina Cuenta. Observe que la primer lnea de esta rutina
verifica si el interruptor est abierto o la bandera Band1 est activada. Ninguna es verdadera en la primer
pasada por el programa. Por lo tanto, Contar es incrementada, Band1 es puesta en 1 y el programa regresa
a Bucle. Si PB1 an sigue presionado, Cuenta se ejecuta nuevamente. Esta vez, sin embargo, con Band1
activada, la instruccin IF-THEN enva el programa de regreso a Bucle sin incrementar Contar nuevamente.
Sin importar cuanto tiempo est presionado el botn, solamente se contar una unidad por cada vez que se
lo presione. Aunque en este caso solamente est incrementando el valor de la variable Contar, este
programa podra ser parte de una rutina llamada por una aplicacin industrial. La Figura 2.9 muestra como se
vera este programa funcionando con SPL.
Para probar esta funcin con nuestra rutina, cargue y ejecute el Programa 2.5.
' Programa 2.5: Uso de BUTTON con StampPlot
' Use BUTTON para contar y mostrar la cantidad de veces que se presiona PB1.
' Reinicie la cuenta total con PB2.
PAUSE
DEBUG
DEBUG
DEBUG
DEBUG
DEBUG
500
"!TITL Uso de BUTTON",CR
"!TMAX 50",CR
"!PNTS 300",CR
"!AMAX 20",CR
"!MAXR",CR
EspTrabajo1 VAR
EspTrabajo1 = 0
EspTrabajo2 VAR
EspTrabajo2 = 0
Contar VAR word
Contar = 0
byte
byte
'
'
'
'
'
'
'
'
'
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
Bucle:
PAUSE 50
Borra:
Contar = 0
' Reinicia la cuenta a 0
DEBUG "Cuenta reiniciada. Total = ", DEC Contar, CR
' Muestra mensaje en el recuadro Text
GOTO Bucle
Revise la documentacin sobre el comando BUTTON en el BASIC Stamp Programming Manual Versin 1.9 (en
Ingls). Este es un comando muy til para aplicaciones industriales. Experimente cambiando el tiempo de
retardo de 50 a 100 y a 200. Vea si puede presionar el botn ms de una vez, por cada vez que se ejecute una
instruccin Cuenta. Cul es el riesgo de permitir demasiado tiempo de establecimiento en aplicaciones de
alta velocidad? Guarde este programa; ser modificado ligeramente en el siguiente desafo de
programacin.
Fuentes de Entrada Digital Electrnicas
Es muy comn que las entradas digitales provengan de las salidas de otros circuitos electrnicos. Estas
entradas pueden provenir de una variedad de fuentes electrnicas, incluyendo detectores de proximidad
capacitivos o inductivos, optocuplas o interruptores pticos, circuitos de acondicionamiento de seal de
sensores, compuertas lgicas y salidas de otros microcontroladores, microprocesadores, o sistemas de
control lgico programables.
(a) Las salidas de circuitos TTL y CMOS alimentadas desde una fuente de +5 Volt pueden ser aplicadas
directamente a los pines de entrada del BASIC Stamp. Si los dos sistemas estn alimentados desde los mismos
5 Volts, perfecto. Sino al menos las masas deben ser comunes (conectadas juntas).
(b) Los dispositivos de baja tensin (+3 V) pueden ser conectados usando un 74HCT03 u otra compuerta de
colector abierto similar con un resistor de pull-up a la fuente de +5 Volt del BASIC Stamp. Alimente el chip con
su fuente de baja tensin y una las masas.
(c) Las seales digitales de alta tensin pueden conectarse mediante un buffer 74HC4050 o un inversor 74HC4049
alimentado con +5 Volts. Estos dispositivos pueden manejar con seguridad entradas de hasta 15 Volts.
Nuevamente, las masas deben ser comunes.
(d) Una configuracin de amplificador operacional trabajando como comparador con referencia puede establecer
una salida Alta / baja de acuerdo a si la entrada analgica est por encima o debajo de una tensin de
referencia. El LM358 es un amplificador operacional cuya salida puede ir desde masa hasta cerca de Vdd con
una alimentacin simple de +5 Volt. Lo usaremos en la prxima aplicacin.
(e) Se puede usar una optocupla para conectar diferentes niveles de tensin al BASIC Stamp. El resistor del LED
limita la corriente a un nivel seguro, mientras que permite un nivel de luz suficiente para saturar el
fototransistor. El circuito de entrada puede ser aislado totalmente de la fuente de alimentacin del
fototransistor del BASIC Stamp. Esta aislamiento provee proteccin efectiva de cada circuito, en el caso que el
otro falle.
Los interruptores pticos detectan la presencia o ausencia de un angosto haz de luz, a menudo en el
rango infrarrojo. En interruptores pticos reflectivos, el haz de luz podra reflejarse en un objeto
mvil hacia el sensor ptico del interruptor. Otros interruptores pticos se configuran de forma que
un objeto bloquee el haz de luz que va desde la fuente de luz hasta el receptor.
Interruptor de Proximidad?
Los interruptores de proximidad detectan la
presencia de un objeto, sin contacto fsico. Los
interruptores de la figura representan las tres
principales categoras:
Inductivo, Capacitivo y ptico
El ejercicio siguiente se enfoca en el diseo y montaje de un interruptor ptico. Usaremos este interruptor
para contar y detectar objetos. Luego el interruptor se usar como tacmetro, para determinar las RPM.
En la Figura 2.11, el diodo emisor de luz infrarroja (LED) y el fototransistor infrarrojo forman un par emisor /
detector acoplado. La luz emitida por el LED causar una corriente en el colector del fototransistor. Un
aumento en la corriente de colector lleva al fototransistor hacia la saturacin (masa). Si se evita que la luz
llegue al fototransistor, este se va hacia el corte y la tensin de colector aumenta positivamente. Estas
condiciones de luz y oscuridad normalmente no generarn una seal TTL vlida en el colector del transistor. Si
aplicamos esta seal a la entrada de un comparador con referencia, podremos establecer un punto de ajuste
entre las dos condiciones. La salida del comparador ser una seal lgica compatible con TTL. Su nivel de
salida depende de qu lado del punto de ajuste, se encuentra la salida del fototransistor. El amplificador
operacional LM358 es una buena eleccin para esta aplicacin. Puede operar con una fuente simple de +5
Volt y sus tensiones de salida son casi iguales a las tensiones de la fuente de alimentacin +5 y masa.
Construya cuidadosamente el circuito de la Figura 2.11 en la protoboard. Montar los componentes cerca de
un extremo como se muestra en el diagrama, nos permitir agregar ms componentes en los prximos
ejercicios. Haga un doblez de 90o en las patas del LED y del fototransistor para que queden paralelos a la
mesa. El fototransistor y el LED deberan ponerse apuntando hacia fuera del borde de la protoboard.
El LED en la Figura 2.11 emite continuamente un haz de luz infrarroja. Con el LED y el fototransistor lado a
lado, hay poca o ninguna luz entrando al fototransistor debido a que no hay nada reflectivo frente a l. Si un
objeto se aproxima al par, parte de la luz del LED se reflejar hacia el fototransistor. Cuando la luz lo alcanza,
la corriente de colector fluir y su tensin caer. Con esta configuracin, la reflexin proveniente de un
objeto que pasa por delante del par, ser detectada por el fototransistor. La cantidad de luz reflejada hacia el
sensor depende de la reflectividad ptica del objeto y de la geometra del haz de luz. En nuestro caso
intentaremos determinar la presencia de un objeto blanco y plano. Con el emisor y el detector montados lado
a lado, intentar la deteccin del objeto a una distancia de dos o tres centmetros.
Debe medir un par de tensiones para calibrar la presencia de un objeto. Coloque un voltmetro entre el
emisor y el colector del fototransistor. Mida la tensin cuando no hay ningn objeto frente al sensor. Anote
este valor en la Tabla 2.3. Luego, acerque y aleje del par un trozo de papel blanco, mientras observa la
variacin de tensin. A medida que el papel se acerca al par IR, la luz reflejada incrementa la corriente de
colector y lleva al transistor hacia la saturacin (bajo). Anote la lectura de tensin con el papel a unos dos
centmetros de los sensores, en la Tabla 2.3. La diferencia entre estas mediciones puede ser bastante
pequea, como 0,5 V, pero esto ser suficiente para disparar el amplificador operacional. Esta seal se aplica
en la entrada inversora del LM358. El potencimetro proveer la tensin de referencia en la entrada no
inversora. Esta referencia ser un valor intermedio entre las lecturas de la Tabla 2.3.
Tensin en el
Fototransistor
Tensin de Salida
del LM358
Esta habilidad de obtener una conmutacin dependiendo de la luz recibida es muy til para aplicaciones
industriales tales como conteo de productos, control de cintas transportadoras, medicin de RPM, etc. El
siguiente ejercicio demostrar una operacin de conteo. Usted deber ayudar, sin embargo, usando su
imaginacin.
Supongamos que se estn transfiriendo botellas de leche por una cinta transportadora, desde el sector de
llenado al de empaque. Corte una tira de papel blanco para representar una botella de leche. Pasarla por
delante de nuestro interruptor representa una botella desplazndose por la cinta transportadora. Solamente
se necesita una pequea modificacin al programa anterior para probar nuestro nuevo interruptor. Si tiene
cargado el Programa 2.5, simplemente modifique la instruccin button cambiando el identificador de
entrada de Pin 1 a 3. La lnea modificada se vera as:
' Programa 2.6 (modificacin del Programa 2.5 para trabajar con el interruptor reflectivo)
BUTTON 3,1,255,0,EspTrabajo1,1,Cuenta
' Deteccin de disparo por flanco sin rebote del interruptor ptico
El siguiente ejercicio usa la instruccin COUNT, el interruptor ptico y los discos codificadores para obtener
datos sobre velocidad.
Comencemos cortando el primer disco codificador. Coloque cinta adhesiva en la parte trasera del disco, para
pegarlo al centro de la hlice del ventilador (puede recortar los discos codificadores del tamao necesario
del Apndice B de este libro). El ventilador es de 12 V. Su velocidad cambia con tensiones que varan desde 12
V hasta aproximadamente 3,5 V. Esta es la cada de tensin del circuito de control del motor sin escobillas.
Pruebe su ventilador conectndolo directamente primero a Vdd (+5 Volts) y luego a +Vin (tensin sin regular).
Busque en su plaqueta el rtulo Vin, para tener acceso a la tensin de entrada sin regular. Debe respetar la
polaridad en los motores sin escobillas. El cable rojo es el positivo (+V) y el negro va conectado a masa Vss. El
ventilador debera colocarse de forma que el disco codificador apunte hacia el par IR.
El primer disco codificador tiene un sector negro y uno blanco. A medida que rota, el interruptor ptico
debera activarse y desactivarse una vez por cada vuelta o revolucin. Ingrese el Programa 2.7 de Prueba de
Tacmetro.
' Programa 2.7 Prueba de Tacmetro con el StampPlot
' Inicializa parmetros de interfaz grfica.
' (Tambin pueden configurarse o modificarse en la ventana del SPL)
DEBUG "!AMAX 8000",CR
' Escala Completa RPM
DEBUG "!AMIN 0",CR
' Escala mnima RPM
DEBUG "!TMAX 100",CR
' Eje de tiempo mximo
DEBUG "!TMIN 0",CR
' Eje de tiempo mnimo
DEBUG "!AMUL 1",CR
' Multiplicador de escala analgica
DEBUG "!PNTS 600",CR
' Dibuja 600 puntos de datos
DEBUG "!PLOT ON",CR
' Enciende el graficador
DEBUG "!RSET",CR
' Reinicia la pantalla
Contar VAR word
RPM VAR word
Contar = 0
Bucle:
COUNT 3,1000, Contar
RPM = Contar * 60
A medida que la hlice gira, los pulsos generados por el interruptor ptico se contarn durante 1000
milisegundos (un segundo). Con una duracin de la rutina Contar de un segundo, y producindose un ciclo por
cada rotacin, obtenemos directamente la velocidad de rotacin de la hlice en ciclos por segundo. Pero
normalmente, la velocidad de rotacin de un disco se describe en revoluciones por minuto (RPM).
Multiplicando las revoluciones por segundo por 60, obtenemos la cantidad de RPM.
Ejecute su programa. La ventana debug aparecer primero mostrando la informacin serial para configurar
StampPlot Lite. Cierre la ventana debug del BASIC Stamp y abra StampPlot Lite. Tilde Connect y Plot Data y
presione Restart. Presione el botn de Reset de su plaqueta y el SPL comenzar a graficar. La Figura 2.14
muestra un ejemplo del grfico con las RPM alimentando el motor a distintas tensiones .
RPM actuales 0
El disco codificador giratorio podra generar una salida de picos del fototransistor ligeramente diferente en
condiciones de luz y oscuridad. Si su sistema no responde correctamente, cambie el punto de ajuste del
potencimetro hasta encontrar el nuevo valor promedio. Si tiene acceso a un osciloscopio, mida la salida pico
a pico del fototransistor y la tensin que aplica el potencimetro sobre el comparador. El rendimiento ptimo
se obtendr si ajusta la tensin de referencia, en el punto medio de los niveles de tensin pico a pico. Observe
la frecuencia y la forma de onda de la seal. Un ejemplo de la lectura del osciloscopio se muestra en la Figura
2.15.. La lectura de 84,7 Hz equivale a una lectura de debug igual a: Contar = 84; RPM = 5040. Los 84,7 Hz
medidos por el osciloscopio reflejan una RPM real de 84,7 x 60 = 5082. El BASIC Stamp usa solamente los 84
ciclos completos que se produjeron durante el segundo que dur la captura de datos.
Anote la lectura del tacmetro cuando se aplica la tensin mxima al motor. Puede usar Vin en su plaqueta
(entrada directa de tensin de fuente, siempre que sea menor de 12 V) para mxima velocidad, o Vdd (5 V
regulados) para obtener una velocidad menor.
Contar = ___________
RPM = _____________
Cuando pruebe su tacmetro, observe lo que sucede si disminuye la velocidad del ventilador, aplicando
ligeramente rozamiento con su dedo. Si utiliza el disco de 1 pulso / vuelta, contar decrecer de a una unidad,
de 83 a 82 a 81, etc. y las lecturas de RPM caeran por un factor de 60 (4980 a 4920 a 4860, etc.).
Debido a que estamos contando durante un segundo y obtenemos un pulso por vuelta, el programa puede
obtener las RPM con una resolucin de 60 unidades. Para mejorar la resolucin en la lectura de las RPM, tiene
un par de opciones: incrementar el tiempo durante el cual se realiza la cuenta, o aumentar la cantidad de
pulsos por vuelta.
Probemos la primer opcin. Incremente el tiempo de conteo del Programa 2.7 de 1000 milisegundos a 2000
milisegundos. Haciendo esto, el microcontrolador estar leyendo los pulsos durante dos segundos y las RPM
se obtendrn calculando [(Contar/2 segundos) x 60}. Esto se simplifica a RPM = 30 x Contar obteniendo una
resolucin de 30 RPM. En el Programa 2.7, cambie en la lnea RPM = Contar * 60 el valor de escala de 60 a
30. Pruebe su sistema.
Al incrementar la duracin del conteo se increment la precisin de la medicin de las RPM. Vea la Tabla 2.4..
Tabla 2.4: RPM Obtenidas de un Codificador de 1 Pulso / vuelta con Distintos Tiempos de Conteo.
Duracin Conteo
1000 mS
2000 mS
3000 mS
60000 mS
Contar
84
169
254
5082
Escala
60
30
20
1
RPM
5040
5070
5080
5082
Resolucin
60 RPM
30 RPM
20 RPM
1 RPM
Como puede ver, para obtener una resolucin de una RPM, nuestra rutina de conteo debe tener una duracin
de todo un minuto (60.000 ms). A menos que usted sea muy paciente, esto es inaceptable. En trminos de
programacin, el BASIC Stamp est atado a la funcin BUTTON por la duracin total. Durante este tiempo, no
se atiende el resto del programa. Por esta razn, una duracin tan larga no es recomendable.
Otro mtodo para mejorar la resolucin es incrementar la cantidad de pulsos por vuelta. Corte el segundo
disco codificador y pguelo a la hlice de su ventilador. Este disco tiene dos segmentos blancos y producir
dos pulsos a contar por revolucin. Durante un conteo de un segundo de duracin, este codificador producir
el doble de pulsos de los que produca el primer codificador. La lnea de clculo de RPM del programa, debera
ser RPM = Contar x 60 / 2 para este codificador, o RPM = Contar x 30. Intntelo!
El tercer disco codificador tiene an ms resolucin, con cuatro pulsos por vuelta. Coloque este codificador
en su ventilador y modifique la lnea de RPM a RPM = Contar * 15. Podra necesitar modificar la
calibracin de la referencia del comparador cada vez que cambia de un disco codificador a otro.
La precisin requerida en un tacmetro depender de cada aplicacin. Los codificadores comerciales vienen
con resoluciones mayores de 500 pulsos por revolucin. Complete los valores apropiados en la Tabla 2.5 para
obtener un codificador con una resolucin de 360 pulsos por revolucin.
Contar
83
166
312
498
______
Factor de
Escala
60
30
20
______
______
RPM
4,980
4,980
4,980
4,980
_______
Ventilador
'Programa 2.8
Bucle:
PWM 7, (Trabajo), 60
PAUSE 500
GOTO Bucle
Tabla 2.6
Trabajo
60
80
100
120
140
Tensin
Trabajo
160
180
200
220
254
Tensin
Luego, el tacmetro del Programa 2.7 se modificar para incluir el PWM con el circuito Sample and Hold.
Recuerde que este programa informaba las RPM del motor contando los pulsos provenientes del disco
codificador durante 1 segundo. Si no se usara Sample and Hold, el motor se detendra durante este perodo
de un segundo. El Programa 2.9 muestra las modificaciones resaltadas en negritas. El programa operar el
motor incrementando el Ciclo de Trabajo entre 70 y 210. Cada incremento se probar durante
aproximadamente 5 segundos. StampPlot mostrar estos valores en el recuadro de estado y graficar las
RPM continuamente. La frmula para calcular la tensin esperada asume que el circuito sigue la funcin
transferencia discutida anteriormente. Puede modificar esta frmula para ajustar mejor su circuito,
basndose en las pruebas realizadas en el Programa 2.8.
Modifique el Programa 2.7 como se muestra a continuacin (las instrucciones agregadas estn en negritas).
Ejecute el programa y anote las caractersticas tensin velocidad en la Tabla 2.6.
'Programa 2.9 (Programa 2.7 Modificado - con StampPlot)
' Inicializa parmetros de interfaz grfica.
' (Tambin pueden configurarse o modificarse en la ventana del SPL)
DEBUG "!AMAX 8000",CR
' Escala Completa RPM
DEBUG "!AMIN 0",CR
' Escala mnima RPM
DEBUG "!TMAX 100",CR
' Eje de tiempo mximo
DEBUG "!TMIN 0",CR
' Eje de tiempo mnimo
DEBUG "!AMUL 1",CR
' Multiplicador de escala analgica
DEBUG "!PNTS 600",CR
' Dibuja 600 puntos de datos
DEBUG "!PLOT ON",CR
' Enciende el graficador
DEBUG "!RSET",CR
' Reinicia la pantalla
OUTPUT 7
x VAR word
y VAR byte
Tvolts VAR word
Bucle:
FOR x = 70 TO 210
FOR y = 0 TO 5
PWM 7, x, 50
Tvolts = 50 * x / 255 * 3
Trabajo
Tensin
RPM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
StampPlot Lite graficar las caractersticas tensin velocidad de su motor. Use el puntero del mouse para leer
las RPM en cada escaln del grfico. Recopile la respuesta del motor a los cambios en la tensin.
Preguntas y Desafo
Preguntas
1. Un dispositivo industrial cuya salida solamente puede tomar dos estados posibles es llamado
______________.
2. Cul es la resistencia ideal de un interruptor mecnico en el estado abierto? Y en el estado cerrado?
Resistencia abierto = ___________ ; Resistencia cerrado = _____________
3. Explique el propsito del resistor que se conecta en serie con el interruptor para acondicionar una seal
de entrada digital.
4. Un pulsador normalmente abierto en configuracin estado activo bajo indicar un estado lgico
_______ mientras no est siendo presionado.
5. Cul es la tensin de entrada mxima absoluta del BASIC Stamp?
6. Para algunos dispositivos CMOS, una entrada de 1,3 Volts est en el rea ________de operacin.
7. Los dispositivos lgicos de baja tensin operan a ______ Volts de corriente continua.
8. Qu tipo de interruptor de proximidad se activa solamente con objetos metlicos?
9. Cuando se ilumina la base de un fototransistor, la corriente de colector __________ y la tensin
colector emisor ___________.
10. Las RPM de un motor de automvil de seis cilindros pueden determinarse contando los pulsos enviados a
la bobina de ignicin. Se necesitan seis pulsos por cada revolucin. Si ocurren 20 en un segundo, cules
son las RPM del motor?
Diselo!
1. Dibuje un circuito de un pulsador normalmente abierto con su resistor de pull-up. El circuito
deber dibujarse de forma que al presionar el botn se genere un estado lgico bajo.
Analice!
1. Observe los circuitos de fototransistor que aparecen abajo. Cul tiene una tensin se salida creciente
cuando se aumenta el nivel de luz? Por qu? Cul es la tensin de salida de Circuit B si el nivel de luz
satura el transistor Q1?
2. El circuito comparador de abajo es usado para determinar cundo encender o apagar una lmpara de
seguridad. Cul sera el estado de salida del comparador en condiciones de luz? Sera ms
conveniente programar para detectar el nivel de tensin o el flanco generado por este circuito? Por
qu?
3. El interruptor ptico reflectivo (Optical Switch Banner Corporation) de abajo debe conectarse a un Basic
Stamp (BS2 Input). Su hoja de datos especifica que opera con 10 Volts, como sumidero de corriente
(colector abierto). Vea la Figura 2.10 y complete los valores apropiados para +V, +Vdd, y el dispositivo de
interfaz (Interface device).
Progrmelo!
1. Haga de cuenta que su tacmetro reflectivo provee la entrada a un sistema antibloqueo de frenos de un
automvil. Adems de esta entrada, use un pulsador para simular el pedal del freno. Un LED activo alto
representar la accin del frenado. Escriba un programa que detecte cundo se presiona el pedal del
freno, para detener el vehculo. Haga que su programa encienda el LED mientras la velocidad est por
encima de cero. Cuando la velocidad del disco cae a cero, apague el LED. Use un potencimetro para
ajustar la velocidad inicial del motor. Configure los dos pulsadores como entradas activo altas. Conecte
un LED como salida activo alta.
2. Escriba programas para duplicar la operacin de las compuertas OR, AND y XOR.
Compuerta OR
PB1
PB2
LED
0
0
0
1
0
1
0
1
1
1
1
1
PB1
0
1
0
1
Compuerta AND
PB2
LED
0
0
0
0
1
0
1
1
PB1
0
1
0
1
Compuerta XOR
PB2
LED
0
0
0
1
1
1
1
0
Actividad de Campo
Cuntos dispositivos digitales (de dos estados) puede identificar en un auto nuevo? Liste todos los que pueda.
Escriba si supone que el dispositivo controla directamente la carga, usa algn tipo de rel, o si piensa que su
estado est siendo monitoreado por un microcontrolador.
Experimento 3:
Acondicionamiento
de la Seal de
Salida Digital
El diseo del acondicionamiento de seal apropiado comienza observando las caractersticas y limitaciones de
las salidas del BASIC Stamp. La salida de un BASIC Stamp usa niveles TTL standard. (Nota
Nota del Traductor:
Traductor Los
niveles usados por el BASIC Stamp NO SON TTL,
TTL sino que son compatibles con estos) Como dijimos en el
Experimento 2, esto significa que puede conmutar entre un estado alto de aproximadamente 5 Volts a un
estado bajo cercano a 0 Volts. De acuerdo a la hoja de datos del BASIC Stamp, cada salida puede entregar 25
mA y recibir 20 mA de corriente. Relacionando esto al diagrama de la Figura 3.1, observe como se puede
conectar la carga. En la Figura 3.1a, la carga es conectada desde el pin de salida a masa. Cuando pone el pin en
estado alto, aparecen 5 Volts sobre el resistor (RL). La corriente de carga fluir hasta masa, a travs del
resistor. En este modo de suministro de corriente el BASIC Stamp puede entregar un mximo de 20 mA.
Figura 3.1: Disponibilidad de Corriente en un pin de Salida del BASIC Stamp
Las salidas se han usado para encender LEDs en ejercicios previos, como muestra la Figura 3.2a. Cuando la
salida del BASIC Stamp est en estado bajo, el diodo se polariza en directa generando una cada de tensin de
ms de un Volt, cayendo el resto de la tensin en el resistor de 220-Ohm. Esto limita el flujo de la corriente a
aproximadamente 16 mA. (Nota
Nota del Traductor
Traductor: Estos valores fueron corregidos por el traductor), La luz
emitida por el diodo da una indicacin visual del estado de la salida. En los desafos de programacin
anteriores, haba asumido que el estado del LED representaba la accin del proceso que se estaba realizando
en ese momento. Esta suposicin se vuelve real cuando considera la operacin de un rel de estado slido
(SSR). La Figura 3.2b muestra el esquema del rel de estado slido. El circuito de entrada (terminales 1-2) es
equivalente a la Figura 3.2a. La entrada de +3 a +24 V CC identifica el rango de tensiones de control. Las
tensiones de control deben estar por encima de la tensin que produce suficiente corriente en el LED para
encenderlo. Si se excede la tensn de control mxima, la corriente resultante puede daar el LED. La luz
generada en el SSR acciona un circuito de salida controlado pticamente. No se muestra el detalle de este
circuito, pero est representado por el smbolo de contacto normalmente abierto. Las limitaciones de
corriente y tensin de la salida se muestran en la hoja de datos del dispositivo y normalmente tambin se
encuentran impresas en el encapsulado.
Figura 3.2: Circuitos de BASIC Stamp con LED y con Rel de Estado Slido
____________
____________
____________
____________
____________
Ejercicios
Ejercicio 1: Control Secuencial
El BASIC Stamp es muy bueno para realizar operaciones de control secuencial. Muchos procesos dependen de
la ejecucin ordenada de operaciones. Considere la operacin de maquinado de la Figura 3.3a.
Figura 3.3a: Secuencia de Perforado Automtico
Una cinta transportadora est moviendo piezas a travs de una estacin de perforado. Cuando se detecta
una pieza, la cinta transportadora se detiene. Luego de una breve pausa, el solenoide se activa para sujetar la
pieza; otra pausa corta y el taladro baja hacia la pieza. Un interruptor de proximidad controla la profundidad
del agujero taladrado. Cuando se activa el detector de profundidad, el comando perforar se detiene y se
eleva la posicin del taladro. Luego de darle un tiempo para que el taladro se retraiga, el solenoide libera la
pieza y se activa la cinta transportadora. La pieza procesada es retirada de este sector y la cinta
transportadora continua movindose hasta que se detecte otra pieza. Cuando se detecta otra pieza, el
proceso secuencia se repite.
Con el acondicionamiento de seal apropiado, el BASIC Stamp puede controlar fcilmente esta secuencia.
Para nuestro ejercicio, necesitar usar su imaginacin para lograr que los LEDs simulen el comportamiento de
los SSRs que controlaran la cinta transportadora, el solenoide y el taladro. Dos pulsadores y sus dedos
simularn una pieza que llega a su posicin y la indicacin de profundidad de perforado. Arme el circuito de la
Figura 3.3b en su plaqueta. Para facilitar las cosas, use su LED verde para la cinta transportadora, el amarillo
para el solenoide y el rojo para el taladro.
El control secuencial es muy fcil de representar con diagramas de flujo. El tiempo que se necesita para
completar el diagrama de flujo, le ahorrar tiempo en la escritura del programa. Compare el diagrama de
flujo de la Figura 3.4 con la descripcin del proceso anterior.
Figura 3.4: Diagrama de Flujo de Control Secuencial
El Programa 3.1 sigue muy de cerca lo expresado en el diagrama de flujo. Estudie el programa; compare su
estructura con el diagrama de flujo. Ingrese el programa y prubelo. Nuevamente tendr que usar su
imaginacin para simular este proceso.
Cuando el programa se inicia, el LED verde se enciende. Esto representa la activacin de la cinta
transportadora. Para simular una pieza entrando en el rea de perforado, debe presionar y retener el
Pulsador P1. El LED a cinta se apagar instantneamente y el LED amarillo que representa el rel del solenoide
se encender luego de una pausa. Luego de que el solenoide tuvo tiempo suficiente para sujetar la pieza, el
'
'
'
'
'
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
Detector de pieza
Profundidad de perforacin
Rel de cinta transportadora (verde)
Rel de solenoide (amarillo)
Rel de taladro (rojo)
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
'
'
'
'
Siguiente_pieza:
PAUSE 1000
' Espera 1 segundo
DEBUG "Pieza liberada. Comenzando el siguiente ciclo", CR
GOTO Inicio
La verdadera ventaja de los microcontroladores es que tienen la capacidad de introducir toda la inteligencia
necesaria para realizar un control sofisticado dentro del equipo.
Sin embargo, a sus capacidades tambin se le agrega la cualidad de enviar informacin a una PC. El StampPlot
Lite puede usarse efectivamente para monitorear el proceso de maquinado secuencial. El Programa 3.2 usa
esta interfaz. Las funciones del Programa 3.2 son las mismas que las del programa anterior. Los comandos
DEBUG se han insertado para enviar datos al StampPlot Lite. El programa grafica el estado de las E/S digitales,
reporta los pasos del proceso en la barra de estado del usuario (User status bar) y mantiene una lista
temporizada del total de piezas producidas. La Figura 3.5 muestra este proceso secuencial siendo
monitoreado por el StampPlot Lite. Cargue el Programa 3.2 y ejectelo. Estudie los comandos DEBUG usados
para el StampPlot Lite que se agregaron al programa original. Familiarcese con su uso. Las interfaces grficas
para usuarios como sta, son muy tiles en la adquisicin y conservacin de datos de sistemas de control. Use
StampPlot para monitorear el Desafo de Control Secuencial de Mezclado, al final de esta seccin.
Programa 3.2: Control de Proceso Secuencial con interfaz de StampPlot
Pause
DEBUG
DEBUG
DEBUG
DEBUG
DEBUG
DEBUG
DEBUG
DEBUG
DEBUG
DEBUG
500
"!TITL Control de Proceso de Maquinado Secuencial", CR
' Ttulo StampPlot
"!TMAX 100", CR
' Configura tiempo de barrido (segundos)
"!PNTS 500", CR
' Cantidad de puntos de datos
"!AMAX 20", CR
' Configura eje vertical
"!CLRM", CR
' Limpia el recuadro de listado
"!CLMM", CR
' Limpia Min/Max
"!RSET", CR
' reinicia todos los dibujos
"!DELD", CR
' Borra archivos de datos anteriores
"!PLOT ON", CR
' Comienza a graficar
"!TSMP ON", CR
' Toma tiempo para finalizar una pieza
INPUT
INPUT
OUTPUT
OUTPUT
OUTPUT
'
'
'
'
'
1
2
3
4
5
Detector de pieza
Profundidad de perforacin
Rel de motor de cinta transportadora (verde)
Rel de solenoide (amarillo)
Rel de taladro (rojo)
OFF CON 1
ON CON 0
OUT3 = OFF
OUT4 = OFF
OUT5 = OFF
'
'
'
'
Grafica el estado
Enciende la cinta transportadora
Imprime en el recuadro User status
Si se presiona, inicia el "Proceso"
Proceso:
' Inicia el Proceso
GOSUB Grafica_datos
' Grafica el estado
OUT3 = OFF
' Detiene la cinta
DEBUG "!USRS Pieza detectada. Detiene cinta",CR
' Imprime en el recuadro User status
PAUSE 1000
GOSUB Grafica_datos
OUT4 = ON
DEBUG "!USRS Sujeta pieza.",CR
GOSUB Grafica_datos
PAUSE 2000
Taladra:
GOSUB Grafica_datos
OUT5 = ON
DEBUG "!USRS Taladro bajando",CR
IF IN2 = 1 Then Levanta_taladro
PAUSE 100
GOTO Taladra
'
'
'
'
'
Grafica el estado
Comienza a sujetar la pieza en su lugar
Imprime en el recuadro User status
Grafica el estado
Espera 2 segundos hasta que agujeree
'
'
'
'
Grafica el estado
Enciende el taladro y comienza a bajar
Imprime en el recuadro User status
Si el taladro lleg hasta abajo, lo levanta
Levanta_taladro:
GOSUB Grafica_datos
' Grafica el estado
OUT5 = OFF
' Apaga el taladro y lo levanta
DEBUG "!USRS Detiene y levanta el taladro",CR
' Imprime en el recuadro User status
IF IN2 = 0 Then Taladro_subiendo
' Indica que el taladro est subiendo
Suelta:
GOSUB Grafica_datos
' Grafica el estado
OUT4 = OFF
' Abre para liberar la pieza
DEBUG "!USRS Pieza liberada. Cinta transportadora movindose.",CR
' Imprime en el recuadro User status
PAUSE 1000
' Espera 1 segundo
OUT3 = ON
' Enciende la cinta transportadora
IF IN1 = 0 Then Pieza_siguiente
GOTO Suelta
Pieza_siguiente:
GOSUB Grafica_datos
' Grafica el estado
DEBUG "!USRS Pieza completa. Comienza el siguiente ciclo ",CR
' Imprime en el recuadro User status
Piezas = Piezas + 1
' Contador de Piezas
PAUSE 1000
' Espera 1 segundo
DEBUG "Piezas completadas = ", DEC Piezas,CR
' Imprime cantidad de piezas contadas
GOTO Inicio
Grafica_datos:
DEBUG IBIN IN1,BIN IN2,BIN OUT3,BIN OUT4, BIN OUT5,CR
' Grafica estado digital.
DEBUG DEC Piezas,CR
' Grafica contador analgico
RETURN
P1
P2
Cinta
Solenoide
Taladro
Total
Observe que los trazos aparecen de arriba a abajo en el orden que fueron listados en el comando Debug de
estado digital. Por lo tanto, los dos primeros trazos son los de los pulsadores IN1 (pieza en posicin) e IN2
(profundidad taladro). Los siguientes tres trazos son las salidas OUT3 (cinta), OUT4 (solenoide), y OUT5
(taladro). Recuerde que las salidas se conectaron con la configuracin de lgica inversa. Un estado alto apaga
un LED (OFF) y un estado bajo lo enciende (ON).
Observe que en la configuracin inicial del StampPlot Lite, Save data to file o "Guardar datos en archivo"
(!SAVD) est en ON (activado). Durante la ejecucin, los datos de cada punto de muestreo se almacenan en un
archivo de texto, stampdat.txt. los datos incluyen la hora del da y el tiempo de ejecucin de programa,
nmero de muestra y los valores analgicos y digitales en cada muestra. Los datos se separan por comas y
por lo tanto, estn listos para usarse en utilitarios de hojas de clculo y bases de datos. Una vez que los datos
estn en el archivo, se pueden manipular y analizar. La Figura 3.6 muestra un ejemplo de cmo aparecen los
datos en Microsoft Excel. El archivo completo contiene 500 muestras (filas de datos). La Figura 3.7 es un
grfico de Excel construido en base al archivo de datos.
Pieza
Nmero
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Estado
Digital
111
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
0
11:50:42 a.m.
11:50:27 a.m.
11:50:12 a.m.
11:49:57 a.m.
11:49:42 a.m.
11:49:27 a.m.
11:49:11 a.m.
11:48:56 a.m.
11:48:40 a.m.
11:48:28 a.m.
11:48:13 a.m.
11:47:58 a.m.
11:47:43 a.m.
11:47:28 a.m.
11:47:13 a.m.
11:46:55 a.m.
11:46:50 a.m.
Pieza
16
14
12
10
8
Piezas terminadas
Hora
Los valores de los componentes de los circuitos surgen de los requerimientos de corriente y tensin de la
carga. El proceso para determinar los valores mnimos de estos componentes es as: Dado que Q1 acta como
colector abierto, la tensin de fuente de la carga no est limitada a la fuente de +5-Volts del BASIC Stamp. Si
se usan fuentes separadas sin embargo, deben unirse las masas. Cuando Q1 se lleva a la saturacin,
virtualmente toda la tensin de la fuente caer sobre la carga y la corriente ser igual a Vfuente/Rcarga. La
mxima capacidad de corriente de colector de Q1 debe ser mayor que la corriente de la carga. La corriente
de base de Q1 para mantener la corriente de colector puede ser calculada dividiendo la corriente de carga
por el beta de Q1. IB = IC/bQ1. Dado un mximo de 20 mA de corriente de la salida de un BASIC Stamp, el
mnimo beta del transistor se calcula despejando la frmula anterior. bQ1(min) = IC/IB. Donde IB es la mxima
corriente de un BASIC Stamp de 20 mA.
Se debe elegir un transistor que cumpla y preferiblemente exceda estos requerimientos mnimos. Exceder los
valores mnimos por un 50 o 100% o ms, sera lo mejor. Una vez elegido el transistor, se puede determinar el
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
apagado",CR
OUT8 = 1
DEBUG "Calentador encendido Mida la tensin sobre el resistor de 47-Ohm ", CR
PAUSE 10000
DEBUG "Calentador encendido Mida la tensin de saturacin sobre el transistor Bipolar.", CR
PAUSE 10000
OUT8 = 0
DEBUG "Calentador apagado",CR
PAUSE 2000
GOTO Bucle
Tensin sobre la
fuente sin activacin
(a) La optocupla puede ser usada como interfaz para diferentes tensiones, aislando elctricamente la salida del
microcontrolador como muestra la Figura 3.10a.
(b) La Figura 3.10b puede usarse como interfaz para dispositivos HCMOS o CMOS de la serie 4000. El 74HC4050
puede usarse a bajas tensiones, como interfaz para lgica de +3 Volts.
(c) Hay una gran cantidad de integrados de potencia perifricos. El driver 75452 mostrado en la Figura 3.10c
puede absorber una corriente de hasta 300 mA. Su salida de colector abierto permite usarlo con tensiones de
hasta 30 Volts.
(d) La Figura 3.10d usa una compuerta 74LS26 (NAND) que pertenece a la familia de compuertas de colector
abierto. Con el resistor de pull-up de 10KOhm referenciado a la siguiente etapa del circuito, el BASIC Stamp
puede ser conectado a circuitos CMOS de mayor tensin.
Preguntas y Desafos
Preguntas
1. Los dispositivos de salida son los que hacen el ________ en una aplicacin de control de proceso.
2. Los dispositivos de campo normalmente necesitan ms potencia que la que el BASIC Stamp puede
entregar. Mencione tres dispositivos de interfaz de potencia que puedan controlar circuitos de alta
potencia y puedan ser encendidos y apagados por el BASIC Stamp.
a. ________________
b. ________________
c. ________________
3. La salida del BASIC Stamp absorbe corriente cuando la carga que est controlando est conectada entre
el pin de salida y ____________.
4. El BASIC Stamp puede entregar hasta __________mA por pin de salida.
5. Los rels elctricos y electromagnticos ofrecen una gran proteccin a los microcontroladores debido a
que proveen aislacin _____________ entre el BASIC Stamp y los dispositivos de potencia.
6. El circuito de entrada de un SSR normalmente es un __________ ,que provee la luz que dispara
pticamente un dispositivo de salida.
7. Las caractersticas de corriente de un SSR deberan ser sobredimensionadas como mnimo un _______
por ciento del requerimiento continuo de corriente demandado por la carga.
8. Los valores mximos de corriente de los rels de estado slido normalmente involucran el uso de un
____________ para lograr una disipacin apropiada del calor.
9. El control______________ involucra la ejecucin ordenada de operaciones de proceso.
10. Cuando la corriente de salida del BASIC Stamp no es suficiente para encender el dispositivo de control,
un ______________ de salida podra usarse para incrementar la potencia.
11. Si un transistor tiene un Beta de 150, un BS2 debe entregar _______ miliamperes de corriente de base
para alimentar una carga de 600 mA.
12. Cuando un MOSFET de potencia est saturado, su resistencia Drenador (Drain) a Fuente (Source) es dada
por la especificacin llamada _______.
13. Los contactos de un rel electromagntico se muestran en los esquemas elctricos en la posicin
normal. Normal significa que la ___________ del rel est sin energizar.
14. Los contactos de un rel de estado slido de CA en realidad son los terminales principales de un TRIAC.
Estos contactos deberan ser dibujados en un esquema en estado normalmente __________.
Diselo!
1. Dada la figura de abajo, calcule el valor mximo del resistor de base (Rlimit) que permitira una corriente
en la bobina de 440 mA cuando la salida P12 del BASIC Stamp est en estado alto.
Bobina de 12 VCC
Corriente de
Sostenimiento 440mA
2. Para asegurar la saturacin del transistor Q1, el valor de Rlimit debera ser ____________ que el valor
calculado.
lmpara
Diagrama interno
1-Salida (Triac T2)
2-Salida (Triac T1)
3-Entrada (+)
4-Entrada (-)
Lgico alto = + 5 V
Lgico bajo = 0 V
Analcelo!
1. Considere los circuitos A y B de abajo. Escriba una lnea de cdigo de BASIC Stamp para encender la
lmpara en cada circuito.
Circuito A ____________________________. Circuito B __________________________.
Bobina de 4 a 5 VCC
Corriente de
Sostenimiento 90 mA
Bobina de 4 a 5 VCC
Corriente de
Sostenimiento 90 mA
2. Estudie los tres circuitos que se muestran abajo. Escriba qu nivel lgico utilizara en la salida del
BASIC Stamp Para mantener una tensin de salida (Vout) de 12 Volts.
Circuito A _______________
Circuito B _______________
Circuito C _______________
Progrmelo!
1. Dadas las entradas y salidas mostradas en la Figura 3.3b, escriba un programa secuencial que haga lo
siguiente:
Al presionar momentneamente P1 se enciende P3 durante tres segundos y luego se apaga. En cambio si
se presiona P1 durante un segundo, se enciende P4 durante tres segundos y luego se apaga. Cuando P4
se apaga, P5 se enciende hasta que P2 es presionado.
2. Ahora intente este. Usando las mismas E/S, escriba un programa que haga lo siguiente:
Si se presiona y se retiene presionado P1, P3 se enciende. Si mientras P1 est presionado se presiona P2,
P3 se apaga y P4 se enciende. Si se libera P1 mientras se retiene presionado P2, se apaga P4 y se
enciende P5. Y finalmente, cuando se libera P2 se encienden todos los LEDs durante tres segundos, luego
se apagan, reiniciando el proceso desde el principio.
Experimento 4:
Control de
Procesos Continuos
La accin de control tomada se basa en la relacin dinmica entre la configuracin del dispositivo de salida y
su efecto sobre el proceso. En general, el control del proceso puede ser clasificado en dos tipos: lazo abierto
y lazo cerrado. El control de lazo cerrado determina la configuracin de los dispositivos de salida, midiendo y
evaluando durante el transcurso del proceso. En el control de lazo abierto, no se realizan controles
automticos para ver si es necesaria alguna accin correctiva.
Un ejemplo simple de control de lazo abierto podra ser enfriar su pieza en una noche caliente de verano. Sus
opciones son usar un ventilador de ventana o un aire acondicionado. El ventilador de ventana es un
dispositivo que puede configurarse a velocidad baja, media o alta al evaluar la situacin de su habitacin. Esta
evaluacin involucra comprender la relacin causa-efecto entre las condiciones de la habitacin y el ajuste de
velocidad. Tambin est involucrado un elemento de prediccin. Una vez que decide la velocidad que usar, se
acostar y dormir toda la noche. De esta forma est configurando un sistema de control de lazo abierto. Si
sus estimaciones fueron correctas, tendr un muy buen descanso. Caso contrario, podra levantarse tiritando
de fro o sudando de calor. Por otro lado, un acondicionador de aire de habitacin le permite fijar la
temperatura deseada. Un termostato compara continuamente la temperatura deseada con la medicin de la
temperatura ambiente actual. Cuando la temperatura de la habitacin est por encima del valor deseado, el
aire acondicionado se enciende. Cuando la habitacin se enfra por debajo de este punto, el aire
acondicionado se apaga. A medida que avanza la noche y la temperatura externa baja, este sistema de lazo
cerrado pasar cada vez menos tiempo encendido que apagado. Este es un ejemplo de control por
realimentacin a lazo cerrado, debido a que la accin se toma en base a la medicin de la temperatura de la
habitacin.
Cul solucin es mejor? Lgicamente, muchas personas prefieren el aire acondicionado, aunque otras no. Si
el objetivo es mantener una temperatura agradable para dormir, cada sistema tiene sus ventajas. Desde el
punto de vista del control industrial, el bajo costo y la simplicidad de configurar un ventilador de ventana a
lazo abierto es muy atractiva. Por otro lado, el control automtico a lazo cerrado del aire acondicionado
garantiza una temperatura ms estable, a medida que la temperatura exterior cambia.
Determinar la mejor accin de control para una aplicacin y disear el sistema que provea esta accin es de
lo que se trata la ingeniera de control de procesos.
Los microcontroladores han probado ser una solucin econmica para agregar cierto nivel de sofisticacin a
los esquemas de control ms simples. Los siguientes tres ejercicios se enfocarn en las caractersticas de
varios mtodos de control continuo. Desarrollaremos un ambiente en el que podremos modelar un control de
proceso, tomar datos variables del proceso con el BASIC Stamp y estudiar los principios del control a lazo
abierto. Los primeros dos ejercicios llevarn un poco de tiempo y esfuerzo, pero los justificarn, porque esta
distribucin y su circuito se usarn nuevamente en los Experimentos 5 y 6.
La temperatura es por lejos la variable de proceso ms comn que encontrar. Desde el control de
temperatura del metal fundido en una metalrgica hasta el control del nitrgeno lquido en un laboratorio de
criogenia, la medicin, evaluacin, y control de la temperatura son crticos para la industria. El objetivo de
este ejercicio es mostrar los principios del control de procesos basados en microcontrolador e instruirlo en el
conexionado con dispositivos de E/S del mundo real. Los ejercicios estn limitados a circuitos que entren en la
protoboard de su plaqueta y para dispositivos de salida que puedan alimentarse desde su fuente de
alimentacin (normalmente 9-Volts, 300-mA). A medida que monitorea y controla la temperatura de un
ambiente pequeo, tenga en cuenta que a travs de un acondicionamiento de seal apropiado, las
aplicaciones en las que puede emplear un BASIC Stamp son ilimitadas.
Ejercicios
Ejercicio 1: Control ON-OFF de Bucle Cerrado
Para armar nuestro pequeo ambiente, necesitar los siguientes componentes:
Colocar el resistor de 47-Ohm y el sensor de temperatura dentro del envase de pelcula de 35-mm. Los
conectores de estos dispositivos se conectarn a la protoboard de su plaqueta. Al colocar la tapa del envase
se crea un ambiente cerrado. El paso de mucha corriente por el resistor calentar el ambiente y el sensor
convertir la temperatura en una tensin analgica. Un transistor amplificador de corriente del Experimento
3 alimentar el resistor/calentador y agregar un conversor analgico digital para introducir la informacin
binaria de temperatura al BASIC Stamp. La Figura 4.1 muestra el montaje. Siga los procedimientos de la
pgina siguiente para construir los circuitos de acondicionamiento de seal y del envase de pelcula.
Figura 4.1: Ambiente Calefaccionado en Envase de Pelcula
Preparacin Preliminar
El envase de pelcula de 35-mm tiene dos agujeros. El sensor y el calentador debern colocarse en estos
agujeros.
En el ltimo ejercicio, controlamos el estado de un resistor de 47-Ohm actuando como calentador. El
transistor amplificador de corriente acta como interruptor, controlando la tensin de la fuente de
alimentacin sin regular sobre el resistor. Como ya sabe, cuando el transistor se enciende, la tensin de
fuente se aplica sobre el resistor calentndolo, dado que la potencia consumida es de P = V2/R= 92/47, o 1,7
Watts, para el caso de una fuente de 9 Volts. Esto est ms all de la capacidad de potencia de un resistor de
medio Watt, pero lo estamos usando como calentador. Podra decolorarse, pero seguira funcionando bien.
Coloque el resistor por el agujero inferior del envase. Doble sus pines y encntelos a la parte exterior del
envase de forma que el resistor quede suspendido en el centro del mismo.
La punta con el LM34 se usar para medir la temperatura de nuestro sistema. El LM34 es un sensor excelente
en trminos de linealidad, costo y simplicidad. La tensin de salida del sensor cambia 10 mV por grado
Fahrenheit y est referenciada a 0 grados. Con una fuente de alimentacin de CC y un voltmetro, ya dispone
de un sensor de temperatura Fahrenheit.
Vea la Figura 4.2 y la hoja de datos del dispositivo en el Apndice D.
Pruebe su punta de temperatura conectndola a la fuente de +5-Volts Vdd y a masa. Use su voltmetro para
controlar la tensin de salida del LM34 de 0,01 Volts por grado F. Simplemente desplace el punto decimal de
la lectura dos lugares a la derecha para convertir el valor a temperatura. Por ejemplo; 0,75 V = 75 oF; 0,825 V
= 82,5 oF; 1,05 V = 105 oF, etc. Luego haga lo siguiente:
Ahora, inserte el sensor por el orificio superior del envase. Doble y encinte los pines al envase de forma que el
sensor quede suspendido en su interior. Tape el recipiente y su ambiente modelo estar listo. Tenga en cuenta
que aunque nuestro laboratorio es pequeo y de baja potencia, simula el control de temperatura de un gran
horno, un fermentador de cerveza, etc. Un acondicionamiento de seal apropiado, como se muestra en el
Experimento 3 puede permitirle al BASIC Stamp controlar casi cualquier dispositivo industrial.
Estas tensiones se utilizan para enfocar el rango del dispositivo A/D de forma que cubra la tensin analgica
que necesitamos convertir. Esta aplicacin funcionar desde temperatura ambiente (70o) hasta 120 oF. Este
rango de temperatura equivale a una salida de tensin del LM34 de 0,70V a 1,20V. Para maximizar la
resolucin, el rango de inters es 0,5 V (1,2V a 0.7v); y la referencia, llamada offset, es 0,7 V. Dado que nos
enfocamos solamente en este rango, cada paso binario representa aproximadamente 0,2 grados. Esto nos
permite calcular la temperatura en forma muy precisa.
Construya el circuito conversor A/D en la protoboard. Usando potencimetros de ajuste multivueltas, los
niveles de la referencia y el rango de tensin pueden calibrarse con mucha precisin. Mida cuidadosamente y
ajuste estas tensiones. Conecte la salida del LM34 a la entrada del conversor A/D.
Controlar el ADC0831 es relativamente simple. Una lnea de control del programa le dice al dispositivo que
haga una conversin. Una vez realizada, el valor binario puede ser enviado un bit a la vez hacia el BASIC
Stamp. El flujo serial de datos desde el conversor es controlado por los pines de salida del BASIC Stamp que
alimentan las lneas chip select (habilitacin) y clock (reloj). La lnea chip select (CS) se pone en bajo,
seguido por un pulso de clock de bajo a alto. Esto da inicio a la conversin. Los siguientes pulsos de reloj
(clock) inician la transferencia de cada bit binario comenzando por el bit ms significativo. Parallax provee
una instruccin muy conveniente, llamada SHIFTIN, diseada especficamente para controlar
comunicaciones seriales sincrnicas. Una vez que los datos entraron al BASIC Stamp, se convierten en
temperatura, de acuerdo a los valores determinados de referencia y rango. (El uso del ADC0831 est
explicado detalladamente en el libro Analgico y Digital Bsicos, que puede ser usado para ahondar los
conceptos de esta seccin.)
El Programa 4.1 ha sido escrito para comprobar los circuitos del driver y el conversor, adems de practicar
con la interfaz StampPlot Lite. La primera seccin del programa configura el StampPlot Lite. La sigue una
seccin que establece variables y constantes. El programa est diseado para el circuito de la Figura 4.3.
Revise dos veces las conexiones a los pines de E/S 1,3,4,5 y 8. Ajuste con precisin las tensiones de Vin y Vref
del ADC0831 a 0,7 y 0,5, respectivamente.
Cargue el programa. Al ejecutar el programa se abrir la ventana DEBUG y desplazar valores y mensajes por
la pantalla. Cierre la ventana DEBUG y abra la interfaz StampPlot Lite. En este punto, seleccione el puerto
COM apropiado y marque Connect. Presione momentneamente el botn Reset de la plaqueta en la que se
encuentra conectado el BASIC Stamp para cargar la configuracin y comience a graficar datos. El recuadro
del usuario le informar la temperatura actual y los valores de salida del conversor A/D en binario y decimal.
La temperatura y el estado del calentador se dibujarn en esta interfaz. Al presionar PB1 se invertir
(TOGGLE) el estado del calentador entre encendido y apagado (ON y OFF). (Puede omitir los comentarios de
este cdigo, si lo desea).
'
'
'
'
'
'
'
'
'
'
'
'
EspTrabajo1 VAR
EspTrabajo1 = 0
LOW 8
byte
Principal:
GOSUB Obtenerdato
GOSUB Calc_Temp
'
'
'
'
'
'
Calc_Temp:
Temp = TempRango/255 * Datain/10 + Offset
RETURN
Control:
BUTTON 1,1,255,0,EspTrabajo1,1,Invertir
RETURN
Invertir:
TOGGLE 8
RETURN
Mostrar:
' Grafica Temp, ADC binaria y estado de Temp
DEBUG DEC Temp,CR
DEBUG IBIN OUT8,CR
DEBUG "!USRS Temp.= ", DEC Temp," ADC Data in = %", BIN Datain, " Decimal", DEC Datain, CR
RETURN
La interfaz StampPlot Lite le dar una representacin dinmica de los cambios de temperatura en su envase
de pelcula. Encienda y apague el calentador y observe la respuesta. La Figura 4.4 muestra el envase cerrado
calentndose a 120 grados y luego enfrindose despus que se apaga el calentador. Juegue con su sistema
para familiarizarse con su respuesta; luego, observemos ms de cerca las subrutinas que hacen el programa.
El bucle principal de este programa simplemente ejecuta tres subrutinas, Obtenerdato, Calc_Temp, y
Mostrar. Cuando se ejecuta, el BASIC Stamp salta primero a la subrutina Obtenerdato. La ltima lnea de
esta subrutina ordena al procesador que regrese (RETURN) al bucle principal y ejecute la siguiente
instruccin, GOSUB Calc_Temp. La subrutina Calc_Temp se ejecuta y finaliza con un return. El BASIC Stamp
ejecuta GOSUB Mostrar. Despus que Mostrar se ejecuta, su instruccin RETURN hace que el programa
salte a la instruccin GOTO Principal y el proceso se repite nuevamente. Esta es una aproximacin
organizada para estructurar nuestro programa. Luego, cuando incluyamos evaluacin y control en nuestro
programa, simplemente agregaremos otra subrutina, como GOSUB Control.
Miremos ms de cerca las dos subrutinas principales del Programa 4.1. La subrutina Obtenerdato comienza
con una transicin alto a bajo en la lnea chip select. Esto alista el A/D para funcionar.
Las instrucciones LOW CLK y pulsout CLK,10 le dicen al conversor A/D que haga una conversin de la
tensin en Vin(+) en este momento. El ADC0831 es un conversor de aproximaciones sucesivas de 8-bits. Sus
256 combinaciones digitales posibles se distribuyen uniformemente por el rango de tensin determinado por
los potenciales en los pines V in(-) y Vref. Vin(-) define la tensin a la cual 0000 0000 se obtendr de la conversin.
Vref define el rango de tensiones de entrada por encima de este punto en el que se distribuirn las otras 255
combinaciones digitales. La Figura 4.5 muestra los valores de Cero y Rango para nuestra aplicacin.
Con esta configuracin, el ADC0831 se enfoca en un rango de temperatura de 70 a 120 grados. Hay una
cantidad infinita de valores de temperatura dentro del rango de salida de 0,7 a 1,2 Volts del LM34. Sin
embargo, solamente pueden obtenerse unos pocos valores representativos. Dado que el conversor A/D de 8bits tiene una resolucin de 255, en un rango de 50 grados puede detectar cambios de 0,31 grados. La
conversin generar un nmero binario igual a [(Vin 0,7) /0,5] x 255. Hagamos la prueba para un valor
dentro del rango. Digamos que la temperatura es 98,6 F, que resulta en una salida del LM34 de 0,986 Volts.
Si Vin = 0,986 V, cul sera el binario equivalente?
[(0,986-0,7)/0,5] *255 = 145,86. Si truncamos el valor obtenemos el entero 145.
El valor binario sera 1001 0010.
Este valor se retendr y estar listo para la transferencia.
LA instruccin SHIFTIN est diseada para realizar una comunicacin sincrnica entre el BASIC Stamp y
dispositivos seriales como el ADC0831. La sintaxis para la instruccin es SHIFTIN dpin, cpin, modo,
[result\bits]. Los parmetros indican:
En nuestro sistema, declaramos previamente Pin 5 como dpin y Pin 4 como clock (CLK). El ADC0831 emite el
bit ms significativo primero en el flanco descendente del clock. Por lo tanto, el modo es MSPOST. Y
finalmente, el dato de 8-bits se almacenar en una variable tipo byte declarada como Datain.
Despus de introducir el dato binario en el BASIC Stamp, est disponible para ser usado por nuestro
programa. Sera ms conveniente usarlo si estuviese expresado en las unidades de temperatura. En nuestra
aplicacin, seran grados Fahrenheit. La siguiente subrutina, Calc_Temp, hace exactamente eso. Conociendo
la funcin transferencia del proceso de conversin, usamos la frmula conocida y = mx + b. Donde: y
=Temperatura, m = pendiente de la funcin transferencia, y b es el offset (desplazamiento del cero o al
origen). Se resolver la temperatura y se expresar en dcimas de grado.
Revise la frmula Calc_Temp: Temp = TempRango/255 * Datain/10 + 700
Para aumentar la precisin al resolver la pendiente (m), la variable TempRango se escala (multiplica) por 10, a
5000 centsimas de grado. La pendiente es entonces, 5000/255 ~ 19 o 0,19 grados por bit. Multiplicando 19
por Datain se obtiene el valor dentro del rango, en unidades de centsimas de grado; por lo tanto,
dividindola por 10 se escala nuevamente a dcimas de grado. Al sumar este valor al de referencia de Cero de
700 (70 grados) obtendremos la temperatura actual en dcimas de grado. La resolucin es de
aproximadamente 0,2 grados sobre un rango de 70,0 a 120,0 grados.
El grfico de la Figura 4.6 muestra la funcin transferencia entre el equivalente decimal del conversor A/D y la
temperatura del envase de pelcula. Si se modifica el rango de cobertura, cambia la pendiente de la funcin
transferencia. Si se cambia el valor de Cero se desplaza el punto de interseccin con el eje y.
Figura 4.6: Funcin Transferencia
Una advertencia adicional sobre las operaciones matemticas con el BASIC Stamp:
Desafo 1: Modifique las tensiones de Cero y Rango y edite el programa de acuerdo a los nuevos valores.
1. Su sistema debera ser capaz de aumentar la temperatura del envase de pelcula cerrado, ms all del
lmite de 120-grados del Programa 4.1. Modifique los potencimetros de Cero y Rango para cubrir de 75
grados a 200 grados. De esta forma obtendr un rango ms amplio, pero cul es la resolucin de su
sistema ahora? Sea paciente y deje que su sistema se estabilice. Registre la temperatura mxima
alcanzada por su sistema.
2. Ajuste el Cero y el Rango de su sistema para enfocarse en un rango angosto de temperaturas, desde un
grado por debajo de la temperatura ambiente hasta cuatro grados por encima de esta. Ajuste las
variables de Calc_Temp para mostrar los valores en centsimas de grado. Registre estos cambios
quitando la tapa del envase y tocando el sensor directamente con sus dedos. Como puede ver, la
resolucin es muy buena, pero se redujo mucho el rango de operacin.
El poder controlar el rango y la referencia del ADC0831 nos permite enfocarnos en ciertos valores de una
entrada analgica. Esto ayuda a maximizar la resolucin y la precisin del sistema. El ejercicio siguiente usar
el rango original de 70 a 120 grados. Regrese los potencimetros de Cero y Rango a 0,7 y 0,5 Volts,
respectivamente.
Ahora, despus de todo lo anterior, podemos regresar al estudio de la teora de control.
El concepto fundamental del control a lazo abierto es que la calibracin del actuador se basa en la
comprensin del proceso. Esto incluye conocer la relacin de los efectos de la energa sobre el proceso y una
evaluacin inicial de todas las variables que afectan el proceso. Basndose en este conocimiento, la salida
debera ser correcta. En oposicin a esto, el control a lazo cerrado incorpora la evaluacin permanente
(medicin) de la salida y la configuracin del actuador depende de esta realimentacin de informacin.
Considere el proceso de control de temperatura de la Figura 4.8. El material que es extrado del tanque debe
estar a una temperatura de 101o. Obviamente, esto requerir que se agregue cierta cantidad de calor al
material. (La seal sobre la base del transistor determina la potencia entregada para calentar el elemento.)
La pregunta ahora es: Cunto calor es necesario?
Por un momento, considere los factores que podran afectar la temperatura de salida. Obviamente, la
temperatura ambiente es una. Puede mencionar por lo menos otras tres? Por ejemplo:
Todos estos factores representan energa calrica que se quita del proceso. Por o tanto, tambin representan
energa que debe ser suministrada al proceso si se pretende lograr la salida esperada. Si el calentados se
ajustara para entregar la cantidad exacta de energa que se pierde, la salida sera estable.
PBASIC provee una instruccin til para generar modulacin por ancho de pulso.
Su sintaxis es: PWM pin, trabajo, duracin
Donde: pin es el pin de salida que generar la modulacin.
trabajo es el ciclo de trabajo relativo, siendo 255 el 100%.
duracin es el tiempo en milisegundos durante el que se generar la modulacin.
Desafo 2: Graficando ciclo de trabajo de PWM vs. Vout.
Use su multmetro para medir la tensin promedio sobre el calentador con distintos comandos PWM. Cambie
la variable Trabajo en el Programa 4.2 para que se incremente desde 0 a 255. Grafique la tensin promedio en
el grfico de la Figura 4.10.
'Programa 4.2:
VAR
VAR
byte
byte
CicloTrabajo = 50
Bucle:
Trabajo = (CicloTrabajo * 255/100)
PWM 8, Trabajo, 200
DEBUG " Probando un Ciclo de Trabajo de
GOTO Bucle
Mida la
Figura 4.10: Grfico de Tensin sobre el Calentador vs. Ciclo de Trabajo de PWM
Si no est familiarizado con la instruccin PWM, vea el BASIC Stamp Manual Versin 2.0 pp. 247-250. Debe
entenderse un aspecto sobre el uso de este comando: PWM aplica pulsos por un perodo de tiempo definido
por su parmetro duracin. Durante el tiempo que se ejecuta el resto del programa no se aplica ninguna
salida a la carga. Como resultado, la tensin promedio para un ciclo de trabajo del 100% (trabajo=255)
generar valores menores que los esperados con tensin mxima. Cuanto ms tiempo demore su ciclo de
programa, mayor ser la diferencia. Para entender mejor la influencia del tiempo de ciclo de programa,
coloque una PAUSE 200 en el Programa 4.2. Compare la tensin de salida resultante, con las lecturas
anteriores. Cambie la longitud de la pausa y observe los resultados.
Revise el circuito Sample and Hold introducido en el Desafo 3 del Experimento 2. Este circuito mantena la
tensin promedio del average PWM sobre el motor durante todo el bucle del programa. Esto fue necesario
debido a que el bucle del programa era muy largo y la respuesta del ventilador muy rpida. El circuito Sample
La Figura 4.11 es un ejemplo de la pantalla que se obtendr con StampPlot Lite al realizar esta prueba. Cargue
el Programa 4.3. Antes de ejecutar el programa, asegrese de que su envase se enfre a temperatura
ambiente. Coloque la tapa en el envase y ejecute el programa. Cuando la ventana DEBUG aparezca, cirrela y
ejecute StampPlot Lite. Conecte el StampPlot Lite y presione el botn "reset" de su plaqueta para reiniciar la
ejecucin del programa.
'Programa 4.3: PWM vs. Temp con StampPlot
'
'
'
'
'
'
Este programa verifica el aumento de temperatura del envase debido a los incrementos
en el PWM. El tiempo de ejecucin del programa es de aproximadamente 40 minutos. Esto puede
ajustarse cambiando los incrementos de "contador" y/o "Porcentaje".
El programa asume que el circuito est de acuerdo a la Figura 4.3.
ADC0831: "chip select" CS = P3, "clock" Clk=P4, y datos seriales Dout = P5.
Pines de Cero y Rango: Digital 0 = Vin(-) = 0,70V y Rango = Vref = 0,50V.
500
"!RSET",CR
"!TITL PWM vs. Temp ",CR
"!PNTS 24000",CR
"!TMAX 6000",CR
"!SPAN 70,120",CR
"!AMUL .1",CR
"!DELD",CR
"!SAVD ON",CR
"!TSMP ON",CR
"!CLMM",CR
"!CLRM",CR
"!PLOT ON",CR
"!RSET",CR
'
'
'
'
'
'
'
'
'
'
'
'
'
'
3
4
5
byte
word
word
'
'
'
'
'
'
'
VAR word
'
'
'
'
LOW 8
Porcentaje
Trabajo
Contador
VAR word
VAR word
VAR word
Porcentaje = 0
Contador = 0
Trabajo = 0
' Inicializa en 0
Obtenerdato
Calc_Temp
"Temp = ", DEC Temp, " Trabajo = ", DEC Trabajo,CR
"!USRS Comenzando la prueba. Probando al ", DEC Porcentaje, "% Porcentaje.",CR
Principal:
PAUSE 10
GOSUB Obtenerdato
GOSUB Calc_Temp
GOSUB Control
GOSUB Mostrar
GOTO Principal
Obtenerdato:
LOW CS
LOW CLK
PULSOUT CLK,10
SHIFTIN Dout, CLK, MSBPOST,[Datain\8]
HIGH CS
RETURN
'
'
'
'
'
'
Calc_Temp:
Temp = TempRango/255 * Datain/10 + Offset
RETURN
Mostrar:
DEBUG DEC Temp,CR
RETURN
Control:
PWM 8,Trabajo,200
Contador = Contador + 1
IF Contador = 2000 Then Incrementar
RETURN
'
'
'
'
Incrementar:
4. Al principio del programa, declare a Trabajo en el valor que gener 101o en la prueba anterior del
StampPlot Lite. Ejecute el programa y espere hasta que el sistema se estabilice. Qu tan cerca estuvo su
estimacin? Aumente o disminuya el valor de esta variable para encontrar el que genere mejor
resultado. En la lnea 5 de la tabla, anote el porcentaje que coloque al sistema ms cerca de los 101
grados. Djelo funcionando por un momento y tome notas de la estabilidad del sistema. Una vez que se
determina la configuracin correcta, un sistema de lazo abierto se estabilizar; y siempre y cuando las
perturbaciones que afecten el proceso se mantengan constantes, el proceso permanecer constante, al
igual que la salida.
5. Conecte el ventilador directamente a la fuente de alimentacin y apntelo directamente hacia el envase.
El aire en movimiento representa un cambio en las perturbaciones de su proceso. De acuerdo a la teora,
se remover calor del proceso a mayor velocidad y el nuevo punto estable de temperatura ser menor a
101o. Con el ventilador apuntando hacia el envase, intente encontrar el nuevo valor de porcentaje
correcto para esta condicin. Registre sus datos en la lnea 6 de la tabla.
Condicin
Temperatura deseada
Temperatura ambiente
Temperatura con Ciclo de Trabajo del 50 %
Temperatura con Potencia total
Ciclo de trabajo apropiado para 101o
Sin perturbacin del ventilador
Ciclo de trabajo apropiado para 101o
Con perturbacin directa del ventilador
Ciclo de trabajo apropiado para 101o
Con perturbacin parcial del ventilador
% Trabajo
0
50%
100%
Temp.
101o
101o
101o
101o
6. Finalmente, modifique la posicin del ventilador que se peda en la lnea 6, de forma que no sople
directamente sobre el envase. Esto representa un nivel de perturbacin medio sobre el sistema. Con esta
situacin y adivine el valor apropiado de ciclo de trabajo para compensar estos cambios. Programe el
BASIC Stamp para este nuevo nivel. Una vez que el sistema se estabilice, registre sus resultados en la lnea
7 de la tabla.
Desafo 5: Determinando la Configuracin para Lazo Abierto
1. Seleccione una nueva temperatura deseada para su sistema. Prediga y programe un valor de lazo
abierto que mantenga esta temperatura.
2. Coloque un par de bolitas de vidrio dentro del envase. Vea como un incremento de la masa del sistema
afecta la respuesta y la configuracin para mantener esta nueva condicin. Qu conclusiones puede
obtener del comportamiento del sistema?
Hay muchas variables que pueden afectar la relacin entre el ciclo de trabajo y la temperatura en su pequeo
ambiente. Despus de algn tiempo experimentando y familiarizndose con la relacin dinmica entre la
temperatura, porcentaje de alimentacin y perturbaciones, se volvera muy bueno adivinando las condiciones
y la configuracin correcta para el sistema de lazo abierto. Como podemos ver sin embargo, si se modifica
cualquier condicin de nuestro proceso, tambin lo har la salida. El control a lazo abierto puede ser muy til
en algunas aplicaciones. Cuando un proceso requiere que su salida permanezca constante bajo cualquier
condicin, entonces debera emplearse control a lazo cerrado. En el control a lazo cerrado, las acciones se
toman evaluando las mediciones y la configuracin actual. Esta evaluacin genera lo que se denomina seal
de error. Los Experimentos 5 y 6 lo guiarn por 5 modos de control a lazo cerrado.
Preguntas y Desafo
1. Mencione dos ejemplos de control de proceso continuo que no se hayan mencionado en el texto.
2. Cmo se determina el porcentaje de ciclo de trabajo en un control a lazo abierto?
3. Cul es la principal ventaja del control a lazo abierto?
4. Cul es su principal desventaja?
5. El ADC0831 convertir un rango de entrada analgico a uno de 256 valores binarios posibles. El nmero
256 identifica la _________ del conversor.
6. El propsito de las lneas chip select y clock del ADC0831 es ____________ el proceso de conversin.
7. Si el LM34 fuese colocado en un ambiente a 98,6-grados, la salida debera ser de _________Volts.
8. En modulacin de ancho de pulso, el porcentaje del ciclo de trabajo se obtiene en base a la __________
de tiempo en estado alto, sobre el tiempo total.
9. Si un calentador de 40-Watts recibiera un PWM con un ciclo de trabajo del 75%, la potencia promedio
consumida sera de __________ Watts.
10. Cuando las perturbaciones cambian en un proceso a lazo abierto, tambin lo hace ____________.
Ventilador
Debido a la respuesta rpida del ventilador a las fluctuaciones de tensin, el circuito de Sample and Hold es
necesario para controlar efectivamente la velocidad, usando la instruccin PWM. Construya este circuito
para que sea capaz de variar la velocidad el ventilador. Conecte el calentador directamente a la fuente +Vin.
Con el ventilador apuntando directamente al envase, experimente con diferentes valores de PWM en el
ventilador. Qu nivel es necesario para enfriar el envase a 101oF?
En este diagrama, un Sensor apropiado est midiendo la Salida Real. El bloque de Acondicionamiento de Seal
toma la salida directa del sensor y la convierte en datos que el bloque Controlador pueda interpretar. La
Calibracin es un valor de entrada al Controlador que representa la salida deseada del proceso. El
Controlador evala las dos entradas de datos. Basndose en esta evaluacin, el Controlador acciona la
Interfaz de Potencia. Este bloque provee el acondicionamiento de seal para la salida del Controlador. En el
Experimento 3 se vieron varias opciones de montaje de interfaces de potencia. La Interfaz de Potencia tiene
la capacidad de controlar el Actuador. Este puede ser un rel, una vlvula solenoide, el driver de un motor,
etc. La accin tomada por el Actuador es suficiente para llevar a la Salida Real hacia el valor deseado.
Evaluacin
La variable est por encima o por
debajo del valor deseado?
La variable est por encima o por
debajo de un rango definido por los
lmites superior e inferior?
Qu tan lejos est la variable
medida, del valor deseado?
El error an se mantiene?
Accin
La salida se enciende (ON) o apaga (OFF)
completamente.
La salida se enciende (ON) o apaga (OFF)
completamente para lograr que el valor
medido permanezca dentro de esa rango.
Toma un grado de accin relativo a la
magnitud del error.
Aumenta la fuerza de la accin mientras
persista el error.
Qu tan rpido se produce el error? Genera una respuesta basada en la velocidad
de cambio de la seal de error (derivada).
Este ejercicio se enfocar en convertir el sistema de control de temperatura a lazo abierto del Experimento 4
en un sistema de control ON-OFF a lazo cerrado. Nuestro sistema mostrar las ventajas y desventajas de este
mtodo de control. Las caractersticas del sistema que se est controlando determinan la conveniencia del
modo de control. El Experimento 6 usar el mismo circuito para explicar y aplicar los modos de control
proporcional, integral y derivativo. Deje el circuito montado una vez que complete este ejercicio.
La Figura 5.2 muestra el circuito necesario para los siguientes ejercicios. Como puede ver, este es idntico al
del Experimento 4. El envase de pelcula de 35-mm provee el ambiente que controlar. El driver del
calentador provee suficiente potencia para desarrollar calor en el resistor. El LED tambin se controla desde
el Pin 8. Recuerde que el LED se alimenta de la fuente de +5-Vdd y el calentador se alimenta directamente
desde la fuente de alimentacin. El sensor LM34 proveer los datos sobre temperatura. En control a lazo
cerrado, monitorearemos la temperatura, usndola para determinar los niveles de control. Las corrientes de
aire del ventilador actuarn como una perturbacin del proceso.
Ejercicios
Ejercicio 1: Estableciendo un Control a Lazo Cerrado
Supongamos que nuestro objetivo es mantener la temperatura dentro del envase en 101,50 oF + 1 grado. Esto
representara los requerimientos de una incubadora usada para empollar huevos. Mantener la temperatura
en 101,5 oF es perfecto, pero si la temperatura sube hasta 102,50 o baja hasta 100,50 no se causa dao alguno
a los embriones. Aunque puede ser difcil imaginarse una incubadora cuando mira a su envase de pelcula, el
BASIC Stamp podra ser usado en un incubador grande de tipo comercial.
Mantener la temperatura en el valor deseado parece ser una tarea de sentido comn. Es decir, simplemente
mida la temperatura; si est por encima del valor escogido, apague el calentador y, si est por debajo,
prndalo. El modo de control ms simple es el on-off. Este control tiene algunas desventajas, sin embargo.
Durante el siguiente ejercicio, establecer un control on-off es su incubadora. Preste mucha atencin al
comportamiento de su modelo. ste tambin se aprecia en aplicaciones de control reales.
Procedimiento
El programa para esta aplicacin requiere adquisicin de datos, evaluacin y accin de control. La rutina que
muestra los datos, tambin almacenar los valores mximo y mnimo del proceso .
La estructura y mucho del contenido del Programa 4.1 puede ser usado para adquirir y calcular las
mediciones. En lugar de encender el calentador continuamente, se agregar una nueva subrutina para
controlarlo. La decisin se basar en la variable tempdeseada. Vea el Programa 5.1 a continuacin.
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
CON
CON
CON
VAR
VAR
3
4
5
byte
word
'
'
'
'
Principal:
'
'
'
'
'
'
Calc_Temp:
Temp = TempRango/255 * Datain/10 + Offset
RETURN
Control:
IF Temp > Tempdeseada THEN OFF
HIGH 8
RETURN
OFF:
LOW 8
RETURN
Mostrar:
' Grafica temperatura actual
IF OUT8 = 0 AND BanderaMM = 0 THEN LimpiaMM
' Limpia Min/Max
DEBUG DEC Temp,CR
DEBUG IBIN OUT8,CR
RETURN
LimpiaMM:
' Limpia Min/Max cuando alcanza tempdeseada.
DEBUG "!CLMM",CR
DEBUG "!USRS Bsqueda de Mximo/Mnimo Lista",CR
BanderaMM = 1
RETURN
Ejecute el programa y observe el comportamiento del sistema. StampPlot Lite graficar la respuesta de la
temperatura del sistema y el estado on-off de la salida Pin 8. Siga el procedimiento para ejecutar StampPlot
Lite, descargando el programa, cerrando la ventana debug, abriendo StampPlot Lite, y presionando el botn
reset.
Cuando inicia su sistema, el calentador se encender como indica el LED. El calentador / resistor se calentar
bastante cuando se le aplique toda la potencia. Este calor se transfiere a travs del ambiente y aumenta la
temperatura del sensor. Cuando el sensor se calienta a 101,5 F, el BASIC Stamp apagar el calentador.
Durante un tiempo, luego de apagar el calentador, la temperatura contina subiendo. En este punto, es
importante entender la dinmica de su sistema. El calor acumulado en el interior del resistor continuar
disipndose en el aire, el aire continuar calentndose y el LM34 reportar este fenmeno. Esto es similar a la
inercia mecnica de un objeto mvil, recibiendo el nombre de inercia trmica. El sobrepaso de temperatura
es mayor cuando la cantidad de energa trmica contenida en la masa del resistor es ms grande, en
comparacin con la que se encuentra distribuida en el envase. El envase de pelcula de 35-mm es pequeo,
pero la masa del resistor de medio Watt tambin lo es. Como resultado, la temperatura de su sistema
probablemente se sobrepasar menos de un grado.
Cuando la temperatura se detiene y comienza a caer, al pasar por la temperatura deseada, el calentador se
enciende nuevamente. La temperatura seguir bajando una vez encendido el calentador, por la inercia
trmica que describimos antes. Este ciclo en el que la temperatura pasa por encima y por debajo de la
deseada es tpico del control on-off. La velocidad de este ciclo y la magnitud en que se aleja de la temperatura
deseada dependen de las caractersticas del sistema. El control ON-off es conveniente para procesos que
tienen gran capacidad, pueden tolerar una respuesta lenta y tienen un nivel relativamente constante de
perturbaciones. Si nuestra incubadora fuera grande, bien aislada y mantenida dentro de un ambiente a
temperatura constante, el uso del control on-off sera aceptable. Luego que el proceso haya repetido algunos
ciclos, registre los valores mximo y mnimo que alcanza normalmente la temperatura.
Temperatura Mxima _______________ Temperatura Mnima __________________
Usando su cursor, la duracin de cada ciclo. Registre estos tiempos abajo.
Tiempo en el que el calentador se apaga por primera vez (T1off):
____________
____________
____________
____________
Un problema serio con el control on-off cuando la salida oscila rpidamente cuando las mediciones rondan la
temperatura deseada. El ruido que se superponga a la medicin del sensor analgico sera interpretado como
una fluctuacin rpida por encima y por debajo de la temperatura deseada. El diagrama de la Figura 5.3
representa este problema.
Figura 5.3: Control ON-OFF Cuando se Superpone Ruido en los Datos
Calentador encendido
Temp. deseada
Calentador apagado
La oscilacin lenta de la temperatura alrededor de la referencia tiene superpuesta una seal de ruido de alta
frecuencia. Como puede ver, el efecto de esta superposicin es que el valor medido de la temperatura pasa
por encima y por debajo de la temperatura deseada varias veces consecutivas. El microcontrolador
encender y apagar el calentador de acuerdo a esa seal.
En una incubadora real donde se controla una gran potencia, esta conmutacin rpida podra causar ruido
indeseado de RF. Tambin se podran daar los elementos electromecnicos de salida tales como motores,
rels y solenoides.
Puede observar el parpadeo rpido del LED cuando la temperatura se acerca al valor deseado? __________
Quite el capacitor de 10-uF de la salida del sensor. Mejora o empeora este problema? Por qu? La Figura 5.4
una pantalla que se obtuvo con este experimento. La inercia trmica y la oscilacin alrededor del valor
deseado representan un problema. Puede observar esto en la respuesta de su sistema?
El resultado es un tiempo de ciclo on-off ms lento y la cancelacin de la influencia del ruido. Observe como
difiere el diagrama temporal de la Figura 5.6 del anterior, que se haba realizado para el modo de control onoff simple.
Cuando la medicin se encuentra en cualquier punto entre estos lmites, el estado del calentador no se
modifica. El calentador es activado cuando la seal de la temperatura (+ruido) cruza un lmite. Luego, la seal
(+ruido) debe llegar hasta el otro lmite antes de que se produzca otra conmutacin en el calentador. Debido
a que la banda diferencial es ms ancha que el efecto del ruido, la oscilacin de alta frecuencia en la salida es
eliminada.
Figura 5.6: Accin de Control de Banda Diferencial Cuando se Superpone Ruido a los Datos
Calentador encendido
Lmite superior
Valor Deseado
Lmite inferior
Calentador apagado
Estas ventajas surgen con el compromiso de permitir que la variable bajo control, se aleje del valor
promedio deseado. La inercia trmica de nuestro sistema aun genera excesos en los valores lmites de la
temperatura. En este caso, estamos aceptando una variacin ms amplia en la temperatura. Cuando los
procesos permiten esta variacin, el control de banda diferencial normalmente es escogido antes que el
control on-off simple.
La subrutina Control puede modificarse fcilmente para el control de banda diferencial. Haga las siguientes
modificaciones al Programa 5.1.
Declare las nuevas variables Limite_superior y Limite_inferior al comienzo del programa e
inicialcelas en 102 oF y 101 oF respectivamente.
Limite_superior
Limite_inferior
Limite_superior
Limite_inferior
VAR word
VAR word
= 1020
= 1010
____________
____________
____________
____________
Use el ventilador para modificar las perturbaciones del proceso. Reinicie el programa y observe la accin de
control. Describa cualquier efecto que el nuevo nivel de perturbacin tenga sobre el valor pico y/o el ciclo de
la temperatura. Resuma como ha cambiado la dinmica de su sistema.
Coloque una bolita de vidrio dentro del envase. Reinicie el programa y observe la accin de control. Describa
cualquier efecto que el cambio de masa de su sistema tenga sobre el valor pico y/o el ciclo de la temperatura.
ON/OFF Simple o Banda Diferencial?
Afortunadamente, los datos que ha observado y almacenado revelarn algunas caractersticas importantes de
estos dos modos de control. Ambos tienen ventajas y desventajas. El control on-off simple genera acciones
ms frecuentes en el calentador. Perodos de ciclo de menos de un segundo podran presentarse si su sistema
tiene recuperacin rpida o si hay ruido en la lnea de seal analgica. Un ciclo de alta frecuencia no es
aceptable si el calentador va a ser controlado por un rel electromecnico.
Observe sin embargo, que el sobrepico de temperatura es de cerca de medio grado y que el valor promedio
es el valor deseado. Compare esta respuesta de control con la que obtuvo con el control ON/OFF de Banda
Diferencial.
Con el control de banda diferencial, notar las siguientes diferencias.
1. Los ciclos de alta frecuencia cercanos a la temperatura deseada no se producirn.
2. Todava se producen picos mximos y mnimos, pero ahora dentro de los lmites.
3. El perodo de los ciclos ON/OFF es ms largo.
El aumento del perodo del ciclo y la inmunidad al ruido cerca de la temperatura deseada, son mejoras
evidentes sobre el control simple on-off. La contra sin embargo, est en que la temperatura del proceso se
alejar mas del punto deseado. Obviamente, el conocimiento del proceso y su hardware determinar el modo
de control apropiado.
Ambos modos tomaron acciones de control apropiadas para mantener la temperatura bajo niveles variantes
de perturbacin y condiciones de carga. La contra de estos dos modos de control ON/OFF es que la variable
bajo control est siempre variando su valor. Las condiciones completamente encendido y completamente
apagado del elemento de control final fuerzan continuamente la variable, fuera de los lmites.
Recuerde el ejercicio de Control a Lazo Abierto del Experimento 3, donde se encontraba un valor de
excitacin intermedio entre completamente encendido y completamente apagado, para mantener la
temperatura en cierto punto. Si todas las perturbaciones del proceso permanecan constantes, la
temperatura quedaba en el valor correcto cuando se aplicaba el porcentaje requerido de excitacin. Tambin
vimos que a medida que las condiciones cambiaban, tambin lo haca la temperatura. El Experimento 6
investigar controles que toman una cantidad apropiada de accin basndose en la evaluacin de las
mediciones. Aplicar la teora de control Proporcional, Integral y Derivativo nos permitir maximizar la
efectividad del sistema de control.
Desafos de Programacin
1. Modifique su programa de forma que una banda diferencial de +1 grado pueda calcularse
automticamente, basndose en la temperatura deseada.
2. Agregue una variable llamada Banda_diferencial de forma que el operador solamente ingrese la
temperatura deseada y el rango de la banda diferencial. Luego el programa realizar automticamente
las acciones necesarias de control.
Preguntas y Desafo
1. Escriba una oracin completa que indique claramente la diferencia fundamental entre control a Lazo
Abierto y control a Lazo Cerrado.
2. El control ON/OFF simple compara la medicin de la variable del proceso con el ____________
____________.
3. Si el elemento de control final de nuestra incubadora fuera un aire acondicionado en lugar de un
calentador, qu cambiara del Programa 5.1?
4. La variable del proceso continua aumentando despus de que el elemento de control es apagado,
debido a la ________________________.
5. La oscilacin rpida que se produce cerca del punto deseado de un sistema de control ON/OFF es el
resultado de una seal de __________ montada sobre la seal de datos.
6. Mencione tres dispositivos que no soportaran ciclos de activacin de alta frecuencia.
____________________
____________________
____________________
7. El perodo del ciclo del proceso es afectado directamente por la cantidad de ____________ del
sistema.
8. El control de banda diferencial acta cuando la variable del proceso cruza _____________ lmite.
9. El perodo del ciclo ser ______________ si se emplea control de banda diferencial en un sistema
en lugar del control ON/OFF simple.
10. La conmutacin de alta frecuencia no es un problema en el control de banda diferencial si la
magnitud de _________________ es menor que la banda diferencial.
11. Cuando la medicin est entre los lmites, la salida estar en el modo determinado por el
__________ lmite que se cruz.
12. Agregando ms masa a un sistema de control de banda diferencial ___________ el sobrepico y
___________ el perodo de ciclo del proceso.
Desafo de Control: Invierta el Escenario
Invierta las posiciones de los dispositivos de salida de la Figura 5.2. Reemplace el calentador de la Figura 5.2b
por el ventilador y coloque el calentador directamente a la fuente de alimentacin +como se muestra en la
Figura 5.2c. Controle la temperatura encendiendo y apagando el ventilador mientras el calentador est
permanentemente prendido. Tendr que modificar el cdigo de tal forma que la salida se encienda para hacer
bajar la temperatura y se apague cuando pase por debajo de cierto valor. Puede convenirle acercar el sensor
y el calentador y abrir el envase para que el aire pueda circular por alrededor del par. Esto modificar la
dinmica del sistema. Podra realizar ciclos ms rpidos, tener menos sobrepicos y ser ms susceptible a
oscilaciones. Experimente con l y anote sus observaciones. Observe que cada sistema con el que trabaja
tiene sus propias caractersticas dinmicas.
Experimento 6:
Control ProporcionalIntegral- Derivativo
PID es la sigla para Control Proporcional-IntegralDerivativo. En esta seccin, exploraremos cada uno de los
mtodos y cmo trabajan juntos para controlar
eficientemente un sistema.
Co pid = ( Kp * E ) + ( Ki * Et ) + ( Kd *
Donde:
E
)
t
En esta seccin, la incubadora ser controlada usando control PID, resolviendo la ecuacin correspondiente.
Construccin del Circuito
Usaremos el mismo circuito del Ejercicio 5 (Figura 5.2), pero conectar manualmente el ventilador a la fuente
de alimentacin sin regular o a los 5V cuando sea requerido para generar las perturbaciones.
A continuacin se transcribe el programa completo para esta seccin. Cambiaremos los valores de Ajuste del
Control PID para verificar las distintas reas de control.
' Ttulo
' Reinicia el grfico
' 1000 puntos de datos
' Tiempo max.
' Max. analgico
' Min. analgico
' Multiplicador analgico 0,1
' Habilita temporizador
' Guarda mensajes en archivo
' Limpia min/max en el reset
' Habilita desplazamiento de grfico
' Habilita graficador
' Muestra la configuracin del excitador
Kp=",dec Kp," Ki=",dec Ki," Ti=",dec Ti," Kd=",dec Kd,CR
' Reinicia el grfico
VAR
VAR
VAR
VAR
VAR
WORD
WORD
WORD
WORD
WORD
'
'
'
'
'
ContadorPWM
VAR
BYTE
Cantidad
Cantidad
Cantidad
Cantidad
Cantidad
de
de
de
de
de
excitacin
Error
excitacin
excitacin
excitacin
total
Proporcional
Integral
Derivativa
UltimoErr
UltimoErr = 0
VAR
WORD
ContadorInt
TiempoPWM
VAR
CON
BYTE
20
Ei
Ei = 0
VAR
WORD
'
'
'
'
'
Clculos de Error
Calcula error proporcional
Calcula error Integral
Calcula error Derivativo
Calcula excitacin total
Ajuste de signo para max 100 min 0
100
Configura Control
de Excitacin
Configura SPL
Lee ADC
Calcula Temp.
Calcula
Excitacin
Excita el
Calentador
La Figura 6.2 es un diagrama de flujo del bucle principal del programa PID. Cada proceso se discutir en
forma individual a medida que se toque cada tema.
Todos los microcontroladores tienen sus limitaciones, as como otros sistemas tales como los Controladores
Lgicos Programables (PLCs). Al programar operaciones complejas como en control PID, es importante
comprender estas limitaciones y usar sistemas alternativos.
RETURN
...
PoneSigno:
IF Signo.bit15 = 0 THEN SignoPos
Signo = -1
Return
SignoPos:
Signo = 1
SignoListo:
RETURN
La primer parte del programa a considerar son los clculos de excitacin total. La Figura 6.3 es un diagrama
de flujo para estas rutinas. Como se mencion anteriormente, la excitacin total es la suma de tres
evaluaciones diferentes basadas en el error. El porcentaje de excitacin total se aplicar entonces al
calentador usando PWM durante 5 segundos. Esto permite que el tiempo con el calentador encendido sea
mucho mayor que el relativamente corto en el que est apagado, para realizar otras operaciones.
Calcular % Error
Calcular % de
Excitacin
Proporcional
Calcular % de
Excitacin Integral
Calcular % de
Excitacin Deriv.
Sumar Excitaciones
para % Ex. Total
Return
Excitacion_Calentador:
FOR ContadorPWM = 1 TO TiempoPWM
' Aplica PWM durante 220 mSec por cada
PWM Calentador,drive * 255/100,220
' repeticin
NEXT
RETURN
Calc_Excitacion:
GOSUB ErrorCalc
GOSUB PropCalc
GOSUB IntCalc
GOSUB DerivCalc
Excitacion = (B + P + I + D)
Signo = Excitacion
GOSUB PoneSigno
Excitacion = ABS Excitacion MAX 100
IF Signo = 1 THEN DriveListo
Excitacion = 0
DriveListo:
RETURN
'
'
'
'
Clculos de Error
Calcula error proporcional
Calcula error Integral
Calcula error Derivativo
Ejercicios
Co pid = B + ( Kp * E ) + ( Ki * Et ) + ( Kd *
B = Excitacin de Polarizacin
E
)
t
O:
%ExcitacinTOTAL = %ExcitacinPOLARIZ + %ExcitacinPROP + %ExcitacinINT + %ExcitacinDERIV
Para que los huevos de nuestra incubadora empollen correctamente, una excitacin del 50% en el calentador
debera proveer suficiente energa para mantener la temperatura de la incubadora alrededor de 101,5F con
prdidas promedio. Desafortunadamente, nuestro sistema no est bien diseado. Al tratarse de un envase
de pelcula si aislar, con un pequeo resistor haciendo las veces de calentador, una excitacin del 50% no ser
suficiente la mayora de las veces para mantener la temperatura deseada. Algunas limitaciones de nuestra
incubadora experimental son:
Una polarizacin de la excitacin del 50% es insuficiente para mantener una temperatura de 101,5F.
Cada incubadora tendr una temperatura estable diferente para una excitacin de polarizacin del
50% debido a diversos factores.
Nuestra incubadora es un sistema muy fcil de perturbar. Factores como temperatura ambiente y
ventiladores soplando sobre el envase, modificarn la temperatura.
Al mover o golpear la incubadora se mezclar el aire, afectando la temperatura medida.
Co pid = B
%ExcitacinTOTAL = %ExcitacinPOLARIZACIN
Para determinar la temperatura de polarizacin:
1)
2)
Observe que Kp, Ki y Kd estn todas en 0 por lo que no proveen ninguna excitacin, dejando solamente la
excitacin de polarizacin del 50% sobre el calentador.
3)
4)
5)
6)
7)
Observe cunto tiempo le tom a la temperatura estabilizarse. En nuestra prueba, aproximadamente 450
segundos. En un sistema con una respuesta de primer orden, tal como nuestra incubadora, el sistema
necesita 5 constantes de tiempo (5TCs) para estabilizarse (o alcanzar el 99% del valor de equilibrio) como
respuesta a un cambio de tipo escaln en las condiciones. En este caso el escaln es un salto en la excitacin
del 0% al 50%. De esta forma, 1 constante de tiempo (1TC) para nuestro sistema sera 450/5 o 90 segundos.
El tiempo de respuesta del sistema es importante cuando se est ajustando un sistema, como ver ms
adelante.
Registre los siguientes datos:
Co pid = B + (Kp*E)
Excitacin PWM %
% Excitacin
100,5
101
101,5
102
Temperatura
102,5
103
%Error =
Error
x100%
Rango
Ganancia =
Salida
Entrada
En nuestro ejemplo, estamos usando el 100% del rango de excitacin sobre el 100% del rango permisible de
temperatura:
Ganancia(Kp) =
Salida 100%
=
=1
Entrada 100%
Excitacin PWM %
110
100
90
80
70
60
50
40
30
20
10
0
% Excitacin
100
100,5
101
101,5
102
102,5
103
Tem peratura
En la Figura 6.6 el sistema est excitando el doble para una misma desviacin del setpoint. Cul sera la
ganancia proporcional para este sistema?
Ganancia(Kp) =
Salida 100%
=
=2
Entrada 50%
Observe que el sistema est empleando el rango total de salida sobre solamente el 50% del rango permisible
de temperatura. Esto tambin es conocido como Banda Proporcional del 50% debido a que se toma la accin
total de control sobre el 50% del rango permisible.
Use las ecuaciones para calcular lo siguiente a 101,7F:
Error = __________
%Error = _________ (Pista: la banda permisible an es 1,0)
Excitacin Proporcional = ________
Excitacin Total = _________.
Observe la relacin entre ganancia proporcional y banda proporcional:
Banda Proporcional =
1
1
*100% = * 100% = 50%
Ganancia Proporcional
2
Ganancia(Kp) =
Salida
100%
=
= 0.5
Entrada 200%
Excitacin PWM %
110
100
90
80
70
60
50
40
30
20
10
0
100
% Excitacin
100,5
101
101,5
102
102,5
103
Temperatura
Error =
Setpoint-Temp
% Error =
Error/Rango*100
% Error Prop=
%Error * Kp
Regresar
Regresar
De ser necesario, encuentre la temperatura de polarizacin de excitacin del 50%. Permita que la
temperatura se estabilice a la temperatura de polarizacin.
2)
Ajuste la configuracin de control PID del programa 6.1 correctamente, usando un valor de SP
igual a la temperatura de polarizacin en dcimas y el valor de Kp en 10 para una ganancia de 1.
1
3)
Desconecte SPL, descargue el programa al BS2, cierre la ventana debug, reconecte el SPL y reinicie
su BS2.
4)
Monitoree la temperatura en el SPL. Cuando haya pasado 1 minuto (60 segundos), encienda el
ventilador durante 10 segundos.
5)
Note como la temperatura sobrepasa el valor lmite, luego se detiene y comienza a descender, sobrepasa el
lmite inferior y va hacia arriba nuevamente. Esto es llamado sobreexcitacin (hunting)
(hunting). Se pone y se saca
La Figura 6.8b muestra estos datos importados a Excel, mostrando el error, excitacin proporcional y
excitacin total.
%Err
336
310
284
259
233
207
181
155
130
104
77,9
52,1
%P
% Excitacin
26,3
120
100
80
60
40
20
0
-20
-40
-60
-80
0,44
% Excitacin
Segundos
Note que con una ganancia proporcional de 1, la lnea de %Error no se puede apreciar porque %P (Error
Proporcional) est superpuesta, debido a que %ExcitacinPROP = %Error. La cantidad de error proporcional
se suma a la excitacin de polarizacin del 50% y sigue exactamente el mismo patrn que el error.
Con una ganancia de 2, note que la velocidad de respuesta es ligeramente ms rpida aunque se observa
mayor sobreexcitacin (hunting).
100
%Err
50
%P
0
336
310
284
259
233
207
181
155
130
104
77,9
52,1
26,3
-50
0,44
%Excitacin
150
%Excitacin
-100
-150
Segundos
Observe en la Figura 6.9b que con esta configuracin de ganancia la cantidad de excitacin proporcional (%P)
es el doble que el error (%Err).
Verifique los valores de excitacin mostrados en la ventana de mensajes de la Figura 6.7a a 96,7F:
Error =
__________
%Error =
__________
__________
%ExcitacinPROP =
__________
%ExcitacinTOTAL =
Note que la velocidad de respuesta es nuevamente un poco ms rpida, pero se presenta muchsima ms
sobreexcitacin e inestabilidad continua del sistema.
Como experimento final, fije una temperatura de referencia (SP) mucho ms alta que la temperatura de
polarizacin, pero dentro de un rango controlable con una ganancia proporcional de 1 (Kp=10). Realizamos
la prueba para 10F por encima de la temperatura de polarizacin (107F). Grafique los resultados. La Figura
6.11 muestra el resultado de nuestras pruebas.
Si bien lo intenta mucho, la temperatura no se estabiliza a 107 grados. Si 107F es una temperatura que el
sistema podra mantener, por qu no se estabiliza all? Recuerde que nuestro sistema con una excitacin del
50% se estabilizaba alrededor de 97F. Se agrega excitacin adicional debido a que existe un error. Si la
incubadora fuera capaz de estabilizarse en el setpoint, el error sera 0, proveyendo una excitacin
proporcional de 0%, quedando solamente la excitacin de polarizacin que no es suficiente para mantener la
temperatura, creando un error.
%ExcitacinTOTAL = %ExcitacinPOLARIZACIN + %ExcitacinPROP
%ExcitacinPROP = Kp*E. Si E = 0 entonces %ExcitacinPROP = 0%.
%ExcitacinTOTAL = 50% + 0%
Si la temperatura deseada no es la de polarizacin, algn error DEBE existir para proveer excitacin adicional
del control proporcional. A menor ganancia proporcional, menor ser el error restante. En la prxima
seccin, veremos como puede usarse el Error Integral para generar una excitacin que termine con ese error
remanente.
Desafo!
1.
2.
3.
Si la ganancia proporcional se pusiera en 0,5 (Kp=5), qu tipo de respuesta del sistema esperara?
Por qu?
si la temperatura est 0,6F por debajo del setpoint, cul sera la excitacin total?
Confirma su teora.
Co pid = B + ( Kp * E ) + ( Ki * Et )
%ExcitacinTotal = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinINT
Anteriormente hemos observado lo que ocurre cuando ocurran perturbaciones rpidas en nuestro sistema
en equilibrio. El control proporcional puede ser usado para llevar a la temperatura de regreso al setpoint.
Pero, qu sucede cuando la perturbacin afecta el equilibrio de nuestro sistema por un largo perodo de
tiempo? Al final del ltimo experimento se vio lo que ocurre cuando la excitacin de polarizacin no es
suficiente para contrarrestar las prdidas promedio. Debido a que debe existir algn error para que se
produzca excitacin proporcional, la temperatura deseada no puede ser mantenida.
El control Integral puede ser usado para eliminar el error remanente debido a perturbaciones duraderas del
sistema. Estas pueden ser producidas por prdidas o ganancias de energa que persisten por un largo
perodo de tiempo. Considere nuestra incubadora. Encontramos una temperatura de polarizacin en la que
una excitacin de polarizacin del 50% era suficiente para contrarrestar las prdidas del sistema,
mantenindolo el equilibrio.
Pero, que pasara si el ventilador se apuntara permanentemente a la incubadora? Las prdidas continuas del
sistema seran mayores. La excitacin de polarizacin del 50% no ser suficiente para mantener la
temperatura y la excitacin proporcional responder al error en un intento de regresar el sistema al. Pero
como hemos visto, debido a que debe permanecer algo de error, no se puede mantener el setpoint. El sistema
se estabilizar a una temperatura inferior a la deseada.
En funcin del tiempo, la excitacin integral puede usarse para eliminar este error remanente, permitiendo
que la temperatura alcance el setpoint.
La excitacin Integral tambin es usada cuando se necesita realizar una aproximacin lenta con tiempos
largos de estabilizacin, para asegurarse que no se produzcan sobrepicos. Considere por ejemplo, la coccin
Seal de Error
Tiempo
El error integrado es multiplicado por la ganancia integral para encontrar la ganancia integral.
ET = (E1+E2+E3+)
%ExcitacinINT = Ki* ET/T
Contador
< Reset?
Si
No
Reiniciar eror
acumulado
Reiniciar contador
Regresar
Note que con una temperatura de Polarizacin de 97,0F y la perturbacin del ventilador, la temperatura
estable inicial fue de 94,8F. Con el tiempo la excitacin, as como tambin la temperatura, ascendieron
lentamente hasta que la temperatura alcanz el setpoint.
Kp=0,1 Ki=1
140
%Excitacin
120
100
%Err
80
%P
60
%I
40
%Excit.
20
388
362
336
310
285
259
233
207
181
156
130
104
77,9
52,1
26,3
-20
0,44
Segundos
Note que el error inicial (%Err) fue del 11% a una temperatura estable de 94.8F.
%ExcitacinTotal = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinINT
%ExcitacinPROP = Kp * ET = 0,1 * (97,0F-94,8F)/2F * 100 = 11%
%ExcitacinINT = Ki * 0 hasta el primer tiempo de reset.
%ExcitacinTotal = 50% + 11% + 0%
A aproximadamente 120 segundos, se cumple el primer tiempo de reset integral. Todos los valores de error
anteriores se suman y promedian en el tiempo. Esto es multiplicado por la ganancia integral para encontrar
la excitacin integral.
%ExcitacinPROP = 11% dado que la temperatura es an 95,8F
%ExcitacinPROP = Kp * ET = 0,1 * (11%+11%+11%.[24 veces!])/24 = 11%
%ExcitacinTotal = 50% + 11% + %11% = 72%
Note que a mayor excitacin total (%Excitacin), la temperatura comienza a aumentar, el error disminuye as
como tambin la excitacin proporcional. La excitacin Integral permanece constante hasta el prximo
tiempo de reset que se produce a los 240 segundos, donde se vuelve a incrementar el valor de acuerdo al
promedio de los valores desde el reset anterior.
Apague el ventilador.
Figura 6.15: Temperatura Luego de Quitar una Perturbacin
La Figura 6.15 muestra lo que sucede cuando se quita la perturbacin. La excitacin adicional provista por la
componente integral desaparecer lentamente.
Puede producirse Sobreexcitacin Integral si la excitacin integral agregada es insuficiente para forzar el
sistema a volver a la temperatura de setpoint. La excitacin Integral se incrementara continuamente. Esto
significara que el error persistira constantemente y la salida se sobreexcitara a niveles excesivamente
Cul sera la respuesta del sistema si la ganancia Integral fuese 1 (Ki=10) y el tiempo de reset 60
segundos (Ki=12)? Por qu?
2.
Co pid = B + ( Kp * E ) + ( Kd *
E
)
t
Seal de Error
Pendiente
Tiempo
Considere el acto de hacer equilibrio sobre un tronco cado. Normalmente realiza pequeos ajustes para que
la posicin de su cuerpo mantenga el balance. Usted est respondiendo proporcionalmente a un error que
existe en su equilibrio. De pronto, una gran rfaga de viento lo golpea causndole una rpida prdida del
balance. En respuesta, usted gira velozmente para contrarrestar el viento. Esta accin se bas en un cambio
repentino en su equilibrio, en un perodo de tiempo muy corto. En nuestra incubadora, un cambio rpido de
la temperatura ser contrarrestado por una reduccin inmediata en la excitacin.
% Excit. Derivativa =
(Err UltimoErr) * Ganancia
Almacena Error en
UltimoErr
Regresa
En este experimento, repetiremos las perturbaciones en un sistema con ganancia proporcional de 2 del
Ejercicio 2, solamente que esta vez se usar excitacin derivativa junto con la proporcional. El ventilador se
conectar nuevamente a Vin (pin 19) por 10 segundos a 3 centmetros del envase. La Figura 6.18a muestra los
resultados de nuestra prueba. La Figura 6.18b es un grfico de Excel de los datos.
1)
2)
3)
Compare esta con la Figura 6.9a que usaba solamente excitacin proporcional. Note que el sistema se
estabiliza mucho ms rpidamente con muy pocas oscilaciones y sobrepicos. En la seccin de mensajes, hay 2
lecturas consecutivas de 99,0F. Primero se tuvo una excitacin %D del 40%, dado que hubo un cambio de
error del 20% (0,4F) entre el valor anterior y el actual. El segundo dio %D del 0%, debido a que 2 lecturas
consecutivas de 99,0F no representan ningn cambio en el error (una pendiente igual a cero).
120
100
80
60
40
%Err
%D
%Excit.
331
310
290
269
248
228
207
186
166
145
124
104
83,1
62,5
41,8
0
-20
-40
-60
21,1
20
0,45
Porcentaje
Kp=2 Kd=2
Segundos
Note en el grfico anterior cmo un cambio en %Err genera una excitacin derivativa. Cuando el error es
constante, aunque sea alto, %D es 0. Cuanto mayor es el cambio en %Err, mayor es %D. Una variacin
positiva de %Err (temperatura bajando) genera una excitacin positiva, en un esfuerzo por detener el cambio.
Hagamos algunas cuentas para un cambio de temperaturas entre mediciones de 99,4 a 99,0 con el setpoint en
99,0F:
%ExcitacinTOTAL = %ExcitacinPOLARIZACIN + %ExcitacinPROP + %ExcitacinDERIV
En el momento de la primera medicin, T=99,4:
Error = setpoint actual = 99,0F-99,4F = -4F
%Error = Error / rango * 100 = -0,4F/2F * 100 = -20%
La temperatura cay a 99,0F en el momento de la segunda medicin:
Error = setpoint actual = 99,0F-99,0F = 0F
%Error = Error / rango * 100 = 0F/2F * 100 = 0%
Cul sera la respuesta del sistema con una ganancia derivativa igual a 5? Por qu?
2.
Con un cambio de 0,3 F en la temperatura con respecto al setpoint, cul sera la excitacin total?
3.
El control Derivativo acta basndose en la magnitud de cambio del error, entre lecturas. Evala la pendiente
de la salida y acta para oponerse al cambio. El control Derivativo puede prevenir sobreexcitaciones y
sobrepicos, pero un exceso de excitacin puede llevar al sistema a oscilaciones pronunciadas.
Cada modo de control tiene su respuesta caracterstica para mantener la salida deseada. Se han escrito
muchos libros sobre el control PID y su ajuste. Ajustar un sistema PID involucra calibraciones de parmetros
de software para cada factor. La meta al calibrar el sistema es ajustar las ganancias de forma de obtener el
mejor rendimiento bajo condiciones dinmicas. Como se mencion anteriormente, la calibracin es tanto un
arte como una ciencia. Los procedimientos bsicos para calibrar un control PID son los siguientes. Estos
procedimientos suponen que usted puede proveer o simular un cambio en escaln en la seal de error:
1.
2.
Vaya subiendo el valor de la ganancia proporcional hasta que el sistema comience a oscilar.
3.
4.
5.
Luego, aumente la componente integral hasta que el sistema se vuelva inestable y luego redzcala
ligeramente.
A medida que gane experiencia en este tipo de control, ver que las caractersticas del proceso determinarn
la forma de reaccionar al error. Considere las siguientes tres aplicaciones del mundo real.
Cules son las caractersticas ms relevantes de estos procesos que determinarn el esquema de control
ms conveniente? Qu modo(s) de control siente que trabajara(n) mejor?
1)
Similar a nuestra incubadora, la primer aplicacin es un proyecto hogareo que usa el LM34 para
medir la temperatura en un acuario de 80 litros. La temperatura del agua es mantenida con una
tolerancia de + 1 grado, alrededor de 80 oF variando el ciclo de trabajo de un calentador de 200
Watts. La temperatura ambiente vara de 65 a 75 grados.
2)
La segunda aplicacin controla la acidez (pH) en la produccin de una bebida cola. El agua del
suministro tiene un pH de 7,2 a 7,4. El chorro de agua que ingrese al proceso, debe tener un pH de
6,8. Una vlvula regula el agregado de cido fosfrico para regular el pH del chorro de agua
entrante. El sensor de pH sensor es relativamente lento. La cantidad de cido necesario vara de
acuerdo al pH del agua entrante y la velocidad de flujo del chorro de agua.
En una planta de investigacin cientfica de la Universidad Estatal de San Diego, se debe mantener
constante la temperatura superficial de la hoja de una planta. La planta est dentro de un
pequeo invernadero (del tamao de una caja de zapatos). Un sensor muy rpido del tipo
termocupla est apoyado en la hoja midiendo la temperatura. Las perturbaciones como cambios
en el viento, luz del sol y metabolismo de la planta, pueden producirse rpidamente y con grandes
magnitudes.
Solo hemos rozado la superficie de la teora del control de procesos con realimentacin. Nos hemos
concentrado en acciones de control basados en la realimentacin de los valores en la salida del proceso.
Cuando las perturbaciones afectan nuestro proceso, se detectan cambios en la salida y se genera una seal de
error. El PID es ajustado para eliminar el error lo ms rpido posible. Se puede efectuar un control ajustado
de la variable del proceso usando PID, pero la premisa fundamental del control por realimentacin, es
responder al error. Se espera y, hasta cierto grado se tolera, un cierto nivel de error. Mientras finalizamos
este captulo, considere otra alternativa al control por realimentacin (feedback). Este sera el control por
prealimentacin (feed-forward). En el control por prealimentacin se miden aquellos factores que afectan un
proceso. Comprender cmo afectan a la variable que intentamos mantener constante, nos permitir tomar
una accin sobre la salida antes de que aparezca una seal de error. Si pudiese medir los cambios en la
temperatura ambiente y la velocidad del viento producida por el ventilador, podra usar esta informacin
para controlar mejor la incubadora? Es un concepto interesante, no?
Preguntas y Desafo
1. Se podra usar control on/off del sistema para realizar un control PID? Explique.
2. Qu tipo de control (proporcional, integral, o derivativo) sera ms aconsejable en los siguientes casos?
a. Para regresar un sistema al setpoint basndose en la diferencia entre la temperatura actual y la
deseada debida a una perturbacin breve: ________________.
b. Para minimizar el efecto de una perturbacin rpida en el sistema: ______________.
c. Para reducir el efecto de una perturbacin duradera sobre el sistema: ______________.
3. Un sistema tiene un setpoint de 101,5 grados y una banda permisible de +/- 0,5 grados. Para una banda
proporcional del 50%, cul sera la ganancia proporcional? ____________.
4. Un sistema tiene un setpoint de 101,5 con una ganancia de 3. Si la temperatura actual fuese 101,2,
cunto valdra la excitacin debida al error proporcional? ___________
5. Un sistema tiene una ganancia derivativa de 2. Si la temperatura cay de 101,8 a 101,3 entre lecturas,
con un setpoint de 101,5, cul sera el error debido a la excitacin derivativa? __________.
Use el circuito sample and hold (Figura 2.17) del Experimento 2. Una fsicamente el calentador y el
sensor con un material apropiado (no conductivo y que transmita el calor). Cambie el tiempo del
PWM a 1 debido a que la masa ser mucho menor y la salida estar activa todo el tiempo.
Encuentre la temperatura de polarizacin del 50% e intente regularla usando control PID.
2.
Use el pin de salida Pin 8 (salida de excitacin sin sample and hold) para excitar un rel de estado
slido que controle una lmpara. Coloque la lmpara y el sensor en un contenedor apropiado.
Regule la temperatura de esta incubadora ms grande.
Experimento 7:
Control de Tiempo
Real y Adquisicin de
Datos
Algunos ejemplos incluyen controles de calefaccin de edificios que reducen la calefaccin fuera del horario
de trabajo, para ahorrar energa; templar un metal calentndolo a distintas temperaturas por perodos
especficos de tiempo; y adquirir datos sobre largos perodos de tiempo para ser recuperados y analizados
posteriormente.
Este experimento explorar la generacin de aplicaciones que tomen ciertas acciones basndose en la hora
del da o en intervalos de tiempo y la adquisicin y recuperacin de datos. Para esto necesitaremos agregar
caractersticas de tiempo real al circuito montado en el Experimento 5. Conecte el Reloj de Tiempo Real DS1302 (Real Time Clock o RTC) como se muestra en la Figura 7.1c y el pulsador de la Figura 7.1d. La Figura 7.2
muestra como podra quedar el circuito distribuido en su protoboard.
El DS1302 RTC usa un oscilador a cristal externo de 32,767kHz como base de tiempo. Asegrese de conectar
el cristal lo ms cerca posible del CI para maximizar la precisin en la temporizacin (la distancia aumentar
el error debido a los efectos capacitivos de la protoboard). El RTC es similar al BASIC Stamp debido a que los
datos se almacenan en registros (memoria RAM) que pueden ser escritos y ledos. Estos registros almacenan
el tiempo y la fecha como segundos, minutos, horas, meses, etc. El DS1302 tambin tiene RAM disponible para
almacenamiento general de datos. Para nuestra aplicacin solamente usaremos el registro de hora del da
del chip. Por favor vea las hojas de datos del DS1302 y las notas de aplicacin de Parallax referidas a
caractersticas adicionales.
Al igual que con el conversor A/D ADC0831, los datos se transmiten serialmente del CI al BASIC Stamp 2. Esto
nos permite tener acceso a la hora actual que es generada por el DS1302. Para fijar la hora actual por
primera vez, podemos poner al CI en el 'modo de escritura' y enviarle datos serialmente desde el BASIC
Stamp 2.
Los datos de la hora (y fecha) se almacenan en el DS1302 como nmeros Decimales Codificados en Binario
(Binary Coded Decimals o BCD). Este es un subconjunto de la base numrica Hexadecimal. En Hexadecimal
(base 16) un byte se parte en dos nibbles (alta y baja), y cada una se lee como un dgito.
Tome por ejemplo el nmero binario: 01000110. En binario, cada lugar es una potencia ms alta de 2 y el
equivalente decimal sera: 64+4+2 = 70. Con un nmero binario de 8-bits tenemos un rango mximo
decimal de 0 a 255.
En Hexadecimal, el byte es partido en dos nibbles y convertido individualmente:
0100 0110
4 6
Binario
0000
0001
0010
0011
0100
0101
0110
0111
Hexadecimal
0
1
2
3
4
5
6
7
Decimal
8
9
10
11
12
13
14
15
Binario
1000
1001
1010
1011
1100
1101
1110
1111
Hexadecimal
8
9
A
B
C
D
E
F
En Decimal Codificado en Binario, cada nibble es usada nuevamente para representar un solo dgito, pero
dado que se trata de un nmero DECIMAL codificado, el rango vlido ser de 0 a 9 por cada nibble. Nuestro
primer ejemplo de 01000110 es 46BCD (un nmero BCD vlido) y $46 (un nmero hexadecimal vlido). Nuestro
segundo ejemplo 10101110 sera $AE (hexadecimal vlido), pero un valor BCD INVLIDO debido a que A y E no
representan nmeros decimales vlidos.
Nuestros programas usarn la notacin hexadecimal al configurar o controlar los tiempos en el RTC.
Adicionalmente, el RTC se configura para ser usado en formato 24 horas, de forma que la hora 1:00 PM se
mostrar como 13:00.
Ejercicio 1: Control de Tiempo Real
En este primer ejercicio simularemos la calefaccin de un edificio de oficinas. Durante las horas de trabajo, la
temperatura se mantendr a valores ms altos que durante la noche, logrando un ahorro de energa. Para
simplificar nuestro cdigo, usaremos control ON/OFF en lugar del ms apropiado control de banda
diferencial.
Dado que usaremos nuestra incubadora y para asegurarnos que la temperatura est por encima de la
temperatura ambiente, usaremos los valores 100F para horas de trabajo y 90 F para horario nocturno. El
termostato pondr a funcionar la calefaccin en su nivel alto a las 6:00 AM o 06:00 horas y en lo pasar a su
nivel bajo a las 6:00 PM o 18:00 horas.
El Programa 7.1 es el cdigo para el experimento.
GOSUB PoneHora
Setpoint = TempBaja
CTiempo = CTiempoAlto
Segundos = $00
CON
CON
CON
VAR
VAR
3
4
5
BYTE
WORD
'
'
'
'
'
TempRango
Offset
Setpoint
CON
CON
VAR
5000
700
WORD
VAR
VAR
WORD
Tiempo.HIGHBYTE
VAR
VAR
Tiempo.LOWBYTE
BYTE
Calc_Temp:
' Convierte el valor digital en Temp
Temp = TempRango/255 * Datain/10 + Offset
' basndose en las variables Rango y
' Offset.
RETURN
Control:
IF Temp > PuntoAjuste THEN OFF
HIGH 8
RETURN
OFF:
LOW 8
TAlta:
Control de Hora
Inicializa Hora y
Constantes
Hora de
Cambiar a
Alta?
Config. Reloj de
Tiempo Real
Si
No
Config. SPL
Lee Hora
Si
Hora de
Cambiar a
Baja?
Controla Hora
No
Regresar
Obtiene Datos
de Temp.
Calcula
Temperatura
Muestra
Cambios
Muestra
Cambios
Regresar
Regresar
Controla
Temperatura
Muestra y
Grafica Datos
Nota: Si se quita la alimentacin del Reloj de Tiempo Real DS1302 se reiniciar con valores impredecibles
cuando sta regrese. Por este motivo se emplea Gosub PoneHora.
Las horas a las que se produce el cambio de temperatura se definen en este sector. GOSUB PoneHora pone
al reloj de tiempo real en la hora especificada. Una vez configurada correctamente la hora, se puede poner
esta lnea como comentario y descargar nuevamente el programa para evitar que la hora se reinicie a 05:53
cuando se reinicia el BASIC Stamp.
El programa usa dos juegos de variables para la hora, uno para leer / escribir la hora actual y otro para
almacenar la hora a la que deseamos cambiar el termostato. Observe que las variables Tiempo y CTiempo se
subdividen en Horas y Minutos:
Tiempo
Horas
Minutos
VAR
VAR
VAR
WORD
Tiempo.HIGHBYTE
Tiempo.LOWBYTE
La variable Horas se asigna como el byte alto de la variable Tiempo, obteniendo las posiciones BCD que
representan la hora. Lo mismo se realiza para los minutos con las dos posiciones ms bajas. Esta es una
herramienta muy poderosa cuando se desea tener acceso a distintas partes de una misma variable.
El Programa 7.1 inicia la hora 7 minutos antes de que se produzca el cambio a horario de trabajo. Esto
debera permitir el tiempo suficiente para que la temperatura se estabilice a la temperatura ms baja. La
Figura 7.4 muestra el grfico obtenido.
El recuadro de usuario del StampPlot Lite muestra la hora actual y la hora a la que se producir el prximo
cambio. Puede parecer que la hora del recuadro cambie a intervalos irregulares, pero este es el resultado de
diferencias temporales a las que el BS2 muestra los datos y no diferencias en el RTC. El sector de mensajes
muestra la hora a la que se produjo el ltimo cambio y el valor para el prximo.
La grfica muestra un control ON/OFF a un setpoint de 90 F y el salto al setpoint de 100 F a las 06:00. Usando
el RTC, agregando ms dispositivos de salida y expandiendo la seccin de control del cdigo, podramos
agregar muchos eventos temporizados en el transcurso del da.
Descargue y ejecute el Programa 7.1. Observe con el StampPlot Lite al menos el cambio de las 06:00.
Necesitar esperar 12 horas para ver si el setpoint desciende a las 18:00... Tiene tiempo para esperar?
Hay un caso en el que este algoritmo no proveer el resultado correcto: Cuando sumamos un valor mayor
que 6 en cualquier posicin que su valor exceda 7. Tome por ejemplo $58 + $08. Sumando en hex obtenemos
$60. Esto genera un valor BCD vlido, solamente que no es el correcto. Una solucin simple para sumar 8,
sumar primero 4, ajustar, luego sumar nuevamente 4 y ajustar otra vez. Ms simple an es escoger intervalos
de temporizacin que no contengan los dgitos 7, 8, o 9.
Haga las siguientes modificaciones al Programa 7.1 para obtener el Programa 7.2.
' Programa 7.2: Temporizacin por Intervalos
' Controla 3 niveles de temperatura por cierta cantidad de tiempo
'****** Configuracin inicial *****
Tiempo =
$1200
Segundos
=
$00
PTemp1 CON
PTemp2 CON
PTemp3 CON
950
1000
850
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
Fase2:
Fase3:
Siguiente:
GOSUB AjustarHora
' ajusta hora BCD
DEBUG "Tiempo: ", hex2 horas,":",hex2 minutos,":",hex2 segundos
DEBUG "-- Setpoint: ", dec setpoint,cr
RETURN
AjustarHora:
' rutina de ajuste de hora BCD
IF CSegundos.lownib < $A THEN DecenaSeg
CSegundos = CSegundos + 6
DecenaSeg:
If CSegundos < $60 Then UnidadMin
CSegundos = CSegundos - $60
CMinutos = CMinutos + 1
UnidadMin:
IF CMinutos.lownib < $A THEN DecenaMin
CMinutos = CMinutos + 6
DecenaMin:
IF CMinutos < $60 THEN UnidadHoras
CMinutos = CMinutos - $60
CHoras = CHoras + 1
UnidadHoras:
IF CHoras.lownib < $A THEN DecenaHoras
CHoras = CHoras + 6
DecenaHoras:
IF CHoras < $24 THEN AjustarListo
CHoras = CHoras - $24
AjustarListo:
RETURN
La Figura 7.5 muestra un ejemplo de la ejecucin del programa. Observe que hay tres fases distintas de
temperatura que se repiten.
Descargue y ejecute el Programa 7.2. Use StampPlot Lite para monitorear su sistema.
Preguntas y Desafos:
1) Por qu es preferible usar el RTC para temporizaciones largas, en lugar del comando PAUSE de PBASIC?
2) Sume los siguientes valores hexadecimales y ajuste el valor decimal de sus resultados (muestre su
trabajo):
$15 + $15
Una vez almacenados los datos, necesitaremos recuperar tanto el valor como la hora a la que se realiz la
lectura. Al almacenar los datos, la hora puede almacenarse en la memoria junto con cada valor. Esto
requerira 3 bytes por medicin: Horas, Minutos y Valor (opcionalmente, se podran grabar los segundos,
dependiendo de la necesidad de cada caso). O, podemos guardar la hora a la que comenzaron a tomarse
mediciones; almacenando los datos en intervalos de tiempo conocidos podemos luego extrapolar la hora de
cada medicin. De esta forma solamente se requiere 1 byte por medicin, grabando la hora solamente al
principio.
Pero qu sucede si se reinicia inadvertidamente el microcontrolador, como cuando se lo conecta a la PC
para recuperar los datos? Qu pasara si se perdiera la hora de inicio de las mediciones? Qu sucedera si
el RTC se reiniciara en algn momento de forma que la hora volviera a cero? Tambin podemos usar la
EEPROM para registrar los datos importantes, como la hora de inicio y la siguiente posicin de memoria, para
evitar la prdida de datos importantes, en el caso que el microcontrolador se reiniciara. El programa que
hemos desarrollado se asegura de no perder datos debido a reinicios accidentales.
Nota: No almacena ms datos del que le permita el lugar de la EEPROM; sobrescribir el espacio del cdigo
causar que el BASIC Stamp programa comience a fallar.
El comando WRITE es usado para escribir los datos en la memoria:
WRITE Direccin de Memoria, valor byte
Usaremos el DS1302 como temporizador de intervalos que controlar cundo se tomaran muestras. Para
este experimento recolectaremos la temperatura exterior sobre un largo perodo de tiempo y luego
descargaremos los valores con el StampPlot Lite.
El Programa 7.3 es el cdigo para nuestro data logger. Es suficientemente diferente de los otros programas
como para requerir que mostremos el listado completo, aunque mucho cdigo viene de otros programas.
' Programa 7.3 - Data Logging en Tiempo Real
' Este programa registrar en la memoria EEPROM la temperatura
' a intervalos definidos usando el reloj de tiempo real.
'*** Config. Inic. Hora e Intervalo Toma de Datos **************
Tiempo =
$2246
' Hora inicial
VAR
WORD
'
'
'
'
'
'
'
DIR15 = 0
DIR8 = 1
VAR
CON
IN15
8
' Pulsador
' LED
' apaga LED
'
'
'
'
LED apagado
Espera que libere el botn
Recupera datos de direccin de memoria
y hora
Calc_Temp:
' Convierte el valor a temperatura basndose
Temp = TempRango/255 * Datain/10 + Offset ' en Rango y
Control:
IF PB = 0 THEN DescargaDatos
RETURN
' Offset.
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
'
'
'
'
'
PoneHora:
' ****** Inicializa el reloj de tiempo real
RTemp = $10 : RTCCmd = CtrlReg : GOSUB EscribirRTC
' Limpia el bit de proteccin contra escritura del registro de control
RTemp = Horas : RTCCmd = HrsReg : GOSUB EscribirRTC
' Fija hora inicial
RTemp = Minutos : RTCCmd = MinReg : GOSUB EscribirRTC
' Fija minutos inicial
RTemp = Segundos : RTCCmd = SecReg : GOSUB EscribirRTC
' Fija segundos inicial
RTemp = $80 : RTCCmd = CtrlReg : GOSUB EscribirRTC
' Habilita el bit de proteccin contra escritura del registro de control
Return
EscribirRTC:
' Escribe en el DS1302 RTC
HIGH RTCReset
SHIFTOUT RTC_IO, RTC_CLK, LSBFIRST, [%0\1,RTCCmd\5,%10\2,RTemp]
LOW RTCReset
RETURN
LeerRTC:
' Lee todos los datos del RTC
HIGH RTCReset
SHIFTOUT RTC_IO, RTC_CLK, LSBFIRST, [%1\1,BrstReg\5,%10\2]
SHIFTIN RTC_IO, RTC_CLK, LSBPRE, [Segundos,Minutos,Horas]
LOW RTCReset
RETURN
RecuperaDatos:
DirecMem = 4
WRITE 0,DirecMem.HIGHBYTE
WRITE 1,DirecMem.LOWBYTE
WRITE 2,Horas
WRITE 3,Minutos
Return
'
'
'
'
'
PAUSE 500
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
Discutiremos la operacin del programa por bloques. Al principio del cdigo est la informacin de
inicializacin:
'*** Config. Inic.. Hora e Intervalo Toma de Datos **************
Tiempo =
$2246
' Hora inicial
Intervalo
CON
$05
Muestras
CON
500
' Cantidad de muestras a tomar
Stop_Reset
CON
0
' 0=reset, 1 = detiene almacenamiento de datos
'******************************************************
Note que una direccin de memoria es un valor tamao word y debe guardarse en un byte alto (high) y
uno bajo (low).
2. Si se presiona el botn durante la adquisicin de datos, stos sern descargados. Usaremos
StampPlot Lite para capturar y graficar los datos a medida que se descargan. Los datos NO son
destruidos y el data logger continuar registrando mediciones.
3. Al final de la descarga de datos, si el pulsador se mantiene presionado, el data logger se reiniciar
desde el principio destruyendo los datos anteriores e inicializando la hora de toma de datos nuevos.
Si el BASIC Stamp 2 es reiniciado y el botn NO es presionado, el programa leer los datos de recuperacin
de la ubicacin de memoria actual y tiempo de inicio de la EEPROM. La hora del RTC NO se reiniciar. Debera
haber mantenido la hora apropiadamente A MENOS QUE se hubiese cortado la alimentacin. La Figura 7.7
muestra el diagrama de flujo de la inicializacin del programa.
Inicio
Almacenar Datos de
Recuperacin en la
EEPROM
Avisar al usuario
que presione el
botn para
inicializar hora y
adquisicin de
datos
Botn
Presionado?
Bucle Principal
Pedir al usuario
que libere el
Botn
Si
No
Botn
Liberado?
Si
No
Tiempo=LTiempo
Ubicac.<Muestras
Control
Si
Guardar Datos
Botn presionado
No
Si
Descarg. Datos
No
Regresar
Control de Hora
Guardar Datos
Si
No
Escribir datos en la
EEPROM
Reset
No
Actualizar los Datos de
Recuperacin
Si
La rutina GuardaDato es llamada desde ControlTiempo cuando llega el momento de escribir un nuevo valor en
la memoria. El valor actual de DataIn (valor ledo del ADC) es almacenado en la direccin de memoria actual
y la direccin de memoria es incrementada para el ciclo siguiente. Luego se calcula el siguiente horario de
muestreo (y despus se ajusta a BCD). Si se alcanza la cantidad mxima de muestras, dependiendo del valor
de Stop_Reset, la adquisicin de datos se detendr (ver ControlTiempo) o se reiniciar.
Note que el valor directo de DataIn del ADC es almacenado y no el valor calculado de la temperatura. Esto
nos permite guardar el dato en un byte en lugar de dos en un word. El valor almacenado se convertir a
temperatura cuando se descargue a la PC.
GuardaDato:
WRITE DirecMem, DataIn
HIGH 8:PAUSE 250:LOW 8
DirecMem = DirecMem + 1
WRITE 0,DirecMem.HIGHBYTE
WRITE 1,DirecMem.LOWBYTE
'
'
'
'
'
AjustarHora:
La Figura 7.9 ilustra el diagrama de flujo de la rutina DescargaDatos. Cuando se presiona el botn,
Descarga Datos configura al StampPlot para graficar y crea un bucle que lee los valores almacenados, los
convierte en temperatura y enva los valores al graficador y a la ventana de mensajes. Note que la hora de
adquisicin de datos es la de inicio y el intervalo de temporizacin se suma en cada repeticin del bucle, para
determinar la hora original a la que el dato fue almacenado.
Una vez que se completa el bucle, se le pide al usuario que presione el botn para reiniciar la captura de datos
desde el principio (el LED se encender para indicar esto).
Configura SPL
Hora de Adquisicin =
Hora actual
Puntero = 4
Pide que
presione el
botn para
Reiniciar
Lee Dato en
el puntero
Botn
presionado?
Reinicia Datos
de Recuperacin
No
Pide que
suelte el
botn
Enva Datos
al SPL
Botn
liberado?
Si
Incrementa Puntero
No
Regresa
Si
Puntero <
Dir. Actual?
Si
No
El formato de los datos del mensaje sirve para importarlo en una hoja de clculo para graficarlos, como se
muestra en la Figura 7.10b. Una parte del archivo guardado es el siguiente:
Punto,Tiempo,Temperatura
0,22:51,787
1,22:56,787
2,23:01,787
3,23:06,787
4,23:11,783
5,23:16,783
23:51
22:36
21:21
20:06
18:51
17:36
16:21
15:06
13:51
12:36
11:21
10:06
08:51
07:36
06:21
05:06
03:51
02:36
01:21
00:06
900
875
850
825
800
775
750
725
700
22:51
Temperatura (dcimas)
Tiempo
Para obtener estos datos colocamos nuestra incubadora fuera de una ventana y registramos las
temperaturas exteriores. Estas temperaturas pueden ser engaosas debido a los efectos del viento, el sol y las
capas trmicas que se forman dentro del envase. Obtuvimos algunos picos en las lecturas. Puede hacerlo
mejor?
Nuestro dibujo muestra temperaturas desde las 22:51 hasta las 22:51 de la noche siguiente. Note las subidas
y bajadas en la temperatura a lo largo del da. La mxima esperada del da era 88F y estuvo muy cerca!
Por supuesto, no estamos restringidos a rangos de temperatura de 70F a 120F. Revise el Experimento 4. Los
valores del rango por software estn determinados por las tensiones de rango y offset del ADC0831.
TempRango
Offset
CON
CON
5000
700
Preguntas y Desafos:
1. Realice la adquisicin de datos de un sistema: Determine una temperatura que desee registrar
durante un largo perodo de tiempo. Esto puede ser en el exterior, la temperatura ambiente (la
calefaccin / aire acondicionado cambia durante la noche?), o tal vez algn otro sistema de cambios
lentos (un tanque de agua bajo el sol, por ejemplo).
1) Determine el rango esperado de valores para la temperatura. Fije las variables rango y offset y
coloque los potencimetros apropiadamente.
2) Determine cunto tiempo necesita para adquirir los datos (un da? El fin de semana?). Basndose
en un mximo de 50 muestras, calcule el intervalo de tiempo de la adquisicin de datos.
3) Listo para programar? Si va a mover su plaqueta, asegrese de usar una batera que dure todo el
tiempo de la adquisicin de datos.
4) Tambin queremos controlar la precisin del RTC en este experimento, as que cuando el programa
est listo para descargarse:
a) Abra el reloj de Windows y fjese la hora.
b) Coloque una hora de inicio un poco ms adelantada de la actual (recuerde usar el formato de
24-horas)
Tiempo = $1530
c) 5 segundos antes del tiempo de iniciacin, descargue el archivo al BS2 y mantenga presionado el
pulsador hasta que el LED se apague o la ventan debug le diga que lo suelte.
d) Use la ventana Debug o el StampPlot para observar la hora del BS2 y la de la PC.
BS2: _________ PC: __________ Diferencia: ________
e) Deje funcionar su data logger. Despus que tome la primer muestra, puede probar la descarga
de datos presionando el pulsador.
f) Despus que termine de registrar los datos, ejecute y conecte StampPlot Lite y presione el
pulsador para descargar los datos.
g) Use la ventana Debug o StampPlot para controlar la hora del BS2 y de la PC.
BS2:_________ PC: __________ Diferencia: ________
h) Extrapole el error para 24 horas: _________
Estos datos colman sus expectativas?
2.
3. Cunto fue el error calculado sobre un perodo de 24-horas? Cmo se podra compensar este
error en el software?
Apndice A:
StampPlot Lite
Los datos del BASIC Stamp se procesan en una de cuatro formas por la aplicacin:
Valores Analgicos
Cualquier cadena que se enve que comience con un valor numrico ser procesada y graficada como un valor
analgico.
Debug DEC 100, 13
Valores Digitales
Cualquier cadena que comience con un '%' se procesar como valor digital. Un dibujo digital separado ser
comenzado por cada valor binario de la cadena. Por ejemplo, "%1001" dibujar cuatro valores digitales. Se
pueden enviar hasta 9-bits. Una vez que se iniciaron los grficos digitales, debe tenerse precaucin en enviar
siempre la misma cantidad de bits dado que los grficos dependen del orden y la posicin.
Debug IBIN4 INC,13
Configuracin de Control
Toda cadena que comience con '!' ser procesada como configuracin de control. La configuracin de la
aplicacin puede controlarse desde el BASIC Stamp usando valores y palabras de control especficas, si es
necesario.
Debug "!AMAX 200",13
Debug "!RSET",13
Otras cadenas
El resto de las cadenas simplemente se agregar al recuadro de mensajes.
Debug "Hola Mundo!",13
Note que cada ingreso de datos DEBE terminar con un retorno de carro data (13 o CR).
Los pasos para usar programas del BASIC Stamp con StampPlot Lite son los siguientes:
1.
2.
3.
4.
5.
6.
Com 1: Despliegue hacia abajo las opciones para seleccionar el puerto COM correcto.
Connect: Conecta la aplicacin al puerto COM seleccionado.
Plot Data: Activa la graficacin de los datos entrantes. Al desactivar este control se detendr el grfico
pero continuarn funcionando los mensajes y otras opciones. [ !PLOT ON/OFF]
Reset: Limpia el grfico, reinicia el tiempo a 0, limpia los valores mnimo y mximo (opcional). [ !RSET ]
Stop Plot: Cuando se alcanza la mxima cantidad de puntos de datos, el grfico se detiene (Se
deselecciona Plot Data). [!MAXS ]
Reset Plot: Cuando se alcanza la mxima cantidad de puntos de datos, el grfico se reinicia. [ !MAXR ]
User Status: (mostrando "El valor de X es 9") Mensajes de estado opcionales del BASIC Stamp pueden
colocar datos aqu. [ !USRS mensaje ]
Los tiempos mnimo y mximo pueden fijarse manualmente. Haga clic sobre el campo del valor a ser
modificado e introduzca el valor nuevo. [ !TMIN valor y !TMAX valor ]
Scroll Bar: Si el grfico se extiende ms all de los lmites actuales, puede usarse la barra de
desplazamiento horizontal para reposicionar el dibujo (si est almacenando datos, Enable Shift debe
estar activada).
Enable Shift: Le permite al grfico desplazarse automticamente cuando se exceda el tiempo de
mximo. Tambin habilita la operacin de la barra de desplazamiento cuando se recolectan datos.
Nota: Desplazamientos del grfico durante la adquisicin de datos pueden causar errores en la
temporizacin de los datos a medida que se actualiza la pantalla. [ !SHFT ON/OFF ]
+/-: Duplican o reducen el rango de tiempo del grfico. El valor mnimo del grfico no cambiar.
Data Points: Para que el grfico pueda ser manipulado, los datos se
almacenan en la memoria. La cantidad mxima de puntos (analgicos o
digitales) que pueden ser almacenados se colocan en la casilla Max.
Current muestra la cantidad de puntos que actualmente se hallan
almacenados. Una vez que se alcanza la cantidad mxima, el grfico se
reiniciar o detendr, de acuerdo con su configuracin. [ !PNTS 1000 ]
Last Analog Data: Muestra el tiempo desde el ltimo reset y el ltimo valor
analgico graficado.
Plot Pointer: Al mover el puntero sobre la pantalla se muestran las
magnitudes correspondientes al tiempo y valor analgico de ese punto del
grfico.
Maximum: Registra el valor analgico mximo y el tiempo en el que se
produjo.
Minimum: Registra el valor analgico mnimo y el tiempo en el que se
produjo.
Clear Min/Max: Borra los valores mximo y mnimo registrados. [ !CLMM ]
Clear min/max on reset: Al tildar esta casilla, el programa borrar los
registros mximo y mnimo cuado se presente el reset. [!CMMR]
Al mover el cursor sobre el grfico se mostrarn los valores correspondientes a la posicin del
puntero.
Haciendo doble clic se cambia el modo de fondo de pantalla de amarillo a blanco y las lneas finas por
gruesas, para obtener mejor calidad al imprimir (ALT-Print Screen captura la pantalla y la coloca en
el portapapeles) o al proyectar la pantalla.
Si selecciona una zona haciendo clic con el mouse mientras tiene presionado Shift (mays.) puede
seleccionar un sector del grfico para realizar un zoom.
Descripcin
Ttulo de la ventana
Muestra un mensaje en el recuadro User Status
Emite un sonido por la PC
Fija el valor analgico mximo
Fija el valor analgico mnimo
Fija los valores analgicos mximo y mnimo cono arriba (tambin agrega el
rango al recuadro Rango Drop-Down).
Fija el factor de multiplicacin de los datos entrantes
Fija el tiempo mximo (segundos)
Fija el tiempo mnimo (segundos)
Fija la cantidad de puntos de datos a adquirir
Habilita / deshabilita el grfico de datos
Reinicia el grfico y todos los datos
Limpia la lista de mensajes
Limpia los valores min/max registrados
Habilita / deshabilita el borrado del registro de valores Min/Max en el reset
Detiene el grfico cuando se completa la cantidad mxima de puntos de datos
Reinicia el grfico cuando se completa la cantidad mxima de puntos de datos
Habilita / deshabilita el desplazamiento del grfico cuando se registran datos
(puede causar prdida de precisin en los datos si se habilita)
Como con cualquier aplicacin, la mejor forma de aprender a usarla es jugando con ella. Divirtase!
http://www.selmaware.com/
Apndice B:
Plantillas Codificadoras
del Ventilador
Estas plantillas son de tamao real y podran ser
usadas como interruptores digitales en el
Experimento 2.
Apndice C:
Hoja de Datos del SSR
El Apndice C muestra las hojas de datos del rel de estado slido Hockey Puck. stas pueden descargarse de
http://www.pandbrelays.com/.
Apndice D:
Hoja de Datos del LM34
El Apndice D muestra las hojas de datos de National Semiconductor del LM34. Este apndice incluye las
primeras cinco (5) pginas de las 12. Si desea ver ms aplicaciones del LM34 que las que aparecen en este
apndice, el documento completo puede descargarse de http://www.national.com/ds/LM/LM34.pdf.
Apndice E:
Hoja de Datos del LM358
El Apndice E muestra las hojas de datos del LM358 de National Semiconductor. Este apndice muestra las
primeras cinco (5) pginas de las 23. Si desea ver ms aplicaciones del LM358 que las que se muestran en este
apndice, puede descargar el documento completo de http://www.national.com/ds/LM/LM158.pdf.
Apndice F:
Hoja de Datos del DS 1302
El Apndice F muestra las hojas de datos del 1302 de Dallas Semiconductor. Este apndice incluye las primeras
cinco (5) pginas de las 23. Si desea ver ms aplicaciones del DS1302 que las que se muestran en este
apndice, el sitio web de Parallax incluye la documentacin del AppKit para este componente.
Apndice G:
Listado de Componentes y
Suministros
Cantidad
1
10
1
1
1
Parallax #
28102
800-00016
Cantidad
1
6
Descripcin
resistor 1K Watt
resistor 10K Watt
resistor 20K Watt
resistor 220 Ohm Watt
resistor 470 Ohm Watt
Potencimetro
multivueltas 10K Watt
Diodo Zener 5.1 V .5 W
MOSFET BS170
Capacitor .68uF
capacitor 1uF
capacitor 10uF 10V
Cristal 32.768 kHz
LED verde
LED rojo
LED amarillo
IR Led con
termocontrable
Fototransistor infrarrojo
Pulsador
Transistor 2N3904
Chip DS 1302
Op-Amp Dual LM358
Envase pelcula 35 mm
Ventilador 12 VDC
Punta de Temp. LM34
Resistor Calentador 47
Ohm
ADC 0831 8-bit A/D
#1
1
1
1
#2
1
2
1
2
1
2
#3
1
3
2
#4
#5
1
1
1
1
2
1
1
1
2
#6
#7
1
1
1
2
1
1
2
1
1
1
1
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
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
Total/Kit
2
2
1
4
4
2
1
1
1
1
1
1
1
1
1
1
Apndice H:
Desafo de Incubadora
Comercial
Mfg #1611
El Experimento 3 mostr como emplear rels para controlar cargas de gran tensin y potencia. El ventilador y
la bandeja gira huevos se encienden y apagan frecuentemente y podran ser controlados por un rel
electromecnico dimensionado adecuadamente. El calentador debera ser revisado muy seguido,
controlndolo mediante un rel electrnico de estado slido.
Radio Shack vende una gran variedad de rels que seran apropiados.
Un termostato bimetlico mecnico normalmente controla el calentador de la incubadora. Este podra
dejarse en su lugar como un elemento de seguridad y ajustndolo 2 grados por encima de la temperatura
deseada. De esta forma interrumpir la alimentacin si su termostato electrnico o su rel de estado slido
fallan. El circuito sensor LM34/ADC 0831 y el amplificador de corriente del calentador usados en los
Experimentos 4 a 7 serviran para nuestra aplicacin real. Sin embargo, en lugar de activar un resistor de 47Ohm podra activar un rel de estado slido. ste a su vez, controla el calentador de alta tensin.
La temperatura de incubacin depende del tipo de huevos. Por ejemplo, los huevos de pollo deberan
incubarse a 101,5F mientras que la mejor temperatura para los de pato y ganso es 100,5F. El rango del
ADC0831 podra enfocarse sobre estas temperaturas como se explic en el Experimento 4. Al hacer esto
obtendr una mejor resolucin y datos ms precisos.
La estrategia de control del calentador podra basarse en cualquiera de los cinco modos que se discutieron en
los Experimentos 5 y 6. Las pruebas y grficas con StampPlot Lite le darn la informacin necesaria para
analizar y evaluar los pros y contras de cada mtodo.
Sera bueno agregarle una alarma audible para que se active cuando la incubadora se sale de los rangos
permitidos. El parlante piezoelctrico de 108 dB de Radio Shack (# 273-057) mostrado abajo definitivamente
le llamar la atencin. ste puede conectarse directamente a la fuente del BASIC Stamp. El MOSFET BS170
usado en la Figura 3.9d sera un excitador adecuado para entregar los 150 mA requeridos.
La alarma debera activarse por temperaturas muy altas o muy bajas. Le convendr agregar un par de
pulsadores para desactivar la alarma mientras se calienta por primera vez la incubadora. Repase el
Experimento 2 para ver los circuitos apropiados y la programacin de las entradas digitales.
Si dedica una computadora a este sistema, StampPlot Lite podra graficar continuamente y reportar las
condiciones del sistema. Si desea realizar algo ms elaborado, el software StampPlot Pro agrega muchas ms
opciones de cmputo. Grficos analgicos mltiples, capacidad de realizar grficos propios, interaccin
bidireccional en tiempo real y la capacidad de manejar archivos .jpg y .wav son algunas de sus opciones. El
StampPlot Pro permite monitorear la incubadora remotamente por internet. La versin de evaluacin del
Stamp Plot Pro se puede descargar de Parallax en el sitio web de Stamps en Clase.
Como puede ver, esta aplicacin de incubadora comercial incorpora los conceptos vertidos en cada seccin
de este manual. No cabe duda que muchos de ustedes se detendrn en este punto y se convertirn en
criadores de pollitos. A medida que contine experimentado con los BASIC Stamps y los use en sus proyectos
y en aplicaciones industriales reales, tenga estos conceptos en cuenta y guarde este libro en su biblioteca
como referencia.