Föreläsning 11 Reglerteknik AK c Bo Wahlberg Avdelningen för Reglerteknik, KH 4 oktober, 2016
2 Förra gången: Introduktion Alternativa regulatorstrukturer Dagens program: Implementering: Regulator System r Σ e F (s) u G(s) y Hur förverkligar man sambandet mellan e(t) och u(t)? -1
Analog implementering Det finns olika typer av implementeringar: Mekanisk Hydraulisk Pneumatisk Elektronisk Centrifugalregulatorn är en mekanisk implementering av en P-regulator.
Analog implementering - Centrifugalregulatorn
Digital implementering Köp en dator med ett AD/DA-kort. 1. A/D: Mäter den kontinuerliga signalen vid diskreta tidpunkter (avståndet mellan dessa kallas samplingintervallet och betecknas ). 2. Datorprogram = regulatoralgoritm ( ) ) u(k ) = f (e F (k ), e F (k 1),.. 3. D/A: Skickar ut den beräknade (diskreta) styrsignalen. Oftast hålls den styckvis konstant mellan datapunkterna (enklaste formen av interpolation). Detta kallas en hållkrets. Se figur 10.4 i boken!
6 Realtidssystem Användargränssnitt Synkronisering Kommunikation Autocodegenerering (Matlab C)
Regulatoralgoritm u(t) ges normalt av en diff.-ekvation. PI: u = K(e + 1 I e) u = Kė + K I e Lead/Lag: U(s) = τ Ds+1 βτ D s+1 E(s) βτ D u + u = τ D ė + e
Regulatoralgoritm Digital implementering sker genom numerisk lösning av differential ekvationer. Idéen är att ersätta derivator med differensapproximationer.
Regulatoralgoritm Operatorformalism: Deriveringsoperatorn, p. pu(t) = u(t) Förskjutningsoperatorn, q. q u(t) = u(t + ) Inverterade förskjutningsoperatorn, q 1 u(t) = u(t ) q 1.
Euler bakåt och ustins formel Vi kan approximera förstaderivatan med u(t) u(t) u(t ) Eller skrivet med hjälp av operatorer som Detta är Euler bakåt. p 1 [ 1 q 1 ] En annan vanlig approximation är ustins formel p 2 1 q 1 1 + q 1
Regulatoralgoritm Betraktar vi en aylorutveckling q u(t) = u(t + ) = {aylor} = u(t) + pu(t) +.. = e p u(t) ser vi att vi kan uttrycka förskjutningsoperatorn som q = e p vilket kan jämföras med tidsförskjutningen e s. [ 1 Euler bakåt: 1 e p ] = p + O( ) ( ) 2 ustins formel: 1 e p p + O( 2 ) 1+e +p
12 Regulatoralgoritm Example (Lead-länk + Euler bakåt) Vi kan skriva om en given differentialekvation med hjälp av Euler bakåt som βτ D 1 βτ D u + u = τ D ė + e ( ) 1 q 1 τ D u(t) + u(t) = varur vi sedan kan lösa ut u(t) som u(t) = βτ D βτ D + [ q 1 }{{ u(t) } u(t ) ] + τ D + βτ D + e(t) ( ) 1 q 1 e(t) + e(t) τ D βτ D + q 1 }{{ e(t) } e(t )
13 Regulatoralgoritm Example (PI + ustin) Givet en differentialekvation u = K(ė + 1 I e) identifierar vi från sambandet U = F E att F (p) = K(p + 1 I ) p som vi kan skriva om med hjälp av ustins formel som [ ( K 2 1 q 1 ) ] F (q 1 ) = + 1 1+q 1 I ( 1 q 1 ) = 2 1+q 1 [ ( ) K 1 + 2 I + 1 + 2 I 1 q 1 q 1 ]
Regulatoralgoritm Example (PI + ustin, fort.) Vi finner sedan u(t) från sambandet u(t) = F (q 1 )e(t) med insatt uttryck för F (q 1 ) som [ (1 ) ( ) ] u(t) = u(t ) + K + e(t) + 1 + e(t ) 2 I 2 I
15 Samplingsintervall Hur ska man välja samplingsintervallet? Man bör ta hänsyn till Räknekapacitet Stabilitetsmarginaler Aliaseffekt
Samplingsintervall Stabilitetsmarginal: Försämras vid digital implementation idsfördröjning på grund av sampel- och hållkrets Approximationer Sampel- och hållkrets tidsfördröjning Example Vill vi tolerera max 20 minskning av ϕ m : = ω c < 0.35(rad) = < 0.35 ω c
17 Samplingsintervall Samplingsfrekvensen ges av ω s = 2π 20ω c Används en smartare diskret design kan man ta ω s (5 10)ω c
18 Aliaseffekten (vikningsdistorsion) Efter sampling kan signaler med frekvens högre än ωs 2 (Nyquistfrekvensen) ej skiljas från signaler med frekvens lägre än ω s 2.
Aliaseffekten (vikningsdistorsion) Motmedel: 1. Bestäm intervall [0, ω max ] där vi behöver en korrekt beskrivning av signaler 2. Välj så att ω max < ωs 2 = < π ω max 3. LP-filtrera (low pass) signalerna innan sampling