Ugrás a tartalomhoz

Impulzív jelenségek modelljei

Karsai János

Typotex

14.3. Impulzív vezérlések

14.3. Impulzív vezérlések

A vezérlések elmélete kiterjedt. Itt csupán néhány egyszerű probléma impulzusokkal való leírására vállalkozunk.

Fűtésszabályozás

Tekintsük az egyszerű kettősfém (bimetál) szabályozást. A kettősfém lapocska két lényegesen különböző hőtágulású összepréselt fémlapból áll. Alaphelyzetében egyenes, a hőmérséklet változásakor elhajlik. A kettősfém lapocska egyik szélső alakját egy megengedhető alsó hőmérséklet esetén veszi fel, ekkor a hőforrást be kell kapcsolni. A hőmérséklet megengedhető maximális értékének a lapocska ellenkező irányú elhajlása felel meg. Ekkor a fűtést ki kell kapcsolni. Ez a jelenség is egy ütközési vagy visszaverődési problémának tekinthető, de ebben az esetben az impulzus hatásaként a hőmérséklet változását leíró differenciálegyenlet jobb oldala is megváltozik. Az impulzus bekövetkezésének pillanatában az egyenlet jobb oldala nem folytonos. Írjuk le ezt az egyszerű szabályozási modellt.

Legyen T(t)

T ? ( t ) a hőmérséklet valamely pillanatban Celsius fokban mérve. Ha T(t)=T_(min) T ? ( t ) = T min , akkor a hőforrást be, és ha T(t)=T_(max) T ? ( t ) = T max , akkor pedig ki kell kapcsolni. Ha a hőforrás nincs bekapcsolva, akkor a belső T és a külső T_k T k hőmérséklet kiegyenlítődik az

T^'=–k(T–T_k)
T ' = - k ? ( T - T k )

egyenlet szerint, ha be van kapcsolva, akkor hőmérséklet változását egyszerű esetben a

T^'=–k(T–T_k)+A
T ' = - k ? ( T - T k ) + A

egyenlet írja le. A gyors felfűtés érdekében az A fűtési sebességet (a hőforrás teljesítményét) úgy célszerű megválasztani, hogy az egyenlet (A/k)+T_k

A k + T k egyensúlyi helyzete nagyobb legyen a T_(max) T max értéknél. Vezessünk be egy w segédváltozót, amelyre w=1 w = 1 , amikor a fűtés bekapcsolt illetve w=0 w = 0 , amikor kikapcsolt állapotban van. Így a rendszer viselkedését az alábbi impulzív rendszer írja le:

T^'=–k(T–T_k)+wA, w'=0, ha T(t)?T_(min), T(t)?T_(max), w(t+0)=1, ha T(t)=T_(min), w(t+0)=0, ha T(t)=T_(max), w(0)=1, ha T(0)?T_(min), w(0)=0, ha T(0)?T_(max). T ' = - k ? ( T - T k ) + w ? A , w ' = 0 , ha ? T ? ( t ) ? T min , T ? ( t ) ? T max , w ? ( t + 0 ) = 1 , ha ? T ? ( t ) = T min , w ? ( t + 0 ) = 0 , ha ? T ? ( t ) = T max , w ? ( 0 ) = 1 , ha ? T ? ( 0 ) ? T min , w ? ( 0 ) = 0 , ha ? T ? ( 0 ) ? T max . (14.3.1)

A w kezdőértékének beállítása fontos, mert egyébként előfordulhat, hogy a hőforrás akkor is bekapcsolt állapotban van, amikor T(t)?T_(max),

T ? ( t ) ? T max , vagy nem kapcsol be, pedig T(t)?T_(min) T ? ( t ) ? T min . Ha T_(min)///<///T(0)///<///T_(max) T min ///</// T ? ( 0 ) ///</// T max , akkor a segédváltozó kezdőértékére nincs külön feltétel. Ezek a kiegészítő feltételek a gyakorlatban természetes módon teljesülnek, mivel a kezdeti hőmérséklet meghatározza a kettősfém lapocska állását és ezáltal a segédváltozó kezdeti értékét is. Az alábbi példában az eqnparm változó tartalmazza a rendszer paramétereit. A kezdőértékek: T(0)=15, w(0)=1 T ? ( 0 ) = 15 , w ? ( 0 ) = 1 .

