Академический Документы
Профессиональный Документы
Культура Документы
actica 4
n
Introduccio
4.2
Objetivos
Esta pr
actica es una introducci
on a la utilizaci
on del ordenador como sistema din
amico y
como elemento de control. As, esta se organiza en tres tareas:
PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS
u
PC
Sistema
dinmico
D/A
A/D
y
Programa
(Ley de control)
4.3
Equipo necesario
Ordenador PC.
Tarjeta de adquisici
on de datos, capaz de muestrear se
nales (A/D) y generar se
nales
continuas (D/A) mediante un mantenedor de orden 0. La tarjeta se halla instalada en
el interior de los ordenadores y se accede a ella a traves de un tablero de conexiones.
A traves de la tarjeta el ordenador lee las salidas del sistema (tpicamente la posicion
y/o velocidad del eje del motor) y act
ua sobre el sistema (la se
nal de mando ser
a en
este caso un voltaje que excita al motor).
Importante: Todas las se
nales que entran o salen de la tarjeta deben estar en el rango
de -5 a 5V. Debido a que el equipo FeedBack opera entre +15V y -15V es necesario usar
un divisor de tensi
on para las entradas a la tarjeta y un amplificador para las salidas
de esta.
Compilador Visual C++.
Programa de adquisici
on y control (se describe a continuaci
on).
Osciloscopio.
Generador de onda.
Equipo de control de motor de corriente continua de Feedback Ldt. Ya ha sido ampliamente comentado en la pr
actica de control anal
ogico de los servomecanismos. Se
incluye a continuaci
on una breve rese
na a modo de recordatorio:
-5 a -5 V
a tarjeta A/D
PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS
4.4
El programa de ordenador
1. Inicializaci
on de variables.
2. Inicializaci
on de los dispositivos como pantalla y tarjeta A/D.
3. Petici
on de par
ametros al usuario: fichero de resultados, tiempo de muestreo y tiempo
final del experimento.
4. Bucle de control. Se efect
ua mientras t < tiempo final del experimento.
4.1. Esperar siguiente tiempo de muestreo.
4.2. Muestreo (lee entrada).
4.3. Calculo de la salida del controlador.
TAMIENTO DEL SISTEMA)
4.4. Salida.
4.5. Renovacion de variables.
5. Fin.
4.4.1
Descripci
on del programa
Variables
r[ ]
rv[ ]
y[ ]
yv[ ]
e[ ]
ev[ ]
u[ ]
TM
TENS
k
t
yk
uk
ek
Variables globales
Vector que almacena la evolucion de la referencia a lo largo del ensayo.
Idem. Para una segunda se
nal.
Vector que almacena la evolucion de la salida del sistema (se
nal
muestreada) a lo largo del ensayo.
Idem. Para una segunda se
nal
Vector que almacena la evolucion del error entre la referencia y la salida
del sistema a lo largo del ensayo.
Idem. Para una segunda se
nal.
Vector que almacena la evolucion de la actuaci
on sobre el sistema a lo
largo del ensayo.
Tiempo de muestreo.
Tiempo final del ensayo.
Contador de muestreos.
Variables locales
Variable que almacena
Variable que almacena
Variable que almacena
Variable que almacena
el
el
el
el
tiempo transcurrido.
valor muestreado en el instante actual.
valor de la actuaci
on en el instante actual.
valor del error en el instante actual.
Funciones
void LeeTarjeta
(double * v_ent)
Funci
on que realiza el muestreo de las se
nales de la tarjeta de adquisici
on de datos almacenando los valores en un vector v ent de longitud NENT. El valor obtenido corresponde
al voltaje de la se
nal, que puede estar entre -5 y +5 voltios. Par
ametros:
v_ent: puntero al vector de almacenamiento. En la pr
actica se usaran dos canales
de entrada correspondiendo v ent[0] con el canal 0 y v ent[1] con el canal 1.
void EscribeTarjeta
(double * v_sal)
Funci
on que transmite a la tarjeta de adquisici
on de datos loa valores almacenados en un
vector v sal (de longitud NSAL) para enviarlos por sus canales de salida. El valor obtenido
corresponde al voltaje de la se
nal, que puede estar entre -5 y +5 voltios.
Par
ametros:
v_sal: direccion de comienzo del vector. En la pr
actica solo se enviar
a por la tarjeta
la se
nal de control, por tanto se utilizar
a el canal 0 de salida para ello y la llamada
a la funci
on sera EscribeTarjeta(&uk). (por supuesto, NSAL estar
a definida a 1 en
el fichero de cabecera).
PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS
int PonPunto
Funci
on que indica de que variable se desea trazar su evolucion en la pantalla en el instante
actual. Si se asigna un valor 1, la variable correspondiente se traza, si es 0 no.
4.4.2
C
odigo fuente del programa de control
//Parametros1.h
#include <math.h>
// Par{\a}metros de la tarjeta
#define VMAX 9.9951 // nivel m{\a}ximo de tensi{\o}n
#define RESOL 32767 // resoluci{\o}n del dato digital obtenido
#define BASE_ADDRESS (unsigned int)0x220 // direcci{\o}n de la tarjeta
#define TM
20
#define TENS
#define NENT
#define NSAL
2
1
NUMPLOTS1
PLOT1YMAX
PLOT1YMIN
PLOT1YINT
#define
#define
#define
#define
NUMPLOTS2
PLOT2YMAX
PLOT2YMIN
PLOT2YINT
PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS
Archivo UnPasoDeControlador.cpp
//UnPasoDeControlador.cpp
void CPRUEBAOSCOPEDlg::UnPasoDeControlador(void) {
double * dat_ent;
double uk;
double yk;
double rk;
double Kp=0.5;
/* Asignaci{\o}n del nombre del archivo */
if (k==0)strcpy(filename,"resultado.m");
dat_ent=CreaVector(Nent);
/*******************/
/*MUESTREO
*/
/*******************/
LeeTarjeta(dat_ent);
yk=dat_ent[0];
yvk=dat_ent[1];
//uk=Kp*(rk-yk);
//uk=5*sin(2*3.14159/3*t);
//uk=(rk+r[k-10])/2;
uk=yk;
EscribeTarjeta(&uk);
/* actualiza vectores */
y[k]=yk;
u[k]=uk;
r[k]=rk;
/*r,rv,u,y,yv,e,ev*/
PonPunto(1,0,1,1,0,0,0);
LiberaVector(dat_ent);
}
4.5
4.5.1
ctica
Desarrollo de la pra
Muestreo y reconstrucci
on de se
nales continuas.
4.5.2
Identificaci
on y control del motor de CC
La din
amica del computador se fija mediante una ecuaci
on en diferencias que se implementa
en un programa que se ejecuta en el computador. Con este fin se ha desarrollado un programa
que permite de una forma sencilla realizar esta tarea.
En pr
actica 3 se presento un sistema de laboratorio formado por un motor de corriente
continua sobre el cual se realiz
o un ensayo en escalon y un control elemental.
Esta pr
actica se centra en el control del motor de corriente continua utilizado anteriormente
10
PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS
yv
GN
D
AI1
GND
AI0
AO0
11
Identificaci
on del motor
k1
s+1
yyv
k2
s
Se
nal de mando en Voltios.
Velocidad de giro, expresada en Voltios tras del atenuador.
Posicion angular, expresada en Voltios tras del atenuador.
Se obtendr
an los par
ametros del sistema k1 , y k2 , haciendo uso de los datos obtenidos en
los experimentos (por ejemplo de forma grafica). Los valores seran diferentes en las zonas
baja, media y alta de u, por lo que se har
a una media.
4.5.3
Dise
no de controladores para el control de velocidad
12
PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS
j=k
j=0
ej
Td
Tm
+ (ek ek1 )
)
Ti
Tm
Trabajo en el laboratorio
Conexi
on del equipo
13
4.5.4
Dise
no de un regulador PID para el control de posici
on (opcional)
Trabajo preliminar
Especificaciones PID
Usando los par
ametros k1 , k2 y de la descripci
on del sistema obtenidos en apartados anteriores se usara la transformada en s para obtener los par
ametros del PID sabiendo que se
desea que en bucle cerrado el sistema tenga un polo real en s = 1 y los otros dos polos
estaran en s = 0.1 + 2j y s = 0.1 2j.
Trabajo en el laboratorio
Conexi
on del equipo
Canal 0 A/D medir
a y.
Canal 0 D/A proporcionar
a la se
nal u.
PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS
14
Programa
Se tomar
a nota de los valores de cada prueba.
4.6
ctica
Cuestiones sobre la pra
Se detallar
a en la memoria aquellos puntos que se indicaron m
as arriba como importantes
para la observaci
on. Asimismo se incluira en la memoria todo trabajo desarrollado por el
alumno, como: rutinas de control, ecuaciones, an
alisis, etc... y todo fichero de resultados (en
forma gr
afica si se puede).
Se preferir
a una redacci
on breve y concisa, pero que no omita puntos o resultados fundamentales.
15