You are on page 1of 16

Control Digital.

Gua 6 1

Facultad: Ingeniera.
Escuela: Electrnica.
Asignatura: Control Digital.
Lugar de ejecucin: Instrumentacin y Control (Edificio
3, 2da planta)

Implementacin de Controlador de Adelanto de Fase con PIC

Objetivos especficos

Utilizar un microcontrolador PIC 18F4550 como controlador de Adelanto de


Fase.
Utilizar System Identification Toolbox de MATLAB para modelar la planta a
controlar.
Utilizar SISO Design Tool de MATLAB para disear el controlador de adelanto
de fase.
Conectar el sistema trmico para comprobar su funcionalidad.

Materiales y equipos

1 Computadora con los siguientes software instalados: MATLAB R2008a con Control
system toolbox, MPLAB X IDE v1.85, XC8 y LibreOffice Calc o Microsoft Excel.
1 Fuente de alimentacin de +/- 15 VCD [SO3538-8D]
1 Referencia de voltaje [SO3536-5A].
1 Elemento PT1 (Delay Line) [SO3536-6C]
1 Amplificador de potencia [SO3536-7Q]
1 Sistema controlado de temperatura [SO3536-8T]
2 Controladores proporcionales [SO3536-5T].
1 Graficador X-Y Y-t (PLOTTER).
1 Pluma para el graficador
2 Hojas de papel milimetrado (El estudiante debe traerlas).
1 Multmetro
1 Microcontrolador PIC 18F4550
1 Programador USB PICkit 2
19 Puentes
1 Switch
4 Cables de Conexin
9 Alambres de telefona
1 Pinza
1 Cortadora
2 Control Digital. Gua 6

Introduccin terica

Controlador por Adelanto de Fase

En sistemas de control automtico el disear controladores puede verse como el diseo de


filtros, un controlador PD es un filtro pasa altas, mientras que un PI es un pasa bajas y el PID un
pasa banda o rechaza banda.
El filtro pasa altas se conoce comnmente como Controlador por Adelanto de Fase, pues
introduce fase positiva al sistema en algn intervalo de frecuencias y sirve para incrementar la
estabilidad o velocidad de un sistema. El filtro pasa bajas tambin se conoce como controlador
de atraso de fase, ya que la fase correspondiente introducida es negativa.

A continuacin se muestra la funcin de transferencia de un controlador de adelanto de fase:

z z c
G z = K d Ec 1
z z p

El polo zp debe ser un valor real dentro del crculo unitario. Para un adelanto de fase, el cero es
mayor que el polo (zc > zp) y Kd es mayor que 1.

Generalmente para el diseo del adelanto de fase , el cero (zo) del compensador se ubica cerca
de la ubicacin de uno de los polos de la planta para la cancelacin polo-cero. El polo (zp) del
compensador se ubicar a la izquierda del cero de modo que el lugar de races se mueva a la
izquierda.
La ubicacin de ambos depender de los requerimientos de diseo que se requieran como
tiempo de subida, tiempo de asentamiento y sobreimpulso.

Para implementar el filtro en el microcontrolador, primero se obtiene la ecuacin en


diferencias:

y[n]=K.e[n] - K.zc.e[n-1] + zp.y[n-1] Ec 2

y luego se debe seguir el siguiente algoritmo:

a) Declarar variables
b) Configurar los perifricos del PIC: ADC y PWM
c) Tomar muestra de la salida
d) Escalar la muestra
e) Clcular el error (e)
f) Calcular el dato de salida del controlador: y = K*e - K*zc*e0 + zp*y0
g) Escalar el dato de salida del controlador
Control Digital. Gua 6 3

h) Modificar el Duty Cycle del PWM


i) Guardar datos actuales de salida y entrada para ser utilizados en la siguiente iteracin
j) Retardo de 100ms (la muestra se toma cada 100ms)
k) lazo hasta c)

System Identification Toolbo x de MATLAB

Este Toolbox con el que cuenta MATLAB y que esta dentro de Control system toolbox construye
modelos matemticos de sistemas dinmicos basndose en los datos medidos de la entrada y
salida, provee funciones, aplicaciones de identificacin del sistema y bloques de Simulink para
poder trabajar con el modelo.
Se pueden usar tanto datos de entrada y salida en el dominio del tiempo como en el dominio
de la frecuencia para identificar las funciones de transferencia, los modelos del proceso o el
espacio de estados tanto en tiempo continuo como tiempo discreto.

