Академический Документы
Профессиональный Документы
Культура Документы
ETN-933
ING. ELECTRONICA
I.
Al anular la dinmica rpida de la planta, es decir que el trmino obtener al combinar la tercera y primera expresin:
; podemos
Considerando que
Pgina 1
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
) ( ) , se
Y comparando con una planta genrica de primer orden de la forma puede apreciar que: ( )
0.8
Respuesta
0.6
0.4
0.2
5 Tiempo (sec)
10
en base a la respuesta
Pgina 2
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
a. Adquirir la respuesta al escaln asumiendo un periodo de muestreo constante y suficientemente pequeo como para utilizar los datos en la generacin de la grfica anterior
Los datos usados en la determinacin de la funcin de transferencia de la planta se aproximaron a partir de la imagen y datos capturados en el osciloscopio, es por eso que el tiempo de muestreo est dado por el mismo osciloscopio:
Pgina 3
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
c. Utilizando el toolbox ident de Matlab, verificar e identificar Kg y T con la herramienta y verificar la estimacin manual.
Con la ayuda del toolbox ident pudimos identificar los parmetros por aproximacin, los datos obtenidos son:
Comparando los valores calculados por ident y mediante el mtodo manual, en base a un simple porcentaje de diferencia: ( ( ) ( ) )
( (
( )
Pgina 4
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
Por lo tanto la planta con la que trabajaremos ser la hallada con el toolbox ident y es:
( )
Nota: Por la naturaleza del sensor (aproximado de orden cero) y del motor (aproximado de primer orden) la planta con la que trabajaremos ser:
Motor
Sensor
Planta
II.
Ajuste de un controlador
Para la planta: ( )
a. Calcular los parmetros de un controlador P, PI y PID utilizando el mtodo de ganancia crtica de Ziegler y Nichols, perturbando al sistema con una dinmica no dominante de 2 orden.
)
Pgina 5
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
De done: ( )( )
Simplificando:
Por lo tanto
Pgina 6
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
Donde n > 10, por lo tanto si tomamos a n=15 de modo que la dinmica de la perturbacin sea rpida en comparacin a la dinmica de la planta los valores para sern:
Controlador
P PI PID con decaimiento de PID con un poco de sobrepaso PID sin sobrepaso
Nota: Los valores anteriormente calculados son calculador mediante el siguiente cdigo ejecutado en MatLab.
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%CALCULO DE PARAMETROS DE CONTROLADORES%%%% %%%%%%%%%% MET. GANANCIA CRITICA%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%parmetros del motor: Kg, T Kg=1.2105;T=0.68093 %% n n>10, para minimizar la perturbacin n=15; %% obteniendo la ganancia crtica y frecuencia critica Ku=((2*(n^2)) +(4*n) +2 )/(Kg*n); Wu=sqrt(((n^2) + (2*n))/(T^2)); Tu=(2*pi)/Wu; %% calculando los valores del controlador P,PI,PID %% controlador P Kprop=0.5*Ku %% controlador PI Kpi=0.455*Ku; Tipi=0.833*Tu; %% controlador PID ---- con decaimiento de 1/4 Kpdec= 0.6*Ku; Tidec=0.5*Tu; Tddec=0.125*Tu; %% controlador PID ---- con un poco de sobrepaso Kpsob= 0.33*Ku; Tisob=0.5*Tu; Tdsob=0.333*Tu; %% controlador PID ---- sin sobrepaso Kpsin= 0.2*Ku; Tisin=0.5*Tu; Tdsin=0.333*Tu;
Pgina 7
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
Kg Kg T.s +1 motor 2 Kg PID referencia proporcional Kprop Gain T.s +1 motor Kg PID PID Con sobrepaso Kpsob T.s +1 motor 4 PID PID dec -1/4 Kpdec T.s +1 motor 3 Scope
Gain 2
Gain 3
Kg PID Proporcional Integral Kpi Gain 1 T.s +1 motor 1 Kg PID PID Sin sobrepaso Kpsin Gain 4 T.s +1 motor 5
En base a las respuestas obtenidas podemos observar que: El controlador (P) proporcional incrementa mucho la velocidad de respuesta pero an existe un error en estado estacionario, el cual no se desea en el comportamiento del sistema de control. El controlador PI mejora la respuesta y tiene un sobrepaso del 8% pero los controladores PI son en general inestables.
Pgina 8
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
El controlador PID con decaimiento de un , mejora el tiempo de respuesta pero tiene un sobrepaso no mayor al 17% el cual reduciremos en los siguiente puntos.
El controlador PID con sobrepaso presenta un sobrepaso del 25% lo cual no es deseable.
El controlador PID sin sobrepaso presenta un sobrepaso del 19% debido a los parmetros introducidos.
perturbacion Kg Kg PID referencia proporcional 1 Kprop Gain 5 T.s +1 motor PID PID dec -1/1 Kpdec Gain 2 Kg Kg PID Proporcional Integral 1 Kpi Gain 1 T.s +1 motor 1 PID Kpsob T.s +1 motor 4 Scope T.s +1 motor 3
Pgina 9
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
En base a las respuestas obtenidas podemos observar que cuando se presenta una perturbacin: El controlador (P) proporcional no es capaz de inhibir esta perturbacin sino que solo la trata de minimizar pero jams la anula. El controlador PI es la segunda mejor respuesta a las perturbaciones. El controlador PID con decaimiento de un , es sin duda la mejor respuesta en contra de las perturbaciones a la entrada de la planta, es la que ms rpido anula el efecto de dicha perturbacin. El controlador PID con sobrepaso al igual que el PID sin sobrepaso anulan el efecto de la perturbacin de carga pero en ms tiempo que el PID con decaimiento de 1/4
Nota: El controlador que mejor se adapta es el controlador PID con decaimiento de un cuarto, ya que es uno de los que menos sobre paso tiene y adems es el controlador que ms rpido elimina el efecto de la perturbacin de carga, por lo que usaremos este controlador para los siguientes puntos en especfico.
Simular el efecto de saturacin de la seal de control debido a lmites fsicos en el actuador (PID).
(Considere una perturbacin de carga que lleve a la saturacin a la seal de control durante el transitorio. En estado estacionario, la seal de control no debe estar saturada.)
perturbacion PID PID dec -1/1 Kg PID referencia proporcional 1 Kprop Saturation 1 Gain 5 T.s +1 motor PID Con sobrepaso 1 Gain 3 Kg PID Proporcional Integral 1 Kpi Gain 1 Saturation 2 T.s +1 motor 1 PID Kpsin Saturation 5 Kpdec Saturation 3 Gain 2
Kg T.s +1 motor 5
Pgina 10
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
En general se observa una gran transicin con un sobrepaso notable en casi todos los controladores por igual y una reduccin en la velocidad de respuesta esto debido al efecto windup el cual ser analizado mas adelante.
III.
PID Modificado Si tenemos a un controlador del tipo: ( ) Con las siguientes modificaciones: ( ) : Trmino proporcional con Ponderacin de la referencia (b). ( ) : Trmino integral con compensacin anti-windup ( ). ( ) : Trmino Derivativo con limitacin de la ganancia derivativa (N). ( ) ( ) ( )
( ) : Trmino proporcional con Ponderacin de la referencia (b): Segn a las simulaciones realizadas para saber cul debe ser el valor de b de ponderacin:
Pgina 11
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
0.9 Gain 3 Td referencia Gain 1/Ti Gain 1 0.7 Gain 11 Td Gain 8 1/Ti du /dt Derivative 1 s Integrator 2 Gain 9 0.5 Gain 13 Td Gain 14 1/Ti du /dt Derivative 4 1 s Integrator 3 Gain 15 0.3 Gain 17 Td Gain 18 1/Ti du /dt Derivative 5 1 s Integrator 4 Gain 19 Kp Gain 16 Kg T.s +1 motor 4 Kp Gain 12 Kg T.s +1 motor 3 Scope 1 3 Kp Gain 10 Kg T.s +1 motor 2 du /dt Derivative 1 s Integrator 1 Kp Gain 2 Kg T.s +1 motor 5
Se observa claramente que cuando b decrece el valor sobrepaso tambin lo hace, por lo que vamos a elegir un valor de 0.3 para disminuir lo ms posible el sobrepaso del PID seleccionado
Pgina 12
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
).
Los voltajes mximos y mnimos se los obtiene del actuador usado, en este caso:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%% calculo de Tt en el wind-up%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% parametros del controlador usarse:PID con decaimiento Kp=Kpdec; Ti=Tidec; Td=Tddec; %% definicion de la constante de seguimiento: Tt Tt = sqrt(Ti*Td);
En este caso:
0.3 Gain 7
1/Ti Gain 5
Sine Wave 1
0.3 Gain 8 Td referencia 2 Gain 3 s Td/2.s +1 motor 4 1 s Integrator 2 1/Tt Gain 9 Kp Gain 2 Saturation 1 Kg T.s +1 motor 3 Scope 2
1/Ti Gain 6
Sine Wave 2
Pgina 13
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
Se observa como es que el sobrepaso es mantenido en la primera situacin debido a que el actuador se satura lo que lleva al sistema a un estado de no linealidad, en cambio modelando el windup en la segunda situacin vemos que el efecto se minimiza. ( ) : Trmino Derivativo con limitacin de la ganancia derivativa (N).
Los valores de N esta recomendado ponerlo entre 2 y 8, dependiendo del ancho de banda que se quiera trabajar, en nuestro caso trabajaremos para N=2.
Scope 1 Scope 2
0.3 Gain 3 Td referencia Gain du /dt Derivative 1 1 s Integrator Gain 1 Gain 5 Sine Wave Sine Wave 1 Kp Gain 8 Kg T.s +1 motor 5 referencia 1 0.3 Gain 7 s Td/2.s +1 lim -deriv 1 s Integrator 1 Kp Gain 2 Kg T.s +1 motor 1
Td Gain 4 1/Ti
1/Ti
Pgina 14
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
Se puede observar como se anula el efecto del ruido de medicin pero con algunos inconvenientes, como por ejemplo que la respuesta se hizo un poco mas lenta.
Pgina 15
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
IV.
Discretizacin del controlador PID Modificado a. Aproxime: 1. La accin integral por el mtodo de Euler,
( )
( )
( )
( )
Despejando: ( ) ( ) ( )
2. La accin derivativa por el mtodo de la transformada bilineal o Tustin y encontrar las expresiones para.
( ) Mtodo de Tustin:
( )
Pgina 16
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
Entonces: ( ) ( ( ) ) ( )
Llevando esta misma ecuacin a una ecuacin en diferencias finitas para la implementacin en el PIC tenemos: ( ) ( ( ) ( )) ( )
0.3 Gain 7
Kp Gain
referencia 2
Pgina 17
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
Para la simulacin es necesario definir constantes en funcin de h el periodo de muestreo, para lo cual definimos el siguiente cdigo en matlab.
%%%%%%%%%%%%%%%%%%%%%%%% %%definicion de constantes A,B,C,D,E%%%% %%%%%%%%%%%%%%%%%%%%%%% %% parametros del controlador usarse:PID Tt = sqrt(Ti*Td); %% Periodo de muestreo h=0.002; h1=0.002; %% calculo de los coeficientes discretizados A=2*Td*Kp; B=((2*Td/2)+h1); C=((2*Td/2)-h1); D=(Kp*h1/Ti); E=(Kp*h1/Tt);
Por lo que la respuesta del controlador discretizado con una entrada escaln unitario y una perturbacin a los 3 segundos, adems de tener internamente una compensacin anti windup, y una limitacin a la ganancia derivativa es:
Pgina 18
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
V.
Como lo que necesitamos medir es la velocidad del motor se us un disco perforado el cual mediante optosensores mand un tren de pulsos con una frecuencia anloga a la velocidad del motor, dicho tren de pulsos se envi a un conversor frecuencia voltaje, el cual nos dio a su salida un voltaje proporcional a la frecuencia del tren de pulsos pero por transitividad tambin anloga a la velocidad angular del eje del motor. Tuvimos problemas con el rango de frecuencias que puede medir el conversor frecuencia voltaje, por la cantidad de perforaciones que tena el disco lo que ocasionaba que el conversor frecuencia-voltaje siempre este saturado, por lo que antes de la conversin usamos flip-flops para dividir frecuencia, tal y como se muestra en la figura:
Divisores de frecuencia
VI.
Univ. Evert Ismael Pocoma Copa Pgina 19
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
VII.
La modulacin por ancho de pulso ya viene implementada dentro del modulo CPP del pic que estamos usando, asi que solo reportaremos la parte de amplificacin de corriente. Para la parte de amplificacin de corriente usamos un puente H, el cual posee pines que controlan el sentido de giro del motor, as mismo tienen un enhable lo que permite habilitar o deshabilitar la alimentacin a motor mediante una seal digital la cual puede ser la que viene del mdulo CPP del PIC en cuestin. El puente H usado es el L293D:
Pgina 20
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
a. Presentar el diagrama de flujo del algoritmo de control, minimizando en lo posible el retardo computacional. Partes del algoritmo:
1. Interrupcin por tiempo de muestreo. 2. Adquisicin de la velocidad 3. Calculo de la seal de control 4. Envo de la seal de control 5. Clculos para el siguiente tiempo de muestreo.
Accion de control
Clculos posteriores
Pgina 21
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
A continuacin explicaremos e identificaremos cada uno de estos bloques en el diagrama de flujo a partir del cdigo implementado:
#define Tm 0.002 #define Fosc 20000000.0 #define prescaler 64.0 #define max3 10000.0 /*valor maximo del actuador*/ #define min 0.0 /*valor minimo del actuador*/ /*defnicion de constantes del controlador discreto*/ #define Kp 32.5286 #define A 2.1788 #define B 0.0355 #define C 0.0315 #define D 0.4856 #define E 0.9713 #define Pond 20.3125 /* constantes de operaciones innecesarias*/ #define CnB 0.8873 //C/B #define AnB 61.3910 //A/B #define Kp_3 9.7586 //Kp*0.3 #define Per 256.0/10.0 //perturvacion de 2.5 volts en la entrada #define Pondefec2 0.0255 //(256.0/10000.0)*0.78 /*ponderacion para hacer un buen uso del actuador*/ /* valor para el tiempo de la interrupcion calculado mediante: Tm=(4/Fosc)*[Prescaler(256-x)] Tm:Periodo de muestreo entonces x ser: */ #define x (256-(Tm*Fosc)/(4*prescaler)) ; parmetro de interrupcin del TIMMER0
void main() { //--configuraciones para el PIC----------------setup_adc_ports(ALL_ANALOG); //define todo el puerto Analogo setup_adc(ADC_CLOCK_INTERNAL); //define uso clock interno setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_64); /* configuracion par alas insterrupciones*/ setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE); enable_interrupts(INT_TIMER0); enable_interrupts(GLOBAL); set_timer0 ((int)x); //------configuracion de los puertos----TRISB=0xff; /*todos los bits del puerto configurados como entrada*/ PORTD=0X00; /*inicia el puerto de en 0*/ while(1); } //bucle infinito
Pgina 22
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
float er_0; //definicion de variables; float Prop,I,Dr,Act,y,er,u,Ref,aux ; char windup; set_timer0((int)x); setup_timer_2(t2_div_by_16,77,1); setup_ccp1(ccp_pwm); /****************************************************/ /*proceso en lazo abierto, no realiza ningn control*/ /****************************************************/ if(bit_test(PORTB,0)==1 && bit_test(PORTB,1)==0) { //lectura de la referencia set_adc_channel(1); delay_us(40); RefAdc=read_adc(); pwref=(unsigned int16)((RefAdc)*0.75); if(bit_test(PORTB,2)==0) pwref=(unsigned int16)(RefAdc*0.75);/*ponderacion a 12.5 volts*/ set_pwm1_duty(pwref); } /****************************************************/ /*proceso en lazo cerrado, control con el PID Modificado******l*/ /****************************************************/ if(bit_test(PORTB,1)==1 && bit_test(PORTB,0)==0) { /*lectura de la referencia*/ set_adc_channel(1); delay_us(40); RefAdc=read_adc(); /*lecura de la salida*/ set_adc_channel(0); delay_us(40); SalAdc=read_adc(); /*ponderaciones de los valores y asignacin a variables de trabajo*/ y=(SalAdc*Pond); Ref=(RefAdc*Pond);
Accin de control
if(u>min && u<max0) {Act=0;windup=0; /* Verifica el efecto windup*/ pwmp=(unsigned int16)(u*Pondefec0); } if(u>=max3) /* en caso de saturacin por encima*/ {Act=u-max3; windup=1; pwmp=300; } if (u <= min) /* en caso de saturacin por debajo*/ { Act=u;//min-u;//porque min es cero windup=1; pwmp=0; } if(Ref>=500){ set_pwm1_duty(pwmp) ; //actua!!!!! } else {set_pwm1_duty(0); } // en caso que la Referencia sea muy pequea
Pgina 23
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
En promedio al micro-controlador le toma 4 ciclos de reloj ejecutar una instruccin, en el programa tenemos xx instrucciones en el lazo cerrado, la multiplicamos por 4 y obtenemos la cantidad de ciclos que le toma ejecutar el programa en lazo cerrado, si ahora queremos saber el tiempo multiplicamos el resultado entre la frecuencia de reloj la cual es de 20MHz.
=130useg
Pgina 24
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
IX.
Pgina 25
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
En el laboratorio:
Si comparamos las dos respuestas, la del lazo abierto versus la del lazo cerrado veremos que el tiempo de respuesta se ha mejorado en gran medida, pasa a asentarse de aproximadamente 3 segundo a un tiempo de asentamiento de casi 1 segundo, sin error en estado estacionario.
Pgina 26
FACULTAD DE INGENIERIA
ETN-933
ING. ELECTRONICA
X.
i.
Pgina 27