Reduciendo el orden de la función de transferencia mientras se mantiene la misma respuesta

2

Escenario:

He estado revisando el libro de Ingeniería de Control Moderno de Ogata y realizando varios ejercicios para mejorar mi comprensión de los principios de control básicos. Encontré el siguiente ejemplo que estoy luchando por resolver.

Estoy atascado en reducir el orden de mi función de transferencia mientras mantengo la misma respuesta (o muy similar).

Estoy modelando un sistema que incluye una parte mecánica y otra eléctrica. La función de transferencia general para mi sistema es de 5º orden.

La constante de tiempo para la parte eléctrica es muy pequeña en comparación con las constantes de tiempo mecánicas y, debido a esto, podemos reemplazar el sistema eléctrico con una ganancia y obtener un sistema equivalente de cuarto orden.

Como ejemplo, mi sistema es similar a este (tomado del libro de control de Ogata ):

Estaesmifuncióndetransferencia,eincluyelaspartesmecánicasyeléctricasdemisistema:

Quieroreducirelsistemadequintoorden,aunsistemadecuartoorden,manteniendolamismarespuesta.

Loqueheintentado:

Parasabersihereducidoelsistemacorrectamente,diseñéeldiagramadebloquesparamimodeloenSimulink.

Estaeslarespuestaauna señal de chirrido :

Miideafueutilizarlarespuestaanterior,paraversihereducidolafuncióndetransferenciacorrectamente.

Acontinuación,procedíaencontrarlospolos,cerosygananciademisistema.Parahacerlo,uséestefragmentodecódigodisponibleen MathWorks , con el quinto orden TF arriba :

b = [0.0001 10];
a = [0.005 5.00010060 0.661600001 61.01102010 2.1101 10];
fvtool(b,a,'polezero')
[b,a] = eqtflength(b,a);
[z,p,k] = tf2zp(b,a) 

La salida fue la siguiente, que es exactamente lo que esperaba:

yelmapaPZequivalente:

Losresultadosanterioresmuestranelpoloasociadoconelcircuitoeléctrico,queestálejosalaizquierda.Estosepuedeeliminar,reduciendoasíelordendelafuncióndetransferenciade5taa4taorden.

Acontinuación,procedíutilizando zp2tf para eliminar el polo en el extremo izquierdo de la siguiente manera Sin embargo, la salida no parece tener sentido.

z = [-100000]';
p = [
  -0.04 + 0.0347i  % *100
  -0.04 - 0.0347i
  -0.02 + 0.0041i
  -0.02 - 0.0041i
];
k = 0.0200;
[b,a] = zp2tf(z,p,k);
[bnew,anew] = zp2tf(z,p,k);
bnew/200
anew/200

ans =

         0         0         0         0    0.0001   10.0000


ans =

    0.0050    0.0500    0.0001    0.0001    0.0000    0.0000

Esperaba que lo anterior diera lugar a un sistema de cuarto orden, pero claramente estoy haciendo algo mal con mi enfoque.

Estoy atascado en reemplazar la parte eléctrica del diagrama de bloques con un bloque de ganancia simple, mientras mantengo la misma (o muy similar) respuesta de salida.

¿Cómo puedo obtener el modelo de diagrama de bloques equivalente para el sistema de cuarto orden?

Se agradecerán todos los consejos, sugerencias y / o consejos sobre lo que debo hacer.

    
pregunta Rrz0

1 respuesta

1

El sistema tiene dos polos complejos y uno regular:

     Pole              Damping       Frequency      Time Constant  
                                   (rad/seconds)      (seconds)    

-1.68e-02 + 4.07e-01i     4.13e-02       4.07e-01         5.94e+01    
-1.68e-02 - 4.07e-01i     4.13e-02       4.07e-01         5.94e+01    
-4.32e-02 + 3.47e+00i     1.25e-02       3.47e+00         2.31e+01    
-4.32e-02 - 3.47e+00i     1.25e-02       3.47e+00         2.31e+01    
-1.00e+03                 1.00e+00       1.00e+03         1.00e-03  

El más alto está a 1krad, y podría eliminarse, también podría deshacerse de los dos más bajos:

%Iseethreetimeconstantstfmotor=tf([0.000110],[0.00550.661661.12.1110])damp(tfmotor)%findallbasictransferfunctions[r,p,k]=residue([0.000110]*2000,2000*[0.00550.661661.12.1110]);%eliminatehighestfrequencytimeconstants[b,a]=residue(r(2:5),p(2:5),k);tfmotorReduced=tf(b,a)damp(tfmotorReduced)[b,a]=residue(r(4:5),p(4:5),k);tfmotorReduced2=tf(b,a)damp(tfmotorReduced2)%useimpulsetoshowallfrequencies(hititwithadiracdeltafunction,tomakeallfrequenciesring.figure;impulse(tfmotor,'b'),holdon,impulse(tfmotorReduced,'r'),impulse(tfmotorReduced2,'g')legend('5-polesystem','Highfrequencypolegone','Onlylowestfreqpole')%betterwaytosimulate,youcanusechrip,steporanyfunctionforinputt=0:0.001:10;y=lsim(tfmotor,chirp(t,100,10,1),t);figure;bode(tfmotor,'b'),holdon,bode(tfmotorReduced,'r'),bode(tfmotorReduced2,'g')legend('5-polesystem','Highfrequencypolegone','Onlylowestfreqpole')

Editar

Elprimerpoloestáa0.4rad(mostradoennegro)Elsegundopoloestáen3.4rad(mostradoenamarillo)Eltercerpoloestáen1krad(mostradoenrojo)

Sisololepreocupaconstruiruncontrolador(uncontroladordesegundoorden)elpoloprincipala0.4rad,podrácontrolarlasamplitudesmásgrandes,perotendráciertavibracióna3.4kradporqueelcontroladornoseríacapazderesponder.Uncontroladordecuartoordenpodríaeliminarlasfrecuenciasa3.4rad.Enestemomento,elpoloen1kradesinsignificante(muybajaenamplitud)ynotendríaquepreocuparseporuncontrolador

RecuerdequeparaunADCde24bits5V-130dBestaríacercadelnivelnV,porlotanto,amenosquenecesiteesetipodeprecisión,despuésde-100dbprobablementenoimporteporquenisiquierapodráconstruiruncontroladorparaControlareseniveldeprecisiónenpresenciaderuido.(tambiénnecesitaríaunDACdeprecisión)Laotraadvertenciaesquesiconstruyóestoconelectrónicaanalógicaparaelcontrolador,aúntendráruidodespuésde-100dB.Construircontroladoresenpresenciaderuidoesuntemaparaotrodía.

    
respondido por el laptop2d

Lea otras preguntas en las etiquetas