Sei sulla pagina 1di 11

Fase 3: Implementación Controlador.

Jhoan Estevan Niño Alvarez

203041_9

1095813374

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD

Escuela de Ciencias Básicas, Tecnología e Ingeniería

Control Digital

Mayo de 2020
DATOS FASE 1 y 2

τ 0=t 1−t 0 =5.40−5=0.4

γ 0=t 2−t 1=15−5.4=9.6

y 1− y 0 984−65.1 918.9
k 0= = = =45.9
u 1−u0 20−0 20

Funcion de transferencia

k 0 e−s τ
0
e−0.4 s
G ( s )= =45.9
1+γ 0 s 1+9.6 s

Los parámetros del controlador por Ziegler-Nichols


y0 9.6
k p=1.2 =1.2 =1.2 ( 0.522 )=0.627
k 0 τ0 45.9∗0.4

T i=2 τ 0=2∗0.4=0.8

T d=0.5 τ 0=0.5∗0.4=0.2

Continuos-time transfer función.


45.6
Gs=
9.6 s+1

Fase 3: Implementación Controlador.

A partir del diseño del controlador PID de la fase 2 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 130°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


30V, 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 30V.

DISEÑO DEL CONTROLADOR PID


Con base a información previa, utilizamos los parámetros ya vistos

Los parámetros del controlador por Ziegler-Nichols

y0 9.6
k p=1.2 =1.2 =1.2 ( 0.522 )=0.627
k 0 τ0 45.9∗0.4

T i=2 τ 0=2∗0.4=0.8

T d=0.5 τ 0=0.5∗0.4=0.2

La función de transferencia discreta

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

Tenemos:

a=k p =0.627
k p T 0.627∗0.1 0.0627
b= = = =0.01254
Ti 5 5

k p T d 0.627∗0.2 0.1254
c= = = =1.254
T 0.1 0.1

Controlador Kp Ti Td
PID 0.627 0.01254 1.254

Para la generación de perturbaciones se utiliza el conmutador


SW1, el cual permite cambiar el valor de la fuente de alimentación
al sistema OVEN. Para el instante de tiempo t=0s. se utilizo la
fuente de alimentación BAT1 de 30V, para el instante de tiempo
t=50s se conmuto a la fuente de alimentación BAT2 de 15V y para
el instante de tiempo t=120s se conmuto nuevamente a la fuente
de alimentación BAT1 de 30V
Para la realización del código fuente se utilizo el compilador C
CCS Compiler
Codigo:
#include <16f877a.h>
#DEVICE ADC=10
#USE DELAY(CLOCK=400000)
#FUSES XT,NOWDT

VOID MAIN() //Jhoan Estevan Niño Alvarez


{
INT16 valor, control; //Variables de lectura de ADC y señal a modulo
FLOAT a,b,c; //Constantes para parametros del controlador
FLOAT TEMPERATURA_LIMITE; // Referencia Temperatura
FLOAT rt,eT,iT,dT,yT,uT,iT0,eT0; //Variables de Controlador
FLOAT max,min; //Variables
min=0.0;
max=1000.0;
iT0=0.0;
eT0=0.0;
a=0.627;
b=0.01254;
c=1.254;
TEMPERATURA_LIMITE=1300.0; // 130°C
setup_timer_2(t2_div_by_4,249,1); //Configuracion de Timer
setup_ccp1(ccp_pwm); //Configurar módulo CCP1
setup_adc_ports(all_analog); //Configurar ADC
setup_adc(adc_clock_internal);
set_adc_channel(2); //sensor de Temperatura
while(true)
{
valor=read_adc(); //Leer ADC
yT=5000.0*valor/1024.0; //señal de salida y(kT)
rT=TEMPERATURA_LIMITE;
eT=rT-yT; //señal de error e(kT)
iT=b*eT+iT0; // termino integrativo i(kT)
dT=c*(eT-eT0); //termino derivativo d(kT)
uT=iT+a*eT+dT; //señal 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 señal
iT0=iT;
eT0=eT;
}
}

En el instante de tiempo t=0s se utiliza una de alimentación BAT1 de


30V, 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 30V.
Grafica perturbaciones
BIBLIOGRAFIA

 «Aplicaciones PID 4r4r». Rocatek. 5 de octubre de 2010. Archivado desde el


original el 6 de noviembre de 2010.
 Gabriel Rodrigo caballero. (Febrero.2017). Implementación de Filtros digitales en
Matlab y DsPIC. Programa Global de Facultad – Campus Queretano – Febrero
2017. Recuperado de:
https://www.researchgate.net/publication/332994055_Implementacion_de_Filtros_
Digitales_en_Matlab_y_DsPIC_Global_Faculty_Program_-_Campus_Queretaro_-
Febrero_2017
 Céspedes, J. J. & Rodríguez O. D. (2010).  Módulo Control Digital 299006. Diseño
de sistemas de control digital basados en filtros discretos equivalentes a un
controlador análogo. UNAD. (pp. 43-50). Recuperado
de  http://hdl.handle.net/10596/4978
 Céspedes, J. J. & Rodríguez O. D. (2010). Módulo Control Digital 299006.
UNAD. Controlador PID. (pp. 23-24). Recuperado
de http://hdl.handle.net/10596/4978

Potrebbero piacerti anche