Fase 4 Aportes

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 13

CONTROL DIGITAL

CÓDIGO: 203041

FASE 4
DISEÑAR EL
IMPLEMENTAR
CONTROLADOR EN UN MICROCONTROLADOR

PRESENTADO AL TUTOR:
ANDRÉS ALEJANDRO DÍAZ TORO

ENTREGADO POR:
GERMÁN TORO SÁNCHEZ
CÓDIGO: 94315491

GRUPO: 203041-31

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


ESCUELA DE CIENCIAS BÁSICAS, INGENIERÍAS Y TECNOLOGÍAS
MAYO DE 2022.
INTRODUCCIÓN

El desarrollo de la actividad FASE 4, se diseñará un controlador PID digital implementado un


algoritmo de programación en microcontrolador PIC16F877A en un sistema OVEN y se
analizará su respuesta ante perturbaciones como modelo de una planta tipo de carácter industrial.

Se desarrollará el código en el lenguaje de programación c y se cargará al microcontrolador


mediante el uso del software de simulación PROTEUS.
OBJETIVOS
 Diseñar un controlador PID digital según curva de reacción del sistema propuesto en la
FASE 2 y los parámetros obtenido en el diseño del controlador PID obtenido en la FASE 3 del
curso
 Diseñar un controlador PID digital e implementarlo mediante la programación del
microcontrolador PIC16F877A incluido en un sistema OVEN.
 Analizar la respuesta de la planta ante perturbaciones y verificar el comportamiento del
controlador en el proceso de estabilización.
ACTIVIDADES PARA REALIZAR

A partir del diseño del controlador PID de la fase 3 y el cálculo de las constantes Kp, Ti y Td,
realizar la implementación del controlador en un microcontrolador y analizar su comportamiento
ante diferentes perturbaciones.

Se sugiere el montaje de la figura 1 para la implementación del controlador

Figura 1. Implementación del controlador. Nota: Ajustar fuentes de voltaje según lo


indicado en la guía
La simulación se debe desarrollar en Proteus utilizando el modelo Heated Oven (LumpedModel)
con la siguiente configuración en parámetros:

• Temperature Ambient (°C) = 27

• Thermal Resistence to Ambient (°C/W) = 0.5

• Oven Time Constant (sec)= 10

• Heater Time Constant (sec)= 1

• Temperature coefficient (V/°C) = 1

• Heating Power (W)= 150


Para el análisis de la curva de reacción, se analizará la respuesta del sistema en lazo abierto ante
una entrada escalón, dicha entrada escalón es de 0v a 10v.

Se debe definir el modelo del sistema y analizar su comportamiento ante perturbaciones de tipo
escalón, teniendo en cuenta que la temperatura límite o set point es de 120°C.

Para ingresar las perturbaciones al sistema se debe hacer lo siguiente: En el instante de tiempo
t=0s se utiliza una de alimentación BAT1 de 20V, para el instante de tiempo t=50s se conmuta
otra fuente de alimentación BAT 2 de 15V y para el instante de tiempo t=120s se conmuta
nuevamente a la fuente de alimentación BAT1 de 20V.

Retomando de la FASE 2 tenemos t 0 ,t 1 y t 2

t0 =5.0 t1 =5.5 t2 =18.6

Figura 2. Curva de reacción con implementación del método de la tangente de


Ziegler y Nichols
Así obtenemos:

τ 0=t 1−t 0=5.5−5=0.5

γ 0=t 2−t 1=18.6−5.5=13.1

∆ y 824
K0= = =82.4
∆u 10
2.1 Controlador PID de la fase 3 y el cálculo de las constantes Kp, Ti y Td

Tenemos los valores de K p , T i , T d para el controlador PID aplicando la regla de sintonización de


Ziegler-Nichols:

Tabla 1. Regla de sintonización de Ziegler-Nichols


γ0 ( 13.1 )
ganancia proporcional : K p=1,2 =1,2 =0.3179
k0 τ 0 ( 82 , 4 ) .(0.5)

c onstante de tiempointegral :T i=2 τ 0=2(0.5)=1

constante de tiempo derivativa:T d =0,5 τ 0=0,5(0.5)=0. 25

Partiendo de la expresión general del controlador PID:

Kp t de (t )
u ( t )=K p e ( t )+ ∫ e ( t ) dt + K p T d
Ti 0 dt

t
de ( t )
Tenemos: u ( t )=30.24 e ( t ) +30.24 ∫ e (t ) dt+7.56
0 dt

A continuación, se muestra la función de transferencia para el controlador PID digital.

T ( 1−z −1 )
U ( z )=K p [1+ + T d ] E(z )
T i ( 1−z ) T
−1

Y la F.d T. en función de su entrada, su salida y los parámetros a, b y c.

U ( z) b
+c ( 1−z )
−1
=a+
E( z) 1−z
−1

K pT K T
Donde: a=K p; b= ;c= p d
Ti T
L 0.5
Donde T < = =0.125
4 4

Sustituimos los valores anteriores para hallar los coeficientes a, b y c para el algoritmo de
programación en Microcontrolador:

a=K p=0.3179

K p T 0.3179∗0.1
b= = =0.0317
Ti 1

K p T d 0.3179∗0.25
c= = =0.7947
T 0.1

Los cuales serán los valores del controlador PID digital que se deben incluir en el algoritmo de
programación.

A continuación, se muestra el esquema del algoritmo utilizado para programar el PIC. El