SISO Design Tool de MATLAB

Es una herramienta grfica que permite el diseo de controladores utilizando el mtodo de


lugar geomtrico de las races, mostrando en tiempo real las variaciones de la respuesta del
sistema generadas por los cambios realizados por el usuario en el lugar de las races y el
cambio en los parmetros del controlador a disear.

Procedimiento

PARTE I. Implementacin d el Controlador adelanto de fase con PIC.

1. Abra el programa MPLAB IDE, cree un nuevo proyecto para programar el


microcontrolador PIC18F4550 en lenguaje C con el cdigo de un controlador por
adelanto de fase que se muestra a continuacin.
//Programa para Realizar un controlador de adelanto de fase
//para sistema Trmico con terminal analgica AN0
//Utilizando la salida PWM

#include <p18f4550.h> //Cabecera de Nucleo


#include <xc.h>
#include <plib/adc.h>
#include <plib/pwm.h>
//Directivas para activar los bits de configuracion
#pragma config FOSC = INTOSCIO_EC //Oscilador Interno, Puerto A RA6 activo,
#pragma config WDT = OFF //Watchdog timer apagado
#pragma config PBADEN = OFF //Parte baja del puerto B digitales
#pragma config MCLRE = ON //MCLRE Disponible
4 Control Digital. Gua 6

#pragma config DEBUG = ON //Modo de depuracin disponible


#pragma config LVP = OFF //Fuente de ISCP apagada

//Definicin de variables globales

//Programa principal
void main()
{
// Declaracin de variables locales
int valor;
int controlsignal;
float zc=0.9737; //cero del controlador
float zp=0.40;//polo del controlador
float k=230; //Ganancia del controlador
float SETPOINT=750.0;
float et; //seal de error
float eta=0.0; //seal de error anterior
float yta=0.0; //salida anterior
float yt; //salida actual
float xt;//valor del ADC escalado
float max=1000.0;
float min=0.0;
// Modificacin de la preescala del clock principal a 1Mhz
IRCF2=1;
IRCF1=0;
IRCF0=0;
//Configurar el puerto C Bit 2 como salida del PWM
TRISC2 = 0;
// Configurar el ADC AN0 con el ADCON
ADCON1=0x0E;
ADCON0=0X01;
ADCON2=0x80;
//Configurar los parmetros del PWM
//_,T2OUTPS3,T2OUTPS2,T2OUTPS1,T2OUTPS0,TMR2ON,T2CKPS1,T2CKPS0
//0 0 0 0 0 1 0 1
PR2=0x7C;//Configurar periodo para 500Hz de PWM
TMR2=0; //Limpiar el Timer2
T2CON=0x05; //Preescala de 4 y activacin del T2
//Configurar el registro CCP1CON, seleccion de modo PWM
//_,_,DCxB1,DCxB0,CCPxM3,CCPxM2,CCPxM1,CCPxM0
//0 0 0 0 1 1 0 0
CCP1CON=0x0C;//Bits 4 y 5 de CCP1CON en 0
Control Digital. Gua 6 5

while (1){
ConvertADC();
while (BusyADC()){}
valor = ReadADC();//leer el Canal analgico AN0
//Escala para obtener la entrada de 0 a 1000
xt = 1000.0*valor/1024.0;
et = SETPOINT-xt; //clculo del error
//clculo de la seal de respuesta del controlador
yt = (k*et)-(k*zc*eta)+(zp*yta);
if(yt>=max){
yt = max; //Estableciendo lmite superior de la respuesta
}
else {
if(yt<=min){
yt = min; //Si est la respuesta abajo de cero se ubica al mnimo
}
}
controlsignal=yt;
SetDCPWM1(controlsignal);
eta=et;
yta=yt;
_delay(100); //Retardo de 100ms para tomar siguiente muestra
}
}
Listado 1. Programa para controlador de adelanto de fase.

2. Guarde el programa y proceda a su compilacin.


3. Conecte al PIC 18F4550 con el PICKit 2 como se muestra en la siguiente figura:
6 Control Digital. Gua 6

Figura 1. Conexiones PICKit 2 con PIC 18F4550.


4. Conecte el sistema de temperatura Lucas Nlle al sistema con PIC como lo indica la
siguiente figura:

Figura 2. Conexin del PIC como PID en sistema de temperatura.

