Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Facultad de ingeniera
Electrnica y telecomunicaciones
Microprocesadores 2
______________________________________________________________________
Ral Suquinagua.
Raul.suquinagua@ucuenca.ec
Cuenca 2016
Resumen
Este documento presenta los detalles de diseo e implementacin
prctica, de un control PI donde se va a poner en prctica el
uso
del
Microcontrolador
pic18f4550,
cuya
programacin
se
Objetivos
Objetivo General.
Objetivos Especficos.
Realizar
la
programacin
en
un
microcontrolador
microchip.
2) Detalles tcnicos
Marco Terico
Para
llegar
comprender
un
control
PI
debemos
tener
claro
cmo
Control Proporcional
La funcin de transferencia entre la salida del controlador u(t) y la
seal de error e(t) es:
()
=
()
Donde se denomina ganancia proporcional.
Otro parmetro importante en la accin de este controlador, es la
denominada banda proporcional que expresa que tan grande ser la
accin de control ante una seal de error en la entrada, y es igual a:
=
cual
controlara
la
intensidad
de
iluminacin
de
un
LED
la
ya
vimos
el
funcionamiento
de
un
control
PI,
nos
basamos
en
la
siguiente
figura,
la
ahora
desarrollar el
cual
muestra
debemos
la
{
if(INTCONbits.TMR0IF)
{
INTCONbits.TMR0IF = 0;
/////////////////////////////////////////////
//ASIGNACION DE VALORES
/////////////////////////////////////////////
max=255.0;
min=0.0;
iT0=0.0;
eT0=0.0;
a=2.0;
b=0.62;
c=0.6215;
/////////////////////////////////////////////
// ADC CONVERSION
/////////////////////////////////////////////
ADCON0 = 0b00000011;
//GO/DONE=1 => Inicia Conversion
LATCbits.LATC1 = 1;
//;Visualizar GO/DONE
//INICIA CONVERSION
while(ADCON0!=0b00000001);
//CONVERSION LISTA
LATCbits.LATC1 = 0;
//;Visualizar GO/DONE
yT= ADRESL;
//FEEDBACK
ADCON0 = 0b00000111;
//GO/DONE=1 => Inicia Conversion
LATCbits.LATC1 = 1;
//;Visualizar GO/DONE
//INICIA CONVERSION
while(ADCON0!=0b00000101);
//CONVERSION LISTA
LATCbits.LATC1 = 0;
//;Visualizar GO/DONE
rT=ADRESL;
//REFERENCE
/////////////////////////////////////////////
//PROCESS
/////////////////////////////////////////////
eT=rT-yT;
//COMPUTING SIGNAL ERROR e(kT)
iT=b*eT+iT0;
//COMPUTING INTEGRAL TERM i(kT)
uT=a*eT+iT;
//COMPUTING CONTROL TERM u(kT)
if (uT>max)
//ANTI WIND-UP
{
uT=max;
}
else
{
if (uT<min)
{
uT=min;
}
}
LATB=uT;
//OUTPUT VALUE
iT0=iT;
//VARIABLES UPDATE
eT0=eT;
TMR0H = 0X00,TMR0L = 100;
}
}
//======================================================|
//
Retardo
//======================================================|
void delayzz(void)
{
for(i=0;i<5000;i++)
{
for(j=0;j<2;j++)
{
Nop();
}
}
}
//======================================================|
//
Programa Principal
//======================================================|
void main(void)
{
//CONFIGURACION A/D
ADCON0 = 0b00000000;
ADCON1 = 0X0E;
ADCON2 = 0X86;
//CONFIGURACION PUERTOS
TRISA = 0b00011111;
TRISB = 0b00000000;
TRISC = 0b00000000;
TRISD = 0b00000000;
TRISE = 0b00000000;
//CONFIGURACION TIMER0
T0CON = 0X42;
TMR0H = 0X00;
TMR0L = 196;
RCON = 0X00;//IPEN = 0
INTCON = 0XA0;//configuramos la interrupcion del timer0
//ENCENDEMOS TIMER0 Y ADC
T0CON = 0b11000010; //OJO------10
ADCON0 = 0b00000001;
while(1)
{
//-------------------------------------|
//INTERMITENCIA LED
//-------------------------------------|
LATCbits.LATC6 = 1;
// RB-1 to High
for( i = 1; i<4; i++)
{
Delay10KTCYx(1000); //Delay 120K cycles (1 second at 1MHz
since each instruction takes 4 cycles)
delayzz();
Nop();
}
LATCbits.LATC6 = 0;
// RB-0 to LOW
delayzz();
}
5) breve explicacin del cdigo implementado
Primeramente tomamos las seales: de referencia y del elemento de
medicin (LDR) y las convertimos a digitales, para posteriormente
ser procesadas. Luego calculamos el error, que es la seal de
referencia menos la seal de medicin. Procedemos a calcular
nuestro sistema proporcional que es nicamente una constante de
proporcin ponderada por la seal de error. Para el sistema
integrador hacemos la sumatoria de los errores en lugar de la
integral
dado
que
trabajamos
en
tiempo
discreto.
Tambin
implementamos un sistema anti windup que bsicamente limita el
mximo y mnimo valor de salida al puerto en uso.
para
de
entrada
que
toma
la
el
voltaje
entregado
por
el
LDR
Bibliografa