Documente Academic
Documente Profesional
Documente Cultură
Universidad Nacional
Mayor de San Marcos
(Universidad del Perú, DECANA DE AMÉRICA)
“CONTROL PI DISCRETO DE
ILUMINACION CON ARDUINO”
Profesor : Sifuentes
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.
Utilizar adecuadamente el conversor análogo – digital del ATMEGA 328 para su respectiva
programación en Bascom e implementación con el Arduino UNO.
Implementar adecuadamente los circuitos potencia para las salidas del sistema de control digital
(microcontrolador).
COMPONENTES USADOS:
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:
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.
Obtenemos las variables Kp y Ki en tiempo continuo y en base a eso calculamos los nuevos parámetros.
Donde:
𝐾𝑝 (𝑑𝑖𝑠𝑐𝑟𝑒𝑡𝑜) = 𝐾𝑝 (𝑐𝑜𝑛𝑛𝑢𝑜)
𝐾𝑖 (𝑐𝑜𝑛𝑛𝑢𝑜) ∗ 𝑇
𝐾𝑖 (𝑑𝑖𝑠𝑐𝑟𝑒𝑡𝑜) =
2
PROCESO:
1. ENTRADA DE REFERENCIA
2. SENSOR LDR
Como la salida del sensor (LDR) varia de 0-2.5v y la entrada del ARDUINO recibe voltajes de
0-5v, amplificamos este valor en un factor de 2 para aprovechar la sensibilidad del ADC del
microcontrolador.
Se utiliza el siguiente circuito registra el cruce por scero de la señal sinosoidal de entrada. Por
la salida del circuito cruce por cero tenemos una señal rectangular con un ancho de cruce de
0.73ms el cual servira para activar la interrupcion INT1 del arduino.
Pk= A*Error
Ik= Ik_anterior + B*(Error + Error_anterior)
- ESCALON:
El escalón la rampa dividió en 32 escalones para un tiempo que se introducirá por el Compare1a.
Para el tiempo
Frecuencia de Timer1:
f = 16 MHz/8 = 2MHz
Para la amplitud
La amplitud del nivel de la rampa está dividida en 32 escalones al igual que en el tiempo para
ello calculamos para cada escalón
Rampa= Rampa + 32
1. ETAPA DE POTENCIA
En la etapa de potencia se utilizó el MOC3021 para poder controlar el TRIAC con la siguiente
configuración.
La salida por el pin 9 del Arduino es el que controla la etapa de potencia de acurdo al siguiente
diagrama variando su atenuación y de esta forma regulando la iluminación del foco:
'****************************************************************************
***
' CONTROL DE LUMINOSIDAD CON ARDUINO UNO (YZ)
'****************************************************************************
***
$regfile = "m328pdef.dat" 'Atmega328p
$crystal = 16000000 'Frecuencia de
crystal = 16MHz
$hwstack = 32 'Hardware Stack
$swstack = 10 'Software Stack
Config Portb = Output 'Puerto B como
salida
Config Portc = Input 'Puerto C como
entrada
Error_0 = 0
K = 0.00002
T = 0.0083
Kp = 1
Ki = K * T
Ki = Ki / 2
Iko = 0
On Compare1a Escalon
Enable Compare1a
Compare1a = 14
Config Int1 = Low Level
On Int1 Control
Enable Int1
Enable Interrupts
Do
Nop
Loop
Vsensor = 2 * Getadc(1)
Vref = Getadc(0)
Rampa = 0
Error = Vref - Vsensor
Portb.1 = 0
I = Error + Error_0
Area = I * Ki
Prop = Error * Kp
Integral = Iko + Area
L = Prop + Integral
Error_0 = Error
Iko = Integral
Enable Compare1a
Timer1 = 0
Return
'Escalón-----------INTERRUPCIÓN INTERNA
Escalon:
If L >= Rampa Then
Portb.1 = 1
Else
Portb.1 = 0
End If
Rampa = Rampa + 32
Timer = 0
Return
End
EL DIAGRAMA DE FLUJO
OBSERVACIONES:
Cuando el valor de la salida este en ‘1’ (5V) el LED del OptoTriac MOC3021 se encenderá
brindando 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.
De forma práctica, se observó que los valores del LDR, van aproximadamente desde 400Ω,
iluminado, y 2 MΩ en oscuridad.
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.
Al implementar observamos que el foco parpadeaba y estaba algo inestable, por eso ajustamos
los valores de ki y kp para que pueda funcionar correctamente.
Para que no haya incovenientes con la luz le colocamos una tapa de lapicero al Ldr para que no
intervenga la luz del ambiente.