Escolar Documentos
Profissional Documentos
Cultura Documentos
CODIGO:201010008600
CODIGO:201010044600
Abstract
This report is all the analysis and development of the last practice of the digital control course
corresponding to the communication between the PID control and the computer via the
RS232 serial interface, where the appropriate response to visualize the variables defined
Proportional, Integral and Derivative control that results in a variation will be obtained in the
fan speed and the pitch angle of the lid or sensor to be had on the ground.
Keywords:Microcontroller, PID controller,Rs232 interface, Visual basic
Resumen
En este informe se encuentra todo el anlisis y desarrollo de la ltima practica del curso de
control digital correspondiente a la comunicacin entre el control PID y el computador por
medio de la interfaz serial RS232,en donde se visualizara la respuesta correspondiente a las
variables definidas al control Proporcional, Integral y derivativoque como resultado se
obtendr una variacin en la velocidad del ventilador y el grado de inclinacin de la tapa
sensor que se tendr en la planta.
Objetivo General
Objetivos Especficos
2.
3.
Elaboracin de la planta
Como primer paso, se procedi a construir el pndulo horizontal. con tal fin en primer lugar
se eligi un ventilador DC que funciona a 12 voltios y contaba con la suficiente potencia para
elevar el pndulo. a continuacin el ventilador fue ubicado en la parte inferior de un cilindro
plstico hueco, a este cilindro se le pego un soporte para ubicar el sensor que en este caso
se trato de un potencimetro de 10K.
utilizando el principio de la palanca un palo de madera se uni al potencimetro y en el otro
extremo se ubico una lamina cuadrada de espuma, la cual quedo sobre el extremo libre del
cilindro plstico. por ltimo se adhiri a la planta un indicador de plstico y una flecha sobre
el brazo unido al potencimetro para visualizar la inclinacin del pndulo.
Caracterizacin de la planta:
para caracterizar la respuesta de la planta, se le aplico un escaln unitario y se observo la
salida del sensor en un osciloscopio y se obtuvo el siguiente resultado:
)
)
1. Lo primero fue sacar del cuadro de herramientas los elementos que se utilizaran para
realizar tanto la comunicacin serial como los botones y cajas de texto en las cuales
se definir cual ser tipo de variable que se controlara.
2. Lo siguiente fue definir las variables de transmisin y recepcin como tipo string
cadena las cules sern las encargadas de la comunicacin con el PIC.
3. El tercer paso es configurar cada botn y caja de texto para lograr una eficiente
comunicacin con el PIC, determinando si existe la comunicacin serial y si es as
comenzar la conexin habilitando las cajas de texto para realizar transmisin y
recepcin de datos.
4. El cuarto paso fue ms experimental que terico porque se vio que en la recepcin del
programa recibamos solo signos de interrogacin (?) esto era porque el programa no
identificaba el lenguaje y lo que enviaba el PIC por lo tanto en la caja se configuro
para que leyera en byte para poder hacer una conversin y asi poder analizar lo que
nos entregaba el microcontrolador.
5. En este paso se quiso graficar la respuesta de nuestro control PID pero por problemas
no identificados el programa al incluirle esta opcin de graficar se bloqueaba y no
dejaba correr el programa hecho.
6. Por ltimo se utiliz la herramienta picturebox para colocar el logo de nuestra
universidad y un label para colocar el nombre de los diseadores del programa.
La meta era la comunicacin serial con el programa Visual Basic la cual se logry se hizo un
buen desarrollo con esta herramienta que es muy completa para realizar cualquier tipo de
programa que se quiera.
Procesamiento de datos obtenidos en el sensor:
En el procesamiento de los datos obtenidos en el control PID se utiliz el microcontrolador
PIC 16F877A el cual es alimentado con 5V y mide el valor que tiene el sensor con el dato
que se le introduce al programa Visual Basic y compara estos dos valores dando como
resultado una variacin de potencial en la planta es decir variando la velocidad del ventilador
y por ende variando el sensor que nos determina el ngulo y posicin en que se encuentra
cada una de las variables a controlar ya sea Proporcional, Integral o Derivativa y as llegar al
valor deseado.
El sensor que se utiliz para medir estas variaciones de potencial fue un potencimetro de
10k. el cual estaba conectado a una tensin de 5Vdc por lo cual variaba dentro del mismo
rango de la tensin de referencia del pin A0 encargado de realizar la conversin de anlogo a
digital.
el clculo de la resolucin del ADC de 8 bits, esta dado por la siguiente ecuacin:
cdigo:
#include <prueba-control-p.h>
INT16 control,valor; //Variables para lectura de ADC y seal de Control a modulo CCP
FLOAT a,b,c; //Constantes para parmetros de controlador PID
char t;
FLOAT set1; //Referencia de Temperatura
unsigned int s,rt,eT,iT,dT,yT,iT0,eT0; //Variables de controlador PID
FLOAT max,min,desbordei,; //anti desborde
unsigned int contador,recibido,set;
unsigned int dato,adc0,adc1,adc2,uT,g,valor1,error,m,res; //Declaramos variables a usar.
#INT_RDA
void RDA_isr(void)
{
t=getc();// lee el valor enviado por visual basic
while(t=='P')
{
if(g<58)
{
adc0=g-48;
a=adc0;
printf ("KP=");
printf ("%u",adc0);
t=0;
}
}
while(t=='i')
{
printf ("CTE integral");
g=getc();
if(g<58)
{
adc0=g-48;
adc1=(adc0/10);
b=adc1;
printf ("Ki=0.");
printf ("%u",adc0);
t=0;
}
}
while(t=='D')
{
if(g<58)
{
adc0=g-48;
adc1=(adc0/10);
b=adc1;
printf ("Kd=0.");
printf ("%u",adc0);
t=0;
}
}
}
void main()
{
min=0.0;
max=270.0;
iT0=0.0;
eT0=0.0;
a=0;
b=0;
c=0;
pru=255;
set=80;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_DIV_2);
setup_timer_2(T2_DIV_BY_1,99,1);
//fecuencia del ADC
setup_ccp1(CCP_PWM);
set_pwm1_duty((int16)0); // inicializar el PID
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
while(TRUE)
{
yT=read_adc();// lle la entrada del ADC
delay_ms(500);
rT=set;// estabelce el punto de referencia
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)
eT=error;
ANALISIS DE RESULTADOS:
RESULTADOS:
controlador Proporcional:
en primer lugar se aplico una KP=1 es decir una ganancia unitaria para ver el
comportamiento de la planta.
grafica 17: montaje final con conexin a pc y control asistido por visual BASIC.
4.
CONCLUSIONES
Se determin que para poder leer lo que enva el microcontrolador hay que darle la
configuracin readbyte y de esta manera poder analizar la comunicacin.
Se analiz y determino que la mejor planta para el desarrollo experimental de la
practica fue un tarro cilndrico para que el viento pase uniforme por todo el espacio del
cilindro y de este modo tener una buena visualizacin del control PID.
Se observo que al aadir la parte integrativa se aumento el sobre impulso, lo cual
provoca oscilaciones pero mejoro el error de estado estacionario dejandolo por debajo
del 0.7%.
El objetivo de un control PID es corregir eficazmente y en un mnimo de tiempo
perturbaciones a las que pueda estar expuesto.
Se pudo observar como el metodo de zieglernichols, ofrece una buena gua para la
aproximacin a los valores que hacen al sistema rapido y estable.
Para obtener una mejor medicin de seal de entrada es bueno tener en una posicin
fija el objeto a medir puesto que esto puede ocasionar variaciones en el
comportamiento del control.
5. PLANO ELECTRICO