Está en la página 1de 16

Ejercicio 01. Calcular la F.

T total del siguiente diagrama de bloques haciendo uso de Matlab as mismo hacer la reduccin de bloques correspondiente segn lo aprendido en clase. Hallamos la FT del diagrama de bloques:

R(s) 540

10 + 1

Y(s)

1 2 + 0.5 0.1

Desarrollamos [10/s+1]+[1/2s+0.5] por estar en paralelo:

R(s) 540

21 + 6 2 2 + 2.5 + 0.5

Y(s)

0.1

Tenemos nuestra Ft con una realimentacion de 0.1, resolvemos:

R(s) 540

21 + 6 2 2 + 4.6 + 1.1

Y(s)

Nuestra Ft resultante la multiplicamos por 540 al estar en serie Obtenemos la siguiente FT:

Y(s)

R(s)

11340 + 2340 2 ^2 + 4.6 + 1.1

Por ltimo resolvemos la realimentacin unitaria y obtenemos La siguiente FT:

R(s) 11340 + 2340 2 ^2 + 11344.6 + 3241.1

Y(s)

Hallamos la F.T del diagrama de bloques con Matlab, utilizamos el siguente programa:
num1=[0 10]; den1=[1 1]; num2=[0 1]; den2=[2 0.5]; num3=[0 0.1]; den3=[0 1]; num4=[0 540]; den4=[0 1]; num5=[0 1]; den5=[0 1]; disp('Desarrollamos [10/s+1]+[1/2s+0.5] por estar en paralelo:') [num6,den6]=parallel(num1,den1,num2,den2); printsys(num6,den6); disp('Tenemos nuestra Ft con una realimentacion de 0.1, resolvemos:') [num7,den7]=feedback(num6,den6,num3,den3); printsys(num7,den7); disp('Nuestra Ft resultante la multiplicamos por 540 al estar en serie:') [num8,den8]=series(num7,den7,num4,den4); disp('Obtenemos la siguiente FT') printsys(num8,den8); disp('Por ultimo resolvemos la realimentacion unitaria:') [num9,den9]=feedback(num8,den8,num5,den5); printsys(num9,den9);

Ejercicio 02. Utilice Matlab para obtener la respuesta escaln unitario, la respuesta rampa unitaria y la respuesta impulso unitario del sistema siguiente:
2

15 + 3 + 4 + 10

SOLUCION: Usamos el siguiente programa para respuesta escalon:


numa=[15 45]; dena=[1 4 10]; printsys(numa,dena); t=[0:0.1:15]; x=step(numa,dena,t); plot(t,x);

Grafica de escalon:

Usamos el siguiente programa para respuesta impulso:


numa=[15 45]; dena=[1 4 10]; impulse(numa,dena);

Grafica de impulso:

Usamos el siguiente programa para respuesta rampa:


numa=[15 45]; dena=[1 4 10]; numb=[0 1]; denb=[1 0]; numa=[15 45]; dena=[1 4 10]; numb=[0 1]; denb=[1 0]; disp('Primero multiplicamos nuestra Ft por (1/s)') [numc,denc]=series(numa,dena,numb,denb); disp('Obtenemos la siguiente FT') printsys(numc,denc); disp('Ahora aplicamos comandos "step":') step(numc,denc);

Grafica de rampa:

Ejercicio 03. Se muestra tres sistemas; el 1 es un sistema de control de posicin con accin de control PD, el 2 es un sistema de control de posicin, el 3 es un sistema de control de posicin con realimentacin de velocidad. Comparar las respuestas escaln unitario, de impulso y de rampa unitaria de los tres sistemas. Qu sistema es mejor con respecto a la velocidad de respuesta y sobrepaso mximo en la respuesta? Sistema1:

R(s)

1 5 + 1

C(s)

Usamos el siguiente programa para hallar la FT:


numa=[0 5]; dena=[0 1]; numb=[0 1]; denb=[5 1 0]; numd=[0 1]; dend=[0 1]; disp('Desarrollamos [5*(1/5s^2+s)] por estar en serie:') [numc,denc]=series(numa,dena,numb,denb); printsys(numc,denc); disp('Desarollamos la realimentacion:') [nume,dene]=feedback(numc,denc,numd,dend); printsys(nume,dene); Obtenemos la siguiente FT: R(s) C(s)

5 5 ^2 + + 5

Con la Ft resultante hallamos la respuesta escaln utilizando el comando "step" en matlab: step(nume,dene);

Grafica de escalon:

Ahora hallamos la resuesta impulso, usamos el comando "impulse" en matlab: impulse(nume,dene);

Grafica de impulso:

Por ultimo hallaremos la respuesta rampa Agregamos las siguienes lneas a nuestro programa:

numf=[0 1]; denf=[1 0]; Para poder multimplicar nuestra Ft por 1/s con el comando series: [numg,deng]=series(nume,dene,numf,denf); 'Obtenemos la siguiente FT'

R(s)

5 5 ^3 + ^2 + 5

C(s)

Luego aplicamos el comando "step" y hallamos la respuesta rampa: step(numg,deng);

