Sunteți pe pagina 1din 17

Pgina 1 de 17

FUNDACION UNIVERSITARIA LOS LIBERTADORES


INGENIERIA ELECTRNICA
CONTROL DIGITAL

Control PID de Temperatura de un Bombillo de


12Vdc, 21W, 80C, implementado en Arduino
Leonardo.
Gamalier Gonzlez G
Abstract
With Arduino Leonardo is implement a PID digital control of a temperature system
(plant) comprises a bulb of 12V and a temperature sensor. The temperature
system comprising a bulb of 12V and a temperature sensor. This control acts on
the plant based on the combination of three input switches, and depending on the
feedback voltage from the sensor to the controller input.
System output should ideally be set to the reference value given by the
combination of the switches and in the shortest possible time.
Resumen
Con el Arduino Leonardo se implementa un control PID digital de un sistema de
temperatura (planta) compuesto por un bombillo de 12VDC y un sensor de
temperatura. Dicho control acta sobre la planta en funcin de la combinacin de
tres interruptores de entrada y la realimentacin del voltaje del sensor a la
entrada del controlador. La salida del sistema se debe establecer idealmente al
valor de referencia dado por la combinacin de los interruptores y en el tiempo
mnimo posible.
1. OBJETIVOS
1.1. Objetivo General
Disear e implementar un control PID digital de temperatura sobre un bombillo de
12VDC que genera hasta 80C de acuerdo a una referencia de temperatura dada
por la combinacin de tres interruptores a la entrada del controlador.
1.2. Objetivos Especficos
- Caracterizar el sistema de temperatura a implementar.
- Montar el circuito electrnico necesario para el funcionamiento del sistema.
- Disear el algoritmo necesario para controlar dicho sistema de temperatura
sobre la plataforma Arduino.
- Anlisis de resultados.
- Conclusiones.

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

Pgina 2 de 17
2.
-

Equipos e instrumentos usados en la prctica


Fuente de volatje de 5VDC y 12VDC.
Bombillo de 12VDC, 21W.
Circuito integrado LM35 (sensor de temperatura).
Transistor MOSFET, Canal N, IRFZ44.
Circuito Integrado LM324 (Ampl. Op).
Arduino Leonardo.
PC con el software de Arduino instalado.
Multmetro digital.
Ventilador de 12VDC.
Resistencia de 0.39 (5W).
Resistencias de 470 , 3,3k ,10k ,27k y 100k .

3.
3.1.

Procedimiento desarrollado en la prctica


Caracterizacin del sistema de Temperatura

A continuacin se presenta un diagrama de bloques del sistema de temperatura:

fig.1 (diagrama del sistema de temperatura a implementar)


3.1.1. Referencia
La referencia se logra combinando los tres interruptores del dipswitch para dar
ocho posibles valores. Se implementa la configuracin de resistencias desde Vcc
hasta cada entrada del respectivo interruptor y la otra terminal del interruptor se
conecta a tierra (comnmente le llaman a esta configuracin pull-up). La
configuracin es la siguiente:

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

Pgina 3 de 17
fig.2 (Configuracin del dipswitch para poder asignar un valor de referencia)
Las ocho diferentes combinaciones y los valores de temperatura que se quieren
asignar como referencia se muestra en la siguiente tabla:
Tabla 1
S1

S2

S3

T
C
25,0

LOW

LOW

LOW

LOW

LOW

HIGH

LOW

HIGH

LOW

LOW

HIGH

HIGH

32,8
40,6
48,5

S1

S2

S3

T
C
56,3

HIGH

LOW

LOW

HIGH

LOW

HIGH

HIGH

HIGH

LOW

HIGH

HIGH

HIGH

64,2
72,0
80,0

Como se puede ver en la tabla 1, se asign la referencia de 25 C a la


combinacin (0 0 0) ya que pertenece a la temperatura ambiente y se asign 80
C a la combinacin (1 1 1) ya que el bombillo utilizado se mantiene a esa
temperatura en un buen periodo de tiempo cuando se conecta directamente a
una fuente de 12VDC que entregue una corriente mayor o igual a 2A (ver fig.3).
A continuacin se muestra la grfica del resultado de muestrear la seal de
temperatura del bombillo al conectarlo directamente a 12VDC:

fig.3 (temperatura del bombillo en un periodo de 0 hasta 11 minutos aproximadamente)

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

Pgina 4 de 17
3.1.2. Descople y Amplificacin
La salida del controlador PID digital llega a una etapa de desacople y
amplificacin, desacople debido a que la salida del microcontrolador se encuentra
en un estado de baja impedancia y puede estar expuesta a riesgos de corto
circuito o sobrecarga, y el amplificador operacional tiene una impedancia de
entrada muy grande, lo cual protege dicha salida. Y amplificacin debido a que el
bombillo consume 21W a plena carga, es decir, exige una corriente de 1.75A
cuando se alimenta a 12V, para ello se utiliza un transistor MOSFET.
NOTA: Se puede implementar tambin un opto-acoplador, el cual cumple la
misma funcin.
3.1.2.1.

