Documentos de Académico
Documentos de Profesional
Documentos de Cultura
203041A_761
FASE 3
IMPLEMENTAR EL CONTROLADOR EN UN MICROCONTROLADOR.
DIRECTOR DE CURSO
JOAN SEBASTIAN BUSTOS
PRESENTADO POR
GRUPO
203041_11
Vivimos unos tiempos con un gran desarrollo tecnológico. Estamos rodeados de todo tipo
de aparatos que, no hace tanto parecían inalcanzables: ordenadores, teléfonos móviles de altas
prestaciones, cámaras de vídeo y fotografía, reproductores, juguetes, máquinas, automatismos de
todo tipo y un larguísimo etcétera.
Todo ello ha sido posible gracias a la evolución, entre otras áreas, de la electrónica y de la
informática. Dentro del mundo de la electrónica, la aparición de un componente muy especial,
supuso el empuje definitivo. Estamos hablando del "microcontrolador".
OBJETIVOS
ACTIVIDADES A DESARROLLAR:
A partir del diseño del controlador PID de la Fase 2 y el cálculo de las constantes k p, T i y T d,
realizar la implementación del controlador en un microcontrolador y analizar su comportamiento
ante diferentes perturbaciones.
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 0 V a 10 V .
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.
1601,93−27
τ 0=7,8−5=2,8 seg γ 0=20−7,8=12,2 seg k 0= =157,493
10−0
γ0 ( 12,2 )
k p=1,2 =1,2 =0,03319875441
k 0 τ0 ( 157,493 )( 2,8 )
τ0 2,8
T< T< T <0,7 T =0,5
4 4
Para la simulación:
k p T ( 0,03319875441 ) ( 0,5 )
a=k p =0,03319875441b= = =2,964174501∗10−3
Ti 5,6
k p T d ( 0,03319875441 )( 1,4 )
c= = =0,09295651235
T 0,5
CÓDIGO
#INCLUDE <16F877A.H>
#DEVICE ADC=10
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOWDT
//RICHAR JAIMES ALBARRACÍN
//CODIGO: 88250814
// CONTROL DIGITAL - GRUPO 11
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.0332;
b=0.002964;
c=0.093;
TEMPERATURA_LIMITE=1300.0; //Set Point r(kT)= 130°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(500); //Periodo de muestreo T=0.5s
}
}
1. De acuerdo a la tabla de datos extraída del gráfico de perturbaciones, en el primer tramo entre
t=0 s y t=29,785 s alcanza un pico de temperatura de 136,478 ° C y de ahí desciende. En este
primer intervalo entre t=0 s y t=50 s se observan 2 movimientos de la temperatura uno
ascendente y otro descendente, observamos que para ir de 0 ° C a 136,478 ° C al horno le tomó
29,785 s y luego para bajar de 136,478 ° C a 130,991° C le tomó 20,215 s. Lo que indica mayor
velocidad de ascenso de temperatura y tendencia a estabilizar la curva.
2. Al aplicar el cambio de BAT 1 a BAT 2 en el instante t=50 s se encuentra en descenso con la
temperatura 130,991° C y, abruptamente, aumenta la velocidad de descenso hasta alcanzar en
t=63 , 875 s una temperatura mínima de 1 05 ,616 ° C. En este periodo de tiempo se observa que
para un tiempo de 1 3,875 s tuvo un descenso de temperatura de 25,375 ° C.
3. A partir del instante, t=63,875 s, retoma, la temperatura, su ascenso con el transcurso del
tiempo y en el instante t=115,551 s alcanza un pico de temperatura de 1 30 , 444 ° C y, en
adelante, se visualiza tendencia a estabilizar. En este intervalo tenemos un aumento de
temperatura de 2 4 ,828 ° C en 51 , 676 s, siendo así, con la BAT 2(15 V ), el periodo más largo
para la estabilización de la curva.
4. En t=120 s se conmuta de BAT 2 a BAT 1 y se evidencia un aumento abrupto de la
temperatura, pues en el instante t=130,871 s alcanza una temperatura de 166,858 ° C, es decir, en
solo 10,871 s aumentó 36,414 ° C.
5. Después del pico en t=130,871 s se muestra descenso en la temperatura del horno hasta
128,188 ° C en t=167,834 s. Se muestra un descenso de temperatura de 38,67 ° C en 36 , 963 s.
6. En el siguiente movimiento del ejercicio se observa aumento de temperatura hasta 130,266 ° C
en el instante t=195 , 887 s. Esto quiere decir que aumentó 2 , 078° C en un lapso de 28 , 05 3 s.
7. En el último intervalo mostrado en la gráfica, se observa la tendencia a estabilizarse y tenemos
en el instante t=200 s el horno tiene una temperatura de 130,28 ° C.
CONCLUSIONES
De acuerdo a lo mostrado en la gráfica se puede concluir que los valores adoptados para la
configuración del microcontrolador PIC16F877A son aceptables, dado que después de aplicar
las perturbaciones tiende a realizar una estabilización permanente, es decir solo se presenta
un solo pico máximo o mínimo y desde ahí busca la temperatura límite del proyecto.
REFERENCIAS