1ransfer- funks[oner D|erens|a| -||kn|nger 1.orden 2.orden Lap|ace 8lokk- dlagrammer 1llsLandsrom- modeller Speslalulfelle Stab|||tets- ana|yse MaLhScrlpL LabvlLW uaLaverkLy 1. Systemets po|er 8odedlagram Analyse/ueslgn 8eallserlng/ lmplemenLerlng 2. Irekvensrespons D|skrenser|ng kegu|er|ngssystem Det komp|ekse p|an ueL komplekse plan AsympLousk sLabllL sysLem MarglnalL sLabllL sysLem usLabllL sysLem AsympLousk sLabllL sysLem MarglnalL sLabllL sysLem usLabllL sysLem 1|dsp|anet Alr PeaLer 1.orden med udsforslnkelse 1|dsp|anet S-p|anet kegu|er|ngstekn|kk k = lorsLerknlng 1=1ldskonsLanL Sprang- respons Serle, arallel, leedback D|skrenser|ng 1able of ConLenLs 1. WhaL ls ulscreLe Slgnals and ulscreuzauon? 2. Why ulscreuzauon? 3. ulscreuzauon MeLhods Lu|er, 1usun, ZCP, eLc. 4. ulscreuzauon Lxamples ulerenual Lquauons -> ulerence Lquauons Conunous SLaLe-space models -> ulscreLe SLaLe-space models 3. ulscreuzauon ln MathScr|pt wlLh Lxamples 6. ulscreuzauon ln LabVILW wlLh Lxamples 7. ulscreLe Lowpass I||ter ulscreLe AlgorlLhm LabvlLW lmplemenLauon (Lxample) 8. ulscreLe I ConLroller ulscreLe AlgorlLhm LabvlLW lmplemenLauon (Lxample) 9. C-based Contro| System - LabvlLW Lxample needed ln Lhe ro[ecL ulglLal Slgnals & values 1 0 1 0 0 L.g. 8 blL: 00000000 -> 0 . . . 11111111 -> 233 keso|unon: L.g. 8 blL resoluuon 8esoluuon: 3v/236=0.0193v 8 blLs have 236 dlerenL comblnauons or levels 8lnary values: 0" and 1" Au ConverLer uA ConverLer MeasuremenL Slgnal ConLrol Slgnal Au & uA ConverLers AD - Analog Lo ulglLal DA - ulglLal Lo Analog Connnuous S|gna| D|scret S|gna| A compuLer can only deal wlLh dlscreLe slgnals ulerenL ulscreLe Symbols and meanlngs resenL value: revlous value: nexL (luLure) value: noLe! ulerenL noLauon ls used ln dlerenL llueraLure! Sampllng and Allaslng Crlglnal Slgnal A||as|ng ("Nedfo|d|ng") -> 1he Samp||ng kate |s to |ow! Sampllng 1lme Sampllng lrequency ulscreLe Approxlmauon of Lhe ume derlvauve Luler backward meLhod: Luler forward meLhod: ulscreuzauon MeLhods Lu|er forward method: Lu|er backward method: CLher meLhods are Zero Crder Pold (ZCP), 1usun's meLhod, eLc. Slmpler Lo use! More AccuraLe! ulscreuzauon Lxample Clven Lhe followlng conunuous sysLem: We wlll use Lhe Luler forward meLhod : SLudenLs: en and paper: llnd Lhe dlerence equauon (dlscreLe dlerenlual equauon) for Lhls sysLem. ulscreuzauon Lxample - Soluuons Clven Lhe followlng conunuous sysLem: We wlll use Lhe Luler forward meLhod : D|screnzanon |n MathScr|pt - A|t. 1 % Simulation of discrete model clear, clc
% Model Parameters a = 0.25;b = 2;
% Simulation Parameters Ts = 0.1; %s Tstop = 20; %s uk = 1; % Step in u x(1) = 0; % Initial value
% Simulation for k=1:(Tstop/Ts) x(k+1) = (1-a*Ts).*x(k) + Ts*b*uk; end
% Plot the Simulation Results k=0:Ts:Tstop; plot (k, x) grid on SLudenLs: lmplemenL and SlmulaLe Lhls sysLem ln MaLhScrlpL D|screnzanon |n MathScr|pt - A|t. 2 % Find Discrete model clear clc
% Model Parameters a = 0.25; b = 2; Ts = 0.1; %s
% State-space model A = [-a]; B = [b]; C = [1]; D = [0];
model = ss(A,B,C,D) model_discrete = c2d(model, Ts, 'forward') step(model_discrete) SLudenLs: lmplemenL and SlmulaLe Lhls sysLem ln MaLhScrlpL We geL Lhe same answer as ln prevlous example! ulscreuzauon ln LabVILW uslng Lhe Iormu|a Node Lxamp|e (bacLerla populauon): lmplemenung dlcreLe equauons ln LabvlLW uslng C synLax SLudenLs: lmplemenL and SlmulaLe Lhls sysLem ln LabvlLW uslng a Iormu|a Node and a Ior Loop. A Subvl could be used Lo lmplemenL Lhe model. We wlll slmulaLe Lhe number of bacLerla ln Lhe [ar aer 1 hour (slmulauon perlod), assumlng LhaL lnlually Lhere are 100 bacLerla presenL (x(0)). SeL b=1, p=0.3. SeL 1s=0.01s. SubVI ulscreuzauon ln LabvlLW uslng Lhe lormula node - Soluuons Note! A Subvl ls used Lo lmplemenL Lhe model. 8ecommended!! Slmulauon 8esulLs: Subvl: noLe! 8lghL-Cllck and selecL roperues. SeL Mulupller = 0.01 (=1s) ln Lhe Scales 1ab. D|screte State-space Mode|s Cr uslng anoLher noLauon: ulscreLe SLaLe-space Models - Lxample Clven Lhe followlng conunuous sysLem: We wlll use Lhe Luler forward meLhod : SLudenLs: SLudenLs: llnd Lhe dlscreLe sLaLe-space model (uslng pen and paper) ulscreLe SLaLe-space Models - Lxample (Soluuons) Clven Lhe followlng conunuous sysLem: We wlll use Lhe Luler forward meLhod : ulscreLe SLaLe-space Models Lxample ln MaLhScrlpL Clven Lhe followlng conunuous sysLem: % Properties Ts = 0.1;
% Continuous System: A = [0, -Ts; 0, 0]; B = [2*Ts, 0]'; C = [1 0]; D = [0]; ssmodel = ss(A, B, C, D); figure(1) step(ssmodel)
% Discrete System: ssmodel_discete = c2d(ssmodel, Ts, 'forward) figure(2) step(ssmodel_discete) MaLhScrlpL SLudenLs: lmplemenL Lhe sysLem above and nd Lhe sLep response uslng MaLhScrlpL. 1ry wlLh dlerenL values for 1s! ro[ecL lmplemenL a ConLrol SysLem for Lhe Alr PeaLer wlLh ulscreLe Lowpass lllLer and l ConLroller from ScraLch lmplemenung a ConLrol SysLem Whlle Lhe real process ls conunuous, normally Lhe ConLroller and Lhe lllLer ls lmplemenLed ln a compuLer. We are golng Lo nd dlscreLe algorlLhms for Lhe Lowpass I||ter and Lhe I Contro||er and lmplemenL Lhem ln LabvlLW Alr PeaLer C-based ConLrol SysLem - LabvlLW Lxample (PMl/Cul) 1ldsdlskreL (daLamasklnbaserL) lu-regulerlngsslyfe Prosess Sensor y SP e PID- regulator y d y m
Mlesty y mf
Automatiseringsutstyr med mikroprosessor AD DA Manuell Auto Pdrags- omregning Mleverdi- omregning Mle- filter Aktuator u man u t y(t) t k =kT s T s y SP (t k ) t k e(t k ) t k u(t k ) u(t) t t k y mf (t k ) t y m (t) Lowpass I||ter Lowpass lllLer 1ransfer funcuon: SLudenLs: en and aper: llnd Lhe dlscreLe algorlLhm for Lhls lLer, whlch can be lmplmenLed ln a programmlng language llke C or LabvlLW lormula node use Lhe Luler 8ackward meLhod: D|screte Lowpass I||ter We use Lhe Luler 8ackward meLhod: lnverse Laplace glves Lhe dlerenual Lquauon: 1hls glves: Lowpass lllLer 1ransfer funcuon: We dene: 1hls glves: 1hls algorlLhm can be easly lmplemenLed ln a rogrammlng language lllLer ouLpuL nolsy lnpuL slgnal ulscreLe Lowpass lllLer - LabvlLW SLudenLs: lmplemenL a ulscreLe Lowpass lllLer and make sure Lo LesL lL properly Lxample of lmplemenLauon 1esung Lhe ulscreLe Lowpass lllLer I Contro||er Conunuous l ConLroller: SLudenLs: en and aper: llnd Lhe dlscreLe algorlLhm for Lhls l conLroller, whlch can be lmplmenLed ln a programmlng language llke C or LabvlLW lormula node use Lhe Luler 8ackward meLhod: D|screte I Contro||er Conunuous l ConLroller: We use Lhe Luler 8ackward meLhod: We may seL: 1hls glves Lhe followlng dlscreLe l algorlLhm: 1hls algorlLhm can be easly lmplemenLed ln a rogrammlng language ulscreLe l ConLroller - LabvlLW SLudenLs: lmplemenL a ulscreLe l ConLroller and make sure Lo LesL lL properly Lxample of lmplemenLauon MaLhemaucal Model of Lhe rocess leedback node 1esL of ulscreLe l ConLroller ln LabvlLW noLe! Make sure Lo compare your l ConLroller wlLh Lhe bullL- ln lu ConLroller! C-based ConLrol SysLem - LabvlLW Lxample (8eal process) Subvl LhaL handles Lhe l/C beLween LabvlLW and Lhe 8eal rocess Subvl: Scallng: 1-3v -> 20-30 degrees Celslus 1s 1f C-based ConLrol SysLem - LabvlLW Lxample (PMl/Cul) 1esung your l ConLroller on Lhe Alr PeaLer rocess 1est 1: Compare your l ConLroller wlLh one of Lhe bullL-ln lu ConLrollers ln LabvlLW 1est 2: 1esL your l ConLroller when changlng Lhe keference, Lo see lf you geL good Lracklng (LhaL Lhe ouLpuL follows Lhe reference) 1est 3: Make sure LhaL your l ConLroller can handle changes ln Lhe D|sturbance (e.g., hold your hand ln fronL of Lhe Lube lnleL) nans-euer na|vorsen, M.Sc. 1e|emark Un|vers|ty Co||ege Iacu|ty of 1echno|ogy Department of L|ectr|ca| Lng|neer|ng, Informanon 1echno|ogy and Cybernencs