Вы находитесь на странице: 1из 10

CONTROL DIGITAL

Unidad 3: Paso 3 - Diseñar e implementar un circuito de control digital PID

Presentado por:
CAMILO GONZALEZ PEREZ
CODIGO: 1057587785

Presentado a:
JOAN SEBASTIAN BUSTOS

Universidad nacional abierta y a distancia


Escuela de ciencias básicas, tecnología e ingeniería
2019
Introducción

Tener el control sobre las variables de un proceso y poder comprender su comportamiento en


función del tiempo nos ha permitido obtener más que una señal de respuesta, un valor manejable
a nuestras necesidades. En la presente actividad haremos uso del sistema proporcional integral
derivativo (PID), conociendo su funcionalidad y poniendo a prueba sus virtudes en el mundo del
control ingenieril.
Objetivos
• Identificar los métodos para realizar una programación de un controlador PID

• Manejar Protueus para simulación de circuitos y el programa PIC C compiler para crear
código fuente de un determinado controlador.

• Conocer la importancia sobre el uso de microcontroladores para el desarrollo de la


industria.
MODELAMIENTO DEL SISTEMA

Implementar un controlador PID en un microcontrolador PIC 16f877A para un sistema de


calefacción.
La simulación se debe desarrollar en Proteus utilizando el Heated Oven (LumpedModel) y se
establecerán los siguientes valores:
Temperature Ambient (°C)= 27
Thermal Resistence to Ambient (°C/W)= 0.5
Oven Time Constant (sec) = 10
Heater Time Constant (sec) = 1 Temperature coefficient (V/°C)=1
Heating Power (W)= 150
El modelo esquemático OVEN contiene un terminal sensor T que entrega un voltaje proporcional
a la temperatura del sistema.
Set configuración:
Temperature Ambient (°C)= 27

Thermal Resistence to Ambient (°C/W) = 0.5

Oven Time Constant (sec) = 10

Heater Time Constant (sec) = 1


Temperature coefficient (V/°C)=1

Heating Power (W)= 150

Definidos por el análisis en lazo abierto de Ziegler-Nichols.

𝑡0 = 𝑡1 − 𝑡0 = 4 − 3 = 1
𝑦0 = 𝑡2 − 𝑡1 = 17.5 − 4 = 12.5
𝑦1 − 𝑦0 276 − 25
𝑘0 = = = 125.5
𝑢1 − 𝑢0 2−0

El sistema de calefacción queda definido de la siguiente forma:


𝐾𝑜 𝑒 −𝑠𝑡0 𝑒 −𝑠
𝐺 (𝑠 ) = = 125.5
1 + 𝑦0 𝑠 1 + 12.5 𝑠
Los parámetros Kp, Ti y Td se calculan según la Regla de Sintonización de Ziegler-Nichols
basada en la respuesta al escalón.

𝑦0
𝐾𝑝 = 1.2 = 0.1195
𝑘0 𝑡0

𝑇𝑖 = 2𝑡0 = 2

𝑇𝑑 = 0.5𝑡0 = 0.5

Reemplazando los valores de Kp, Ti y Td,


Teniendo como base un periodo de muestreo T=0.1s.

𝑎 = 𝐾𝑝 = 0.1195

𝐾𝑝 𝑇
𝑏= = 0.0062
𝑇𝐼

