Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SIMULACIN
Maestra en Elctrica - II Semestre rea: Instrumentacin
Catedrtico: Dr. Enrique Cuan D. Alumno: Annuar Lpez
ndice
Introduccin .........................................................................................................................................................2
Controlador PID ..................................................................................................................................................3
Simulacin en Proteus ......................................................................................................................................5
Simulacin LabVIEW MATLAB ....................................................................................................................9
Conclusin .........................................................................................................................................................12
Apndice 1 ..........................................................................................................................................................13
Introduccin
El presente documento tiene como objetivo poner en prctica los conocimientos de
programacin adquiridos a lo largo del curso a travs del software de programacin y
simulacin MATLAB.
El proyecto que se desarroll en simulacin fue un control de temperatura de un horno
industrial; el control automtico del horno tiene retroalimentacin (lazo cerrado) ya que se
implement en l un controlador PID el cul es ejecutado por un microcontrolador
PIC16F877A, dicho dispositivo fue programado en lenguaje C y posteriormente simulado en
el programa ISIS Proteus versin 7.9; para posteriormente a travs de la emulacin de un
puerto COM dentro de la misma computadora, enlazar el software antes mencionado para
transmitir sus datos a LabVIEW de National Instruments versin 2012 en donde el
comportamiento del aumento o disminucin de la temperatura es monitorizado junto con la
ejecucin de un Mathscritp de MATLAB dentro del mismo entorno de programacin de
LabVIEW.
Controlador PID
Uno de los controladores ms comunes que se utilizan en la industria es el controlador PID
(Controlador Proporcional-Integral-Derivativo). Sin entrar en teora de control, se puede indicar que un
controlador PID responde a la siguiente ecuacin:
()
() = () +
() +
0
() = 1 +
1
+ ()
Un controlador PID tiene tres parmetros (Kp,Ti,Td) los cuales interactan uno con el
otro hasta obtener la respuesta de salida deseada.
0 = 2 1
0 =
1 0
1 0
Segn Ziggler y Nichols, las relaciones de estos coeficientes con los parmetros del
controlador son:
=
1.20
= 20
0 0
= 0.50
1 1
() = () [1 +
+
]
(1 1 )
Tambin:
()
=+
+ (1 1 )
1
()
1
Donde:
Simulacin en Proteus
Para obtener los valores de las ganancias del controlador PID discreto, primero se
prob el comportamiento del sistema con una entrada escaln al 20% de su capacidad,
para posteriormente analizar la curva caracterstica de operacin.
10
11
Conclusin
Los Softwares de Programacin y Simulacin Virtual son una herramienta
poderosa a lo hora de disear y desarrollar proyectos ya que permiten prevenir y/
corregir fallas inclusive antes de llegar a la etapa de construccin de un prototipo ya sea
de algn proceso de control y automatizacin, monitoreo etc.
Con las herramientas ofrecidas por ISIS PROTEUS, LabVIEW y MATLAB, se pudo
desarrollar un proyecto integral tanto de la parte de instumentacin simulada en ISIS
PROTEUS como el monitoreo en LabVIEW, aunado a la parte matemtica implementada
con un MathScript de MATLAB para la conversin del valor numrico recibido a un valor
en grados Centgrados de tal manera que se pudiera visualizar la temperatura sensada.
12
Apndice 1
// Configuracin Inicial del Microcontrolador PIC de Microchip
#INCLUDE <16F877A.h>
#DEVICE adc=8
#USE delay(clock=4000000)
#USE RS232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
#fuses XT, NOWDT
#BYTE TRISC= 0X87
int set_Point;
int16 valor;
int16 control;
float a,b,c;
float temp_limit;
float rT,eT,iT,dT,yT,uT,iT0,eT0;
float max,min;
min=0.0;
max=1500.0;
a=0.1243;
b=0.000062;
c=62.1514;
temp_limit=0.0;
TRISC=0;
setup_timer_2(t2_div_by_4,249,1);
setup_ccp1(ccp_pwm);
SETUP_ADC_PORTS(ALL_ANALOG);
SETUP_ADC(ADC_CLOCK_INTERNAL);
//Ciclo a repetir (aqu se aloja el programa del PID discreto)
for(;;){
13
set_adc_channel(1);
delay_us(20);
set_Point=read_adc();
temp_limit=set_Point*19.53125;
set_adc_channel(0);
delay_us(20);
valor=read_adc();
PUTC(valor);
yT=valor*20000.0/1024.0;
rT=temp_limit;
eT=rT-yT;
iT=b*eT+iT0;
dT=c*(eT-eT0);
//Respuesta PID
uT=iT+a*eT+dT;
14