diseño de control de velocidad

Embed Size (px)

Citation preview

  • 8/18/2019 diseño de control de velocidad

    1/2

    clc,clf,clear%% Modelo control de velocidad motor D.C% Ecuaciones del modelo:  % I_ap = (E_a - R_a*I_a - K_b*w) / L_a  % w_p = (K_t*I_a - f*w - T_l) / J% Donde:

    % E_a Voltaje de la armadura

      % R_a Resistencia de armadura  % I_a Corriente de armadura  % I_ap Derivada de la corriente  % L_a Inductancia de la armadura  % J Momento Polar de inercia del eje del motor  % T_l Torque de carga  % K_b Constante de la velocidad  % K_t Constante del torque  % f Fricción viscosa  % w Velocidad angular  % w_p Aceleración angular (dw/dt)%% Variables de estado

    % syms R_a L_a K_b K_t J f

    R_a = 2.99; % Resistencia de armadura(ohms)L_a = 420e-6; % Inductancia de armadura(H)K_b = 24.96e-3; % Constante de velocidad (V/(rad/seg))K_t = 24.1e-3; % Constante de torque (N*m/amp)f = 1e-8; %J = 4.14e-6; % Inercia del rotor(Kg*m^2)

    % Marices de las varibles de estadoA = [-R_a/L_a -K_b/L_a; K_t/J -f/J ];B = [ 1/L_a 0; 0 -1/J];C = [0 1];

    D = [0 0];

    % Generar la funcion de tranferencia del sitemaSys = ss(A,B,C,D);%pretty(Sys)Gtf = tf(Sys);G11 = Gtf(1,1); % W/VaG12 = Gtf(1,2); % W/Tl

    G11 = zpk(G11); % Ceros, Polos, Gananciastep(6*G11); % Escalon de 6V, velocidad de salida Vs voltaje de armaduralegend('Velocidad (rad/seg)')

    % Aproximación a un sistema de primer orden, eliminando el polo lejano

    % aproximando G11--> W/VaG11 = zpk([],[-48.93],13860133.4254/7070) %Zero,Pole,Gainstep(5*G11)legend('Velocidad (rad/seg)')

    pole(G11)zero(G11)

    % Gananacia del ActuadorAct = 1;

    % Ganancia del sensorSens = 5/480.66; %v/(rad/seg)

  • 8/18/2019 diseño de control de velocidad

    2/2

    % Planta = Actuador*Motor*SensorPlanta = Act*G11*Sens;

    Planta = tf(48.93,[1 48.93])

    % ver las raices de la planta

    rlocus(Planta)

    % Abrir la herramienta de diseño del lugar de las raicesrltool(Planta)

    %% Planta discreta

    Tm = 10e-3; %Periodo de muestreoGz = c2d(Planta,Tm) %planta discreta% quitando polos lejanos 

    Gz=c2d(Planta,.01,'zoh')

    rlocus(Gz)figure(1)K=4.1687;step(feedback(Gz*K,1)) Kp=0.6*K;Tcr=0.02;Td=0.125*Tcr;Ti=0.5*Tcr;Ki=Kp/Ti;Kd=Td*Kp;T=0.01;Kp=Kp-(Kp*T/(2*Ti));

    Ki=Ki*T;Kd=Kd/T;z=tf('z')Gcz=(Kp+(Ki/(1-z^-1))+Kd*(1-z^-1))%controladorzpk(Gcz)figure(2)step(feedback(Gcz*Gz,1))%hasta aca se obtuvieron los patrones de arranqueKd=0.2100;Ki=1.1000;Kp=0.7000;Gcz=(Kp+(Ki/(1-z^-1))+Kd*(1-z^-1))zpk(Gcz)figure(3)step(feedback(Gcz*Gz,1)) num=[2.01 -1.12 0.21];den=[1 -1 0];Gcz=tf(num,den,0.01)[Ac,Bc,Cc,Dc]=tf2ss(num,den)Gczss=ss(Gcz)Gczss=balreal(Gczss) %realización balanceada