Está en la página 1de 9

DC Motor Control

Control II, noviembre del 2019

DC Motor Control.
Control II
Jhon Castillo, Paola Suarez, Joseph Gutierrez.
Docente: Michael Canu

I. FEEDFORWARD (LAZO ABIERTO)

Ilustración 1. Motor DC

Ilustración 2. Técnicas reductoras con sensibilidad

Con el sistema cerrado anterior, se representa un modelo simplificado del motor de cc. Los
modelos de torque td alteran la carga. La estrategia es minimizar las variaciones de velocidad
inducidas por tales perturbaciones en el sistema.

Tomando constantes físicas como:

R = 2.0, Ohms
L = 0.5, Henrys
Km = 0.1, torque constant
Kb = 0.1, back emf constant
Kf = 0.2 Nms
J = 0.02 kg.m^2/s^2
DC Motor Control
Control II, noviembre del 2019

En la primera etapa, diseño e implementación de un modelo de espacio de estado del


motor de cc con dos entradas Va, Td y una salida w:
h1 = tf (Km, [L R]) para la función de armadura.

h1 = tf(Km,[L R]); % armature


h2 = tf(1,[J Kf]); % eqn of motion

dcm = ss(h2) * [h1 , 1]; % w = h2 * (h1*Va + Td)


dcm = feedback(dcm,Kb,1,1); % close back emf loop

donde:

0.1
ℎ1 = 0.5𝑠+2, siendo esta la ecuación de armadura
1
ℎ2 = , siendo esta la ecuación de movimiento.
0.02𝑠+0.2

A continuación, se crea el modelo de estado espacio, con valores de Va y Td igual a uno.

Resultando lo siguiente:

−10 3.2 0 8
𝐴=| | 𝐵=| | 𝐶 = |6.25 0| 𝐷 = |0 0|
0 −4 0.5 0

Observamos que la forma de espacio de estado minimiza el orden del modelo se calcula
primero. Y mostramos a continuación la ilustración de la respuesta de la velocidad angular a
un cambio escalonado de voltaje va:step, o la grafica de la respuesta de la velocidad angular
a un cambio escalonado de Td, Td:step.

Ilustración 3. Va:step a la izquierda y Td:step a la derecha.

De la ilustración anterior observamos grandes cambios empezando en la amplitud, el tiempo


de estabilización del sistema y el valor final de la señal.
DC Motor Control
Control II, noviembre del 2019

Ilustración 4. Diseño de un control Feedforward

Un sistema de control de velocidad del motor tiene una amplitud de velocidad real que se
aproxima a la velocidad deseada r, esto demuestra que para un lazo abierto: Gc (s) = k, G (s)
= k1 / (Ts + 1), donde se debe establecer una ganancia que se llamara kff y esta debe ser
reciproco a la ganancia de Va con w.

Kff = 1/dcgain(dcm(1))

Donde esta resulta que la ganancia kff = 4.1

Usando el método de evaluación, la carga de la perturbación de la carga se evalúa utilizando


el diseño de avance y el resultado de la simulación muestra el comando de respuesta w ref =
1 con una perturbación Td = -0.1Nm entre t = 5 y t = 10 segundos:
Tomando tiempo {t} = 0: 0.1: 15;
Td = -0.1 * (t> 5 & t <10); % de perturbación de carga.

t = 0:0.1:15;
Td = -0.1 * (t>5 & t<10); % load disturbance
u = [ones(size(t)) ; Td]; % w_ref=1 and Td

Para agregar la ganancia kff se debe crear una matriz con diagonal y posteriormente
multiplicar esto por la matriz de estado que en este caso es dcm obteniendo lo siguiente:

−10 3.2 0 8
𝐴= | |𝐵 = | | 𝐶 = |6.25 0| 𝐷  = |0 0|
−0.3125 −4 2.05 0

De estos se nombra las entradas como w ref y Td, también la salida como w.
cl_ff = dcm * diag([Kff,1]); % add feedforward gain
cl_ff.InputName = {'w_ref','Td'};
cl_ff.OutputName = 'w';
DC Motor Control
Control II, noviembre del 2019

Ilustración 5. Paso a paso de un motor cc y rechazo de perturbaciones.

Se observo atreves de la ilustración 5. que el control de avance de amplitud maneja mal las
perturbaciones de carga en el sistema de circuito cerrado.

II. FEEDBACK I (REALIMENTACIÓN DE SALIDA)

Ilustración 6. Control estructura Feddback

De acuerdo con las practicas realizadas anteriormente en los laboratorios, para lograr que error de
estado estable sea cero, se debe usar un control integral de la forma C (s) = K / s.

En este caso debemos determinar K. en la GUÍA PARA determinar la ganancia k usamos la técnica de
1
Rlocus aplicada a la transferencia de lazo abierto 𝑠 ∗ (𝑉𝐴−> 𝑊), dando como resultado esta línea
de código:
DC Motor Control
Control II, noviembre del 2019

