lab05_control de un motor dc
TRANSCRIPT
-
7/24/2019 Lab05_Control de Un Motor DC
1/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
1. Modelado del Motor DC 1
1.1. Especificaciones del Encoder (100PPR). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2. Esquema Electrnico 2
2.1. Convertidor Frecuencia Voltaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2. Seguidor Emisivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3. PIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.4. Puente H . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Adquisicin de los datos 4
4. Identificacin parametrica de la planta 5
5. Respuesta al escaln unitario 6
II DISEO DEL CONTROLADOR PID 7
6. METODO 1 7
6.1. Calculo de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76.2. Implementacin en Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
6.3. Simulacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. METODO 2 9
7.1. Calculo de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97.2. Implementacin en Matlab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107.3. Simulacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
8. METODO 3: Diseo de un compensador PID en frecuencia 11
8.1. Calculo de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118.2. Simulacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
III SIMULACIN EN TIEMPO REAL 13
9. Conclusiones y observaciones 13
0
-
7/24/2019 Lab05_Control de Un Motor DC
2/15
Universidad Nacional de Ingenieria Ing.Mecatronica
Parte I
ADQUISICIN DE DATOS
1. Modelado del Motor DCPara identifiacar los parmetros del motro DC es importante hacer un reconocimiento de los parme-
tros de acuerdo al diagrama mostrado en la figura1.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[Nm/A]
Jm:Inercia de motor
Kgm2
Bm:Coeficiente de friccin [Nm/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 requiereresolver ecuaciones elctricas y electromecnicas, llegando a la siguiente funcin de transferencia
m(s)
Vm(s) =
Kb(Lms+Rm) (Jms+Bm) +K2b
Despreciando la inductancia (Lm) :
m(s)
Vm(s) =
Kb(RmJm)s+ (RmBm+K2b )
1.1. Especificaciones del Encoder (100PPR)El encoder tiene 100 ranuras, por lo tanto la resolucin esta dada por:
Resolucion= 360
#impulsos=
360
100= 3,6
Para obtener la frecuencia de giro del eje del motor, simplemente se hace la siguiente transformacin:
feje = fencoder
100
Control Digital 1
-
7/24/2019 Lab05_Control de Un Motor DC
3/15
Universidad Nacional de Ingenieria Ing.Mecatronica
2. Esquema Electrnico
Para su mejor entendimiento e implementacin, se dividio en diagramas de bloques los diferentescircuitos, 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 figura2.2trabaja en rangos de frecuenciade0 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, esdecir su valor vara poco con respecto a la temperatura. Adems, se observa en la figura 2.2,VCCvara de+4,5 [V] a +20,0 [V], esto dependera del rango de frecuencias que se quiera abarcar, para nuestro motorde Corriente Continua (CC) se escogio un valor de VCC= +12 [V].
Control Digital 2
-
7/24/2019 Lab05_Control de Un Motor DC
4/15
Universidad Nacional de Ingenieria Ing.Mecatronica
2.2. 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 delos 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 variarade0 % 100%en funcin del voltaje que lea el ADC. El diagrama de conexiones se muestra en la figura2.4.
Figura 2.4: Diagrama de conexiones en el PIC 12F.
El codigo implementado se muestra acontinuacin.
Control Digital 3
-
7/24/2019 Lab05_Control de Un Motor DC
5/15
Universidad Nacional de Ingenieria Ing.Mecatronica
Algoritmo 1 Programacin del PIC
#include #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_Initvoid AD_Init()setup_port_a(sAN0);setup_adc(ADC_CLOCK_DIV_32);/Fin AD_Initvoid 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 especificacionesson 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 4
-
7/24/2019 Lab05_Control de Un Motor DC
6/15
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 datosadquiridos 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 mejorrespuesta, las graficas obtenidas para cada modelo se muestran acontinuacin.
Control Digital 5
-
7/24/2019 Lab05_Control de Un Motor DC
7/15
Universidad Nacional de Ingenieria Ing.Mecatronica
Figura 4.1: Identificacin con ident de MatLab.
Como se muestra en la figura4.1, los mejores fits son para arx221 y arx211. Las plantas identificadascon dichos metodos se muestran acontinuacin.
Discreto Continuo
ARX221 thd1 (z) = 4,313106z1+9,66106z2
11,996z1+0,9958z2 thc1 (s) = 0,3501s+133,9
s2+20,81s+144,7 G1 (s) = 0,9256
s2+20,81s+144,7
ARX211 thd2 (z) = 5,299106z1
11,996z1+0,9959z2 thc2 (s) = 0,01327s+132,7
s2+20,66s+143,4 G2 (s) = 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 6
-
7/24/2019 Lab05_Control de Un Motor DC
8/15
Universidad Nacional de Ingenieria Ing.Mecatronica
Parte II
DISEO DEL CONTROLADOR PID
6. METODO 16.1. Calculo de ecuaciones
Sabemos que nuestro controlador es de la forma:
Gc(s) =Kds
2 +Kps+Kis
Y la planta obtenida es de la forma:
Gp(s) = b0
s2 +a1s+a0
Entonces la ecuacin caracterstica en lazo cerrado esta dada por la forma:
1 +Gc(s)Gp(s) = 0
1 +Kds
2 +Kps+Kis
b0
s2 +a1s+a0= 0
s
s2 +a1s+a0
+
Kds2 +Kps+Ki
b0= 0
s3 + (a1+Kdb0) s2 + (a0+Kpb0) s+ (Kib0) = 0
La ecuacin caracterstica de un sistema de tercer orden puede ser escrito por:
(s+)
s2 + 2ns+2n
= 0
s3 + 2os
2 +2o s
+
os2 + 22o s+
3o
= 0
s3 + (2+)os2 + (1 + 2)2o s+
3o = 0
Definiendo:
c1= (2+ )o , c2= (1 + 2)2o , c3=
3o
Igualando los coeficientes de igual potencia en s :
a1+Kdb0 = c1
a0+Kpb0 = c2
Kib0 = c3
Despejando las constantes:
Kp = c2a0
b0, Ki=
c3b0
, Kd= c1a1
b0
Control Digital 7
-
7/24/2019 Lab05_Control de Un Motor DC
9/15
Universidad Nacional de Ingenieria Ing.Mecatronica
6.2. 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)*wn 2;
c3=alpha*wn3;%% Calculo del PIDkp=(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= 5y = 100 se muestra en la figura.
Figura 6.1: Respuesta al escaln de la planta controlada + P ID1
Control Digital 8
-
7/24/2019 Lab05_Control de Un Motor DC
10/15
Universidad Nacional de Ingenieria Ing.Mecatronica
7. METODO 2
7.1. Calculo de ecuaciones
Considerando una planta descrita por la siguiente funcin de transferencia:
G (s) =N(s)
D (s) esL
El controlador PID de la forma:
C(s) =KP+KI
s +KDs
La ecuacin caracteristica en lazo cerrado es:
1 +C(s) G (s) = 0
Sean los polos deseados dominantes, de la forma: 1,2 = ajb. Sustituyendo en la ecuacin carac-teristica:
C(s) = 1
G (1)
KP+ KI
a+jb+KD (a+jb) =
1
G (1)
KP+ KIa2 +b2
(ajb) +KD (a+jb) = Re
1
G (1)
+j Im
1
G (1)
KP a
a2 +b2 KI aKD
+j
b
a2 +b2 KI+ bKD
= Re
1
G (1)
+j Im
1
G (1)
Igualando las partes reales e imaginarias, tenemos:
aa2+b2 KI aKD = Re
1G(1)
KP
ba2+b2 KI+ bKD = Im
1G(1)
ComoKP es una variable que puede hallarce mediante la localizacin de polos (rlocus), la considera-remos como una constante, por lo tanto:
KI = a2+b2
2a Kp
a2 +b2
12b
Im
1G(1)
+ 1
2a Re
1G(1)
KD =
12a
KP+ 12b
Im
1G(1)
1
2a Re
1G(1)
Definiendo:
X1= 12b
Im
1G (1)
+ 1
2a Re
1G (1)
X2= 1
2b Im
1
G (1)
1
2a Re
1
G (1)
Entonces KI y KD queda expresado como:
KI= a2 +b2
2a Kp
a2 +b2
X1 , KD==
1
2aKP+X2
Si sustituimosKI yKD en la ecuacin caracteristica del sistema en lazo cerrado y depejamos KP, lanueva ecuacin queda de la forma:
1 +KP G (s) = 0
Control Digital 9
-
7/24/2019 Lab05_Control de Un Motor DC
11/15
Universidad Nacional de Ingenieria Ing.Mecatronica
Donde:
G (s) = N(s)
s2 + 2as+
a2 +b2
eLs
2a [D (s) s+X2N(s) s2eLs (a2 +b2) X1N(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)==2z=Pd(1); wn=Pd(2);pd=-z*wn + j*wn*sqrt(1-z2); %
enda = 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=0ki = @(kp)c1*kp+c2;kd = @(kp)c3*kp+X2;% %pdm = 4*pd;[kp, r] = rlocfind(Gbarra_s,pdm); % kp: un valor recomendadoKi = 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 funcinde un kp que el usuario puede modificar segn su criterio para obtener mejores resultados.
Control Digital 10
-
7/24/2019 Lab05_Control de Un Motor DC
12/15
Universidad Nacional de Ingenieria Ing.Mecatronica
7.3. Simulacin
Se implento una simulacin en MatLab para ver la respuesta al escalon de la planta con el controladordiseado.
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 unageneralizacin 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=esdTs DondeTs 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
ejgcTs
+ Gsys
ejgcTs
=180+P M
Control Digital 11
-
7/24/2019 Lab05_Control de Un Motor DC
13/15
Universidad Nacional de Ingenieria Ing.Mecatronica
K |Gc
ejgcTs
Gsys
ejgcTs
|= 1
Adems si se considera para un sistema de 2do orden:
z0= ejgcTs , P M= tan1
222 +
1 + 44
, gc = 2ntan(P M)
c = Gc
ejgcTs
= Gsys
ejgcTs
, = 180+P M
Donde:
gc : Frecuencia de corte
z0: Punto deseado
: Fase de la planta
8.2. SimulacinSe 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
-
7/24/2019 Lab05_Control de Un Motor DC
14/15
Universidad Nacional de Ingenieria Ing.Mecatronica
Figura 8.3: Respuesta de la planta controlada + P IDfrecuencia
Parte III
SIMULACIN EN TIEMPO REALPara 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
-
7/24/2019 Lab05_Control de Un Motor DC
15/15
Universidad Nacional de Ingenieria Ing.Mecatronica
Se logro implementar en simulacin el controlador PID por frecuencia (Metodo 3) pero no funcionen RT.
Control Digital 14