Circuito Integrado LM324

fig.4 (diagrama interno del LM324)


El circuito implementado con uno de los amplificadores del integrado es el
siguiente configurado como amplificador no inversor:

fig.5 (circuito implementado para amplificar la seal de salida del microcontrolador)


La ganancia debe ser lo suficientemente grande para asegurar que a la
compuerta del transistor MOSFET siempre se aplique una diferencia de potencial
de por lo menos 4V y menos de 12V que es la alimentacin aplicada al
Amplificador Operacional.
Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital
Gamalier Gonzlez Bogot DC Abril 2014

Pgina 5 de 17
Se logr medir la salida del controlador digital en el osciloscopio y en ciertos
momentos la amplitud de tensin de salida disminuy hasta 500mV en estado
alto y su amplitud mxima alcanz los 4 voltios, ello debido a la frecuencia de
trabajo en ese instante, por esta razn, se calcul una ganancia para el
amplificador de:
A=

R2
27 k
+1=
+1=9.18
R1
3.3 k

La resistencia R3 agregada a la entrada asegura tambin que cuando la salida del


amplificador operacional sea cero, la compuerta del MOSFET no intente establecer
un estado flotante de tensin.
3.1.2.2.
Transistor MOSFET IRFZ44
El transistor es el que va a suministrar la corriente requerida por la fuente de
temperatura, es decir, por el bombillo de 12V, el cual consumir a plena carga
una intensidad de corriente igual a 1.75 Amperios.
El transistor es canal N y tiene las siguientes caractersticas mximas:

fig.6 (valores mximos del transistor IRFZ44)


El transistor tiene un tiempo tpico de retardo de encendido (t d(on)) de 20 ns y un
tiempo de retardo tpico de apagado (t d(off)) de 68 ns. Si tomamos un criterio de 10
veces la suma de dichos retardos, se tiene un tiempo de 880 ns, es decir, una
frecuencia de 1.136 MHz, una frecuencia de trabajo sobrada para esta prctica ya
que el PWM del Arduino, que es la seal de salida del controlador del sistema,
trabaja a 500Hz aproximadamente.
Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital
Gamalier Gonzlez Bogot DC Abril 2014

Pgina 6 de 17

El circuito implementado con el MOSFET es el siguiente:

Fig.7 (montaje realizado con el transistor MOSFET IRFZ44)


El valor de RG se escogi de 10k para no dejar que el terminal de compuerta del
transistor llegase a tener estados de voltajes flotantes y evitar una salida no
deseada. La resistencia Rs se coloc con el fin de estabilizar el punto de trabajo
del mosfet y evitar tensiones negativas al sustrato de fuente, su valor debe ser
pequeo para no requerir un voltaje relevante de la fuente y debe ser de potencia
para soportar la corriente requerida.
3.1.3. Sensor de Temperatura LM35
El circuito integrado LM35 utilizado tiene un encapsulado TO-92 y puede llegar a
sensar temperaturas de hasta 150C.
Su voltaje de alimentacin va desde 4 hasta los 30V, sin embargo para esta
prctica se aliment a 5VDC.
Su relacin voltaje-grados Celsius es de 10mV/C.
El montaje realizado fue el siguiente:

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

Pgina 7 de 17

3.1.4.

fig.8 (circuito implementado con el LM35)


Controlador PID discreto

De acuerdo al diagrama del sistema de temperatura (fig.1), se obtiene una nueva


representacin grfica del sistema en funcin de sus variables discretas:

fig.9 (Diagrama de control discreto)


Donde:
x(k) = entrada de referencia (combinacin del dipswitch)
e(k) = error entre la entrada y la salida
u(k) = accin de Control (PID)
y(k) = salida o respuesta de la planta.
Debido a que se est trabajando con variables discretas, se requiere de un
periodo de muestreo de las seales, el cual llamaremos h.
Por tanto, se tienen las siguientes ecuaciones:
[1]

[2]

e ( k )=x ( k ) y ( k )

u ( k )=kpe ( k )+ kpTd

e ( k )e(kh) kph
+
e(k)
h
Ti k=1

Donde:
kp
= constante proporcional
kp*Td = kd
= constante derivativa
kp/Ti = ki = constante integral
Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital
Gamalier Gonzlez Bogot DC Abril 2014

Pgina 8 de 17

e(k-h)

3.1.5.

= error anterior

Plano y montaje del circuito

El plano del circuito implementado es el siguiente:

fig.10 (Plano del circuito del sistema de temperatura)


Y el circuito electrnico montado es el siguiente:

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

Pgina 9 de 17

