Sunteți pe pagina 1din 15

Control de Motor DC

12 de diciembre de 2014
Alvarado Moreno Jos Miguel
Quispe Galdos Sal
Zapata Silva Deiner Lalix

ndice
I

ADQUISICIN DE DATOS

1. Modelado del Motor DC


1.1. Especificaciones del Encoder (100PPR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1

2. Esquema Electrnico
2.1. Convertidor Frecuencia Voltaje
2.2. Seguidor Emisivo . . . . . . . .
2.3. PIC . . . . . . . . . . . . . . .
2.4. Puente H . . . . . . . . . . . .

2
2
3
3
4

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

3. Adquisicin de los datos

4. Identificacin parametrica de la planta

5. Respuesta al escaln unitario

II

DISEO DEL CONTROLADOR PID

6. METODO 1
6.1. Calculo de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2. Implementacin en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3. Simulacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7
7
8
8

7. METODO 2
7.1. Calculo de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2. Implementacin en Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3. Simulacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9
9
10
11

8. METODO 3: Diseo de un compensador PID en frecuencia


8.1. Calculo de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2. Simulacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11
11
12

III

13

SIMULACIN EN TIEMPO REAL

9. Conclusiones y observaciones

13
0

Universidad Nacional de Ingenieria

Ing.Mecatronica

Parte I

ADQUISICIN DE DATOS
1.

Modelado del Motor DC

Para identifiacar los parmetros del motro DC es importante hacer un reconocimiento de los parmetros de acuerdo al diagrama mostrado en la figura 1.1.

Figura 1.1: Modelo del motor DC.


Donde:
Lm :Inductancia de armadura [H]
Rm :Resistencia de armadura []
Vg :Tensin contra electromotriz [V ]
Vm : Tensin de entrada [V ]
im : Corriente de armadura [A]
Kb :Constatne contra electromotriz [V /rad/seg]
Km :Constante de motor [N m/A]



Jm :Inercia de motor Kg m2
Bm :Coeficiente de friccin [N m/rad/seg]
f : Torque de friccin [N m]
L : Torque de carga [N m]
m :Torque de motor [N m]
m :Posicin angular [rad]
n: Coeficiente de reduccin

El motor DC es un sistema electromecnico, por ello para obtener su modelo dinamico se requiere
resolver ecuaciones elctricas y electromecnicas, llegando a la siguiente funcin de transferencia
Kb
m (s)
=
Vm (s)
(Lm s + Rm ) (Jm s + Bm ) + Kb2
Despreciando la inductancia (Lm ) :
Kb
m (s)
=
Vm (s)
(Rm Jm ) s + (Rm Bm + Kb2 )

1.1.

Especificaciones del Encoder (100PPR)

El encoder tiene 100 ranuras, por lo tanto la resolucin esta dada por:
Resoluci
on =

360
360
=
= 3,6
#impulsos
100

Para obtener la frecuencia de giro del eje del motor, simplemente se hace la siguiente transformacin:
feje =

fencoder
100

Control Digital

Universidad Nacional de Ingenieria

2.

Ing.Mecatronica

Esquema Electrnico

Para su mejor entendimiento e implementacin, se dividio en diagramas de bloques los diferentes


circuitos, los cuales se muestran en la figura:

Figura 2.1: Esquema de control

2.1.

Convertidor Frecuencia Voltaje

El circuito convertidor de frecuencia a voltage mostrado en la figura 2.2 trabaja en rangos de frecuencia
de 0 10 [Khz]con un error del 0,06 % (No lineal).

Figura 2.2: Circuito Convertidor de Frecuencia a Voltage.


Los componentes con * significan componentes estables con coeficientes de temperatura bajos, es
decir su valor vara poco con respecto a la temperatura. Adems, se observa en la figura 2.2, VCC vara de
+4,5 [V ] a +20,0 [V ], esto dependera del rango de frecuencias que se quiera abarcar, para nuestro motor
de Corriente Continua (CC) se escogio un valor de VCC = +12 [V ].

Control Digital

Universidad Nacional de Ingenieria

2.2.

Ing.Mecatronica

Seguidor Emisivo

El circuito convertidor de frecuencia a voltage funciona a la perfeccin con cualquier microcontrolador,


sin embargo en funcionamiento con la DAQ el rango disminuira y el offset aumentar, error propio de
los elementos pasivos utilizados unidos con la DAQ. Para superar este problema se diseo un seguidor
emisivo, con un OPAM 741, tal que adquiramos el mismo rango de voltaje.

Figura 2.3: Seguidor emisivo

2.3.

PIC

Para generar la seal de control se generara una seal PWM de 20Khz, cuyo ciclo de trabajo variara
de 0 % 100 % en funcin del voltaje que lea el ADC. El diagrama de conexiones se muestra en la figura
2.4.

Figura 2.4: Diagrama de conexiones en el PIC 12F.


El codigo implementado se muestra acontinuacin.

Control Digital

Universidad Nacional de Ingenieria

Ing.Mecatronica

Algoritmo 1 Programacin del PIC


#include <12F683.h>
#device adc=8
#FUSES NOWDT,HS,NOCPD,NOPROTECT,MCLR,NOPUT
#FUSES FCMEN,RESERVED,NOBROWNOUT,IESO
#use delay(clock=20000000)
int8 AD_read=0;
void MCU_Init();
void AD_Init();
void CCP_Init();
/************************************************************************/
void main(void)
MCU_Init();
set_adc_channel(0);
delay_us(50);
while(TRUE)
AD_read=read_adc(ADC_START_AND_READ);
set_pwm1_duty(AD_read);
delay_ms(2);
/Fin main
/************************************************************************/
void CCP_Init()
setup_timer_2(T2_DIV_BY_1,0xff,1);
setup_ccp1(CCP_PWM);
set_pwm1_duty(0);
/Fin CCP_Init
void AD_Init()
setup_port_a(sAN0);
setup_adc(ADC_CLOCK_DIV_32);
/Fin AD_Init
void MCU_Init()
CCP_Init();
AD_Init();
/Fin MCU_Init

2.4.

Puente H

El puente H o amplificador de potencia, simplemente se compro una placa armada cuya especificaciones
son las siguientes:
Figura 2.5: Puente H

3.

Adquisicin de los datos


Se adquirio la data a una frecuencia de fs = 2 [Khz], y se implemento el siguiente esquema:

Control Digital

Universidad Nacional de Ingenieria

Ing.Mecatronica

Figura 3.1: Diagrama de bloques en LabView.


Se implemento un filtro FIR para atenuar el ruido, de tal forma que la data sea mas limpia, los datos
adquiridos con y sin filtro se muestran en la figura 3.2.

(a) Sin filtro.

(b) Con filtro.

Figura 3.2: Data adquirida.

4.

Identificacin parametrica de la planta

Se empleo el ident de MatLab (para los datos con el filtro) para ver cual nos muestra un mejor
respuesta, las graficas obtenidas para cada modelo se muestran acontinuacin.

Control Digital

Universidad Nacional de Ingenieria

Ing.Mecatronica

Figura 4.1: Identificacin con ident de MatLab.


Como se muestra en la figura 4.1, los mejores fits son para arx221 y arx211. Las plantas identificadas
con dichos metodos se muestran acontinuacin.
Discreto
ARX221
ARX211

Continuo

6 1
z +9,66106 z 2
thd1 (z) = 4,31310
11,996z 1 +0,9958z 2
5,299106 z 1
thd2 (z) = 11,996z
1 +0,9959z 2

thc1 (s) =
thc2 (s) =

0,3501s+133,9
s2 +20,81s+144,7
0,01327s+132,7
s2 +20,66s+143,4

G1 (s) =
G2 (s) =

0,9256
s2 +20,81s+144,7
0,9255
s2 +20,66s+143,4

Cuadro 4.1: Plantas identificadas.

5.

Respuesta al escaln unitario

Figura 5.1: Respuesta al escaln unitario de las plantas identificadas

Control Digital

Universidad Nacional de Ingenieria

Ing.Mecatronica

Parte II

DISEO DEL CONTROLADOR PID


6.

METODO 1

6.1.

Calculo de ecuaciones

Sabemos que nuestro controlador es de la forma:


Gc (s) =

Kd s2 + Kp s + Ki
s

Y la planta obtenida es de la forma:


Gp (s) =

b0
s2 + a1 s + a0

Entonces la ecuacin caracterstica en lazo cerrado esta dada por la forma:


1 + Gc (s) Gp (s) = 0
1+

Kd s2 + Kp s + Ki
b0
2
=0
s
s + a1 s + a0



s s2 + a1 s + a0 + Kd s2 + Kp s + Ki b0 = 0
s3 + (a1 + Kd b0 ) s2 + (a0 + Kp b0 ) s + (Ki b0 ) = 0
La ecuacin caracterstica de un sistema de tercer orden puede ser escrito por:

(s + ) s2 + 2n s + n2 = 0


s3 + 2 o s2 + o2 s + o s2 + 2 o2 s + o3 = 0
s3 + (2 + ) o s2 + (1 + 2 ) o2 s + o3 = 0
Definiendo:
c1 = (2 + ) o

c2 = (1 + 2 ) o2

c3 = o3

Igualando los coeficientes de igual potencia en 0 s0 :


a1 + Kd b0

= c1

a0 + Kp b0

= c2

Ki b0

= c3

Despejando las constantes:


Kp =

c2 a0
b0

Ki =

c3
b0

Control Digital

Kd =

c1 a1
b0

Universidad Nacional de Ingenieria

6.2.

Ing.Mecatronica

Implementacin en Matlab

Las ecuaciones se implementaron en matlab, la funcin se muestra acontinuacin:


Algoritmo 2 get_PID1
function [Gc,PID]=get_PID1(Gp,val_deseados)
% % DISEO DE UN CONTROLADOR PID
% [Gc,PID,N,D]=get_PID2(Gp,[z,wn,alpha])
%-------------------------------------------------------------------------%
b0
% Gp(s)= -------------------%
s2 + a1*s + a0
% % Gc(s)= Kp + Ki*1/s + Kd*s
% Ec de la planta deseada:
% EC(s)=(s + alpha)*(s2 + 2*z*wn*s + wn2)
%-------------------------------------------------------------------------[n,d]=tfdata(Gp,v);
b0=n(3);
a0=d(3);a1=d(2);
% % Calculos adicionales:
z=val_deseados(1);
wn=val_deseados(2);
if length(val_deseados)==2
alpha=10*abs(z*wn);
else
alpha=val_deseados(3);
end
c1=(alpha + 2*z)*wn;
c2=(1 + 2*alpha*z)*wn2;
c3=alpha*wn3;
% % Calculo del PID
kp=(c2-a0)/b0;ki=c2/b0;kd=(c1-a1)/b0;
Gc=tf([kd kp ki],[1 0]);
PID=[kp ki kd];

6.3.

Simulacin

La respuesta al escalon lograda para un = 0,5 , n = 5 y = 100 se muestra en la figura.

Figura 6.1: Respuesta al escaln de la planta controlada + P ID1


Control Digital

Universidad Nacional de Ingenieria

7.

Ing.Mecatronica

METODO 2

7.1.

Calculo de ecuaciones

Considerando una planta descrita por la siguiente funcin de transferencia:


G (s) =

N (s) sL
e
D (s)

El controlador PID de la forma:


C (s) = KP +

KI
+ KD s
s

La ecuacin caracteristica en lazo cerrado es:


1 + C (s) G (s) = 0
Sean los polos deseados dominantes, de la forma: 1,2 = a jb. Sustituyendo en la ecuacin caracteristica:

KP +

C (s)

KI
+ KD (a + jb)
a + jb

KI
(a jb) + KD (a + jb) =
+ b2




a
b
KP 2
KI a KD + j 2
KI + b KD
=
a + b2
a + b2
KP +

a2

1
G (1 )
1

G (1 )




1
1
Re
+ j Im
G (1 )
G (1 )




1
1
+ j Im
Re
G (1 )
G (1 )

Igualando las partes reales e imaginarias, tenemos:

h
i
2 a 2 KI a KD = Re 1 KP
a +b
h G(1 )i
2 b 2 KI + b KD = Im 1
a +b
G(1 )
Como KP es una variable que puede hallarce mediante la localizacin de polos (rlocus), la consideraremos como una constante, por lo tanto:

h
i
h
i
 
KI = a2 +b2 Kp a2 + b2 1 Im 1 + 1 Re 1
2a
2b
G(
)
2a
G(
)
1
h
i
h1
i
KD = 1 KP + 1 Im 1 1 Re 1
2a
2b
G(1 )
2a
G(1 )
Definiendo:




1
1
1
1
X1 =
Im
+
Re
2b
G (1 )
2a
G (1 )
X2 =





1
1
1
1
Im

Re
2b
G (1 )
2a
G (1 )

Entonces KI y KD queda expresado como:


KI =


a2 + b2
Kp a2 + b2 X1
2a

KD ==

1
KP + X2
2a

Si sustituimos KI y KD en la ecuacin caracteristica del sistema en lazo cerrado y depejamos KP , la


nueva ecuacin queda de la forma:
(s) = 0
1 + KP G
Control Digital

Universidad Nacional de Ingenieria

Ing.Mecatronica

Donde:
 2
 Ls
2
2
N
(s)

s
+
2as
+
a
+
b
e
(s) =
G
2
Ls
2
2
2a [D (s) s + X2 N (s) s e
(a + b ) X1 N (s) eLs ]

7.2.

Implementacin en Matlab

Las ecuacines anteriores se implementaron en matlab, mediante una funcin para su mejor manejo,
dicho algoritmo se muestra acontinuacin:
Algoritmo 3 get_PID_PoloDom
function [C_s,Gbarra_s,kp,ki,kd] = get_PID_PoloDom(Gp,Pd)
% get_PID_PoloDom(Gp(s),a+j*b)
% get_PID_PoloDom(Gp(s),[z,wn])
% calcula el PID por el metodo de polos dominantes, esta funcin
% devuelve un kp recomendado, as como dos funciones: ki kd que
% estan en funcion de kp, para obtener su valor correspondiente para
% un valor de Kp deseado solo se debe de escribir lo siguiente
% Ki=ki(kp_deseado);
% Kd=kd(kp_deseado);
% Tambiend devuelve el controlador C_s (en continuo)
if

size(Pd,2)==2
z=Pd(1); wn=Pd(2);
pd=-z*wn + j*wn*sqrt(1-z2); %

end
a = abs(real(pd)); b = abs(imag(pd));
[np,dp]=tfdata(Gp,v);
G = tf(np,dp);P = zpk(G);
Gpd = -1/(polyval(np,pd)/polyval(dp,pd));
X1 = (1/(2*b))*imag(Gpd)+(1/(2*a))*real(Gpd);
X2 = (1/(2*b))*imag(Gpd)-(1/(2*a))*real(Gpd);
c1 = (a2+b2)/(2*a);
c2 = -(a2+b2)*X1;
c3 = 1/(2*a);
tf1 = tf([1/(2*a) 1 (a2+b2)/(2*a)],1);
tf2 = tf([X2 0 c2],1);
tf3 = tf([1 0],1);
Gbarra_s = tf1*G/(tf3+tf2*G);
Gbarra_s=minreal(Gbarra_s);
% % 1+Kp*Gbarra_s=0
ki = @(kp)c1*kp+c2;
kd = @(kp)c3*kp+X2;
%%
pdm = 4*pd;
[kp, r] = rlocfind(Gbarra_s,pdm); % kp: un valor recomendado
Ki = ki(kp);
Kd = kd(kp);
C_s = tf([Kd kp Ki],[1 0]);
end
El algoritmo devuelve un kp que no suele ser definitivo, tambien devuelve un ki y kd pero en funcin
de un kp que el usuario puede modificar segn su criterio para obtener mejores resultados.

Control Digital

10

Universidad Nacional de Ingenieria

7.3.

Ing.Mecatronica

Simulacin

Se implento una simulacin en MatLab para ver la respuesta al escalon de la planta con el controlador
diseado.

Figura 7.1: Respuesta de la planta controlada + P IDpolos dominantes

8.

METODO 3: Diseo de un compensador PID en frecuencia

8.1.

Calculo de ecuaciones

Sea el diagrama de bloques del compensador como:

Figura 8.1: Diagrama de bloques en LC.


El procedimiento de diseo integrando usando la respuesta en frecuencia de la planta, requiere una
generalizacin del criterio del angulo del diseo root locus.
En el diseo root locus, el compensador debe satisfacer el criterio de angulo y magnitud:
Gc (zd ) + Gsys (zd ) = 180
K |Gc (zd ) Gsys (zd ) | = 1
Donde:
Gsys = Ga (z) Gp (z) H (z)
El punto de diseo en tiempo discreto esta dado por: zd = esd Ts Donde Ts es el tiempo de muestreo
y c es el angulo deseado del controlador.
En el diseo por mtodo de Bode, se introduce las especificaciones de margen de fase PM y la
ganacia de la frecuencia de corte gc . Debe satisfacer los criterios de mdulo y de magnitud siguientes:


Gc ejgc Ts + Gsys ejgc Ts = 180 + P M
Control Digital

11

Universidad Nacional de Ingenieria

Ing.Mecatronica



K |Gc ejgc Ts Gsys ejgc Ts | = 1
Adems si se considera para un sistema de 2do orden:

z0 = ejgc Ts
,
P M = tan1 q
p
2 2 + 1 + 4 4


c = Gc ejgc Ts = Gsys ejgc Ts

gc =

2n
tan (P M )

= 180 + P M

Donde:
gc : Frecuencia de corte
z0 : Punto deseado
: Fase de la planta

8.2.

Simulacin

Se implemento una simulacin en LabView, los diagramas de bloques se muestran acontinuacin:

Figura 8.2: Simulacin en LabView


La respuesta al escaln unitario del sistema implementado en LabView, se muestra en la figura .

Control Digital

12

Universidad Nacional de Ingenieria

Ing.Mecatronica

Figura 8.3: Respuesta de la planta controlada + P IDfrecuencia

Parte III

SIMULACIN EN TIEMPO REAL


Para la simulacin en tiempo real se implemento un programa en LabView, el cual se muestra en la
figura .

Figura 8.4: Simulacin en tiempo real

9.

Conclusiones y observaciones
Se logro implementar el controlador PID obtenido mediante polos dominantes (Metodo 2) .
Se observo en la simulacin RT que la planta es sensible a la variable diferencial del controlador.

Control Digital

13

Universidad Nacional de Ingenieria

Ing.Mecatronica

Se logro implementar en simulacin el controlador PID por frecuencia (Metodo 3) pero no funcion
en RT.

Control Digital

14

S-ar putea să vă placă și