UmU/TFE Laboration Processidentifiering och Polplacerad Reglering Introduktion Referenser till teoriavsnitt följer här. Processidentifiering: Kursbok kap 17.3-17.4. Jämför med det sista exemplet i kap 17.3. När du skall göra beräkningar med Matlab för processidentifiering så kan du få hjälp av dokument id_proc.html (se länken, kopiera denna färdiga programkod, spara den i en m-fil och kör den i Matlab ). Innan du kör programmet - Kolla först dina in- och utdata från processen i en (klartext)fil som du ger namnet datafil.txt (programmet läser in numeriska datavärden från din datafil.txt m.h.a. Matlabfunktionen load. Lägg märke till hur in- respektive utdata från blodsockerprocessen är placerade i filen. Du laddar ner datafilen till din arbetskatalog enligt anvisningar som beskrivs i avsnitt reglerdata nedan). Polplacering: Kursbok kap 19.2-.19.4. Att med dator rita ett Bodediagram (i ett tidsdiskret system): Se länken - bode_ml_ex1.html En simuleringsteknik du kan använda: Se kursboken kap. 24.3 om Simulink och se dokument (laboration) "Introduktion till Simulink". Förutsättningar Man försöker automatisera tillförseln av insulin hos diabetespatienter. En första arbetsmodell är att blodsockerhalten mäts (samplas) med jämna mellanrum. Med kännedom om insulin/blodsockerprocessen så ges insulin intravenöst via en pump för att reglera blodsockernivån inom ett acceptabelt intervall. Se figuren nedan. I ett tidigare experiment så har man mätt hur sockerhalten svarar på en dos insulin. Denna information finns tillgänglig (i form av samplade mätdata) för analys av processen. Börv. bl. socker Pump Reglerobj. Ärvärde blods. 1 C( z) 1 1? D(z)
Reglerdata samt mätdata: Den biologiska processen för sockerhalt i blod har i detta exempel insignalen u samt utsignalen y. Signalen y anger nivån för blodsockerhalten (antal enheter relativt ett normalvärde). Signalen u är styrsignal och anger aktuella mängden insulinenheter som tillförs processen. För att identifiera denna process så styrs u och man sparar alla värden på u och y i en datafil som du får tillgång till. Anta att du har följande (eg. följande skall simuleras): o En snabb dator med aktuellt sampelintervall lika med 1 minut. Intervalltiden bestäms av processidentifieringen som har samplade data med detta tidsintervall. o Ideala A/D- och D/A-omvandlare. o Idealt styrdon (insulinpump) och ideal blodsockergivare (dvs de har båda överföringsfunktionen 1.0). Insulinpumpen har begränsningen att dess flöde kan maximalt vara 8 enheter per tidsenhet (hur kan detta tas med i Simulink?). Insulinpumpen kan naturligtvis inte ångra (återta) en utpumpad dos. Blodsockerprocessen störs (belastas), på utsignalsidan, av signalen v (dvs v adderas till y). Registrering på in- och samhörande utdata från processen finns lagrade i filen "datafil.txt" där sampelintervalltiden är 1 minut. Mätdata: Hämta filen datafil.txt genom att klicka med höger musknapp - spara sedan filen på din arbetskatalog ( save target as ). Data är lagrade i denna fil som ascii-tecken i en matris där kolumn 1 är indata (u) och kolumn 2 är utdata (y), samma rad anger samma sampeltidpunkt. Se även punkt (i) nedan hur du före labbtillfället förbereder en första dimensionering av din regulator. Uppgift Man planerar förbättra ett befintligt reglersystem och man vill därför i ett utvärderande syfte simulera blodsockerprocessen då den styrs av en polplacerad tidsdiskret regulator. (i) Först vill man simulera en s.k. deadbeat-regulator (alla poler placeras i origo). Simulera effekterna av en stegformad börvärdesändring och en stegformad laststörning (sockerbelastning, se mera i punkt iii). Förutom blodsockernivå kan även börvärdet och styrsignalens storlek vara av
intresse (redovisas grafiskt i samma diagram). Styrsignalen speglar insulinflödet, d.v.s. hur mycket insulin som sprutas in per tidsenhet. Se även punkt (iii) nedan där även störsignal definieras. Ledning: Processidentifiering med LMS ger överföringsfunktionen för blodsockerprocessen. Procecessen byter fas (in- och utsignal har olika tecken) Hur hanteras detta enklast? Ett förslag: Räkna som vanligt (enligt kursboken) men var noga med tecken: Behåll minustecken där de uppträder - Tex kan regulatorns, Kr, D 0 räknas fram till att bli negativa liksom processens B 1. OBS Sampelintervallet är 1 minut vid process identifieringen så samma intervall skall gälla vid regleringen. Lämpligt att välja sampelintervallet till 1.0 (enheten är underförstått en minut). Den som före labbtillfället vill dimensionera en regulator kan inledningsvis använda denna process till första simuleringen (är nära ): 0.1682 H ( z) =. z 0.9851 (ii) Sedan vill man även konstruera en regulator som är mer robust (dvs har annan polplacering) och man vill även simulera denna. Du väljer själv polplacering och om din regulator skall ha en s.k. I-del eller ej. (iii) De två regulatorerna skall sedan jämföras med varandra: a) Det slutna systemets börvärdesändring för de två systemen skall jämföras. Är det skillnad i styrsignalnivåerna i de båda fallen? Börvärdesändringen har här som mål att y ändras från 0.0 enheter till -1.0 enheter. Likaså skall effekterna av en stegformad störning simuleras då regulatorn är i drift med börvärdet lika med -1.0 enheter. Störningen adderas efter processen och den har amplituden 1.2 enheter (motsvarar direkt intravenös tillförsel av sockerlösning). Ledning: Börvärdet samt störningen kan representeras med var sitt Simulinkblock "step". Störningen kan förslagsvis ges efter en tid till dess börvärdet stabiliserat sig. Simulink kallar fördröjningstiden (lite missvisande) för step time. Se även ledning i Bilaga. b) Slutligen vill man ha ett mått på stabiliteten för de två olika dimensionerade polplaceringarna i form av värden på amplitud- samt fasmarginal. Man vill även ha ett Bodediagram där dessa två stabilitetsindikatorer kan utläsas. Ange även i klartext respektive numeriska stabilitetsvärden. En följdfråga: Inom vilket arbetsområde gäller de stabilitetsmått du räknat fram? c) Att fundera över och besvara: Om din reglering av blodsocker har ett kvarstående fel vid en stegformad laststörning Beskriv med ord hur du skulle åtgärda det problemet. d) Den som hinner räknar även ut och testar i Simulink uppgiften c (enligt ovan). Redovisa Redovisa lösning och uppnådda resultat i en kort rapport enligt nedanstående
punkter. Rapporten till laborationen skall göras kort (i möjligaste mån). Ett exempel på en strukturerad rapport för denna laboration ges av följande disposition: Sammanfattning (Inledning) Målsättning Uppgift Teori Utförande (här återfinns bl.a. din källkod i form av ditt grafiska Simulinkschema). Resultat (innehållande även grafer från simuleringen) Diskussion Sänd in din rapport med e-post som enbart en fil i format WORD eller (bäst) PDF. (bigoga inga Matlab eller Simulinkmodeller) Bilaga Ledningar till SIMULINK. (I) Exempel på en överföringsfunktion,, som i Simulink (leta i bibliotek "Discrete") definieras så här Se figuren. Om nämnaren är (z 0.5) anges denomiator [1, -0.5]. (II) I vilket Simulinkbibliotek hittar jag block för. (1) Gain dvs multiplikation och sum of two signals dvs summationspunkt, (2) Scope dvs grafisk presentation och (3) step dvs stegfunktion? - Respektive bibliotek heter (1) Math, (2) Sinks och (3) Sources. Kommentar:
Om överföringsfunktionen är en konstant går det bra att använda blocket gain. < TFE/BT. Detta dokument ändrades senast 2009-05-08 /BT >