Proyecto Final Termo-fluidos

Ingeniería Mecatrónica
Steven Pastor
u1802141@unimilitar.edu.co
Cindy Rivera
u1802152@unimilitar.edu.co

mediante métodos de simulación y matemáticos. Tubería . OBJETIVO Desarrollar un análisis termodinámico de un calentador solar irradiado.2. Mecánico 2. SIMULACIÓN 2. 2.1.1. DESARROLLO 2.1. Placa solar 3.3. 1. Montaje 2.1.1. conectado en paralelo.

1.1.1. Análisis térmico placas solidas .3.1.2. Análisis térmico fluido 3. Cobre 3.

se tiene que: x 1=X x 2=0 Se tiene que las ecuaciones diferenciales que describen el sistema son las siguientes: x 3= √ mgX c L di dt =−Ri +v (t ) u=R √ mgX c d2 x c i2 Para evaluar el sistema con constantes m =mg− estáticas se determina que X será igual a 10.m=0. el cual generara las electro magneto.01. dt2 x Estos valores y ecuaciones serán Donde i es la corriente del circuito y x es el implementados en el siguiente programa desplazamiento de la esfera medido desde el desarrollado en Matlab. R=10 y L=0.8.8.c=0. . Las constantes tomadas constantes del sistema en continuo y para el sistema son las siguientes: discreto: g=9. x 1=x x 2=x́ x 3=i u=v (t) Por lo cual al reescribir las ecuaciones se tiene que: x́ 1=x 2 2 c x3 x́ 2=g− m x1 −R 1 x́ 3= x3 + u L L y=x 1 Se obtienen los puntos de equilibrio al hacer las derivadas del sistema cero.2 clear.5. %Variable de entrada Al expresarlos en variables de estado se syms x1 x2 x3 u tendrá que: g=9.

