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 compensando la falta de luz con un bombillo.
COMPONENTES USADOS
Transformador 220VAC – 12VAC
Diodos 1N4004 Diodo Zener 1N4728A
Resistencias, Potenciómetros Potenciómetros Transistores 2N2222 Reguladores 7805 y 7812
Condensadores 470uF / 50V
LDR Amplificadores Amplificadores operacionales 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 fotodetector (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
Si Uklim>Ukmax Interrupcion Timer Uklim
Uklim=Ukmin
Control de salida
FIN
Uklim=Ukmax
CODIGO DEL PROGRAMA EN BASCOM AVR $regfile = "m8def.dat" $crystal = 10000000 $hwstack = 32 $swstack = 10 Config Portb = Output Config Portc = Input
'ATmega8 'Frecuencia de cristal=8 MHz 'Hardware Stack 'Software Stack 'Puerto B como salida 'Puerto C como entrada
'Definicion de variables Dim Sensor As Word Dim Ref As Word Dim Ek As Single Dim Ek_1 As Single Dim Pk As Single Dim Ik As Single Dim Ik_1 As Single Dim Kp As Single Dim Ki As Single Dim Uk As Single Dim Uk_dig As Word Dim Ukmax As Word Dim Ukmin As Word Dim T As Single Dim Rampa As Word
'Dato medido en ADC1=Sensor 'Dato medido en ADC0=Referencia 'Error actual 'Error anterior 'Componente Proporcional 'Componente Integral actual 'Componente integral anterior 'Ganancia Proporcional 'Ganancia Integral 'Señal de control 'Límite máximo de Uk 'Límite mínimo de Uk 'Periodo de muestreo '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 Kp = 1 Ki = 0.04 Ukmax = 16 Ukmin = 0 Rampa = 0 Do nop Loop
'Periodo de muestreo T=1/120=0.0083 s
'Ukmax=32 escalones 'Ukmin=0 escalones 'Reinicialización de Rampa 'Bucle infinito
'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