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

Pr

actica 4

CONTROL POR COMPUTADOR


DE SERVOMECANISMOS
4.1

n
Introduccio

Como es sabido, un sistema dinamico, ante la accion de unas se


nales de entrada, evoluciona
a lo largo del tiempo variando su estado, y en consecuencia una serie de se
nales de salida.
En esta pr
actica se va a introducir el computador como un sistema din
amico que interact
ua
con otros sistemas dinamicos. Para ello debe tener un dispositivo capaz de tomar valores de
se
nales de entrada a lo largo del tiempo, y debe ser capaz de generar se
nales externas para
influir sobre otros sistemas. Este dispositivo es la tarjeta de adquisici
on de datos.
El comportamiento que tiene el computador viene dado por un programa que se dise
na al
efecto. Este programa tiene la mision de muestrear (leer) las se
nales de entrada, calcular el
valor de las salidas en ese instante y transmitirlos a la tarjeta de adquisici
on de datos para
que genere la se
nal de salida. Esta propiedad hace que el computador sea una herramienta
adecuada para la simulaci
on y/o el control de sistemas dinamicos.

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:

1. Observar los problemas de muestreo y reconstruccion de se


nales continuas incluyendo
el fenomeno de enmascaramiento o aliasing.
1


PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS

u
PC

Sistema
dinmico

D/A
A/D

y
Programa
(Ley de control)

Figura 4.1: Diagrama de bloques de un esquema de realimentaci


on usando un computador.
2. Estudio est
atico y din
amico del sistema y comparacion con los resultados de la pr
actica
3. Identificaci
on de los par
ametros caractersticos del sistema.
4. Introducir el computador como elemento 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:

Laboratorio de Control Autom


atico

Motor de corriente continua excitaci


on serie (MT 150F): Se utilizar
a la
conexion por armadura, para lo cual han de estar unidos los terminales de la
siguiente forma: 3 con 6, 4 con 5 y 7 con 8. Para modificar la velocidad del motor
se vara la excitaci
on del mismo, la cual (terminales 1 y 2) admite de +15 a -15
V, que seran suministrados por un amplificador, puesto que la tarjeta A/D no
proporciona bastante tensi
on.
Potenci
ometro (OP 150K): Se acopla al eje del motor para obtener su posici
on
angular. Est
a alimentado a 15V, por lo que proporciona un voltaje (entre dichos
valores) proporcional al angulo girado.
Tac
ometro: Esta incluido en el motor. Suministra una tensi
on aproximadamente
proporcional a la velocidad de giro. Esta tensi
on va de +15 a -15 V.
Freno Magn
etico: Permitir
a introducir perturbaciones durante los experimentos
de control digital directo.
Amplificador (PA 150C): Permite amplificar la se
nal de mando que es proporcionada por la tarjeta A/D (rango 5V) hasta el rango del equipo FeedBack
(15V). Precisa ajustar el cero. La entrada al amplificador no debiera ser tan
alta como los 5V que da la tarjeta, por ello se usa un atenuador delante del
mismo.
Atenuador (AU 150B): Consigue bajar el rango de la se
nal que ataca al amplificador. Si fuera necesario, se ajustara el mando de modo que cuando la tarjeta
mande al sistema la se
nal de mando m
axima (5V), el motor alcance una velocidad aceptable, no muy alta. Tras de este ajuste (que corresponde a una posici
on
cercana a la marca 9) no se volvera a mover.
Divisores de tensi
on : para adecuar los valores de los sensores al rango admitido por la
tarjeta de adquisici
on de datos. Consiste en tres resistencias iguales, de varios Momhs.
Su misi
on es la de pasar las se
nales que proporciona el equipo FeedBack del rango
(15V) al rango (5V) que es el que admite la tarjeta de conversi
on A/D (ver Fig.
4.2). Las resistencias se hallan incorporadas a los cables de medida, estando estos
debidamente marcados.
-15 a -15 V
seal de entrada

-5 a -5 V
a tarjeta A/D

Figura 4.2: Esquema del divisor de tensi


on.


PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS

4.4

El programa de ordenador

El programa es el encargado de determinar el comportamiento din


amico del sistema mediante
la implementaci
on de una determinada ecuaci
on en diferencias que controla el sistema en
tiempo discreto.
Este programa realizado por los profesores D. Lim
on, D.R. Ramrez y F. Salas sigue el
siguiente pseudoc
odigo:

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)