3.2.

fig.11 (montaje del circuito implementado en la prctica)


Algoritmo desarrollado sobre el Arduino Leonardo

El algoritmo desarrollado es el siguiente:

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

Pgina 10 de 17

fig.11 (cdigo programado en el Arduino)


Se deben conectar los respectivos pines de entrada y salida mediante unos
jumpers:

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

Pgina 11 de 17
-

El pin 5 del Arduino, que pertenece a una salida PWM, se conecta a la entrada
del amplificador operacional, y la salida del Amplificador operacional se
conecta al terminal de compuerta del MOSFET.
El pin A4, que es una entrada analgica, debe conectarse a la salida del sensor
de temperatura LM35.
Los pines 2,3 y 4 que pertenecen a entradas digitales, se conectan
respectivamente a su correspondiente interruptor en el dipswitch.
El pin GND del Arduino se conecta al negativo de la fuente de alimentacin.

3.2.1. Explicacin de las diferentes variables


pwmout: el PWM en el Arduino trabaja a una frecuencia de 500Hz
aproximadamente y su ancho de pulso vara dependiendo de su escala, que va
desde 0 hasta 255, siendo 255 para un ancho de pulso del 100% e idealmente
con una amplitud de 5V. Este ancho de pulso es el que vara de acuerdo al control
requerido. Esta variable es la que declara el nmero del puerto de salida para el
pwm.
sw1, sw2 Y sw3: Estas son las lecturas digitales en los pines 2,3 y 4 que van
conectadas a sus respectivos interruptores. Al subir o bajar un interruptor, se est
generando un valor digital a dicho pin de entrada, ya sea alto (HIGH) o bajo
(LOW), para as despus dependiendo de dicha combinacin, declarar el valor de
referencia respectivo.
ref: Esta variable es diferente por cada combinacin de los interruptores ya que
nos da la temperatura de referencia y al vez es un valor necesario para calcular el
error del sistema y accionar el control respectivo aumentando o disminuyendo el
ancho de pulso del PWM a la salida. Su valor se genera de la siguiente manera:
Cuando la temperatura es mxima (80C), la variable ref debe valer 255, que
corresponde al mximo ancho de pulso del PWM. La temperatura ambiente es la
referencia mnima del sistema que es de 25, por lo ref valdra 69 cuando la
combinacin es (LOW LOW LOW). La siguiente tabla muestra la relacin entre la
combinacin de los interruptores y la variable referencia:
Tabla 2
S1

S2

S3

LOW
LOW
LOW
LOW

LOW
LOW
HIGH
HIGH

LOW
HIGH
LOW
HIGH

ref
69
97
121
150

S1

S2

S3

ref

HIGH
HIGH
HIGH
HIGH

LOW
LOW
HIGH
HIGH

LOW
HIGH
LOW
HIGH

177
204
229
255

Salida: Esta variable es la accin de control, la que da el valor del pwm, entre 0 y
255, es la que controla el ancho de pulso aplicado al bombillo y est dada por la
ecuacin [2].
Muestra: Es la variable correspondiente al valor ledo del sensor de temperatura
y es la que se realimenta al sistema para calcular el error con la variable ref y
dependiendo de esa diferencia, ejecutar el control respectivo.
Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital
Gamalier Gonzlez Bogot DC Abril 2014

Pgina 12 de 17
4.

Anlisis de Resultados

4.1. Modelamiento del bombillo


Se muestre la temperatura del bombillo alimentado a 12VDC con el Arduino
con un periodo de 100ms por un tiempo de 11 minutos aproximadamente,
obteniendo la grfica de la figura fig1.
Se importaron los datos a Matlab para ser utilizados con la herramienta ident
y estimar la funcin de transferencia.
La grfica importada vs el escaln que se desea aplicar es la siguiente:

fig.12 (temperatura bombillo vs escaln de 80)


La funcin de transferencia estimada es:

4.2. Simulacin en Simulink


Se simul la funcin de transferencia en Simulink y se obtuvo la siguiente
respuesta:

fig.13 (diagrama de simulacin de la funcin de transferencia)


Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital
Gamalier Gonzlez Bogot DC Abril 2014

Pgina 13 de 17

fig.14 (respuesta de la funcin de transferencia)


Al adicionar el controlador PID se tiene lo siguiente:

fig.15 (diagrama de simulacin con PID)


La respuesta obtenida variando los parmetros del PID y al final llegar a P=12,
I=7 y D=1.7 para obtener la respuesta ms ptima del sistema fue:

fig.16 (respuesta del sistema con el controlador PID)


