Control de iluminación con control PI usando ATMEGA8
OBJETIVO
Diseñar un controlador de iluminación mediante un control PI, que mantenga un nivel
constante de iluminación en una habitación, compensando la falta de luz con un bombillo.
COMPONENTES USADOS
Transformador 220VAC – 12VAC
Diodos 1N4004
Diodo Zener 1N4728A
Resistencias, Potenciómetros
Transistores 2N2222
Reguladores 7805 y 7812
Condensadores 470uF / 50V
LDR
Amplificadores operacionales LM324
Optotriac MOC3041
TRIAC BT136
Foco 220V / 20W
ATMEGA8
Programador USBasp para ATMEGA
SOFTWARE UTILIZADO
Proteus Isis para la simulación
BASCOM AVR para la programación del ATMEGA
DIAGRAMA DE BLOQUES
FUNDAMENTO TEÓRICO
Control Proporcional-Integral
En realidad no existen controladores que actúen únicamente con acción integral, siempre
actúan en combinación con reguladores de una acción proporcional, complementándose los
dos tipos de reguladores, primero entra en acción el regulador proporcional
(instantáneamente) mientras que el integral actúa durante un intervalo de tiempo. (Ti= tiempo
integral)
La Función de transferencia del bloque de control PI responde a la ecuación:
Donde Kp y Ti son parámetros que se pueden modificar según las necesidades del sistema. Si Ti
es grande la pendiente de la rampa, correspondiente al efecto integral será pequeña y, su
efecto será atenuado, y viceversa.
Respuesta temporal de un regulador PI.
Por lo tanto la respuesta de un regulador PI será la suma de las respuestas debidas a un
control proporcional P, que será instantánea a detección de la señal de error, y con un cierto
retardo entrará en acción el control integral I, que será el encargado de anular totalmente la
señal de error.
DISCRETIZACIÓN DE UN CONTROLADOR PROPORCIONAL-INTEGRAL
Dado el siguiente controlador analógico del tipo PI
es posible emplear la transformación de Tustin
para obtener el controlador PI discreto equivalente
Las siguientes expresiones permiten calcular las constantes al pasar de un modelo a otro
TRIACS y OPTOTRIACS
Un TRIAC (Triode for Alternative Current), es un SCR bidireccional que se comporta como dos
SCR en paralelo e invertidos, de tal manera que este dispositivo puede controlar corriente en
cualquier dirección. Normalmente, tiene una tensión de ruptura alta y el procedimiento
normal de hacer entrar en conducción a un TRIAC es a través de un pulso de disparo de puerta
(positivo o negativo). Su símbolo se muestra en la siguiente figura.
Simbolo del triacs.
Los triacs más utilizados son: BT136, BT138, MAC97-8, MAC224A4.
La versatilidad del TRIAC y la simplicidad de su uso le hace ideal para una amplia variedad de
aplicaciones relacionadas con el control de corrientes alternas. Una de ellas es su utilización
como interruptor estático ofreciendo muchas ventajas sobre los interruptores mecánicos
convencionales, que requieren siempre el movimiento de un contacto, siendo la principal la
que se obtiene como consecuencia de que el TRIAC siempre se dispara cada medio ciclo
cuando la corriente pasa por cero, con lo que se evitan los arcos y sobre tensiones derivadas
de la conmutación de cargas inductivas que almacenan una determinada energía durante su
funcionamiento.
Resumiendo, algunas características de los TRIACS:
1. El TRIAC conmuta del modo de corte al modo de conducción cuando se inyecta
corriente a la compuerta. Después del disparo la compuerta no posee control sobre el
estado del TRIAC. Para apagar el TRIAC la corriente anódica debe reducirse por debajo
del valor de la corriente de retención Ih.
2. La corriente y la tensión de encendido disminuyen con el aumento de temperatura y
con el aumento de la tensión de bloqueo.
3. La aplicación de los TRIACS, a diferencia de los tiristores, se encuentra básicamente en
la corriente alterna. Su curva característica refleja un funcionamiento muy parecido al
del tiristor apareciendo en el primer y tercer cuadrante del sistema de ejes. Esto es
debido a su bidireccionalidad.
4. La principal utilidad de los TRIACS es como regulador de potencia entregada a una
carga, en corriente alterna.
TRIACS con acoplado óptico (optoacoplador triacs)
Esquema de un opto-triac.
Los triacs acoplados ópticamente combinan un diodo emisor de luz (LED) con un triac foto-
detector (foto-triac) dentro de un mismo encapsulado con un esquema que es mostrado en la
figura que se muestra a la izquierda. Al no existir conexión eléctrica entre la entrada y la salida,
el acoplo es unidireccional (LED al foto-TRIAC) y permite un aislamiento eléctrico entre ambos
dispositivos de hasta 7500 V (typ). Además, algunos foto-TRIAC incluyen un circuito de
detección de paso por cero que permite sincronizar señales de la red eléctrica con señales de
control del LED para ajustar el ángulo de conducción.
Como ejemplo de estos circuitos se encuentran el MOC3009 (Motorola) que necesita una
corriente en el LED de 30 mA para disparar el foto-TRIAC o el MOC3021 (Motorola) que
únicamente requiere 10 mA. Cuando el LED está apagado, el foto-TRIAC está bloqueado
conduciendo una pequeña corriente de fuga denominada Idrm (peak-blocking current). Cuando
el diodo conduce, dispara el foto-TRIAC circulando de esta forma entre 100 mA y 1A. Al no ser
un dispositivo que soporte grandes niveles de potencia, el propio foto-TRIAC en muchos casos
actúa sobre el control de un TRIAC de mucho mayor potencia.
INICIO
Declaración de
variables
Interrupción de
Nivel
Rampa =0 Control PI
Uklim<ukmin
Si Uklim>Ukmax
Uklim=Ukmax
Uklim=Ukmin
Interrupcion
Timer
Control de salida
FIN
CODIGO DEL PROGRAMA EN BASCOM AVR
$regfile = "m8def.dat" 'ATmega8 $crystal = 10000000 'Frecuencia de cristal=8 MHz $hwstack = 32 'Hardware Stack $swstack = 10 'Software Stack Config Portb = Output 'Puerto B como salida Config Portc = Input 'Puerto C como entrada 'Definicion de variables Dim Sensor As Word 'Dato medido en ADC1=Sensor Dim Ref As Word 'Dato medido en ADC0=Referencia Dim Ek As Single 'Error actual Dim Ek_1 As Single 'Error anterior Dim Pk As Single 'Componente Proporcional Dim Ik As Single 'Componente Integral actual Dim Ik_1 As Single 'Componente integral anterior Dim Kp As Single 'Ganancia Proporcional Dim Ki As Single 'Ganancia Integral Dim Uk As Single 'Señal de control Dim Uk_dig As Word Dim Ukmax As Word 'Límite máximo de Uk Dim Ukmin As Word 'Límite mínimo de Uk Dim T As Single 'Periodo de muestreo Dim Rampa As Word 'Señal escalón 'Configuracion ADC Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Start Adc 'Configuracion de unterrupciones Config Timer1 = Timer , Prescale = 1 Clear Timer = 1 'Configuración TIMER1, f=31.25 KHz On Compare1a Int_timer1 'Interrupción por comparación Enable Compare1a 'Habilitación interrupción por comparación Config Int1 = Low Level 'INT1, flanco de bajada On Int1 Int_zc 'Interrupción externa INT1 Enable Int1 'Habilitación INT1 Enable Interrupts 'Habilitación global de interrupciones Timer1 = 0 Stop Timer1 'Programa principal Ik_1 = 0 Ek_1 = 0 T = 0.0083 'Periodo de muestreo T=1/120=0.0083 s Kp = 1 Ki = 0.04 Ukmax = 16 'Ukmax=32 escalones Ukmin = 0 'Ukmin=0 escalones Rampa = 0 'Reinicialización de Rampa Do nop 'Bucle infinito Loop
'Rutinas de interrupción 'Interrupcion cruce por cero Int_zc: Stop Timer1 Timer1 = 0 'Reinicialización de Timer1 Compare1a = 4500 'Interrupción cada 7*1/31250= 0.22 ms = 7.5ms/32 Rampa = 0 'Reiniciar Rampa en cada Interrupción Portb.0 = 0 'Señal a Triac =0 'Obtensión de señales Referencia y Sensor Start Adc Ref = Getadc(0) Sensor = Getadc(1) Stop Adc 'control PI Ek = Ref - Sensor ' Ek = -204 Pk = Ek * Kp ' P(k)=Kp*e(k) Ik = Ek + Ek_1 ' I(k)=I(k-1)+Ki*T*(e(k)+e(k-1))/2 Ik = Ki * Ik Ik = Ik * T Ik = Ik / 2 Ik = Ik + Ik_1 Uk = Pk + Ik ' u(k)=P(k)+I(k) ' Uk = Ek Uk_dig = Uk + 1023 ' Ajuste en rango 0 - 32 escalones Uk_dig = Uk_dig / 128 Ek_1 = Ek Ik_1 = Ik 'limitación de rango de señal de control If Uk_dig > Ukmax Then Uk_dig = Ukmax Elseif Uk_dig < Ukmin Then Uk_dig = Ukmin End If Start Timer1 Return 'Interrupcion Timer cada 0.22 ms 32 escalones por semiciclo Int_timer1: Stop Timer1 Timer1 = 0 'Reiniciar Timer1 Rampa = Rampa + 1 'Incrementar rampa por cada interrupción 'Determinar instante en que se envia señal al TRIAC If Uk_dig > Rampa Then Portb.0 = 0 'Señal a Triac = 0 Else Portb.0 = 1 'Señal a Triac =1 End If Return End
DISEÑO DEL CIRCUITO
Esta sección del circuito provee al ATMEGA 8 la sincronización con la tensión de línea.
En este grafico se observa la tensión del secundario del transformador (verde), la señal
rectificada por el circuito de diodos (azul) y la salida del circuito, que ira a la entrada INT1 del
ATMEGA8 (rojo).
Esta sección es la que entregara al ATMEGA8 un valor proporcional a la iluminación de la
habitación, en voltios mediante un LDR, es decir, es un sensor de luz. Esta primera
implementación usa un divisor de tensión, y tiene un rango de 0- 2.5 V
De forma práctica, se observó que los valores del LDR, van aproximadamente desde 400Ω,
iluminado, y 2.5MΩ en oscuridad.
Para aumentar la sensibilidad de nuestro controlador, se amplificara la señal con una ganancia
de 2, alcanzando un rango de 0 a 5V. Esto se lograra mediante el siguiente circuito.
Los valores de las resistencias se calcularon a partir de la hoja de datos del LM324:
Como se puede observar, la salida no alcanza el valor de alimentación, debido a esto se cambió
la alimentación del OPAMP, de 5V a 12V aprovechando la salida de 12Vp del secundario del
transformador, y usando un regulador 7812.
Se muestran los valores máximos y mínimos que alcanza la salida de este bloque:
Se observa que nuestro rango teórico de 0 – 5V, es algo menor, de 0.06 a 4.88 V, de cualquier
manera esto representa una mejora en la sensibilidad.
El nivel de referencia que tomara nuestro circuito para mantener una iluminación constante,
solo consiste en un potenciómetro.
Como la salida del ATMEGA 8, solo podrá entregarnos un valor máximo de 5V, debido a la
alimentación, se implementara el siguiente circuito de potencia.
Los valores de las resistencias se calcularon considerando la corriente máxima, mostrada en la
hoja de datos para el MOC3041:
𝑅 =5𝑉
15𝑚𝐴= 330Ω
Cuando el valor de la salida este en ‘1’ (5V) el LED del OptoTriac MOC3041 se encenderá
proveyendo de corriente de puerta al TRIAC interno, como este componente no puede
trabajar con corrientes muy altas, solo se utilizara para entregar una corriente de puerta a otro
TRIAC de mayor potencia, controlando de esta manera el encendido del bombillo.
CIRCUITO COMPLETO