(AQUI SE FIJA EL COMPOR-

4.4. Salida.
4.5. Renovacion de variables.
5. Fin.

4.4.1

Descripci
on del programa

El programa que se va a utilizar en esta pr


actica forma parte de un espacio de trabajo
(workspace) llamado PRUEBAOSCOPE que comprende ademas todas las funciones y
libreras necesarias para su ejecucion como son las que trabajan con la tarjeta o las de
representacion gr
afica y manejo de ficheros.
Para la realizaci
on de esta pr
actica solo hace falta manipular el fichero de cabecera Parametros1.h y el fichero UnPasoDeControlador.cpp. Observese que para fijar la din
amica lo
u
nico que es necesario cambiar en el programa es la parte que corresponde al calculo de la
se
nal de control. Este programa se ha dise
nado para el control digital de sistemas en el
laboratorio y utiliza una serie de variables y funciones ya definidas que realizan las tareas
necesarias (como el muestreo, por ejemplo) y que facilitan la programacion

Laboratorio de Control Autom


atico

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

(int traza_r, int traza_rv, int traza_u,


int traza_y, int traza_yv, int traza_e,
int traza_ev)

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.

Laboratorio de Control Autom


atico

4.4.2

C
odigo fuente del programa de control

Fichero de Cabecera Parametros.h

//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

// Esto est{\a} fijado por la inicializaci{\o}n de la tarjeta


// que se hace en la funci{\o}n CPRUEBAOSCOPEApp::InitInstance()

#define TM

20

// Tiempo de muestreo del sistema en ms.

#define TENS

200 // Tiempo de ensayo en segundos.

#define NENT
#define NSAL

2
1

// n{\u}mero de entradas a la tarjeta (a muestrear A/D)


// n{\u}mero de salidas de la tarjeta (a generar D/A)

#define NUMPLOTS 10 // m{\a}ximo n{\u}mero de curvas en un Scope


#define
#define
#define
#define

NUMPLOTS1
PLOT1YMAX
PLOT1YMIN
PLOT1YINT

6 // n{\u}mero de curvas en un Scope 1


10.0
-10.0
1

#define
#define
#define
#define

NUMPLOTS2
PLOT2YMAX
PLOT2YMIN
PLOT2YINT

1 // n{\u}mero de curvas en un Scope 2


10.0
-10.0
1

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);
}

Laboratorio de Control Autom


atico

4.5
4.5.1

ctica
Desarrollo de la pra
Muestreo y reconstrucci
on de se
nales continuas.

En primer lugar se realizar


a el muestreo de una se
nal anal
ogica mediante la tarjeta de
adquisici
on y se reconstruir
a esta se
nal utilizando un mantenedor de orden 0 (incluido en
el convertidor D/A). Para ello se conectar
an los distintos elementos como muestra la Figura
4.3. En ella se observa que el generador de ondas produce la se
nal de entrada (una senoide)
que es muestreada por el ordenador gracias a la tarjeta de conversi
on anal
ogica-digital (tarjeta A/D) (canal A/D 0). El computador calcula la se
nal de salida a partir de la entrada
(en este caso la salida se hace igual a la entrada) y la devuelve al exterior tras la debida
conversi
on de digital a anal
ogica utilizando un mantenedor de orden 0 (canal D/A 0). Un
osciloscopio permite visualizar las se
nales de entrada y salida gracias a sus dos canales.

Figura 4.3: Esquema de conexiones.


Elegir el tiempo de muestreo T= 0.02 segundos. Se observar
a la variaci
on de la se
nal de salida
al cambiar la frecuencia de la senoide de entrada. Para frecuencias muy altas se observar
a el
fen
omeno de enmascaramiento de frecuencias (aliasing).

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

usando un computador. Para ello es necesario disponer de un modelo din


amico del sistema,
para lo cual se realizan ensayos en escalon sobre el mismo.
Posteriormente se lleva a cabo el dise
no de un controlador PI para controlar la velocidad del
motor y, opcionalmente, un controlador PID para la posici
on del mismo.
Es importante resaltar que previamente a la realizacion de la pr
actica resulta necesario haber
repasado el dise
no de controladores en discreto.
Para la realizaci
on de esta parte se conectara el sistema del motor de corriente continua a
la tarjeta de adquisici
on de datos de la forma hecha en la pr
actica anterior y que se detalla
en la figura 4.4. Para el control del mismo se usar
a el programa de control, modificando el
fichero UnPasoDeControlador.cpp.

yv
GN
D
AI1

GND

AI0

AO0

Figura 4.4: Conexi


on del sistema de control del motor de corriente continua.

Esta parte puede dividirse en tres partes:

Laboratorio de Control Autom


atico

11

Identificaci
on del motor

En la figura 4.5 se muestra el diagrama de bloques del modelo din


amico del motor. Los
par
ametros que definen el modelo se pueden determinar mediante un ensayo en escal
on.
Realizar ensayos para varios valores de u (tpicamente alto, medio y bajo) . Observese la
existencia de una zona muerta y de la saturaci
on de la se
nal de control .

k1
s+1

yyv

k2
s

Figura 4.5: Diagrama de bloques del motor.


Se pretende aqu observar el comportamiento del motor ante cambios en el voltaje de entrada
al mismo. Se usara el ordenador como monitor para dicha observaci
on en bucle abierto.
Calculo de par
ametros
La salida de la planta yv (velocidad) ante una entrada en escal
on se asemeja a la de un
sistema de primer orden. Tales sistemas quedan caracterizados por una ganancia estatica y
una constante de tiempo. Aunque el sistema objeto de estudio no es de primer orden, se
puede hacer tal aproximaci
on.
La posici
on angular del eje y resulta de integrar la velocidad multiplicada por cierta constante
(debido a la conversi
on de grados a voltios). La din
amica de la planta completa se aproxima,
por tanto, a:
k2
k1
yv
y
u
1 + s
s
donde las variables son:
u
yv
y

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