5. Conecte el PICKit 2 a un puerto USB de la computadora, descargue y corra el programa


en el microcontrolador.
6. Encienda la fuente de alimentacin de +/-15V y mida con el voltmetro la salida del
transductor de temperatura, luego cierre el switch que coloc en el sistema trmico. El
setpoint para este caso es de 7.5 (750 dentro del programa).
7. Observe al medidor y compare si su valor obtenido es similar al de referencia Debe
haber un error de cero en estado estacionario?, explique:
8. Apague la fuente de alimentacin de +/-15V y modifique el valor de SETPOINT
poniendo un valor de 850.0 (recuerde que la escala va de 0 a 1000 en el SETPOINT).
9. Re-compile el programa, descrguelo y corralo nuevamente. Encienda la fuente y
Observe, llega el sistema a estabilizarse en el valor deseado?.

PARTE II. Modelado de la Planta.

10. Arme el sistema que se muestra en la Figura 3.


11. Ajuste el mdulo de Setpoint para obtener un voltaje de 8.5V.
12. Coloque el plotter con una escala en t de 20s/cm y en Y de 1V/cm.
13. Trace la grfica de respuesta del sistema, no olvide indicar en la grfica el punto exacto
donde cerr el switch.
Control Digital. Gua 6 7

Figura 3. Sistema Trmico.

14. De la grfica obtenida, tome datos cada 5s de los valores de entrada y salida y genere
una tabla en LibreOffice Calc o Microsoft Excel como se muestra a continuacin:

Figura 4. Tabla de datos de entrada y salida del sistema.

15. Guarde el documento como .xls (si est en LibreOffice, en la opcin Guardar como
elija como tipo Microsoft Excel 97/2000/xp/2003(.xls))
16. Abra el programa MATLAB y del men File seleccione la opcin Import Data , le
pedir que indique el archivo de datos que quiere importar, seleccione el archivo .xls
que cre en el paso 14, luego se abrir la ventana que se muestra en la Figura 5, de esa
ventana seleccione la opcin Create Vectors from each column using column names y
presione el botn Finish
17. Con los vectores llamados como los nombres de las columnas de la hoja de clculo ya
almacenados en MATLAB, entre a la herramienta de identificacin del sistema digitando
el comando ident, se abrir una ventana como la que se muestra en la Figura 6.
8 Control Digital. Gua 6

Figura 5. Ventana Import Wizard.

Figura 6. Ventana System Identification Tool

18. En el men de Import Data seleccione la opcin Time domain data, se abrir la
ventana que se muestra en la Figura 7, ingrese el nombre del vector de los datos de
entrada y salida en Input y Output respectivamente, luego coloque un nombre para esos
datos en Data Name, coloque como Starting time el valor de 1 y en Sampling
interval el valor de 5 y luego presione el botn Import.
Control Digital. Gua 6 9

Figura 7. Ventana Import Data.

19. Como puede ver en la ventana de System Identification Tool (Figura 6) Los datos se han
importado, seleccione la opcin Time Plot, se desplegar una ventana con las grficas
de entrada y salida segn los datos ingresados .
20. En la ventana de System Identification Tool, seleccione del men Estimate la opcin
Process Model, se abre la ventana que se muestra en la Figura 8, ah se muestra la
funcin de transferencia de uno de los modelo propuestos, en esa ventana haga clic en
el botn Estimate para que el programa estime los valores de K, Tp1 y Td del modelo,
muestre estos valores e importe el modelo a la ventana de System Identification Tool.
21. En la ventana de System Identification Tool seleccione la opcin Model Plot para ver
como es la respuesta de este modelo y si es parecida a la respuesta de la planta, la
grfica del modelo estar en color azul y la de la planta en negro.
22. Regrese a la ventana Process Models (Figura 6), pruebe un segundo modelo, quite la
opcin Delay y coloque dos polos, de clic de nuevo en el botn Estimate para
obtener los datos del modelo. Se mostrarn los valores de K, Tp1 y Tp2 y la grfica del
modelo, observe que junto a la grfica en Best Fits, el programa ordena las grficas
poniendo primero la que ms se acerca al modelo.
23. Pruebe al menos tres modelos ms, para ver de nuevo las funciones de transferencia de
cada modelo, en la ventana de Process Model de doble clic en el nombre del modelo
para que se despliegue la informacin, anote las funciones de transferencia de los 5
modelos obtenidos.
24. Cierre todas las ventanas del System Identification Tool e ingrese a MATLAB la funcin
de transferencia del primer modelo que obtuvo, ya que su respuesta es la que mas se
parece a la de la planta real.
25. Debido a que esta versin de SISO tool no puede trabajar directamente con delay (exp -xs
), se debe hacer una aproximacin con una funcin pade de segundo orden como se
10 Control Digital. Gua 6

