Digitale regelsystemen overgang naar z-domein
De computer als regelaar IN UIT Computer DAC G(s) ADC H(s) digitaal analoog Voordelen : digitale datatransmissie = ruisvrij aanpassen regelaar = software
Mixed analoog-digitaal systeem Hoe modelleren (s-domein, z-domein) ? We doen dit in drie stappen : de transferfunctie van de ADC en DAC de totale analoge transferfunctie GA(s) de tijddiscrete transferfunctie G(z)
Transferfunctie van de ADC en DAC x(t) x[n] y(t) ADC DAC x[n] y(t) x(t) t k t 0 1 2 3 4 0 T 2T 3T 4T
Nulde-orde houdschakeling (ZOH) + x(t) y(t) _ y(t) x(t) de schakelaar wordt gedurende een infinitesimaal kort tijdstip gesloten → we bekomen hetzelfde uitgangssignaal ! t t 0 1 2 3 4
Transferfunctie van ZOH g0(t) = impulsresponsie g0(t) = u(t) – u(t-T) ℒ 1 t 0 T T = bemonsteringsinterval
De totale analoge transferfunktie X(s) Y(s) ADC DAC G(s) H(s) G0(s) GA(s) = G0(s) G(s) H(s) De computer staat echter tussen de ADC en DAC : we moeten de zaak anders bekijken !
De tijddiscrete transferfunctie x[n] y[n] DAC G(s) H(s) ADC x[n] y[n] G(z) G(z) = ?
Methode : via tabel splits GA(s) in partieelbreuken vervang de termen in s door de overeen- komstige termen in z via de tabellen van Laplace- en z-transformatie deze methode noemt men de zero order hold (zoh) methode
x(t) X(s) X(z)
Voorbeeld partieelbreuksplitsen tabel
Invullen voor T = 1 sekonde >> Gs=tf(1,[1 1 0]) >> T=1 >> Gz=c2d(Gs,T,'zoh') >> zero(Gz) >> pole(Gz)
Stapresponsie u[n] y[n] u[n] y(t) u(t) yH(t) >> Gs=tf(1,[1 1 1]) >> T=0.01;Gz=c2d(Gs,T,'zoh'); step(Gs,Gz,10) neem achtereenvolgens T= 0.01, 0.1 en 1 en bekijk de responsie ! u[n] y(t) u(t) DAC G(s) y[n] u[n] yH(t) G(z) DAC
y(t) yH(t)
Terugkoppeling IN UIT + D(z) G(z) computer IN + UIT D(z) G(z) transferfunktie : D(z) is de z-getransformeerde van de differentievergelijking die in de computer is geïmplementeerd
Root locus in het z-vlak j y het systeem wordt onstabiel als de polen buiten de eenheidscirkel komen te liggen ! eenheidscirkel -0,71 0,36 1 x
Rand van stabiliteit j y eenheidscirkel 75,9° x K = 2,3922 = 1
Bekenenen van K Polen ejf en e-jf op eenheidscirkel, dus q(z) = (z – ejf) (z – e-jf) = z2 – 2 cosf z + 1 K = (1-0,3679)/0,2642 = 2,3922 f = bg cos ((1,3679-0,3679K)/2 ) = 75,9°
Simulaties >> K=0.5; Gs=tf(K,[1 1 0]); Ts=feedback(Gs,1); >>T=0.01;Gz=c2d(Gs,T,'zoh');Tz=feedback(Gz,1);step(Ts,Tz,10) ‘speel’ met de waarden van K en T en interpreteer de responsie neem K =1 en T = 1 en simuleer de root locus >> rlocus(Gz); axis([-2.5 1.5 -1.5 1.5]) neem K = 1 en T = 1 en simuleer de fazemarge van het tijddiskrete systeem >> margin(Gz) merk op : de plot eindigt bij de halve samplefrekwentie wN = p / T simuleer eveneens voor K = 2,3922 en T = 1 : wat verwacht je ?
De computer als regelaar toevoegen van een pool en een nulpunt afleiden van de differentievergelijking : y[n] = K x[n]– K a x[n-1] + b y[n-1] ontwerpen van de regelaar : bepalen van de waarde voor K, a en b
Simulaties >> K=2; Gs=tf(K,[1 1 0]); Ts=feedback(Gs,1); >> T=1;Gz=c2d(Gs,T,'zoh');Tz=feedback(Gz,1); >> a=0.3;b=-0.2;D=tf([1 -a],[1 -b],T) >> L=D*Gz;Tr=feedback(L,1);step(Ts,Tz,Tr,10) simuleer eveneens de root locus >> rlocus(L); axis([-2.5 1.5 -1.5 1.5]) experimenteer met de waarden voor K, a en b