Grafica de rampa:

Sistema2:

R(s) 5(1+0.8s) 1 5 + 1

Y(s)

Usamos el siguiente programa para hallar la FT:


numa=[4 5]; dena=[0 1]; numb=[0 1]; denb=[5 1 0]; numd=[0 1]; dend=[0 1]; disp('Desarrollamos [(4s+5)*(1/5s^2+s)] por estar en serie:') [numc,denc]=series(numa,dena,numb,denb); printsys(numc,denc); disp('Desarollamos la realimentacion:') [nume,dene]=feedback(numc,denc,numd,dend); printsys(nume,dene); Obtenemos la siguiente FT:

R(s)

4 + 5 5 ^2 + 5 + 5

Y(s)

Con la Ft resultante hallamos la respuesta escalon utilizando el comando "step" y "plot" Utilizamos intervalos de tiempo de 0 a 10 con intervalo de 0.1 con el siguiente cdigo: t=[0:0.1:15]; x=step(nume,dene,t); plot(t,x)

Grafica de escalon:

Ahora hallamos la resuesta impulso, usamos el comando "impulse" en matlab: impulse(nume,dene);

Grafica de impulso:

Por ultimo hallaremos la respuesta rampa agregando estas lneas a nuestro programa: numf=[0 1]; denf=[1 0]; Para poder multimplicar nuestra Ft por 1/s con el comando series: [numg,deng]=series(nume,dene,numf,denf); Obtenemos la siguiente FT R(s)

4 + 5 5 ^3 + 5 ^2 + 5

Y(s)

Luego aplicamos el comando "step" y hallamos la respuesta rampa en matlab step(numg,deng);

Grafica de rampa:

Sistema3: R(s) 5 0.8 1 5 + 1 1 C(s)

Usamos el siguiente programa para hallar la FT:


numa=[0 5]; dena=[0 1]; numb=[0 1]; denb=[5 1]; numc=[0 0.8]; denc=[0 1]; numd=[0 1]; dend=[1 0]; nume=[0 1]; dene=[0 1]; disp('Desarrollamos [5*(1/5s^2+s)] por estar en serie:') [numf,denf]=series(numa,dena,numb,denb); printsys(numf,denf); disp('Desarollamos la realimentacion de 0.8:') [numg,deng]=feedback(numf,denf,numc,denc); disp('Obtenemos la siguiente FT') printsys(numg,deng); disp('multiplicamos nuestra Ft con 1/s por estar en serie') [numh,denh]=series(numg,deng,numd,dend); printsys(numh,denh); disp('Por ultimo desarrollamos la realimentacion unitaria') [numi,deni]=feedback(numh,denh,nume,dene); printsys(numi,deni);

Obtenemos la siguiente FT:

R(s)

5 5 ^2 + 5 + 5

Y(s)

Con la Ft resultante hallamos la respuesta escalon utilizando el comando "step" en matlab: step(numi,deni);

Grafico respuesta escalon:

Ahora hallamos la resuesta impulso, usamos el comando "impulse e matlab: impulse(numi,deni);

Grafica respuesta impulso:

Por ultimo hallaremos la respuesta rampa, agregamos unas lneas a nuestro programa: numj=[0 1]; denj=[1 0]; Para poder multimplicar nuestra Ft por 1/s aplicando el comando series: [numk,denk]=series(numi,deni,numj,denj); printsys(numk,denk); Obtenemos la siguiente FT R(s)

5 5 ^3 + 5 ^2 + 5

Y(s)

Luego aplicamos el comando "step" y hallamos la respuesta rampa en matlab: step(numk,denk);

Grafica de respuesta rampa:

Ahora superponemos los grficos de respuesta escaln para saber que sistema es ms eficiente, usando los siguientes cdigos :
numa=[0 5]; dena=[0 1]; numb=[0 1]; denb=[5 1 0]; numd=[0 1]; dend=[0 1]; [numc,denc]=series(numa,dena,numb,denb); [nume,dene]=feedback(numc,denc,numd,dend); step(nume,dene); hold on numa=[4 5]; dena=[0 1]; numb=[0 1]; denb=[5 1 0]; numd=[0 1]; dend=[0 1]; [numc,denc]=series(numa,dena,numb,denb); [nume,dene]=feedback(numc,denc,numd,dend); t=[0:0.1:15]; x=step(nume,dene,t); plot(t,x) numa=[0 5]; dena=[0 1]; numb=[0 1]; denb=[5 1]; numc=[0 0.8]; denc=[0 1]; numd=[0 1]; dend=[1 0]; nume=[0 1]; dene=[0 1]; [numf,denf]=series(numa,dena,numb,denb); [numg,deng]=feedback(numf,denf,numc,denc); [numh,denh]=series(numg,deng,numd,dend); [numi,deni]=feedback(numh,denh,nume,dene); step(numi,deni);

Grficos superpuestos de respuesta escaln:

Como se puede observar el sistema 3 resulta ser mas eficiente, al tener menor sobrepaso y un tiempo de asentamiento corto.

También podría gustarte