La sintonizacin del PID se realiz de tal manera que no existiera sobrepicos, que
el tiempo transitorio fuera lo ms pequeo posible, y que los valores de las
variables P, I y D no fueran tan exageradas, se aplica tambin el mtodo de
ziegler nichols de mantener la variable derivita igual a la cuarta parte de la
integral.
Como se observa en la figura fig.16, el tiempo de subida se redujo en una tercera
parte aproximadamente del tiempo inicial mostrado en la figura fig.15, es decir,
que de 7.5 minutos requeridos para llegar a 80C, se redujo a 2.25 minutos.
Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital
Gamalier Gonzlez Bogot DC Abril 2014

Pgina 14 de 17
4.3. Control P, PI y PID
Se quiere comparar las diferencias en implementar un control solamente
proporcional (P), solamente proporcional-integral (PI) y el control completo
proporcional-integral-derivativo (PID), y para ello se asignar la misma referencia
de temperatura de 48.5C y se compararn las diferentes respuestas.
Para el control slo proporcional se declaran las variables Integral y Derivativa
igual a cero, por lo que la respuesta del sistema se muestra en la siguiente figura:

Temperatura con slo control P

Temperatura

Tiempo (seg)

fig.17 (Respuesta del sistema con slo control Proporcional)


Se puede observar que la temperatura se estabiliza a los 72 segundos a un
temperatura promedio de 44C.
Ahora, para el control PI se tiene la siguiente respuesta:

Temperatura con controlador PI

Temperatura

Tiempo (seg)

fig.18 (Respuesta del sistema con slo control P-I)


Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital
Gamalier Gonzlez Bogot DC Abril 2014

Pgina 15 de 17
Como se observa en la figura fig.18, el sistema alcanza uno de sus valores
estables (46C) en 67 segundos aproximadamente, y presenta un pico en 73,6
segundos igual a 48,5C, y baja nuevamente a 46 y vuelve a subir, pero esta vez
hasta 48C promedio, por lo que tiene un error de estado estacionario igual a 2C.
Finalmente se tiene la respuesta del sistema con el controlador PID completo:

Temperatura con control PID

Temperatura

Tiempo (seg)

fig.19 (Respuesta del sistema con el control completo PID)


Para el sistema controlado por el controlador PID se observa que la temperatura
empieza a estabilizarse igualmente en 67 segundos, pero no tiene un sobrepico
tan alto antes de llegar al estado permanente y su error en estado estacionario es
menor variando de 47 a 48 C.
5.

Conclusiones
La grfica generada por la herramienta ident de Matlab en comparacin con
la grfica de la temperatura muestreada del bombillo tiene una similitud del
93.66% tal como se muestra a continuacin:

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

Pgina 16 de 17

fig.20 (Similitud entre la grfica real de temperatura y la grfica modelada por el ident)

Fue necesario adicionar al algoritmo condicionales if para evitar que tanto la


variable integral como la diferencial tuvieran valores negativos, ya que
stos alteraban de manera relevante la salida del sistema, del mismo modo,
se condicion la variable integral para darle un lmite mximo de 255 para
que no existiera desbordamiento de dicha variable.

La respuesta del sistema present ciertos sobrepicos pequeos en las


primeras tres temperaturas (25, 32.8 y 40.7)C, esto pudo deberse a que el
sistema se model con un escaln igual a 80C y no con estos escalones
significativamente menores.

Se pudo comprobar que efectivamente el sistema tard 2 minutos y 15


segundos aproximadamente en estabilizar la temperatura desde 25 hasta
80 C, pero para temperaturas menores lo logra estabilizar en menos
tiempo, por obvias razones.

La sintonizacin del PID se realiza considerando el mtodo de Ziegler


Nichols de asignar el valor de la constante derivativa igual a la cuarta de la
constante integral, sin embargo el valor de la constante proporcional se
elige de acuerdo a la simulacin en Simulink, teniendo en cuenta de no
tomar valores muy grandes, e ir observando la salida hasta obtener la mejor
respuesta posible.

La diferencia del control slo proporcional con los controles PI y PID son muy
relevantes, pero la diferencia entre el control PI y PID es muy poca debido a
que la temperatura por naturaleza es muy lenta y la parte derivativa no
pudo realizar un mayor aporte, se tendra que alimentar ms de 12V al
bombillo para que la temperatura aumentara ms rpido, pero
posiblemente el filamento del bombillo se destruira.

Para observar el funcionamiento del sistema de temperatura se subi un


video a YouTube el cual se encuentra en el siguiente link:
https://www.youtube.com/watch?v=ZWWP38dGB4k
Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital
Gamalier Gonzlez Bogot DC Abril 2014

Pgina 17 de 17
El video explica desde cmo se eligi el valor de referencia para cada
temperatura, el funcionamiento del control PID discreto sobre el circuito
fsico y la respuesta de la temperatura a los diferentes controles P, PI y PID.

Fundacin Universitaria Los Libertadores Ingeniera Electrnica Control Digital


Gamalier Gonzlez Bogot DC Abril 2014

S-ar putea să vă placă și