muestra a continuacin y luego discretice la funcin de transferencia con un tiempo de


muestreo de 0.1s con el comando c2d.
<variable>=pade(<variable>,2);
<variable>=c2d(<variable>,0.1)

Figura 8. Ventana Process Model.

PARTE III. Diseo del Controlador por el mtodo del lugar de las races .

26. Abra la herramienta SISO tool Design de Matlab, digitando el comando sisotool, se
abrirn las ventanas que se muestra en la Figura 9 y 10.
27. En la ventana de Control and Estimation Tools Manager (Figura 9), se muestra como
ser la arquitectura del sistema de control a implementar, no se cambiar nada de esa
ventana, vuelva a la ventana SISO Design for SISO Design Task (Figura 10) y del men
File seleccione la opcin Import, se abrir una ventana para que importe los
modelos de cada bloque del sistema.
28. Seleccione G que es la planta y de clic en el botn Browse, se abrir otra ventana, ah
deje la opcin workspace, abajo le mostrar las variables en las que ha definido
funciones de transferencia en MATLAB, seleccione la que ingres del modelo de la
planta ya discretizada, presione el botn Import y luego el botn close para cerrar
esa ventana, de clic en ok en la otra ventana.
Control Digital. Gua 6 11

Figura 9. Ventana Control and Estimation Tools Manager.

Figura 10. Ventana SISO Design for SISO Design Task.


12 Control Digital. Gua 6

29. En la ventana de la Figura 10, se mostrar entre otras grficas la del lugar de las races,
que se muestra en color azul y los puntos rosados representan la posicin actual de los
polos del sistema a lazo cerrado, haga un zoom para ver mejor sus posiciones, luego
seleccione del men Analysis la opcin Response to step Command para ver la
respuesta de la planta a lazo cerrado, esta se muestra en azul y tambin se muestra una
grfica en verde que es la seal de control (Ver Figura 9).
30. De clic derecho sobre la grfica y en Systems, seleccione la opcin Plant G, para ver
la respuesta transitoria de la planta, esta aparece en una lnea discontinua azul y nos
servir para determinar si la respuesta del sistema a lazo cerrado ha mejorado o no esta
respuesta .

Figura 9. Grfica del lugar de las races y de la planta a lazo cerrado.

31. Agregando un compensador con adelanto de fase se busca mejorar la respuesta


transitoria del sistema; como requerimiento de diseo se busca tener un sobre impulso
de mximo 20%, para ello de clic derecho en la grfica de LGR y seleccione la opcin
Design Requirements, luego New, en tipo seleccione Percent overshoot, ingrese el
valor de 20 y presione el botn close.
32. Para cumplir el requerimiento, los polos del sistema se deben encontrar en la lnea que
se marc como restriccin de diseo, para ello vamos a utilizar un compensador de
adelanto de fase. Como ley en la introduccin terica este compensador consta de un
polo real y un cero real, se va a colocar el cero a la izquierda de los polos del sistema a
lazo cerrado, aproximadamente en 0.996 para ello en la ventana SISO Design for SISO
Design Task haga clic en la opcin Add real cero (ver Figura 12) y luego arrastre ese
cero a la izquierda y derecha, vea el efecto que esto produce en el lugar geomtrico de
las races del sistema y en la respuesta de la planta.
Control Digital. Gua 6 13

Figura 12. Herramientas para Agregar polos y ceros.

33. Ubique el cero mas a la derecha, de tal manera que el LGR del sistema pase por la lnea
de restriccin de diseo y la respuesta del sistema no se aleje de la respuesta transitoria
de la planta (Ver Figura 13).

Figura 13. Colocacin del cero del Compensador de Adelanto de Fase.

34. Ahora mueva los polos de lazo cerrado para que se ubiquen sobre la lnea de restriccin
del diseo, como se muestra en la Figura 14, observe como esto afecta la respuesta del
sistema.

Figura 14. Ubicacin de polos del sistema a lazo cerrado en la linea de restriccin de diseo.
14 Control Digital. Gua 6

