Pid Pic18f4550

10
1 Implementación de Controlador PID con PIC Utilizar un controlador PIC 18F4550 como controlador PID. Programar el PIC con una aplicación utilizando el MPLAB X IDE, el compilador XC8 y el PICkit 2. Conectar un sistema térmico para comprobar su funcionalidad. Cambiar la consigna dentro del programa y comprobar la respuesta del sistema. Modificar el programa para hacer que los parámetros puedan ser transferidos por algún otro medio al controlador. 1 Computadora con MPLAB X IDE v1.85, y XC8 Instalado 1 Fuente de alimentación 15 VCD [SO3538-8D] 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 Multímetro 1 Microcontrolador PIC 18F4550 1 Programador USB PICkit 2 19 Puentes 1 Switch 4 Cables de Conexión 9 Alambres de telefonía 1 Pinza 1 Cortadora Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Control Digital. Lugar de ejecución: Instrumentación y Control (Edificio 3, 2da planta) Control Digital. Guía 5 Objetivos específicos Materiales y equipo

Transcript of Pid Pic18f4550

  • 1Implementacin de Controlador PID con PIC

    Utilizar un controlador PIC 18F4550 como controlador PID. Programar el PIC con una aplicacin utilizando el MPLAB X IDE, el compilador

    XC8 y el PICkit 2. Conectar un sistema trmico para comprobar su funcionalidad. Cambiar la consigna dentro del programa y comprobar la respuesta del sistema. Modificar el programa para hacer que los parmetros puedan ser transferidos por

    algn otro medio al controlador.

    1 Computadora con MPLAB X IDE v1.85, y XC8 Instalado 1 Fuente de alimentacin 15 VCD [SO3538-8D] 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 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

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

    Control Digital. Gua 5

    Objetivos especficos

    Materiales y equipo

  • Controlador PIDLos controladores PID son muy utilizados en la industria, pueden ser de tipo analgico o digital, utilizando microprocesadores o microcontroladores. La ecuacin diferencial caracterstica de ellos es como la siguiente:

    Ec. 1

    Donde e(t) es el error de la seal y u(t) es la entrada de control del proceso. Kp es la ganancia proporcional, Ti es la constante de tiempo integral, y Td es la constante de tiempo derivativa.

    En el dominio de la frecuencia, la funcin de transferencia para un filtro PID puede expresarse como:

    U (z )=K P [1+ TT i(1z1)+T d (1z1)

    T ]E (z ) Ec. 2Donde T es el tiempo de muestreo

    Control Digital PID

    La funcin de transferencia para un controlador PID digital se puede expresar de la siguiente manera:

    U ( z)E (z)

    =a+ b(1z1)

    +c (1z1)Ec. 3

    Esta funcin de transferencia puede ser expresada de la siguiente manera:Donde:

    a0=K P b=(K pT )T i

    c=K pT dT Ec. 4

    Existen distintas posibilidades para realizar de forma prctica un controlador PID, la siguiente figura muestra la realizacin en paralelo:

    Control Digital. Gua 5

    Introduccin terica

  • 3Figura 1. Controlador PID discreto

    Los valores para K P, T d yT i pueden obtenerse a partir de las caractersticas del sistema por el mtodo de Ziegler-Nichols de lazo abierto o lazo cerrado. x (k ) Es la entrada de error al controlador y y (k ) es la salida controlada

    Para un controlador PI y un tiempo de muestreo de 0.1s K P=2,0 , T N=9.00s y T V=0

    Se tiene el clculo de los coeficientes de salida:

    a=KP=2.00 b=K pT T i

    = 2.009.00 0.1 =0,02 c= K pT dT =0El algoritmo de realizacin del filtro PID paralelo de la Figura 1 tendra las siguientes partes:

    a) Declaracin de variablesb) Configuracin de los perifricos del PIC que seran el ADC y PWMc) Toma de la muestra de salidad) Escalado de la muestrae) Clculo del error x(k)f) Clculo de rama proporcional x(k)*Kpg) Clculo de rama integralh) Clculo de rama derivativai) Suma de respuestas proporcional, integral y derivativa para obtener salida de

    control y(k)j) Escalado de la salida de controlk) Modificacin del Duty Cycle del PWMl) Retardo de 100ms (la muestra se toma cada 100ms)

    x (k ) z1

    ++

    +

    z1

    y (k )

    11

    11

    K P

    K pTT i

    K pT dT

    Control Digital. Gua 5

    Procedimiento

  • m) lazo hasta c)

    Procedimiento de programacin en PIC:

    1. Abra el programa MPLAB IDE (Aplicaciones-->Programacin)2. Seleccione del men File la opcin New Project, aparecer la ventana de

    trabajo, seleccione en Categories la opcin Microchip Embedded y en Projects la opcin Standalone Project , luego presione el botn Next

    3. En la siguiente pantalla de seleccin del dispositivo elija en Family la opcin Advanced 8-bit MCUs (PIC18) y luego busque en Device la opcin PIC18F4550 y d clic en Next

    4. Aparecer la ventana de seleccin de herramientas, en Herramientas de Hardware seleccione PICKit 2 y d clic en Next, aparecer la ventana de seleccionar compilador, elija la opcin XC8(V1.20) y d clic en Next.

    5. Finalmente asigne un nombre al proyecto y seleccione la ruta de la carpeta donde este quedara alojado, puede usar las rutas por defecto asegurndose de registrarlas para posteriores bsquedas, luego presione Finish con lo que la herramienta concluir la creacin del proyecto, presentando el entorno de trabajo.

    6. Ahora proceda a crear el archivo fuente del programa que se desea crear, para ello haga click derecho sobre la carpeta Source Files ubicada en el arbol del proyecto ubicado en la parte izquierda de la pantalla y seleccione la opcin New y luego C Main File, escriba el nombre del archivo y presione Finish, se abrir el editor para que pueda escribir el cdigo fuente en C que se muestra a continuacin:

    //Programa para Realizar el control PID//para sistema Trmico con terminal analgica AN0//Utilizando la salida PWM

    #include //Cabecera de Nucleo#include #include #include //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#pragma config DEBUG = ON //Modo de depuracin disponible#pragma config LVP = OFF //Fuente de ISCP apagada

    //Definicin de variables globales

    //Programa principal

    Control Digital. Gua 5

  • 5void main(){// Declaracin de variables localesint valor;int controlsignal;float a= 2.0; //KPfloat b =0.02;//KP*Tm/Ti = 2.0*100m/9sfloat c=0.0; //KP*Td/Tm Td=0.0float SETPOINT=750.0;float eT=0.0;float iT=0.0;float dT;float yT;float uT;float iT0;float eT0;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 PWMTRISC2 = 0;

    // Configurar el ADC AN0 con el ADCONADCON1=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 Timer2T2CON=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 while (1){ ConvertADC(); while (BusyADC()){} valor = ReadADC();//leer el Canal analgico AN0 yT = 1000.0*valor/1024.0;//Escala para obtener la entrada de 0 a 1000

    Control Digital. Gua 5

  • eT = SETPOINT-yT; //clculo del error iT = b*eT+iT0; //clculo de la componente integral dT = c*(eT-eT0); //clculo de la componente derivativa uT = iT+a*eT+dT; //clculo de la seal de respuesta del controlador if(uT>=max){ uT = max; //Estableciendo lmite superior de la respuesta } else { if(uT
  • 710.Conecte el sistema de temperatura Lucas Nlle al sistema con PIC como lo indica la siguiente figura:

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

    11. El mdulo Delay Line sirve para filtrar el PWM de la salida del PIC, los valores a ajustar en l son: Modo: EXP, Escala: X0.1y potencimetro de ajuste: 0.1. Despus hay un Control Proporcional que debe tener ganancia 2 para que cuando llegue al mximo valor de voltaje promedio tenga un valor mximo de 10V. El controlador proporcional que se ubica despus de la planta acondiciona los valores para que al PIC llegue una seal de 0 a 5 voltios, por eso su ganancia es de 0.5 para dividir entre 2 la salida de la planta. Pida a su docente de laboratorio que revise las conexiones y configuraciones de los mdulos.

    12.Conecte el PICKit 2 a un puerto USB de la computadora y descargue el programa al microcontrolador dando clic en el botn que se muestra en la Figura 4.

    Figura 4. Programar dispositivo

    13.Sino ha habido ningn inconveniente deber ver en la ventana Output la salida que se muestra en la Figura 5.

    Control Digital. Gua 5

  • Figura 5. Ventana Output, programacin completa.

    14.Si aparece algn mensaje de error, verifique las conexiones del PIC y la conexin a la PC del PICKit 2 y reintntelo, si an persisten problemas notifique a su docente de laboratorio.

    15.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).

    16.Observe al medidor y compare si su valor obtenido es similar al de referencia, y si no hay oscilaciones en la medida (se pudieran presentar, ya que se estn empleando valores no calibrados para la planta en particular).

    17.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).

    18.Re-compile el programa, descrguelo y corralo nuevamente. Encienda la fuente y Observe si llega el sistema a estabilizarse en el valor deseado.

    19.Apague la fuente de alimentacin, cierre el MPLAB IDE, desconecte el cable USB de la computadora y desarme el sistema.

    Analice el cdigo y comprelo con el algoritmo presentado al inicio del procedimiento. Cmo se realiza la conversin de PWM a Voltaje D.C. Para tener una salida analgica? Fue la respuesta de la planta la esperada segn el valor de referencia introducido en el

    programa? Ser suficiente el tiempo de muestreo empleado para manejar una planta de otra

    variable que tenga cambios ms rpidos, por ejemplo, velocidad de un motor D.C?

    Defina una rutina para utilizar directamente los valores de Kp, Ti y Td en el programa para calcular los valores de los coeficientes a, b y c.

    Defina una forma de enviar los valores de SETPOINT Kp, Ti y Td va un protocolo serie (SPI o SCI) a localidades de memoria RAM del PIC para actualizarlos directamente.

    Investigue cmo se pudiera emplear un timer para lograr que el tiempo de muestreo sea

    Control Digital. Gua 5

    Anlisis de Resultados

    Investigacin Complementaria

  • 9exacto por medio de interrupciones.

    Ruge Ruge, Ilber adonayt, Mtodo bsico para implementar un controlador digital pid en un microcontrolador pic para desarrollo de aplicaciones a bajo costo, GITEINCO. Disponible en:http://www.microvirtual.org/images/Congreso/Ponencias_CVM1/Industria/ind_11.PDF

    Microchip, MPLAB X IDE Users Guide. Disponible en:http://ww1.microchip.com/downloads/en/DeviceDoc/52027B.pdf

    Hoja Tcnica Microcontrolador PIC18F4550. Disponible en:http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf

    Control Digital. Gua 5

    Bibliografa

  • EVALUACION

    % 1-4 5-7 8-10 Nota

    CONOCIMIENTO 25 Conocimiento deficiente de los fundamentos tericos

    Conocimiento y explicacin incompleta de los fundamentos tericos

    Conocimiento completo y explicacin clara de los fundamentos tericos

    APLICACIN DEL CONOCIMIENTO

    70 Necesit mucha ayuda para realizar las conexiones del sistema (20%)El sistema no se poda controlar correctamente (20%)No concluy de forma coherente a los resultados registrados. (30%)

    Necesit poca ayuda para realizar las conexiones del sistema (20%)El sistema se control correctamente despus de intervencin del docente (20%)Sus conclusiones tienen relacin coherente a los resultados registrados pero incompletas. (30%)

    Realiza correctamente las conexiones del sistema sin ayuda.(20%)El sistema se control correctamente (20%)Sus conclusiones tienen relacin coherente y completa respecto a los resultados registrados (30%)

    ACTITUD 2.5 Es un observador pasivo.

    Participa ocasionalmente o lo hace constantemente pero sin coordinarse con su compaero.

    Participa propositiva e integralmente en toda la prctica.

    2.5 Es ordenado; pero no hace un uso adecuado de los recursos

    Hace un uso adecuado de los recursos, respeta las pautas de seguridad; pero es desordenado.

    Hace un manejo responsable y adecuado de los recursos conforme a pautas de seguridad e higiene.

    TOTAL 100%

    Hoja de cotejo: 5

    Gua 5: Control PID Implementado en PIC.

    Alumno:

    Docente: GL: Fecha:

    Maquina No:

    Control Digital. Gua 5