xop=[x1op x2op x3op uop]. zmag = exp(-tm*cita*wn).1]*(inv(S))*FideAcon) F=[f1. %Controlabilidad y observabilidad Ht=int(Gt*B. %Observador h=x1.[X.[X.u]. Pd=conv([1 -re-j*im].C*G*G].(20*(cita^2)*(wn^2)) X=[x1 x2 x3].xop)) %Obtencion matrices discretas C=eval(subs(Cs.G*G*H].t.5. Kcon=([0.%Controlabilidad n2=rank(O).C*A*A]. Pdconob=[1 . %Observadores .1] %Ahora si se escriben lo punto de operacion else %Salen de despejar las funciones igualadas 'No es controlable u observable' a cero end %xbarra=x1 y como es la salida este es el %Control discreto parametro que escojemos tm=ts/10 xbarra=10. wn=4/(cita*ts). %Se calcula el espacio estado.7.X) FideAconob=(A^3)+(Pdconob(2)*(A^2))+ Bs=jacobian(F. estas se obtiene %Controlador %cuando ya se igualo a cero las derivadas Pdcon=[1 .0. para linealizar.f2. sin ser (20*(citaob^2)*(wnob^2))+ evaluado en los puntos de operación (wnob^2).12*cita*wn . As=jacobian(F. (Pdcon(3)*A)+(Pdcon(4)*eye(3)).x2 x3])) Kecon=FideAconob*inv(O)*[0. wd=wn*((1-(cita^2))^0. R=10.xop)) syms s T t B=eval(subs(Bs.01. O=[C.[1 -0.5. x3op=((m*g*xbarra)/c)^0.C*A.u]. Cs=transpose(gradient(h. Od=[C. FideAcon=(A^3)+(Pdcon(2)*(A^2))+ f2=g-((c*x3^2)/(m*x1)).0. %Calculo polinomio deseado x2op=0.m=0. syms z x1op=xbarra.%Observabilidad %Control continuo if rank(Sd)==3 && rank(Od)==3 if n1==3 && n2==3 FideG=G^3+(Pdz(2)*G^2)+(Pdz(3)*G^1)+ %Parametros deseados (Pdz(4)*eye(3)).2.tm)) n1=rank(S). L=0.0.12*citaob*wnob .%Orden K=([0.05]).10*citaob*(wnob^3)].[x1.[1 -re+i*im]). uop=R*x3op. zang = tm*wd .f3]. H=eval(subs(Ht.5). %Se obtienen las matrices A B C en continuo Pdz=conv(Pd.T). G=eval(subs(Gt.%Tiempo de establecimiento %Obtencion coeficientes del controlador n=3. ts=1.tm)) S=[B A*B A*A*B].%Polinomio deseado y lineales %Para el controlador A=eval(subs(As.zmag). %Declarar lqw funciones que se necesitan wnob=4/(citaob*tsob). Sd=[H.T.im] = pol2cart(zang.u]. f3=((-R/L)*x3)+(u/L).[X.C*G.10*cita*(wn^3)] f1=x2.0.xop)) Gt=ilaplace(inv((s*eye(n))-A)). +(wn^2).G*H. tsob=ts/10.1]*(inv(Sd))*FideG) cita=0.u) (Pdconob(3)*A)+(Pdconob(4)*eye(3)). citaob=1. [re. c=0.

0519 −0. A= 0. en la cual se encuentra le siguiente algoritmo:  Sistema continuo estático: function [x1p.25 Estos valores se implementaron en el siguiente esquema de Matlab: . %Obtencion coeficientes del observador Ke=FideGob*inv(Od)*[0. representación de estados: m=0.x2.x2p.4 ] Y el siguiente observador: [ ] 0. [ ] 0 1 0 R=10.7 continúo con constantes estáticas y un tiempo de muestreo de 1/10 del tiempo implementado en simulink.1] else 'No es controlable u observable' end Para el desarrollo del programa. Donde la planta no lineal fue implementada haciendo uso del bloque Matlab function.2. un cita de 0.x3p] = fcn(u. FideGob=(G^n). de establecimiento para el sistema discreto. 0 B= 0 5 [] x3p=((-R/L)*x3)+(u/L).3309 −5. Esquema del sistema establecimiento de 1 segundo.5.x3) Del sistema continuo se obtiene la siguiente g=9.01.x1. c=0.2101 −0. La respuesta obtenida por el sistema ante C=[ 1 0 0 ] una entrada escalón es la siguiente: El siguiente controlador: K= [−19.98 0 −14 L=0.8. 0 0 −50 x1p=x2. se procura verificar que el sistema sea controlable u observable tanto en continuo como discreto. se desea un sistema con tiempo de Figura 1. x2p=g-((c*x3^2)/(m*x1)).043 4 Ke=1 x 10 1.0.

7101 −4.1002 −0. Figura 2.2.01. se obtiene la m=0.0993 La respuesta obtenida por el sistema ante una entrada escalón es la siguiente: C=[ 1 0 0 ] El siguiente controlador: K= [−15.0001 Estos valores se implementaron en el Figura 3.x2p. [ ] −0.0982 1. siguiente representación de estados: c=0.x2. [ ] 1. Para el desarrollo de los sistemas dinámicos se implementa el programa usado anteriormente.0225 L=0. pero la variable de referencia x1 se deja como variable simbólica con el nombre de xbarra. .2790 x1p=x2.x1.9185 1.248 −0.x3) Del sistema discreto con un tiempo de g=9.8.5. R=10. x3p=((-R/L)*x3)+(u/L).  Sistema continuo dinámico: Del sistema continuo dinámico se obtiene la siguiente representación de estados: Figura 3. en la cual se encuentra le siguiente algoritmo:  Sistema discreto estático: function [x1p. muestreo de 0. Respuesta del sistema Donde la planta no lineal fue implementada estático en continuo.0165 Ke= 10.0048 H= −0. Esquema del sistema discreto con constantes estáticas implementado en simulink.0049 −0.1 segundos.0049 0. 0 0 0. haciendo uso del bloque Matlab function.1123 0. G= 0.0067 x2p=g-((c*x3^2)/(m*x1)).095 ] Y el siguiente observador: [ ] 2. Respuesta del sistema siguiente esquema de Matlab: estático en discreto.x3p] = fcn(u.

el cual se tratara de controlar: Corrección parcial Se presentan las ecuaciones diferenciales del siguiente sistema: .0102 ] ( J R 2 ) +m ŕ + mgsinα −mr ( ά )2=0 [√ − 0. de forma que: [√ − 0. Esquema físico del sistema.21e6 √ 0. vector fila: De este sistema.0 √0.7) 0. [ ] 0.4 ( xbarra +1306 ) 0.196 xbarra √ 0.01 xbarra( 1.196 xbarra 9.196 xbarra 470.196 xbarra ) 0 xbarra xbarra 0 0 −50 [] 0 B= 0 5 C=[ 1 0 0 ] Figura 4.196 xbarra 980.196 xbarra √ 0.5 A= 9. El siguiente controlador.8 ( xbarra + 352.196∗xbarra xbarr a2 Por lo cual: ] −mg Estos valores se implementaron en el e x 2= J siguiente esquema de Matlab: ( ) R2 +m Viga y bola A continuación se presenta un sistema de viga y bola.196 xbarra xbarra + ))/ √0. se hacen las derivadas con respecto al tiempo cero.196 xbarra ] α =0 r=R [ (0. vector columna: ŕ=0 Ke Como la solución se puede dar en ángulos de nπ se opta por linealizar el sistema en: [ 430 √ 0.196 xbarra (2.8 −100 ( 0.1 0 0 0.0102 ] A partir de este modelo no lineal.041) xbarra ] mgsinα =0 Y el siguiente observador. modelado a partir de K= Lagrangiano se obtiene la siguiente ecuación diferencial: [ −√ 0.

f2].[X. j=5. x2op=0.x2])) x 1= X %Ahora si se escriben lo punto de operacion %Salen de despejar las funciones igualadas x 2=0 a cero %xbarra=x1 y como es la salida este es el X 1 0= −C J sen ( ) + u N J parametro que escojemos xbarra=((30*pi)/180).u]. %syms x1op u=Csen ( NX ) x1op=xbarra. estáticas se determina que X será igual a 30°. C=3. %Variable de entrada syms x1 x2 u b=2. clear.u].[X. f2=((-b/j)*x2)-((c/j)*sin(x1/N))+((1/j)*u). uop=(c*sin(x1op/N)). x́ 1=x 2 f1=x2.xop)) discreto: %Controlabilidad y observabilidad O=[C.X) las derivadas del sistema cero. estas se obtiene Las cuales son: %cuando ya se igualo a cero las derivadas X=[x1 x2]. h=x1. el cual generara las B=eval(subs(Bs.xop)) constantes del sistema en continuo y C=eval(subs(Cs. . se tiene que: Bs=jacobian(F. Para evaluar el sistema con constantes xop=[x1op x2op uop].C*A]. sin ser y=x 1 evaluado en los puntos de operación Se obtienen los puntos de equilibrio al hacer As=jacobian(F. %Se obtienen las matrices A B C en continuo Estos valores y ecuaciones serán y lineales implementados en el siguiente programa A=eval(subs(As. N=10.[X. %Para un plano inclinado si se tiene en cuenta gravedad se agrega mgsenteta no es Las constantes tomadas para el sistema son coseno. c=3. mgsenteta e el que da la las siguientes: componente en x B=2.xop)) desarrollado en Matlab.u) Cs=transpose(gradient(h. %Se calcula el espacio estado.u]. x x́ 2= −B J C ( ) 1 x 2− sen 1 + u J N J F=[f1. N =10 y j=5 %Declarar lqw funciones que se necesitan para linealizar.[x1.

Pdcon=[1. tsob=ts/10. Estos valores se implementaron en el G=eval(subs(Gt.T.%Tiempo de establecimiento K=[0. se procura verificar que el sistema sea controlable u %Controlador observable tanto en continuo como discreto. wn=4/(cita*ts). y un tiempo de muestreo de 1/10 del tiempo Kcon=([0. if rank(Sd)==2 && rank(Od)==2 n2=rank(O). se desea un sistema con tiempo de FideAcon=(A^2)+(Pdcon(2)*A)+ establecimiento de 2 segundos.wnob*wnob].T).t.%Controlabilidad .1] citaob=1.%Observabilidad n1=rank(S).zmag).tm)) Sd=[H. %Observador Pdconob=[1 . El siguiente controlador: [re. Ke=FideGob*inv(Od)*[0. else wnob=4/(citaob*tsob).4 ] %Control discreto tm=ts/10. FideG=G^2+(Pdz(2)*G^1)+(Pdz(3)*eye(2)).  Sistema continuo estático: FideAconob=(A^2)+(Pdconob(2)*A)+ Del sistema continuo se obtiene la siguiente (Pdconob(3)*eye(2)). FideGob=(G^n).6 384. un cita de 0.5).G*H]. syms z B= 0 0.7. representación de estados: Kecon=FideAconob*inv(O)*[0.2 [ ] %Calculo polinomio deseado C=[ 1 0 ] zmag = exp(-tm*cita*wn). %Parametros deseados %Obtencion coeficientes del controlador ts=2.im] = pol2cart(zang.5167 18 ] %Para el controlador Y el siguiente observador: syms s T t %Obtencion matrices discretas Gt=ilaplace(inv((s*eye(n))-A)). 'No es controlable u observable' %Control continuo End if n1==2 && n2==2 Para el desarrollo del programa.%Orden %Observadores cita=0. Od=[C.S=[B A*B].1]*(inv(S))*FideAcon) de establecimiento para el sistema discreto.1] else end 'No es controlable u observable' A= [ 0 1 −0.0.1001 ] Ht=int(Gt*B.wn*wn].2*cita*wn.1]*(inv(Sd))*FideG n=2. Pdz=conv([1 -re-i*im].0599 −0.[1 -re+i*im]) K= [ 40.t.C*G]. zang = tm*wd .2*citaob*wnob.7 (Pdcon(3)*eye(2)). Ke= [ 39. %Obtencion coeficientes del observador wd=wn*((1-(cita^2))^0.tm)) siguiente esquema de Matlab: H=eval(subs(Ht.

c=3. se obtiene la siguiente representación de estados: [ G= 0.922 ] Figura 1. m=0. Estos valores se implementaron en el x1p=x2.1921 −0.x1. siguiente esquema de Matlab: x2p=((-b/j)*x2)-((c/j)*sin(x1/N))+((1/j)*u).1089 ] la cual se encuentra le siguiente algoritmo: Y el siguiente observador: function [x1p.0115 0. N=10. La respuesta obtenida por el sistema ante una entrada escalón es la siguiente: Figura 3.x3) estático en continuo. Esquema del sistema [ H= 0.9208 4. . C=[ 1 0 ] Donde la planta no lineal fue implementada El siguiente controlador: haciendo uso del bloque Matlab function.x2p] = fcn(u.x2p. Respuesta del sistema function [x1p.0384 ] continúo con constantes estáticas implementado en simulink.01.  Sistema discreto estático: Del sistema discreto con un tiempo de muestreo de 0.x1.x3p] = fcn(u.4128[ ] j=5.2 segundos. g=9. Esquema del sistema discreto con constantes estáticas implementado en simulink. Ke= 1.x2. en la cual se encuentra le siguiente algoritmo: Figura 2.1617 15.8. Donde la planta no lineal fue implementada haciendo uso del bloque Matlab function.0039 0.9988 0.x2) b=2. en K= [ 28.

2. x3p=((-R/L)*x3)+(u/L). x2p=g-((c*x3^2)/(m*x1)). Respuesta del sistema estático en discreto.c=0. . La respuesta obtenida por el sistema ante una entrada escalón es la siguiente: Figura 3.5. x1p=x2. L=0. R=10.