𝑘𝑝 𝑇𝑑
𝐶= = 0.6215
𝑇
Recomendación.
Es necesario un conversor Análogo/Digital para realizar el ingresa del voltaje entregado por el
sensor T del modelo OVEN. Dado que dicho terminal entrega 1V/°C, se utiliza un divisor de
voltaje para adecuar la señal del sensor a niveles permitidos por el conversor A/D; en este caso se
utiliza un divisor de voltaje con factor 100, es decir, que para una temperatura de 100°C (100V) el
conversor recibirá 1V.
Se desarrolló el código fuente en C Compiler de acuerdo al algoritmo planteado para programar el
microcontrolador PIC 16F877A.
#INCLUDE <16F877A.H>
#DEVICE ADC=10
#USE DELAY(CLOCK=4000000)
#FUSES XT,NOWDT
VOID MAIN(){
INT16 valor, control; //Variables para lectura de ADC y señal de
Control a modulo CCP
FLOAT a,b,c; //Constantes para parámetros de controlador PID
FLOAT TEMPERATURA_LIMITE; //Referencia de Temperatura
FLOAT rt,eT,iT,dT,yT,uT,iT0,eT0; //Variables de controlador PID
FLOAT max,min; //Variables para anti-windup
min=0.0;
max=1000.0;
iT0=0.0;
eT0=0.0;
a=0.1243;
b=0.0062;
c=0.6215;
TEMPERATURA_LIMITE=1200.0; //Set Point r(kT)= 120°C
setup_timer_2(t2_div_by_4,249,1); //Configuracion de Timer 2 para
establecer frec. PWM a 1kHz
setup_ccp1(ccp_pwm); //Configurar modulo CCP1 en modo PWM
setup_adc_ports(all_analog); //Configurar ADC
setup_adc(adc_clock_internal);
set_adc_channel(0); //Seleccionar Canal 0 para sensor de Temperatura
while(true){
valor=read_adc(); //Leer ADC
yT=5000.0*valor/1024.0; //Escalizar señal de salida y(kT)
rT=TEMPERATURA_LIMITE;
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)
if (uT>max){ //Anti-windup
uT=max;
}
else {
if (uT<min){
uT=min;
}
}
control=uT;
set_pwm1_duty(control); //Transferencia de senal de control al
actuador
iT0=iT;
eT0=eT;
delay_ms(100); //Periodo de muestreo T=0.1s
}
}
DIAGRAMA ESQUEMATICO Y SIMULACION DE CONTROLADOR PID EN ISIS
PROTEUS
Bibliografía

• Bolaños, Y. H. & Pineda, L. F. & Mosquera V. H (2012). Didactic system for the
implementation of digital controllers. Revista Colombiana de Tecnologías de Avanzada,
Volumen 2, (P. 128). Recuperado de http://hdl.handle.net/10596/4971

• Ñeco García, Ramón P., Reinoso García, Oscar, and García Aracil, Nicolás.Apuntes de
sistemas de control. Alicante, ES: ECU, 2013. ProQuest ebrary. (pp. 203-211).
Recuperado
dehttp://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=226&docID=1
0740996&tm=1501271524084

• Ávalos, A. G., Montúfar, N. M. A., & Ortiz, H. F. E. (2010). Teoría de control, ajuste de
controladores industriales. (P. 75). Recuperado
de: http://bibliotecavirtual.unad.edu.co:2460/lib/unadsp/reader.action?ppg=76&docID=3
187638&tm=1513226129956

• Video de youtuve del canal Sergio Castaño (2016) https://youtu.be/9EmSybiSmOU



• Bustos, J. (2017). Simulación en Matlab de una rampa unitaria. [OVI].
Recuperado de http://hdl.handle.net/10596/14140

• Ruge, I. A. (2015). Método básico para implementar un controlador digital pid en un


microcontroladorpic para desarrollo de aplicaciones a bajo costo. Editorial Pearson
Education. Prentice Hall. Tercera Edición. Capítulo I, (pp. 1-13)México, 1998.
Recuperado de http://hdl.handle.net/10596/4993

• García, J. & Rodríguez, J. & Vidal, J. (2005). Aprenda Matlab 7.0 como si estuviera en
primero. Diciembre 2005.
Recuperado de http://hdl.handle.net/10596/4988

• Barrera, C. E. & Soria, L. R. (2010) Congreso Anual de la Asociación de México de


Control Automático. Puerto Vallarta, Jalisco, México. Diseño e Implementación de
Controladores Digitales Basados en Procesadores Digitales De Señales.
Recuperado de http://hdl.handle.net/10596/4994

Вам также может понравиться