Lab05_Control de Un Motor DC

Embed Size (px)

Citation preview

  • 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