muestreo (T) debe ser mayor que el tiempo de establecimiento del sistema en lazo abierto. En el
modelo Ziegler-Nichols se toma un valor T < τ 0 / 4 como ya se había mencionado anteriormente.

Figura 3. Diagrama de bloques del algoritmo de programación del controlador PID


digital en microcontrolador

Teniendo en cuenta los parámetros funcionales propuestos inicialmente, se desarrolla el


algoritmo del programa del controlador PID digital en microcontrolador del modelo OVEN.

Para la programación de PID en el microcontrolador a continuación, se presenta el código fuente


implementado mediante el compilador C CCS Compiler de acuerdo con el diagrama de bloque
del algoritmo de la figura 3.
2.2 Código fuente en lenguaje c para controlador PID discreto
#INCLUDE <16F877A.H>
#DEVICE ADC=10
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOWDT
VOID MAIN(){
INT16 valor, control; //Variables para lectura de ADC y señal de Control a modulo CCP
FLOAT a,b,c; //Constantes para parámetros de controlador PID
FLOAT TEMPERATURA_LIMITE; //Referencia de Temperatura
FLOAT rt,eT,iT,dT,yT,uT,iT0,eT0; //Variables de controlador PID
FLOAT max,min; //Variables para anti-windup
min=0.0;
max=1000.0;
iT0=0.0;
eT0=0.0;
a=0.3179;
b=0.0317;
c=0.7947;
TEMPERATURA_LIMITE=1200.0; //Set Point r(kT)= 120°C
setup_timer_2(t2_div_by_4,249,1); //Configuracion de Timer 2 para establecer frec. PWM a 1kHz
setup_ccp1(ccp_pwm); //Configurar modulo CCP1 en modo PWM
setup_adc_ports(all_analog); //Configurar ADC
setup_adc(adc_clock_internal);
set_adc_channel(0); //Seleccionar Canal 0 para sensor de Temperatura
while(true){
valor=read_adc(); //Leer ADC
yT=5000.0*valor/1024.0; //Escalizar señal de salida y(kT)
rT=TEMPERATURA_LIMITE;
eT=rT-yT; //Calcular senal de error e(kT)
iT=b*eT+iT0; //Calcular termino integrativo i(kT)
dT=c*(eT-eT0); //Calcular termino derivativo d(kT)
uT=iT+a*eT+dT; //Calcular senal de control u(kT)
if (uT>max){ //Anti-windup
uT=max;
}
else {
if (uT<min){
uT=min;
}
}
control=uT;
set_pwm1_duty(control); //Transferencia de senal de control al actuador
iT0=iT;
eT0=eT;
delay_ms(100); //Periodo de muestreo T=0.1s
}
}
2.3 Diagrama esquemático y simulación de controlador PID en PROTEUS.

A continuación, se presenta el diagrama esquemático y la curva de respuesta de la simulación de


la planta térmica mediante la implementación del microcontrolador PIC16F877A.

Las perturbaciones se generan a través de un interruptor conmutable y dos fuentes de voltaje de


20V y 15V tal como los expresa el enunciado de la actividad.

Figura 4. Diagrama esquemático de controlador PID digital implementado


microcontrolador PIC16F877

Figura 5. Simulación de la respuesta ante las perturbaciones a los t=50 s y a los


t=120 s
En la simulación se nota que, al momento de aplicar las perturbaciones, la planta responde
plenamente recuperando su estabilidad (setpoint = 120°C) indicando el buen desempeño del
controlador PID.

Se nota que en las dos situaciones las variaciones de temperatura no son fuertes al igual que el
sobrepaso en su proceso de estabilización.

En la primera perturbación, caída de voltaje, se nota igualmente una caída de la temperatura, la


cual rápidamente se restablece debido a la acción del controlador PID digital.

En la segunda perturbación el efecto es contrario a pesar de recuperar el voltaje inicial de 20V, se


evidencia un incremento de la temperatura la cual de la misma manera se restablece rápidamente
debido al trabajo del controlador PID.

Se nota igualmente que la planta inicia en t=0 en 27 °C puesto que esta es la temperatura
ambiente a la cual fue calibrado el “Heater” del sistema OVEN.
CONCLUSIONES

Es fundamental el proceso de sintonización y en este caso en particular mediante el método


Ziegler-Nichols el cual ofrece unos parámetros bastante acertados cullo resultado contribuyó en
el diseño del controlador, en este caso, PID para la planta propuesta.

Estos resultado los cuales son insumo para la implementación del programa en el
microcontrolador fueron bastante cercanos al control ideal de una planta térmica, teniendo en
cuenta que este tipo de plantas tienen unas inercias bastante altas (tiempos de respuesta).

La implementación del microcontrolador PIC 16F877A fue acertado en el diseño del controlador
PID digital pues como se pudo notar la respuesta ante las perturbaciones fue muy buena logrando
estabilizar el sistema
BIBLIOGRAFÍA

Canovas, A. Manual de usuario del compilador PCW de CCS. Recuperado de:


http://www.cursos.ucv.cl/eie48700/referencias/CCS_C_Manual.pdf.

Ogata, K. (1995). Sistemas de control en tiempo discreto. Mexico: Prentice Hall


Hispanoamericana S.A.

Ogata, K. (1998). Ingeniería de control moderna. Pearson - Prentice Hall.

Ogata, K. (1999). Problemas de Ingeniería de Control utilizando Matlab. Madrid- España:


Prentice Hall Inc.

También podría gustarte