Documente Academic
Documente Profesional
Documente Cultură
Práctica 7
Conv. A/D
Conv. D/A
Objetivo:
275
CAPÍTULO IV. SISTEMAS DE CONTROL PRÁCTICOS
Introducción:
Este circuito funciona como un sumador con 4 entradas donde el valor de ellas es
de -5 Volts, las entradas pueden ser habilitadas o deshabilitadas con el código
binario de entrada, dando 16 posibles valores de entrada.
El voltaje de salida del convertidor digital – analógico está dado por la siguiente
expresión:
Donde Ri = R + RThevenin = R + R = 2R
276
CAPÍTULO IV. SISTEMAS DE CONTROL PRÁCTICOS
277
CAPÍTULO IV. SISTEMAS DE CONTROL PRÁCTICOS
P I D
278
CAPÍTULO IV. SISTEMAS DE CONTROL PRÁCTICOS
Material y equipo:
Osciloscopio
Generador de funciones
Fuente de energía
Multímetro
1 Cable BNC-BNC
2 Cables BNC-Caimán
Conector BNC tipo T
Caimanes
Protoboard
2 C.I. LM741
Resistencias (1 de 3.9 KΩ, 8 de 2.2 KΩ y 5 de 1 KΩ)
Capacitores (1 de 100 µf y 1 de 1000 µf)
4 Interruptores de 1 polo 2 tiros
PIC 16F887
Programador universal PIC MASTER
Computadora personal con software PicKit2 v2.61 y C CCS Compiler
Trabajo de casa:
3. Para el controlador PID del punto 3 del trabajo de laboratorio identifique la parte
proporcional, la parte integral y la parte derivativa y determine la salida en forma y
amplitud para cada una de ellas cuando se aplica una entrada rampa. Por último
obtenga la salida total del controlador PID.
Trabajo de laboratorio:
Tabla 4.1
280
279
CAPÍTULO IV. SISTEMAS DE CONTROL PRÁCTICOS
1111
5. Repita el paso 4 para una señal cuadrada y una triangular. Llene la tabla 4.2.
Amplitud
Señal de entrada Amplitud (P) Amplitud (I) Amplitud (D)
(Total)
Senoidal
Cuadrada
Triangular
Tabla 4.2
7. El primer paso es abrir nuestro compilador para capturar nuestro código que
realizará la acción PID. Abrimos el programa C CCS Compiler y se mostrará la
siguiente ventana.
281
CAPÍTULO IV. SISTEMAS DE CONTROL PRÁCTICOS
10. Se abrirá una ventana dentro de nuestro compilador, dentro de ella se deberá
escribir el siguiente código que es el que realizará la acción PID.
282
#INCLUDE <16F887.H>
#DEVICE ADC=10
#USE DELAY(INT=4000000)
#FUSES INTRC_IO,NOWDT
VOID MAIN()
{
INT16 valor, control; //Variables para lectura de ADC y señal de Control a módulo CCP
FLOAT kp,kiT,kdT; //Constantes para parámetros de controlador PID
FLOAT VALOR_REFERENCIA; //Valor de referencia
FLOAT rt,eT,iT,dT,yT,uT,iT0,eT0; //Variables de controlador PID
FLOAT max,min; //Variables para anti-windup
min=0.0;
max=600.0;
iT0=0.0;
eT0=0.0;
kp=8.4;
kiT=0.28;
kdT=63;
VALOR_REFERENCIA =3.0; //Set Point r(kT)= 3
setup_timer_2(t2_div_by_4,249,1); //Configuracion para establecer PWM a 1kHz
setup_ccp1(ccp_pwm); //Configurar módulo CCP1 en modo PWM
setup_adc_ports(all_analog); //Configurar ADC
setup_adc(adc_clock_internal);
set_adc_channel(0); //Seleccionar Canal 0 para entrada analógica
while(true)
{
valor=read_adc(); //Leer ADC
yT=5*valor/1024.0; //Escalar señal de salida del sistema y(kT)
rT= VALOR_REFERENCIA;
eT=rT-yT; //Calcular señal de error e(kT)
iT=kiT*eT+iT0; //Calcular término integrativo i(kT)
dT=kdT*(eT-eT0); //Calcular término derivativo d(kT)
uT=iT+kp*eT+dT; //Calcular señal 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 señal de control al actuador
iT0=iT;
eT0=eT;
delay_ms(10); //Periodo de muestreo T=0.01s
}
}
11. Una vez que terminamos de escribir nuestro código guardamos el archivo, para
ello vamos al botón azul de la esquina superior izquierda y elegimos la opción “Save”.
12. El siguiente paso es agregar nuestro código a un proyecto, por lo que vamos a
la pestaña “Project” y seleccionamos “Create”. Se mostrará una nueva ventana.
13. Dentro de dicha ventana, seleccionamos nuestro archivo creado antes y damos
click en “Abrir”. Se mostrará la siguiente ventana:
283
CAPÍTULO IV. SISTEMAS DE CONTROL PRÁCTICOS
19. Ahora procedemos a programar nuestro PIC 16F887 con el Programador PIC
MASTER, grabaremos el código realizado anteriormente.
284
CAPÍTULO IV. SISTEMAS DE CONTROL PRÁCTICOS
22. Con el generador de funciones introducir una señal triangular de 5 Vpp con una
frecuencia de 100 Hz y observar la señal de salida con el osciloscopio.
285
286