h = rlocusplot (tf (1, [1 0]) * dcm (1));

Se debe tener en cuenta la ilustración 7 para poder configurar la restricción original y la derivación de
las ecuaciones y comandos anteriores, teniendo en cuenta la posición del motor de cc en la ilustración
6.

Ilustración 7.

K = 5;
C = tf(K,[1 0]); % compensator K/s

Se agrega la acción integral al modelo de matriz estado, comparamos tanto el control de


feedforward y feedback. En las ilustraciones siguientes refiriéndonos a la ilustración 8 y 9
tenemos que el rango escogió de k es el ideal puesto, que obtenemos una respuesta estable,
a comparación de la ilustración 8, que se vuelve un sistema inestable.

Ilustración 8. K = 60.
DC Motor Control
Control II, noviembre del 2019

Ilustración 9. K=5

Ilustración 10. Respuesta feedforwar a la derecha, respuesta feedback i

Con las ilustraciones anteriores la 10 y la 9 determinamos que diseño del lugar de la raíz es
mejor para rechazar perturbaciones de carga. Tiene un comportamiento mas apto frente las
perturbaciones.

III. STATE FEEDBACK PLACE (UBICACIÓN DE POLOS)

Para este caso tenemos que suponer criterios para el controlador, los que fueron escogidos
fueron el tiempo de establecimiento <0.5 segundos y el sobre impulso <5%.

Entonces para intentar cumplir los requerimientos los dos polos dominantes deberían estar a
-10 +/- 10i (a 𝜁= 0.7 o 45 grados con 𝜗= 10> 4.6 * 2). El tercer polo podríamos colocarlo a -50
para comenzar (de modo que sea lo suficientemente rápido como para que no tenga mucho
efecto en la respuesta), teniendo esto realizamos el siguiente código:
DC Motor Control
Control II, noviembre del 2019

dc_aug = [1 ; tf(1,[1 0])] * dcm(1); % add output w/s to DC motor


model
P = augstate(dcm);
poles=[-50, -10+10*i, -10-10*i];
K_pp = place(dc_aug.A, dc_aug.B, poles);

Esto para la creación de la matriz K de ganancia con los polos escogidos para cumplir el
requerimiento del sistema.

Ilustración 11.

IV. STATE FEEDBACK LQR (CONTROL OPTIMAL CUADRÁTICO)

Ilustración 12. Linear Quadratic Regulator (LQR) Sistema de control.

Usando el sistema de control lqr en la ilustración anterior, además de la integral de error


denotada, el esquema lqr usa un vector de estado x = (i, w) para sintetizar el mecanismo de
voltaje de activación. Va. El voltaje resultante es de la forma:
DC Motor Control
Control II, noviembre del 2019

𝑤
𝑉𝑎 = 𝐾1 ∗ 𝑤 + 𝐾2 ∗ + 𝐾3 ∗ 𝑖
𝑠

Donde de la anterior i es la corriente de armadura. Por derivación para un mejor rechazo de


perturbaciones, la función de costo se utiliza como penalizaciones de errores integrales
grandes, como la función de costo, donde la ganancia lqr óptima para la función de costo real
se calcula de la siguiente manera: dc_aug = [1; tf (1, [1 0])] * dcm (1); % agregar salida w / s
al modelo de motor CC.

La guía nos indica que, para un mejor rechazo de perturbaciones, usemos una función de
costo la cual penaliza el error integral cuando es grande.


𝐶 = ∫ (20𝑞(𝑡)2 + 𝑤(𝑡)2 + 0.01𝑉𝑎 (𝑡)2 )𝑑𝑡
0

K_lqr = lqry (dc_aug, [1 0; 0 20], 0.01);

Con el siguiente código se obtiene el modelo de lazo cerrado:

P = augstate(dcm); % inputs:Va,Td outputs:w,x


C = K_lqr * append(tf(1,[1 0]),1,1); % compensator including 1/s
OL = P * append(C,1); % open loop

CL = feedback(OL,eye(3),1:3,1:3); % close feedback loops


cl_lqr = CL(1,[1 4]); % extract transfer (w_ref,Td)->w
DC Motor Control
Control II, noviembre del 2019

Ilustración 13. Comparativa todos los sistemas de control.

El resultado trazado para comparar los diagramas de bode de en lazo cerrado para los tres
diseños de diagrama de bode (cl_ff, cl_rloc, cl_lqr); Por lo tanto, se inspeccionó la siguiente
curva de identificación en la pantalla de datos con salidas. Comparación de diseños
Finalmente, la simulación de tres diseños podría compararse después de la simulación de
prueba de caso.

Ilustración 14. Diagrama de bode comparación

También podría gustarte