Se pretende controlar la velocidad del motor de CC (MT150F), para lo cual se utilizar


a la
informaci
on obtenida sobre el sistema en apartados anteriores.

12

PRACTICA
4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS

Trabajo preliminar: dise


no de un PI
Con los par
ametros k1 y obtenidos en la pr
actica anterior, se pueden dise
nar controladores
para el control de velocidad en bucle cerrado. Se recuerda que la forma tpica en que viene
dado un PID en forma de funci
on de transferencia en transformada s es:
1
GP ID (s) = Kp (1 +
+ Td s)
Ti s
que en tiempo discreto se puede representar por la ecuacion en diferencias:
uk = kp (ek +

j=k

j=0

ej

Td
Tm
+ (ek ek1 )
)
Ti
Tm

donde las constantes del PID son kp , Ti y Td ; Tm es el tiempo de muestreo y la variable k


indica el muestreo en curso.
Notese que en la codificaci
on de un PID que aparece en el listado de la descripci
on de esta
pr
actica aparece la expresion anterior.
La ecuacion en diferencias y las actualizaciones correspondientes estan descritas en el siguiente
fragmento de c
odigo:

/* Fijamos la referencia actual */


if(t<TENS/2) rk=1; else rk=2;
/* Calculo de la senal de mando u */
ek=rk-yk;
uk=kp*(ek+sum*tm/Ti+(ek-ek1)*Td/tm);
/* Actualizacion */
sum=sum+ek; ek1=ek;

Especificaciones del controlador PI


Se utilizar
a la transformada z para obtener un PI que cumpla:
1. El cero del PI cancelara el polo del sistema.
2. La constante de tiempo del bucle cerrado ser
a la mitad de la del sistema sin compensar.

Trabajo en el laboratorio
Conexi
on del equipo

Laboratorio de Control Autom


atico

13

Canal 1 A/D medir


a yv (velocidad).
Canal 0 A/D se conectara a masa.
Canal 0 D/A proporcionar
a la se
nal u.
Programa
Incluir en el programa una rutina que calcula la se
nal de control del PI, compil
andola y
enlazandola con el resto de ficheros del proyecto. Es importante asegurarse que los canales
de lectura en el programa correspondan a la conexi
on fsica realizada.
Experimentos
Se probar
a la eficacia del controlador dise
nado mediante una serie de experimentos en los
cuales la referencia del sistema en bucle cerrado sufrir
a escalones en distintas zonas. Los
resultados se archivar
an en ficheros *.m. Se modificar
an los par
ametros del PI de su punto
de dise
no, y se vera como afecta a la respuesta en bucle cerrado.

4.5.4

Dise
no de un regulador PID para el control de posici
on (opcional)

Se pretende controlar la posici


on angular del motor de CC (MT150F), para lo cual de nuevo
se utilizar
a la informaci
on obtenida de apartados anteriores.

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

Incluir en el programa una rutina que calcula la se


nal de control del PID, compil
andola y
enlazandola con el resto de ficheros del proyecto. Asegurarse de que los canales de lectura en
el programa corresponden con la conexi
on fsica realizada y de que el programa no ha sido
alterado.
Experimentos
Se probar
a la eficacia del PID dise
nado mediante una serie de experimentos en los cuales la
referencia del sistema en bucle cerrado sufrira escalones en distintas zonas. Los resultados se
archivar
an.
Se observar
a el efecto de cada uno de los terminos del PID (proporcional, integral y derivativo) sobre el comportamiento del bucle cerrado, modificando los par
ametros kp , Ti y Td .
Se efectuar
an diversos experimentos correspondientes a distintos valores de los par
ametros.
Para ello se procedera como sigue:
1. Elegir (a base de prueba y error) un valor de kp que haga que no haya mucha sobreoscilacion ni tampoco oscilaciones. Los efectos integral y derivativo aqu seran nulos.
nadir termino integral para anular el error en regimen permanente
2. Bajar algo kp y a
(producido por la zona muerta).
3. A
nadir ahora termino derivativo con objeto de suavizar la sobreoscilaci
on que puede
haber aparecido en el punto anterior.

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.

1. Indique la influencia de un aumento del tiempo de muestreo tanto en el muestreo como


en la actuaci
on cuando se ejecuta el programa en el apartado 4.5.1.

Laboratorio de Control Autom


atico

15

2. Indique el efecto de la saturaci


on de la se
nal de control sobre la salida del sistema en
los controles de velocidad y posici
on.
3. Indicar la posibilidad de realizar un control de velocidad y posici
on (usando la transformada s) del sistema utilizando las reglas de Ziegler-Nichols en bucle abierto y bucle
cerrado. Justificar la respuesta.

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