Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ejemplo: Modelación Del Experimento Barra y Bola
Ejemplo: Modelación Del Experimento Barra y Bola
Barra y Bola
Condiciones del Problema
Ecuaciones del Sistema
Representación en Matlab y Respuesta a Lazo Abierto
Para este problema, asumimos que la bola rueda sin resbalamiento y la fricción entre la
barra y bola es despreciable. Las constantes y variables para este ejemplo se definen
como sigue:
La ecuación que relaciona el ángulo de la barra con el ángulo del engranaje puede
aproximarse a una relación lineal mediante la ecuación de abajo:
1. Función de Transferencia
2. Espacio de Estado
Note: Para este sistema no deben usarse el engranaje y el brazo de palanca para
controlar la posición de la bola en su lugar; un motor en el centro de la barra aplicará el
torque .
m = 0.111; R = 0.015; g = -9.8; L = 1.0; d = 0.03; J = 9.99e-6; K =
(m*g*d)/(L*(J/R^2+m)); num = [-K]; den = [1 0 0]; printsys(num,den)
step(0.25*num,den)
NOTA: Los comandos del Matlab de la toolbox Control de Sistemas se resaltan en rojo.
Debería verse la figura siguiente mostrando las posiciones de la bola como función del
tiempo:
De esta figura es claro que el sistema es inestable a lazo abierto, causando que la bola se
deslice afuera de la barra. Por lo tanto, se requiere de algún método para controlar la
posición de la bola en este sistema. Abajo se listan tres ejemplos de diseño del
controlador para el problema de la FT . Puede elegir entre PID, Lugar de Raíces, y
Respuesta en Frecuencia.
2. Espacio de Estado
Las ecuaciones de espacio de estado pueden representarse en Matlab con los siguientes
commandos (estas ecuaciones son para el modelo de control de torque).
m = 0.111;
R = 0.015;
g = -9.8;
J = 9.99e-6;
H = -m*g/(J/(R^2)+m);
A=[0 1 0 0
0 0 H 0
0 0 0 1
0 0 0 0];
B=[0;0;0;1];
C=[1 0 0 0];
D=[0];
La respuesta al escalón de 0.25m (posición deseada) puede verse corriendo el comando
siguiente:
step(A,B*.25,C,D)
Al igual que el esquema para la función de transferencia, esta figura muestra que el
sistema es inestable y que la bola se va a salir de la barra. Por lo tanto, requiremos algun
método de control de la posición de la bola en este sistema. Abajo se muestra el ejemplo
de cómo implementar un controlador en Espacio de Estado para este tipo de sistema.
Ejemplo: Solución al Problema de la Barra
y Bola Usando Control PID
Representación a Lazo Cerrado
Control Proporcional
Control Proporcional-Derivativo
Para ver de dónde salen las ecuaciones para este problema pinche en barra y bola
:página de Modelación.
Control Proporcional
La función de transferencia a lazo cerrado para un controlador proporcional con una
ganancia proporcional (kp) igual a 100, puede modelarse copiando las siguientes líneas
de código de Matlab a un archivo-m
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
num = [-K];
den = [1 0 0];
kp = 1;
numP = kp*num;
numc =
0 0 0.2100
denc =
1.0000 0 0.2100
Ahora, podemos modelar la respuesta del sistema a una entrada escalón de 0.25 m.
Agregue la siguiente línea de código a su archivo-m y ejecútelo:
step(0.25*numc,denc)
Control Proporcional-Derivativo
Ahora, agregaremos un término derivativo al controlador. Copie las siguientes líneas de
código a un archivo-m y ejecútelo para ver la respuesta del sistema a este método de
control.
m = 0.111;
R = 0.015;
g = -9.8;
L = 1.0;
d = 0.03;
J = 9.99e-6;
num = [-K];
den = [1 0 0];
kp = 10;
kd = 10;
numPD = [kd kp];
Los comandos de Matlab usados en este tutorial son: c2dm pzmap zgrid dstep stairs
rlocus
Nota: Los comandos Matlab de la toolbox de control de sistema se destacan en rojo.
Introducción
La figura de abajo muestra el típico sistema continuo realimentado que hemos
considerado hasta ahora en este tutorial. Casi la totalidad de los controladores continuos
pueden implementarse usando electrónica analógica.
para esta técnica, consideremos la siguiente parte del sistema de control digital y re
ordenemos como sigue.
El reloj conectado a los conversores D/A y A/D suministra un pulso cada T segundos y
cada D/A y A/D envía una señal solo cuando llega el pulso. El propósito de tener este
pulso es que Hzoh(z) tiene sólo muestras u(k) para tratar y produce sólo muestras como
salida y(k); por lo tanto, Hzoh(z) puede ser implementado como función discreta.
La filosofía del diseño es la siguiente. Queremos hallar una función discreta Hzoh(z) de
modo que para una entrada constante a tramos al sistema continuo H(s), la salida
muestreada del sistema continuo sea igual a la salida discreta.
Suponga que la señal u(k) representa una muestra de la señal de entrada. Existen
técnicas para tomar esta muestra u(k) y mantenerla para producir una señal continua
uhat(t) (por u circunflejo). El croquis abajo muestra que uhat(t) se mantuvo constante a
u(k) en el intervalo kT a (k+1)T. La operación de mantener uhat(t) constante durante el
tiempo de muestreo se denomina mantenedor de orden cero.
La señal mantenida uhat(t) pasa por H2(s) y el A/D para producir la salida y(k) que será
la misma señal a tramos como si fluyera u(t) continua a través de H(s) para producir la
salida continua y(t).
Dibujemos ahora el esquema, poniendo Hzoh(z) en lugar de la parte continua.
Mediante Hzoh(z), podemos diseñar sistemas de control digital tratando solamente con
funciones discretas.
Nota: Existen ciertos casos donde la respuesta discreta no coincide con la respuesta
analógica debido a los circuitos de retención implementados en sistemas de control
digital. Para más información, vea Efecto de retardo asociado al mantenedor.
El tiempo de muestreo (Ts en seg/muestra) debería ser menor que 1/(30*BW), donde
BW es el ancho de banda a lazo cerrado .
1. Función de Transferencia
Asumiendo que el ancho de banda a lazo cerrado es mayor que 1 rad/seg., elegiremos el
tiempo de muestreo (Ts) igual a 1/100 seg. Ahora, cree un archivo-m nuevo e ingrese
los siguientes comandos.
M=1;
b=10;
k=20;
num=[1];
den=[M b k];
Ts=1/100;
[numDz,denDz]=c2dm(num,den,Ts,'zoh')
Luego de correr este archivo-m en la ventana de comandos le debería dar las siguientes
matrices numDz y denDz.
numDz =
1.0e-04 *
0 0.4837 0.4678
denDz =
2. Espacio de Estado
M=1;
b=10;
k=20;
A=[0 1;
-k/M -b/M];
B=[ 0;
1/M];
C=[1 0];
D=[0];
Ts=1/100;
[F,G,H,J] = c2dm (A,B,C,D,Ts,'zoh')
F =
0.9990 0.0095
-0.1903 0.9039
G =
0.0000
0.0095
H =
1 0
J =
Nota: Para más información sobre el espacio de estado discreto , refiérase a Espacio de
Estado Discreto .
donde
Cree un nuevo archivo-m y entre los siguientes comandos. Luego de correr este archivo-
m en la ventana de comandos ,verá la figura siguiente con las líneas de coeficiente de
amortiguamiento y la frecuencia natural constantes .
numDz=[1];
denDz=[1 -0.3 0.5];
pzmap(numDz,denDz)
axis([-1 1 -1 1])
zgrid
De esta figura, vemos que los polos se ubican aproximadamente a la frecuencia natural
de 9pi/20T (rad/muestra) y la razón de amortiguación de 0.25. Asumiendo que tenemos
un tiempo de muestreo de 1/20 seg (que lleva a Wn = 28.2 rad/seg.) y usando las tres
ecuaciones de abajo, podemos determinar que este sistema debería tener un tiempo de
elevación de 0.06 seg, el tiempo de establecimiento de 0.65 seg. y el sobrepico máximo
del 45% (0.45 más que el valor de estado estacionario). Obtengamos la respuesta al
escalón y veamos si estos son correctos. Agregue los comandos siguientes al archivo-m
anterior y ejecútelo nuevamente en la ventana de comandos. Debería obtenerse la
siguiente respuesta al escalón .
Para mayores análisis con ubicaciones de polos y respuesta transitoria, vea Respuesta
Transitoria.
La mecánica para dibujar el lugar de las raíces es la misma en el plano z que en el plano
s . Recordemos del Tutorial del Lugar de Raíces continuo, hemos usado la función del
Matlab denominada sgrid para hallar la región del lugar de raíces que proporciona la
ganancia correcta (K). Para el análisis discreto del lugar de raíces , usamos la función
zgrid que posee las mismas características que sgrid. El comando zgrid(zeta, Wn)
dibuja líneas de coeficiente de amortiguamiento (zeta) y frecuencia natural constante
(Wn).
numDz=[1 -0.3];
denDz=[1 -1.6 0.7];
rlocus (numDz,denDz)
axis ([-1 1 -1 1])
zeta=0.4;
Wn=0.3;
zgrid (zeta,Wn)
De esta figura, ya habrá notado que el sistema es estable porque todos los polos se
ubican dentro del círculo unitario. Asimismo, ve dos líneas punteadas de coeficiente de
amortiguamiento y de frecuencia natural constantes. La frecuencia natural es mayor que
0.3 fuera de la línea de Wn constante, y el coeficiente de amortiguamiento es mayor que
0.4 dentro de la línea de zeta constante. En este ejemplo, ya tenemos dibujado el lugar
de raíces en la región deseada. Por lo tanto, una ganancia (K) elegida en la región
deseada le debería dar la respuesta que satisfaga los requerimientos de diseño.