35. Ahora vamos a ubicar el polo a la izquierda del cero, aproximadamente 0.996, puede
moverlo hacia la izquierda o derecha y ver como afecta el LGR y la seal de control,
dejelo en la posicin inicial, donde afectaba poco al LGR y donde la seal de control no
era tan grande (Ver Figura 15.)

Figura 15. Ubicacin del polo y respuesta final de la planta.

36. Para saber los valores exactos de la ganancia, polo y cero, ubiquese en la ventana
Control and Estimation Tools Manager, en la pestaa Compensator Editor, ver Figura
16, anote estos valores:

Figura 16. Valores de Ganancia, polo y cero del compensador por adelanto de fase.

37. Modifique el programa del controlador con estos nuevos valores y verifique si la
respuesta del sistema es similar a la que se obtuvo con las herramientas de MATLAB.
Control Digital. Gua 6 15

38. Es la respuesta parecida a la mostrada por la herramienta SISO Design Tool?, si hay
diferencia a que cree que pueda deberse?
39. Apague la fuente de alimentacin, cierre el MPLAB IDE, desconecte el cable USB de la
computadora y desarme el sistema.

Anlisis de Resultados

Presente los datos y las respuestas a las preguntas realizadas a lo largo del
procedimiento.

Investigacin Complementaria

Disee un controlador por retraso de fase para el sistem trmico utilizando el mtodo del
lugar de las races.

Bibliografa

Kuo, B. Sistemas de Control Digital. Compaa Editorial Continental, 1997.


System Identification Toolbox, disponible en:
http://www.mathworks.com/products/sysid/
SISO Design Tool Overview, disponible en:
http://www.mathworks.com/help/control/ug/overview-of-the-siso-design-tool.html
Uso de SISOTOOL Para diseo de controles, disponible en:
http://cyberelectronica.blogspot.com/2012/05/uso-de-sisotool-para-diseno-de.html
Ejemplo de modelado de Planta, disponible en:
http://bibing.us.es/proyectos/abreproy/50034/fichero/volumen+1%252F8+-+Cap
%C3%ADtulo+6+-+MODELADO+DE+LA+PLANTA.pdf
Aguilar, A. Enfoque universitario para la implementacin del Control de un motor CD,
disponible en:
http://bibing.us.es/proyectos/abreproy/50034/fichero/volumen+1%252F8+-+Cap
%C3%ADtulo+6+-+MODELADO+DE+LA+PLANTA.pdf
16 Control Digital. Gua 6

Hoja de cotejo: 6

Gua 6: Implementacin de controlador de adelanto de fase con PIC.

Alumno: Puesto No:

Docente: GL: Fecha:

EVALUACION

% 1-4 5-7 8-10 Nota

CONOCIMIENTO 25 Conocimiento Conocimiento y Conocimiento completo


deficiente de los explicacin incompleta y explicacin clara de
fundamentos tericos de los fundamentos los fundamentos
tericos tericos

APLICACIN DEL 70 Necesit mucha ayuda Necesit poca ayuda Realiz correctamente
CONOCIMIENTO para realizar el para realizar el el modelado de la
modelado de la planta. modelado de la planta. planta(15%)
(20%) (10%)
Realiz correctamente
Necesito mucha ayuda Necesito poca ayuda el diseo del
para realizar el diseo para realizar el diseo controlador(15%)
del controlador (20%) del controlador (10%)
realizo correctamente
Presentaba varios realizo correctamente las conexiones y el
errores en las las conexiones y tenia programa (15%)
conexiones o en el errores en el programa o
programa (20%) viceversa (25%) Sus conclusiones tienen
relacin coherente y
No concluy de forma Sus conclusiones tienen completa respecto a los
coherente a los relacin coherente a los resultados registrados
resultados registrados. resultados registrados (25%)
(10%) pero incompletas. (25%)
ACTITUD 2.5 Es un observador Participa ocasionalmente Participa propositiva e
pasivo. o lo hace integralmente en toda
constantemente pero sin la prctica.
coordinarse con su
compaero.
2.5 Es ordenado; pero no Hace un uso adecuado Hace un manejo
hace un uso adecuado de los recursos, respeta responsable y adecuado
de los recursos las pautas de seguridad; de los recursos
pero es desordenado. conforme a pautas de
seguridad e higiene.

TOTAL 100
%

You might also like