var={T,w};

var = { T , w } ;

eqnparm={Tk›0,k›0.5,A›20,Tmin›20.,Tmax›25.};

eqnparm = { Tk 0 , k 0.5 , A 20 , Tmin 20. , Tmax 25. } ;

Tdot={–k(T–Tk)+Aw,0}/.eqnparm;

Tdot = { - k ? ( T - Tk ) + A ? w , 0 } /. ? eqnparm ;

Impulse={{T–Tmax,{T,0.},1},{T–Tmin,{T,1.},1}}/.eqnparm;

Impulse = { { T - Tmax , { T , 0. } , 1 } , { T - Tmin , { T , 1. } , 1 } } /. ? eqnparm ;

t0=0;t1=5;dt=0.01; T0list={{15.,1.}};

t0 = 0 ; t1 = 5 ; dt = 0.01 ; T0list = { { 15. , 1. } } ;

Oldjuk meg a rendszert, és ábrázoljuk a megoldást:

sol=IDERKSolve[Tdot,Impulse,var,T0list,{t,t0,t1,dt}];

sol = IDERKSolve [ Tdot , Impulse , var , T0list , { t , t0 , t1 , dt } ] ;

Map[ListPlot[Coordinate[#,2],PlotJoined›True,GridLines-///>///Automatic,PlotRange›{0,30}]///&///,sol];

Map [ ListPlot [ Coordinate [ # , 2 ] , PlotJoined True , GridLines -///>/// Automatic , PlotRange { 0 , 30 } ] ///&/// , sol ] ;

Hűtésszabályozás

A kettősfém hűtés vezérlésére is használható. A modell hasonló a fűtési modellhez. Legyen T(t)

T ? ( t ) a hőmérséklet valamely pillanatban (C°-ban mérve), és legyen T_k T k a környezet hőmérséklete. Legyenek T_(min)///<///T_(max). T min ///</// T max . Ha T(t)?T_(max) T ? ( t ) ? T max , akkor a hűtést be, ha és T(t)?T_(min) T ? ( t ) ? T min , akkor pedig ki kell kapcsolni. Ha nincs hűtés, akkor az adott (hűtendő) tér és a környezet hőmérséklete kiegyenlítődik a

T^'=–k(T–T_k)
T ' = - k ? ( T - T k )

egyenlet által megadott módon. Ha a hűtés be van kapcsolva, akkor egyszerű esetben a

T^'=–k(T–T_k)–A
T ' = - k ? ( T - T k ) - A

egyenlet írja le a hőmérséklet változását. A hűtési sebességet úgy célszerű megválasztani, hogy (A/k)+T_k///<///T_(min)

A k + T k ///</// T min . Vezessünk be egy w segédváltozót, amelyre w=1 w = 1 , amikor a hűtés bekacsolt állapotban van és w=0 w = 0 , amikor ki van kapcsolva. Így a rendszer viselkedését az alábbi impulzív rendszer írja le:

T^'=–k(T–T_k)+wA, w'=0, ha T(t)?T_(min), T(t)?T_(max), w(t+0)=1, ha T(t)=T_(max), w(t+0)=0, ha T(t)=T_(min), w(0)=0, ha T(0)?T_(min), w(0)=1, ha T(0)?T_(max). T ' = - k ? ( T - T k ) + w ? A , w ' = 0 , ha ? T ? ( t ) ? T min , T ? ( t ) ? T max , w ? ( t + 0 ) = 1 , ha ? T ? ( t ) = T max , w ? ( t + 0 ) = 0 , ha ? T ? ( t ) = T min , w ? ( 0 ) = 0 , ha ? T ? ( 0 ) ? T min , w ? ( 0 ) = 1 , ha ? T ? ( 0 ) ? T max . (14.3.2)

Az alábbi példában a kezdőértékek: T(0)=0, w(0)=1

T ? ( 0 ) = 0 , w ? ( 0 ) = 1 .

eqnparm={Tk›20.,k›0.1,A›30, Tmin› –20., Tmax›–10.};

eqnparm = { Tk 20. , k 0.1 , A 30 , Tmin - 20. , Tmax - 10. } ;

var={T,w}; Tdot={–k(T–Tk)–Aw,0}/.eqnparm;

var = { T , w } ; Tdot = { - k ? ( T - Tk ) - A ? w , 0 } /. eqnparm ;

Impulse={{T–Tmin,{T,0.},1},{T–Tmax,{T,1.},1}}/.eqnparm;

Impulse = { { T - Tmin , { T , 0. } , 1 } , { T - Tmax , { T , 1. } , 1 } } /. eqnparm ;

t0=0; t1=10;dt=0.01; T0list={{0,1.}};

t0 = 0 ; t1 = 10 ; dt = 0.01 ; T0list = { { 0 , 1. } } ;

Oldjuk meg a rendszert, és ábrázoljuk az első megoldást.

sol=IDERKSolve[Tdot,Impulse,var,T0list,{t,t0,t1,dt}];

sol = IDERKSolve [ Tdot , Impulse , var , T0list , { t , t0 , t1 , dt } ] ;

A megoldás grafikonja:

Map[ListPlot[Coordinate[#,2],PlotJoined›True,GridLines-///>///Automatic,PlotRange›{–25,5}]///&///,sol];

Map [ ListPlot [ Coordinate [ # , 2 ] , PlotJoined True , GridLines -///>/// Automatic , PlotRange { - 25 , 5 } ] ///&/// , sol ] ;

Időkapcsolók

Számos esetben, például szellőző rendszerekben az időkapcsolók alkalmazása szokásos. Most csak a kapcsolást végző w segédváltozó működését meghatározó rendszert írjuk le, ehhez tetszőleges állapotegyenlet kapcsolható. Tegyük fel, hogy adott t_i

t i pillanatokban ({t_i} { t i } monoton növő sorozat) a kapcsoló bekapcsol és adott s_i s i pillanatokban kikapcsol. Bekapcsoláskor a w=1 w = 1 , kikapcsoláskor a w=0 w = 0 állapotbeállítás történik. A t_i t i és s_i s i pillanatok között nem szükségszerű semmiféle kapcsolat, de célszerűen t_i///<///s_i///<///t_(i+1)///<///s_(i+1)... t i ///</// s i ///</// t i + 1 ///</// s i + 1 ... Ezt a kapcsolót a

w'=0, ha t?t_(i,)t?s_i, w(t_i+0)=1, w(s_i+0)=0 w ' = 0 , ha ? t ? t i , ? t ? s i , w ? ( t i + 0 ) = 1 , w ? ( s i + 0 ) = 0 (14.3.3)

impulzív rendszer írja le. Legyen t_i=iT

t i = i ? T és s_i=t_i+? s i = t i + ? (?///<///T) ( ? ///</// T ) :

var={w}; wdot={0}; eqnparm={T›2.,?›0.5};

var = { w } ; wdot = { 0 } ; eqnparm = { T 2. , ? 0.5 } ;

Impulse={{Sin[(?t/T)],{1.},1},{Sin[(?(t–?)/T)],{0.},1}}/.eqnparm;

Impulse = { { Sin [ ? ? t T ] , { 1. } , 1 } , { Sin [ ? ? ( t - ? ) T ] , { 0. } , 1 } } /. ? eqnparm ;

t0=0; t1=9; dt=0.05; w0list={{0}};

t0 = 0 ; t1 = 9 ; dt = 0.05 ; w0list = { { 0 } } ;

Oldjuk meg a rendszert, és ábrázoljuk a megoldást.

sol=IDERKSolve[wdot,Impulse,var,w0list,{t,t0,t1,dt}];

sol = IDERKSolve [ wdot , Impulse , var , w0list , { t , t0 , t1 , dt } ] ;

A kapcsoló grafikonja:

(ListPlot[Coordinate[#1,2],PlotJoined›True,PlotRange›{0,1.1}]///&///)/@sol;

( ListPlot [ Coordinate [ #1 , 2 ] , PlotJoined True , PlotRange { 0 , 1.1 } ] ///&/// ) /@ sol ;

Ez a rendszer megoldható az IDESolve programmal is. Ezt az olvasóra bízzuk. Megjegyezzük, hogy a kapcsolás értéke függhet a w vagy az adott rendszer más változóinak értékétől is akár az állapotkapcsolás, akár az időkapcsolás esetén. Egyszerű váltókapcsolót ír le az |w-1| impulzusfüggvény. Lehetőség van többállású (többfokozatú) kapcsolók definiálására is.