Deign av en ångmakinregulator och ett interaktivt använargrännitt S E F A N R Y D B A C K Mater of Science hei Stockholm, Sween 2004 IR-R-EX-0408
Sammanfattning Denna rapport behanlar examenarbetet Deign av en ångmakinregulator och ett interaktivt använargrännitt vilket har utfört på upprag av Ångpanneföreningen AB. I arbetet moellera och tyr en ångmakin me aveene på vänghjulet varvtal. Detta utför me hjälp av en Fiel Programmable Gate Array FPGA. Syftet är att utvärera huruvia en FPGA, me eller utan en mjuk proceorkärna, lämpar ig för att implementera regleralgoritmer amt när en kan vara motivera att använa. I moelleringen av ångmakinen använ om utgångpunkt energiekvationen för ångomen och mekanika betrakteler för vänghjulet. Båa överföringfunktionerna är av förta orningen utan nolltällen. Olinjäriteterna i proceen är förummae och ångmakinen är moellera om ett anra orningen linjärt tiinvariant ytem. Regleringen av vänghjulet varvtal ker me en regulator av PID-typ om är implementera i FPGA:n. För att unerlätta implementeringen av regulatorn använ en mjukvaruproceor. Styrignalen till ångmakinen är uttråla effekt från en el-patron. Effekten variera me pulbremoulering. Övriga tyrningar och kommunikationer är funktioner krivna i VHDL. Att använa en FPGA om tyrenhet har båe för och nackelar. Förelarna är att flera ytem kan tyra amtiigt utan inverkan på kortytan och att tiförröjningar i regulatorn kan minimera. Viare kan FPGA:n parallellitet utnyttja och kommunikationer me externa enheter och interna funktioner ke utan inverkan på regleringen. Nackelarna är att priet för en FPGA är högt i jämförele me en mikroproceor och att tien för utvecklingen ökar avevärt om regulatorerna ka implementera om funktioner. Om en FPGA me en mjuk proceorkärna använ å unerlätta utvecklingen av regleralgoritmerna å en nabbt kan byta ut utan att övriga funktioner i FPGA:n berör. I och me att en proceorkärna använ inför e begränningar om finn i en mikroproceor i FPGA:n. För att få et bäta av båa värlarna kan flera för tillämpningen optimerae proceorkärnor använa och varje kärna köta en liten el av beräkningen för att minimera tiförröjningen. 1
Abtract hi paper treat the M.Sc thei Deign of a team engine controller an an interactive uer interface which ha been performe on a commiion from Ångpanneföreningen AB. In the thei a team engine i moelle an controlle with repect to the angular pee on it turning wheel. o perform the tak a Fiel Programmable Gate Array FPGA i ue. he purpoe of the thei i to evaluate if an FPGA, with or without a oftware proceor core, i uitable for implementation of control algorithm an when uage of an FPGA i motivate. A a tarting point in the moelling of the team engine the energy equation i ue for the boiler an pure mechanical reflection are ue for the turning wheel. Both tranfer function are of firt orer an oe not inclue any zero. he nonlinearitie in the proce are neglecte an the team engine i moelle a a econ orer linear time-invariant ytem. he control of the angular pee on the turning wheel i one with a PID-controller which i implemente in the FPGA. In orer to make the implementation eaier a oftware proceor core i ue. he input to the team engine i raiate effect from a heater. he effect i varie with pule with moulation. All the other control ignal an communication are implemente a function written in VHDL. he uage of an FPGA a a control evice ha both avantage an iavantage. he avantage are that everal ifferent ytem can be controlle without effect on the area circuit boar an that time elay caue by the controller can be minimize. Further if the parallel behaviour of the FPGA i ue the communication with extern unit an intern function are one without interfering with the controller. Some of the iavantage are that the price of an FPGA i high compare to a microcontroller an that the evelopment time of the algorithm i long. If an FPGA with a oftware proceor core i ue the evelopment time i conierable reuce an the algorithm can eaily be exchange without affection on the other function in the FPGA. he introuction of the oftware proceor core in the FPGA alo introuce the rawback that exit in microcontroller. In orer to get the bet of both worl everal tak optimize proceor core can be ue in the FPGA an each core can take care of a mall part of the calculation to reuce the time elay. 3
1. INLEDNING... 7 1.1. DE UPPSAA MÅLEN MED ARBEE... 7 1.1.1. Överiktliga mål... 7 1.1.2. Specifika mål... 7 1.2. RAPPORENS DISPOSIION...8 2. SYSEMBESKRIVNING OCH FUNKIONALIE... 9 2.1. SYSEMBESKRIVNING... 9 2.1.1. Givare och ignaler... 10 2.2. HUR SKA ÅNGMASKINEN FUNGERA?... 11 3. MODELLERING AV ÅNGMASKINEN... 13 3.1. ÅNGMASKINENS OLIKA DELAR... 13 3.1.1. Från värme till tryck i ångomen... 13 3.1.2. Från tryck till rörele på vänghjulet... 13 3.2. ÅNGMASKINENS BLOCKSCHEMA... 14 3.3. ENERGIEKVAIONEN FÖR ÅNGDOMEN... 14 3.3.1. Förenklingar och antaganen om ångomen... 16 3.3.2. Stegvar för ångomen... 18 3.3.3. Olinjäriteter i ångomen... 19 3.4. DEN FYSIKALISKA MODELLEN FÖR SVÄNGHJULE... 20 3.4.1. Förenklingar och antaganen om vänghjulet... 21 3.4.2. Stegvar för vänghjulet... 21 3.5. VALIDERING AV MODELL... 22 3.6. JÄMFÖRELSE MED BEFINLIG MODELL... 23 4. REGULAORN... 25 4.1. DESIGN AV REGULAORN... 25 4.2. DISKREISERING AV REGLERALGORIMEN... 29 5. FPGA JÄMFÖRD MED MIKROPROCESSOR... 31 5.1. BESKRIVNING AV EN FIELD PROGRAMABLE GAE ARRAY... 31 5.1.1. Möjlighet till en proceorkärna i FPGA:n... 32 5.1.2. Val av CPU påverkar regleringen... 33 5.2. JÄMFÖRELSE MELLAN FPGA OCH MIKROPROCESSOR... 33 5.2.1. En proceor arbetätt... 34 5.2.2. Allmän jämförele... 34 5.2.3. Jämförele i reglerammanhang... 35 6. PULSBREDDMODULERING... 37 7. IMPLEMENERING... 39 7.1. ÅNGMASKINENS SYSEM ANPASSAS ILL EN ALLMÄN MODELL... 39 7.2. VAL AV SAMPELID... 40 5
7.3. EL-PARONENS SYRNING... 41 7.4. PUMPENS SYRNING... 41 7.5. BÅDA SYSEMEN SKA FINNAS KVAR... 41 7.5.1. vå tyrenheter i amma ytem... 41 7.5.2. Det gamla ytemet lura... 42 7.5.3. Problem om orakat av ubbla tyrenheter... 43 7.6. AD-OMVANDLAREN PÅVERKAR REGLERINGEN... 43 7.7. JORDEN I SYSEME OSCILLERAR... 45 7.8. ANPASSNINGSELEKRONIK... 45 7.9. NOGGRANNHE I SYSEME... 46 7.9.1. Noggrannhet i AD-omvanlingen... 46 7.9.2. alrepreentation och noggrannhet i CPUn... 46 7.9.3. riacen vi el-patronen... 46 8. FPGA:NS KRESUPPBYGGNAD... 49 8.1. KOMMUNIKAION MED AD-OMVANDLAREN... 49 8.2. MIKROPROCESSORNS KOMMUNIKAION... 49 8.3. KOMMUNIKAION MED WEBBSERVERN... 50 9. ANVÄNDARGRÄNSSNIE... 53 9.1. EKNISK BESKRIVNING AV HEMSIDAN... 53 9.2. FÖRKLARING AV HEMSIDANS KOMPONENER... 54 10. RESULA... 55 10.1. UPPFYLLDA MÅL... 55 11. SLUSASER... 57 11.1. FPGA:N SOM SYRENHE... 57 11.2. FRAMIDA ÅGÄRDER... 58 APPENDIX... 59 A.1 HÄRLEDNING DEN DISKREA PID REGULAORN... 59 A.2 RE OLIKA APPROXIMAIONER FÖR A DISKREISERA IDSKONINUERLIGA SYSEM... 59 REFERENSER... 63 6
1. Inlening Detta examenarbete har utfört i amarbete me AB Ångpanneföreningen ÅF på avelningen Sytem. Arbetet är en viareutveckling på ett rean utfört examenarbete är en ångmakin moifierae å att en går att tyra me en PC via en webberver [1]. Syftet är att ångmakinen ka fungera om en publikmagnet vi mäor och liknane tilltällningar och va kan ra mer folk än en proukt om kombinerar gammal teknik om funnit i nätan alla barnomhem me moern teknik om ingen tekniker kan gå förbi utan att fråga ig hur et fungerar. Ångmakinen tyr me en mikroproceor är regleralgoritmen är implementera i ett tityrt realtiytem. På ett ätt peglar ångmakinen ÅF från början och va e gör nu vilket har lett till etta examenarbete. För att göra makinen till en ännu törre attraktion å ka en tyrenhet till kunna använa fat enna gång en Fiel Programmable Gate Array FPGA. Utvecklingen av et gamla examenarbetet grunar ig på att ÅF vill uneröka om en FPGA lämpar ig för implementering av regleralgoritmer. När är en tyrning me en FPGA ett alternativ till använanet av en mikroproceor? Hur ka en åan tyrning implementera för att vara effektiv? Kan använanet av mjukvaruproceorer i FPGA:n unerlätta regleringen? Dea frågor kommer att ta upp el fortlöpane i rapporten el uner lutater i kapitel 12. 1.1. De uppatta målen me arbetet De mål om att upp från ÅF: ia kan karakteriera el om överiktliga och mer pecifika. Nean preentera ea uner repektive kategori. 1.1.1. Överiktliga mål De överiktliga målen om pecificerat behanlar till törta el ångmakinen i helhet och att en ka fungera om proukt. Då ångmakinen rean är en fungerane proukt ka et exiterane ytemet inte förvanka utan fungera om et har gjort tiigare. Det grafika grännittet ka innehålla en preentation om knyter ångmakinen olika elar eller elar i examenarbetet till ÅF: olika verkamhetområen. Ångmakinen ka vara välokumentera och en utförlig använarmanual ka kriva. Säkerheten ka bibehålla. Ingen exploionrik eller annan fara får förekomma. Sytemet ka vara preentabelt, peciellt elektroniken, å en kommer att preentera vi amma tillfällen om ÅF viar upp ig. 1.1.2. Specifika mål De mer pecifika målen behanlar e elar om ka utföra i etta arbete varav en el uppkommit uner arbetet gång. Moellen/moellerna om ta fram ka båe förklara e fyikalika effekterna och eventuella olinjäriteter amt använa till att bygga en regulator för ångmakinen. Den nya tyrenheten ka använa amma interface om en urprungliga och byten mellan e båa ka kunna ke på ett enkelt ätt. All kommunikation ka implementera i VHDL. 7
Använanet av proceorkärnor i FPGA:n ka uneröka och e använane i reglerammanhang ka utvärera. Använningen av en FPGA i reglerammanhang ka uneröka och jämföra me mikroproceorn. Det gamla använargrännittet ka behålla. Om nya enorer/givare eller annan elektronik implementera ka etta inte på något ätt påverka et gamla ytemet. 1.2. Rapporten ipoition Denna rapport har lagt upp enligt följane ipoition: Kapitel 2 viar ytemet uppbyggna i tort amt vilka givar- repektive tyrignaler om finn i ytemet. I Kapitel 3 härle en fyikalik moell me olinjäriteter för ytemet. Deutom bekriv vilka förenklingar och antaganen om gjort för att erhålla en linjär ynamik moell att använa i reglerammanhang. I Kapitel 4 eigna och ikretiera regulatorn. Kapitel 5 bekriver en FPGA om använt i arbetet varpå enna jämför me en mikroproceor och e arbetätt. Kapitel 6 viar ett kort exempel för att illutrera hur pulbremoulering går till. I Kapitel 7 bekriv e olika tyrningarna om tillämpa i ytemet, valet av ampelti motivera och löningen för att behålla et gamla tyrytemet preentera. Viare behanla några av e implementeringproblem om orakat föreningar i arbetet. Kapitel 8 behanlar FPGA:n kommunikation me e externa enheter om finn i ytemet. Kapitel 9 går igenom et grafika använargrännittet. I Kapitel 10 preentera huruvia arbetet uppfyller e mål om lagt fram av ÅF. I Kapitel 11 preentera lutater amt förlag på nya examenarbeten. 8
2. Sytembekrivning och funktionalitet Som et nämnt å finn rean en interaktiva ångmakinen om en färig proukt. I etta kapitel kommer e olika elar att bekriva och för givarna kommer överföringkarakteritiken att preentera. 2.1. Sytembekrivning Ångmakinen i fråga är från början en lekak om moifierat för att kunna tyra på elektronik väg. En hel el olika elar har lagt till en urprungliga moellen för att makinen ka vara möjlig att reglera. Figur 2.1 Symbolik bil över ångmakinen och e komponenter. I Figur 2.1 via en moifierae ångmakinen om etta examenarbete bygger på. För att en öka förtåele ka erhålla kommer e olika elarna att förklara. Elektronikbox me tyrning. I enna låa finn mikroproceorn och FPGA:n om använ för att reglera hatigheten på vänghjulet. Alla tyr- och givarignaler knyt amman i enna punkt. Här finn även en webberver om möjliggör kommunikation me ett nätverk alternativt irekt me en PC. Ångomen. Här ker tryckuppbyggnaen om är väentlig för att ångmakinen ka fungera. rycket bygg upp genom att vatten koka och ånga avge. För att koka vattnet använ en el-patron på 400 Watt. På ångomen itter en tryckgivare om använ för att via trycket i ångomen uner rift. Viare itter en äkerhetventil om ka löa ut om trycket i ångomen blir för högt. För att ångmakinen ka bete ig på amma ätt hela tien har en nivågivare för vattnet att in. Denna mäter reitanen i vattnet alternativt i ånga när vattennivån är för låg. rycklang. Det tryck om bygg upp i ångomen för via en gummilang till ett cylinerytem är en kolv påverka av trycket varpå vänghjulet rör ig. 9
Cylinerytemet. Denna el betår av en gliventil om läpper in trycket antingen framför eller bakom en kolv. Ventilen gör att trycket påverkar kolven åt båa håll v. ubbelverkane. Svänghjulet. Detta är en el av ångmakinen om reglera av tyrenheterna. Hatigheten på hjulet viareförmela av en tachometer om mäter e vinkelhatighet. Matarvatten pump. Denna pump itter ihop me ångomen i e neerkant. Pumpen pumpar in vatten i ångomen från en vattenbehållare. Figur 2.2 Överföringkarakteritik för tryckgivaren Figur 2.3 Överföringkarakteritik för tachometern 2.1.1. Givare och ignaler För att ångmakinen ka gå att tyra har tre tycken givare och ett antal tyrignaler lagt in i ytemet. Dea finn namngivna i Figur 2.1 och förklara närmare nean. ryckgivaren. Denna givare använ främt för att förhinra olyckor me ångmakinen å exploionrik förefaller om trycket i ångomen blir för högt. I figur 2.2 via e överföringkarakteritik om enligt tillverkaren är helt linjär. Då ångomen inte klarar mer än 1.5 Bar har trycket om äkerhetåtgär begränat till 1.25 Bar. Denna begränning innebär att el-patronen täng av om trycket i ångomen blir för högt. Detta meför även att givarignalen inte övertiger 5 V. Nivågivaren. För att ångmakinen ka bete ig på ungefär amma ätt hela tien å bör förhållanet mellan vattennivån och ångfickan vara kontant. För att åtakomma etta å har en nivåvakt att in i ångomen. Denna mäter reitanen i vatten vi rätt vattennivå repektive reitanen i ånga vi för låg vattennivå. För mer ingåene pecifikationer hänvia et till [1]. achometern. I grun och botten är etta en ombygg DC-motor om ger ut en vi pänning vi en vi hatighet på e axel. Givaren itter koppla på vänghjulet centrumaxel och viar ärme antalet varv per minut [rpm]. achometern givarkarakteritik via i Figur 2.3. Viktigt i ammanhanget är att förök har viat att vänghjulet enat me tora vårigheter kan nå upp till 3305 rpm vilket innebär att givaren ger ut 5V [1] och ärme kan AD-omvanla me en referen på 5V. El-patronen tyrignal. El-patronen tyr av antingen FPGA:n eller mikroproceorn me tyrtekniken pulbremoulering kapitel 6. Denna ignal tjänar om inignal till ytemet. 10
Pumpen tyrignal. Pumpen ätt igång för att nå önka vattennivå i ångomen och täng av när etta är uppnått. 2.2. Hur ka ångmakinen fungera? anken me ångmakinen är att en ka gå i tort ett av ig jälv utan att några törre ingrepp ka behöva göra. För att etta ka kunna åtakomma har via moifieringar i form av upphettning, matarvattenpump mm gjort [1]. För att en ka vara använarvänlig å ka en kunna tyra me hjälp av en PC via en webberver. Då ångmakinen ka tälla ut på allmänna evenemang å är et viktig att en är helt äker utan rik för exploioner. I övrigt ka använaren kunna tälla in önka hatighet på hjulet via en hemia och ångmakinen vänghjul ka hålla enna. I nuvarane ytem finn två tycken regleralgoritmer baerae på rampningteknik om fungerar bra. Det ytem om ka implementera innehåller en ren moellbaera regulator amt möjlighet för manuell tyrning av ångmakinen. anken me en manuella tyrningen är att engagera publiken å att även e kan få prova på att tyra makinen. Det ka ockå vara möjligt att byta mellan e två tyrenheterna utan att regleringen påverka för mycket. 11
3. Moellering av ångmakinen För att få en bra förtåele för ångmakinen ynamik och kunna reglera vänghjulet varvtal, måte en ynamik moell av ytemet bygga upp. Detta kapitel ger en kort förklaring hur ångmakinen olika elar fungerar och en olinjär fyikalik moell för ytemet härle. Den olinjära moellen förenkla till en linjär moell för att kunna använa vi reglereignen. Kapitlet förklarar även en el av e olinjära fenomen om upptår i ytemet. 3.1. Ångmakinen olika elar Ångmakinen betår av i tort ett två elar om är av vikt för ångmakinen funktion. Dea är ångomen och vänghjulet. I ångomen koka vattnet och tryck bygg upp från en avgivna vattenångan. rycket verkar ean på en kolv i vilken ett tag är fatatt och river vänghjulet. Sytemen bekriv utförligare i nätkommane kapitel. 3.1.1. Från värme till tryck i ångomen Ångomen är en å när på luten vattenbehållare me någon ort värmekälla om värmer upp vattnet. Urprungligen hettae vattnet upp via förbränning av metatabletter men ea har eratt me en el-patron om itter inbygg i ångomen [1]. Ångomen fyll på me vatten till en nivå å att et finn en ångficka kvar i omen. För att ean tarta ytemet lägg en pänning på el-patronen om värmer vattnet. När vattnet börjar koka anamla ångan i ångfickan och ett tryck bygg upp. När trycket nått en lagom nivå kan vänghjulet tarta. I ångomen itter blan annat en tryckgivare och en nivåvakt inopererae [1]. Nivåvakten mäter reitanen i ånga repektive vatten och ger en inikation på om vatten behöver fylla på i omen. ryckgivaren använ fört och främt till att förhinra olyckor men har använt flitigt uner moelleringarbetet. Genom att e ignal kan kontrollera me jämna mellanrum få en inikation på att Figur 3.1 Ångom me tryckgivare, äkerhetventil, nivåvakt och trycklang. Strecka linje ymbolierar vattennivån. trycket inte övertiger et för ångomen tillåtna 1,5 Bar. Det finn även en äkerhetventil om utlöer om trycket når en kritik nivå. 3.1.2. Från tryck till rörele på vänghjulet När trycket har nått en tillräckligt hög nivå i ångomen, ungefär 300 mbar, kan vänghjulet tarta. Ångomen itter ihop me vänghjulet cylinerytem via en gummilang. Cylinerytemet via i figur 3.2 och betår av en kolv och en ventil. Ventilen läpper in trycket bakom kolven vilket trycker en framåt. När kolven nått itt 13
främre läge har hjulet nurrat ett halvt varv och ventilen har flyttat framåt. rycket läpp nu in framför kolven om tryck bakåt och en hel cykel är fullbora. Sytemet kalla ubbelverkane å kolven påverka av trycket i Figur 3.2 ill vänter: Cylinerytemet me gliventilen och kolven. ill höger via vänghjulet me kolv. båe främre och bakre läget. Detta gör et enklare att hålla en kontant hatighet på hjulet jämfört me ett enkelverkane ytem om enat påverkar kolven i et bakre läget. 3.2. Ångmakinen blockchema Ångmakinen kan bekriva me hjälp av ett blockchema me två tycken olinjära funktioner. Den förta f G1 Qt,pt,t är funktionen för tryckuppbyggnaen i ångomen och en anra är f G2 pt bekriver vinkelhatigheten om följ av ett vit tryck. Me hjälp av förenklingar och antaganen kommer et via nean att en ynamika moellen om ka använa till kommane regulatoreign kan approximera om två tycken förta orningen linjära och tiinvarianta ytem G1 och G2. Figur 3.3 Fyikalika moellen för ångmakinen 3.3. Energiekvationen för ångomen För att komma fram till en ynamik moell för ångmakinen kräv till en början en fyikalik moell av kokningförloppet av vattnet i ångomen. Detta el för att få en törre förtåele för et termoynamika förlopp om ker när vattnet kokar, el för att kunna påra eventuella olinjäriteter om kan förekomma i omen. Moellen grunar ig på en ekvation för till- repektive bortföranet av energi till tanken. Varje el av ekvationen fyikalika urprung kommer att förklara nean. I figur 3.4 via en ymbolik bil för tillföranet och bortföranet av energi till ångomen. Förluter i form av värmetrålning mm är förummae. 14
Figur 3.4 De olika energierna om et tagit hänyn till Energi kan om bekant inte förtöra utan enat omvanla. I etta ytem finn fyra tora energikällor om birar me itt till en totala energin i ångomen, tillförel av värme Q till ytemet, vattnet i ångomen, matarvattnet energi och en bortföra ångan. Den värme om hettar upp vattnet härtammar från el-patronen och e om ren värmeenergi. De birag till en totala energin i ytemet bekriv av Q [W]. Kokvattnet energi beror på hur mycket vatten om finn i ångomen och hur varmt et är. Mängen vatten bekriv om vattnet enitet multiplicerat me e volym. Via termoynamika amban ine et att eniteten änra beroene på trycket och temperaturen i ångomen på ett olinjärt ätt [3]. Vattnet förmåga att behålla värme och ärme energi bekriv av e värmekapacitet c p v. Vattnet energi änrar ig å temperaturen änra. Energiänringen i kokvattnet bekriv enligt E t De olika parametrarna är: v p = ρ v v, p c p v Vv. 1 t v ρ v : Vattnet enitet i ångomen, om är beroene av temperatur och tryck i ångomen. c p : Vattnet värmekapacitet i ångomen, om är beroene av temperaturen i ångomen. V v : Volymen vatten i ångomen. v : emperaturen på vattnet i ångomen om är beroene av trycket i ångomen. rycket och temperaturen är hårt knutna till varanra och vattnet egenkaper varierar mycket beroene på ea parametrar. Matarvattnet är en källa förutom el-patronen om tillför energi till ångomen. På amma ätt om ovan är et mängen vatten om pumpa in om avgör hur tor energimäng om tillför. Me anra or är et eniteten multiplicerat me volymen vatten om pumpa in i omen uner en vi ti. ill etta kommer vattnet inre energi, alltå entalpin vi omgivningen aktuella temperatur [3]. Matarvattnet energitillkott bekriv av E t mv Vmv p h = m&, p h = ρ mv omg, 0 mv omg mv omg 0 mv omg. t 2 ρ mv : Matarvattnet enitet. Beroene av omgivningen tryck och temperatur. 15
V mv : Volymen matarvatten om pumpa in i ångomen. h mv : Matarvattnet entalpi. Beroene av omgivane temperatur. omg : Omgivningen temperatur. p 0 : Omgivningen tryck. m mv : Maan matarvatten. Ångan om för bort från ångomen är likom matarvattnet beroene av enitet, volym och entalpi fat me aveene på trycket och temperaturen i omen. Här änra ig ock e två enare avevärt mycket mer än i en omgivane luften. Antaganet om gjort här är att ångtemperaturen är enamma om kokvattnet temperatur. Den bortföra ångan energi ge av E V = ρ v, p h v = m& v, p h v. 3 t t ρ : Avgiven ånga enitet. Beroene av tryck och temperatur i ångomen. V : Avgiven volym ånga. h : Entalpin för en avgivna ångan. Beroene av temperaturen i ångomen. m : Maan bortför ånga. I ekvationen är förluter i form av tryckläckage och värmetrålning rean förummae, eutom har en tagit fram uner antaganet att mabalan råer. Detta vill äga att tillför maa i form av matarvatten för bort om ånga. Energibalanen för ångomen ge av Ev Emv E = Q +. 4 t t t Ekvation 4 betår enbart av olinjära elar. För att nå fram till en linjär överföringfunktion från en tillföra värmen Q till trycket p måte flera antaganen göra. Direkt kan ine att temperaturen och trycket är hårt knutna [3] till varanra vilket kapar problem å temperaturen i tanken ej är mätbar. De ena amban mellan tryck och temperatur om kan använa i etta ammanhang är allmänna galagen me aveene på vattenångan. Denna kräver ock en ieal ga, et vill äga att vattenångan är mätta. Efter tuier i tabeller om är grunae på enorma tatitika reultat kan lutaten ra att vattenångan alrig är mätta i etta ytem å trycket är för lågt. Änå kommer ett reonemang föra runt en fyikalika moellen å en kan via moellen vi en vi temperatur. En ak om måte ine är att å ytemet är i teay tate är effekten på el-patronen kontant och likaå hatigheten på hjulet. Vi må änringar i effekten på el-patronen kan temperaturen i ångomen anta vara kontant. 3.3.1. Förenklingar och antaganen om ångomen För att få en uppfattning om hur ytemet er ut vi må variationer på inignalen kan följane antaganen göra. 1. Energin i kokvattnet är en linjär funktion av trycket E-E v0 = a*pt-p vo +b, 5 är {E v0,p v0 } är en jämviktpunkt. Ekvation 1 bekriver en energiänring i kokvattnet och approximera i ekvation 5 om en linjär funktion av trycket. Derivera 5 me aveene på tien få 16
E t p t = a. 6 t t 2. Maflöet i ångomen är kontant. Antaganet innebär att allt vatten om tillför i form av matarvatten förvinner om ånga, v. m & = &. Detta meför även att förhållanet ånga och vatten i ångomen är lika. mv m 3. Ventilen i cylinerytemet läpper ut ånga proportionellt mot trycket i tanken och atmofärtrycket. & = k p t p. 7 m 0 Parametrarna i ekvationen är k : Ventilen kontant. p 0 : Atmofärtrycket. Den maa ånga om läpp ut ur ångomen är beroene på hur fort ventilen i cylinerytemet rör ig. Antaganet leer i lutänan till att vänghjulet inte har någon ynamik utan enat är proportionellt mot trycket å ventilen hatighet påverka irekt av vänghjulet hatighet. 4. Alla läckage kan förumma. Antaganet måte göra för att få ett löbart ytem. 5. Omgivningen tryck och matarvattnet temperatur är kontant. Detta ger kontant entalpi ho matarvattnet. 6. Förluter i form av uttråla värme till omgivningen är förumbara. Antaganet innebär att tillföreln av värme från el-patronen är å hög att en raiella värmetrålningen kan förumma. Skriv ekvation 4 ihop me 6 och 7 få illämpa ean antaganet om mabalan få Omkrivning ger Efter Laplacetranformering få överföringfunktionen: a p& t = Q + m& h m& h. 8 mv mv mv h a p& t = Q + k p t p0 h k p t p0. 9 ap& = Q + k p t p h mv h. 10 0 Q k h h P = mv p0 a + k h h a k h h 144 2 443v + 1444 11 24mv 443 1 Dynamiken för tryckuppbyggnaen betår av två termer om i ekvation 11 benämn om 1 och 2. erm 2 har atmofärtrycket om inignal. ermen härtammar från ekvation 7 vilken approximerar ventilen i cylinerytemet me en linjär funktion av trycket. Approximationen bygger på att kolven, om trycket från ångomen påverkar, även påverka av atmofärtrycket e figur 3.2. Om trycket i ångomen är lågt kan enna term göra ig gällane å ventilen arbetar långammare än annar. Vi et arbettryck om kräv för att ångmakinen ka klara av att riva vänghjulet kan ekvation 7 e om en funktion betåene enat av ångomen tryck och atmofärtrycket kan förumma. Om ynamiken i el-patronen anta vara mycket nabbare än ynamiken för tryckuppbyggnaen i ångomen få alltå ett ytem utan nolltällen och en pol. 2 17
3.3.2. Stegvar för ångomen Me e förenklingar och antaganen om gjort i kapitel 3.3.1 har överföringfunktionen inga nolltällen och en pol. Genom att göra teg i effekten på el-patronen änra trycket i ångomen. I figur 3.5 via ångomen tryckuppbyggna vi teg åt olika håll på inignalen. De uppmätta värena och inignalen är parallellförflyttae för att ligga på nollnivå vi teget. På grun av AD-omvanlaren å änrar ig tryckignalen ±1 bit hela tien vilket ikutera kapitel 10. Figur 3.5 Ångomen tryckuppbyggna vi teg i ineffekt. Stecka linje viar inignalen och helragen trycket i ångomen. Stegvaren i figur 3.5 inikerar att tryckuppbyggnaen i ångomen är av förta orningen, vilket överentämmer bra me 11. Dock kan et ligga nabba poler om inte 11 tar hänyn till och inte yn på grun av att enat en långamma ynamiken lyer igenom. Om två olika teg jämför ine nabbt att et finn någon form av olinjäritet. I figur 3.6 via två olika teg för att påvia fenomenet. Figur 3.6 vå olika teg i inignalen för att påvia olinjäritet. Streckae kurvor hör till varanra. Givarignalerna är lågpafiltrerae och parallellförflyttae till nollnivå. b Antag att överföringfunktionen kan kriva på formen G =. Om ytemet är linjärt och tiinvariant å + a gäller et att b och a är likaana oavett inignal. För kurvorna i figur 3.6 å viar et ig att parametrarna änrar på ig. För en treckae kurvan få vi kattning a = 0,0162 och b = 0,0128 mean en helragna har a = 18
0,0225 och b = 0,0140. Inignalen är ett teg mellan 160 och 280 W för en treckae och mellan 120 och 200 W för en helragna. I figur 3.7 via e två kattae överföringfunktionerna me likaan inignal. Figur 3.7 Skattae överföringfunktioner. Streckae kurvan motvarar treckae i figur 3.6 I och me enna olinjäritet har en fyikalik moell är parametrarna katta varit vår att ta fram och föröken övergett. För att ge en uppfattning om hur mycket a och b varierar har e minta repektive törta värena tagit fram. Värena grunar ig på ungefär 50 teg om gjort i intervallet 120 till 280 W. Stegen är av olika torlek, 5-40 % av total effekt på el-patronen, och gjort i olika riktningar. a [ 0.0144 0.0261] b [ 0.0093 0.0186] I ångomen ynamik å finn et en tiförröjning från et att inignalen änrat till e att trycket gör et. Detta yn tyligt i Figur 3.6. En tiförröjning är en viktig el att ta hänyn till i moelleringarbetet å en har en irekt påverkan på faen ho ytemet [5]. I etta fall är tiförröjningen uppkatta till 40 ampel är ampelfrekvenen är 9 Hz. När kattningarna gjort å har en kattningen om paat bät in på tört elar av arbetområet antagit om överföringfunktionen G1 och ge av 0.01781 40 G1 = e. + 0.02524 3.3.3. Olinjäriteter i ångomen Energiekvationen för ångomen betår i tort ett enat av olinjära elar och en tatika förtärkningen änra för varje teg. vå likaana teg kan ärför e helt olika ut vi olika tillfällen. Detta hanlar om att exakt likaana riftförhållanen alrig kan uppnå vilket innebär att polen flyttar på ig å energin i ytemet alrig är exakt likaan. Det faktum att trycket och temperaturen finn me om beroenen i nätan alla termer gör att ekvationen är vår att använa till en ynamik moell utan grova förenklingar. En av förenklingarna är att värmetrålningen kan förumma, vilket fungerar å tillför värme är tillräckligt tor. Däremot när riktigt låga varvtal på vänghjulet ka erhålla måte effekten på el-patronen vara låg. Här kan avkylningen av ångomen göra ig gällane och bekriv å av en logaritmik funktion [3]. Ett annat fenomen om är värt att ta upp är att en tatika förtärkningen ho G1 ökar när ett minkane teg gör på el-patronen. Detta beror till törta el på att polen flyttar på ig å tryckminkningen enat beror på vänghjulet hatighet och eventuell avkylning. fenomenet gör att ytemet blir långammare än ett teg i motatt riktning. Viare å är ea teg gjora, och ärme moellerna beräknae, när ångmakinen är varm och har kört ett tag. Större variationer i moellen kan 19
alltå förekomma när ångmakinen är nytarta. En ak om änra efter en ti körning är att en vattenanamling om kan förekomma i cylinerytemet konenorn tryck ut och kolven repektive ventilen rör ig lättare i cylinern, vänghjulet ökar å i varvtal vilket meför att trycket junker. Därför kan två likaana inignaler ge olika tryck. Efterom etta är ett mer eller minre lumpmäigt beteene å har et förummat 3.4. Den fyikalika moellen för vänghjulet Figur 3.8 Svänghjul me utatta parametrar till vänter och kolven till höger. Moellen för vänghjulet är en ren mekanik betraktele och många av ambanen har hämtat från [4]. Likom moellen för ångomen har moellen tagit fram met om en väglening för antalet poler och olinjäriteter. Den fyikalika moellen kommer att härlea från tryck till vinkelhatighet. Varje elekvation kommer att kommentera me eventuella antaganen och urprung. I figur 3.8 via vänghjulet me alla krafter amt parametrar utatta. ill höger via en förenkla bil av cylinerytemet me kolven. Det är me en elen om härleningen börjar. En kraft efiniera av tryck per ytenhet. Kolven har formen av en tunn cyliner me arean A k. rycket från ångan påverkar enna antingen framifrån eller bakifrån å cylinerytemet är ubbelverkane. Den kraft om påverkar kolven varierar me trycket och ärme tien och bekriv enligt F t = A * p t. 12 k Kraften Ft: reultanter påverkar vänghjulet me ett moment runt centrumaxeln. Reultanterna betår av två krafter varav en ena inte påverkar momentet nämnvärt, en anre benämn F c t vilken bekriv enligt F c t = F t co θ t. 13 Kraften poitiva riktning är efiniera åt höger. Kraften byter riktning när trycket verkar på kolven framia, men momentet verkar fortfarane åt amma håll. Kraften F c t ger ett moment kring centrumaxeln om är M t = F t* b t, 14 c är momentarmen bt bekriv av b t = c in θ t. 15 Viare finn en vikö friktionkraft F f ω om är motrikta F c t. Friktionkraften är en funktion av vinkelhatigheten och är olika beroene på vilken vätka om axeln rör ig i. Kraften är placera vi vänghjulet centrumaxel och ger momentbiraget 20
M f ω t = η * ω t. 16 Parametern η är pecifik för vilken vätka om axeln rör ig i. Momentbalan kring centrumaxeln ger J * & ω t = M t M f ω t. 17 J är vänghjulet tröghetmoment ω& t och är vänghjulet acceleration om oraka av et pålaga momentet. Kombinera ekvation 12-17 få en ifferentialekvation om bekriver trycket påverkan på vinkelaccelerationen. p t Ak co θ t* c in θ t η * ω t & ω t = 18 J Detta är en fyikalika moell om bekriver trycket påverkan på vänghjulet acceleration. För att kunna använa enna till en enkel ynamik moell måte några antaganen och förenklingar göra. 3.4.1. Förenklingar och antaganen om vänghjulet ill att börja me å betrakta en ekvation om bekriver en effektiva kraften 13. Då vinkeln θt är liten kan kraften F c t approximera me att vara lika tor om Ft vilket eliminerar coinutermen. Viare gäller att bt varierar om en inufunktion. Detta gör att överföringfunktionen är olinjär. Ett antagane om ligger nära till han är att: Armen c är mycket törre än b vilket gör θ liten. Momentarmen bt kan å erätta me ett effektivväre om grunar ig på att när laglängen rört itt fulla utlag har vänghjulet rört ig π raianer. Detta ger ambanet: b = 19 π Ekvation 18 kan nu kriva om p t Ak * η * ω t & ω t = π 20 J Gör nu en Laplacetranform få överföringfunktionen: Ak b ω = P J + η 21 Preci om överföringfunktionen för ångomen är etta ett ytem utan nolltällen och en pol. Värt att nämna är att en moell för friktionen om antagit är en linjär funktion av vinkelhatigheten vilket tämmer å länge ytemet är igång och vänghjulet rör ig. 3.4.2. Stegvar för vänghjulet För att kunna hitta ynamiken för vänghjulet å loae trycklangen mellan cylinerytemet och ångomen vi en vi tipunkt. Detta ger ett riktigt teg är trycket faller från p till atmofärtryck på mycket kort ti. I figur 3.9 via tegvaret för vänghjulet vi ett teg i trycket. 21
Figur 3.9 Svänghjulet ynamik vi teg i trycket Det om nabbt kan bekräfta är att ytemen är av förta orningen och att vänghjulet ynamik är mycket nabbare än tryckuppbyggnaen ynamik. I jämförele me ångomen finn ej lika ynliga olinjära effekter utan en moell om kattat paar in på hela arbetområet. G 2 = 2.6544 +0.3048 Moellen har kattat me hjälp av ytemientifiering enligt preiktionmetoen [10]. En output-error OE moell av förta orningen har använt ärför att törningarna i ytemet betår till tor el av AD-omvanlaren rippel på LSB och inte har någon ynamik om behöv moellera. 3.5. Valiering av moell För att bekräfta att moellerna är rätt jämför e me teg i anra intervall än e teg om moellerna är Figur 3.10 Verifiering av moellen för tryckuppbyggnaen. beräknae ur. Obervera här att moellerna inte överentämmer hunraprocentigt men är å pa bra att e kan e om gotagbara. I figur 3.10 via en för G1 antagna moellen i jämförele me en uppmätta tryckuppbyggnaen ynamik. Moellen är gjor för ett teg i effekten på elpatronen mellan 30 och 70%, vilket vill äga 120 till 280 W. I figur 3.11 via varvtaluppbyggnaen i jämförele me in antagna moell. Som nämnt tiigare å loae langen mellan ångom och cylinerytem för att åtakomma ett brant teg i trycket. Som yne är ynamiken mycket nabbare för vänghjulet än för trycket. Denna lutat kan ockå ra 22
om G1 repektive G2 betrakta å G2: pol ligger ungefär tio gånger å långt bort från imaginäraxeln om G1: pol. Figur 3.11 Varvtaluppbyggnaen beräkna och uppmätt 3.6. Jämförele me befintlig moell. Den moell om exiterar ean tiigare [1] bygger på liknane, och i många fall amma, antaganen om gjort i kapitel 3.3 och 3.4 och är ett rent fyikalik moellbygge. Via begränningar och olinjäriteter me en åan moell har rean tagit upp i ea kapitel och behöver inte nämna här. Dock är en att jämföra me en moell om tagit fram i etta examenarbete. Båa moeller är linjära och tiinvarianta och änra inte beroene på vilket intervall om å peciellt trycket befinner ig i vilket en gör i verkligheten. I båa fallen har tryckynamiken moellerat om mycket långammare cirka 10 ggr än varvtalynamiken. Moellerna är jämförbara på ea punkter men polplaceringen och tiförröjningen kiljer em åt. Det kan finna flera oraker till etta men en främta är att en exiterane moellen bygger på ett minre teg i el-patronen effekt mellan 40 till 60 % och en nu framtagna har byggt me hjälp av ett teg mellan 30 till 70 % och verifierat me teg i mitten av kalan. iförröjningen finn inte me i en fyikalika betraktelen och har ärför helt enkelt förummat i gamla moellen. Beroene på vilken reglertrategi om är tänkt att använa å fungerar repektive moell. Då en gamla moellen är katta för ett minre teg å använ en rampning för att ela upp tora teg i referenhatigheten till minre åana. 23
4. Regulatorn Deignen av regulatorn ker genom e tumregler om finn för Lea-Lag-kompenering. Deignen kommer att ke me hänyn till e moelloäkerheter om viae i kapitel 3. För grunläggane teori hänvia et till [5] och [6]. 4.1. Deign av regulatorn För att tyra ångmakinen har et valt et att använa en PID valt regulator å en är relativt enkel att beräkna och implementera i FPGA:n. En annan förel me en är att en går bra att använa även om ytemet har en el oäkerheter i moellen. Regulatorn har beräknat me hjälp av tumreglerna för en Lea Lag och ean räknat om för att få en på rätt form. Då inga krav på tigtier, invängningtier eller överlängar har pecificerat har regulatorn eignat efter bäta förmåga. Det finn ock en tiförröjning i ytemet om ger en funamental begränning för hur nabbt ytemet kan göra. För ett åant ytem gäller att lutna ytemet banbre ω b multiplicerat me tiförröjningen elay ka vara minre än 1 [6]. 1 ω b < 22 elay Då tiförröjningen är 40 ampel vi ampeltien = 0.111 få: 1 ω b < = 0,225 [ ra / ] 40* 0,111 Viare å viae et i kapitel 3 att moellen för ångomen innehåller någon form av olinjäritet om orakar föränringar i polplaceringen och en tatika förtärkningen i G1. För att vara äker på att et lutna ytemet inte blir intabilt å måte tet av et lutna ytemet utföra. ill tetet använ ytterligheterna av G1 vilket vill äga e gräner vilka om parametrarna a och b ligger inom. Dea överföringfunktioner beteckna om G 11 och G 12. 0.0093 0.0186 G 11 = G 12 = + 0.0261 + 0.0144 Regulatorn eigna efter moellen G = G1*G2. Sean prova en mot ytemen G 0 = G 11 *G2 och G 01 = G 12 *G2 för att bekräfta att en klarar av variationerna i moellen. För att få en bra uppfattning om regulatorn uppförane i ytemet å har imuleringar gjort uner eignarbetet. I figur 4.1 via ångmakinen ytem G i ett boeiagram. Sytemet har två poler och inga nolltällen vilket gör att ytemet enat bryter neåt. 25
Figur 4.1 Boe iagram för öppna ytemet G Regulatorn eigna i kontinuerlig ti för att ärefter överätta till en ikret regulator. För att unvika att tyrignalen ger för tora utlag alltför ofta har en moerat kärfrekven och en väl tilltagen famarginal använt. Famarginalen har gjort tor å tiförröjningarna i ytemet är relativt långa vilket har en irekt negativ inverkan på faen. Vala vären är: Skärfrekven: ω = 0. 15 [ra/] Famarginal: ϕ = 95 Om faen i figur 4.1 betrakta yn et att en är relativt liten -107 vi en önkae kärfrekvenen. ill etta kommer tiförröjningen om birar me -5 vi aktuell kärfrekven. Om moellen av ytemet kunnat betraktat om helt äker, och polerna inte flyttat på ig, hae en PID alternativt PI regulator eignat me minta möjliga påverkan på faen å famarginalen är rimlig vi ω c. Lea-Lag-kompeneringen eigna me aveene på parametrarna K, N, a och b och bekriv enligt c m + b + a F = KN 23 + bn Denna likom PID regulatorn eigna me loop-haping vilket innebär att et öppna ytemet änra för att åtakomma e önkae egenkaperna i et lutna ytemet. För att implementeringen i FPGA:n ka vara lättare efterträva et att Lea-Lagen kriv på följane form: 1 F = K1 + +. 24 1+ / N i Detta är en vanlig form att ange en PID regulator på. Om en parameterientifikation mellan PID och LeaLagen gör leer etta till: K = K 25 1 i = 26 a 26
1 1 = 27 b bn N = 28 bn PID regulatorn eigna enligt ovantåene krav och parametrarna bekrivna i ekvation 25-28. I Figur 4.2 via boeiagrammet för et öppna ytemet. Figur 4.2 Boeiagram för et öppna ytemet me PID regulator För att kontrollera att regulatorn även kan hantera e moellvariationer om finn via boeiagrammen för e värta fallen i figur 4.3. Då famarginalen håll på en nivå om inte avviker alltför mycket från en om pecificerat orakar regulatorn trot variationerna ingen intabilitet i ytemet. Figur 4.3 Boeiagram för e met avvikane överföringfunktionerna Den beräknae regulatorn är: 1 5.39 F = 4.891 + + 29 66.67 1+ 5.39 / 1.2 För att en regulator om preentera ovan ka kunna använ till att tyra ångmakinen måte ett tillägg göra. Detta beror på att tyrignalen om beräkna inte allti är möjlig att tyra ytemet me. Sytemet tyrignal betämmer hur många procent av el-patronen totala effekt om ka tillföra ytemet. Innebören av etta är att en negativ tyrignal betrakta om att el-patronen ka vara avtäng, och en tyrignal över 100 betrakta om full effekt. Me anra or finn en mättning på tyrignalen. Mättningen kan oraka uppvrining win up 27
fenomen i regulatorn integrator å enna fortätter att integrera till e att felet är noll. För att förhinra fenomenet har en Anti reet win up använt [8]. Denna el tar hänyn till en beräknae tyrignalen och en mättae ignalen. Om en förtnämna ligger inom mättningen intervall påverkar inte Anti reet win up länken regulatorn. Är tyrignalen av åan torlekorning å att en orakar en mättning korrigera etta av länken. En anti reet win up kan bekriva om 1 * Där u är tyrignalen och parametern t betäm enligt t u u t mätta i Beräkna. 30 =. 31 Den tyrignal om beräkna av regulatorn me anti reet win up kan utrycka om 1 U = FPID * E + U V. 32 Regulatorn har tetat i imuleringar för att uneröka e uppförane när mättningar och en anti win up ta me i beräkningarna. Nean via regulatorn uppbyggna i imuleringen. t Figur 4.4 Simuleringmoell för PIDregulatorn Simuleringen viar et lutna ytemet rätta beteene å hänyn ta till e begränningar om finn i et riktiga ytemet. Ett tegvar från en imulerae regulatorn via i figur 4.5. Steget i referenignalen ker vi 500 ekuner. Figur 4.5 Simulerat tegvar för PID regulatorn till höger och tyrignalen till vänter. 28
4.2. Dikretiering av regleralgoritmen För att unerlätta implementeringen av regleralgoritmen har en proceorkärna lagt till i FPGA:n. Den meto om använt för att ikretiera regulatorn är utin approximation å en approximationen peglar e tikontinuerliga polerna in i z-planet på ett acceptabelt ätt. För att verifiera att en ikretierae regulatorn håller likaan pretana om en kontinuerliga regulatorn å har imuleringar gjort fortlöpane. Det meta av teorin är hämta från [8]. En anlening till att tanarformen för en PID regulator eftertraktae är att ikretieringen unerlätta. 2 Använ utin approximation regulatorn och en härlening via i Appenix A.1: I z 1, är är ampeltien, få följane parametrar för en ikreta PID z + 1 P k = Ke k 33 k Ii AW = I k + b e k + e k + b k + k 34 D k = a * D k + b y k y k 35 D D är b I, b AW, a D och b D bekriv me PID parametrarna K, i,, N och ampeltien enligt: b I K = 36 2 i b AW = 37 2 t a b D D 2 = 2 N + N 2KN = 2 + N b AW är termen för förtärkningen av anti reet win up länken vilken enat påverkar integratorn när utignalen från regulatorn är törre än 100 eller minre än 0. När regulatorn imulera viar en upp nätan ientikt beteene om en tikontinuerliga vilket ger en inikation på att polerna för et lutna ytemet har peglat på ett bra ätt in i z-planet. I figur 4.6 via etta. 38 39 Figur 4.6 Boeiagram för en ikretierae regulatorn trecka och en tikontinuerliga helragen 29
När regulatorn ean implementera ka en använa enat å ångmakinen är tarta och vänghjulet nurrar. Anleningen till etta är att förta gången om ångmakinen ka tarta tar et ungefär 6 minuter innan vänghjulet ka tarta. Om regulatorn får tillgång till tyrningen även uner upptarten å kommer integratorn att hamna i uppvrining. När ångmakinen väl tartar tar et å lång ti för integratorn att komma ner till lagom nivå igen, trot anti reet win up länken. För att avhjälpa etta å har en proportionerlig regulator, om ger ut fullt utlag på tyrignalen, v 100% av en totala effekten på el-patronen, å länge om ångmakinen är tarta amt att använaren har att en referenhatighet kil från noll och vänghjulet inte nurrar. När vänghjulet har tartat tar alltå en riktiga regulatorn över. Beroene på att AD-omvanlaren är olinjär, vilket ikutera uner kapitel 7, har även en eriverane länken tagit bort när felet ligger mellan -2 och 2. Då AD-omvanlaren lår mellan låg och hög nivå på mint ignifikanta biten får en regulator me eriverane el ett vängane beteene å enna föröker parera minkningen repektive ökningen i hatigheten. Då en eriverane länken hjälper till att broma upp tyrignalen vi teg i referenen amt ökar tyrignalen vi lattörningar har en fått vara kvar. I figur 4.7 viar ett från ångmakinen uppmätt reultat me en ikreta regulatorn. Figur 4.7 Uppmätt reglerpretana Om figur 4.7 jämför me en imulerae regulatorn i figur 4.5 å bör et uppmärkamma att en imulerae inte har någon överläng och längre tigti. Då approximationen för regulatorerna tämmer bra å tyer etta på att moellen för ytemet är oäker och kvantieringeffekter gör ig gällane. Denna lutat kan ra å et lutna ytemet poler har flyttat och blivit nabbare. Det nämne i kapitel 3 att polerna har en tenen att änra ig vilket har bekräftat här. Uner kapitel 7 ta lite om en kvantiering om oraka av AD-omvanlaren upp. 30
5. FPGA jämför me mikroproceor I et här examenarbetet har en Fiel Programable Gate Array FPGA använt för att tyra en ångmakin. En FPGA fungerar väligt olika i jämförele me en mikroproceor. Då båa orterna använ i ytemet tillägna etta kapitel till att förklara va en FPGA är och hur en kan använa i ett reglerytem. Viare kommer en kortare jämförele göra mellan mikroproceorn och FPGA:n. 5.1. Bekrivning av en Fiel Programable Gate Array En FPGA är en generell igital kret om kan programmera om flera gånger och på å ätt anpaa till en peciell tillämpning. Me etta mena att applikationen i FPGA:n kan raera och erätta me en ny. FPGA:n kan lägga ut och ta emot alla ignaler amtiigt vilket innebär att kommunikationen me eventuella externa kretar, amt kommunikationen mellan interna funktioner i FPGA:n, kan ke parallellt. Om etta utnyttja kan en el av FPGA:n hämta ata från t ex en AD-omvanlare amtiigt om en annan el kommunicerar me en webberver. Kreten betår av ett antal celler om koppla ihop i tora nät och på å ätt bygger upp en fungerane applikation. Dea celler gör att funktioner kan bygga upp oberoene av varanra vilket innebär att FPGA:n kan arbeta parallellt. Det parallella beteenet ökar kreten nabbhet å flera aker kan utföra amtiigt. Cellerna birar ockå till att funktionerna kan optimera på olika ätt beroene på vilka krav om täll på em. Via funktioner måte klara håra tikrav och anra måte minimera me aveene på ytan. FPGA:n celler gör att båa orter är möjliga att åtakomma. En enkel bekrivning av hur FPGA:n er ut och en av e celler er ut via i figur 5.1. Det om illutrera kalla för KH FPGA:n och bekriver hur en av många celler i en FPGA fungerar. Denna betår av en Look Up able LU, en D-vippa och en multiplexer Mux. D-vippan och muxen är till för att ha valmöjligheten att läppa ut ignaler ynkront me en global klocka eller kombinatorikt. LUn är ett minne är inignalerna viar vilken minnepoition om utignalen ka hämta ifrån. De vären om ligger i minnepoitionerna varierar beroene på vilken funktion cellen ka realiera. ill vänter av LU via inignalerna till cellen. För att förklara en funktion ta ett enkelt exempel. Antag att funktionen Ut = A+B*C ka realiera. I tabell 1 via inignalerna A, B och C repektive utignalen Ut. A B C U 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 abell 1 Sanningtabell för funktionen Ut = A+BC. Inignalerna ka e om areer till olika minnepoitioner i LU. 31
Om kombinationen 000 i inignalerna beakta å är etta areen till en unik minnepoition i LU:en. I enna poition finn utignalen 0. För att FPGA:n ka fungera mot ångmakinen har flera olika kommunikationfunktioner me båe interna funktioner och externa kretar byggt upp [2]. Figur 5.1 Förenkla bil av en FPGA och en cell 5.1.1. Möjlighet till en proceorkärna i FPGA:n En el av ytan i FPGA:n, v. flera av cellerna, kan utnyttja för att realiera en eller flera proceorkärnor. Dea finn om färigkrivna block i en programvara om använ för att utveckla funktioner till FPGA:n. Me anra or är proceorkärnan en funktion om har en unika möjligheten att förtå och exekvera kompilera C-ko preci om en proceor. Preci om e anra funktionerna å är en kriven i mjukvara om ean kompilera och lägg in i FPGA:n. Proceorkärnan betånelar är valbart och kan ärför moifiera för att paa en peciell applikation mycket bra. Om hänyn ta till en begränae yta om finn i FPGA:n å är et bra att kunna välja bort e elar om inte behöv vi en peciell tillämpning. Det om är å peciellt me jut enna proceorkärna är att många av betånelarna finn i olika utföranen. ill exempel är et valbart vilken bitvi kärnan ka ha eller vilken ort multiplikator om ka använa. Proceorkärnan töjer även olika tanarer vi kommunikation me externa enheter. ill exempel kan UAR, SPI, USB, PCI amt ethernet använa om ea är önkvära. Detta arbete kräver en kommunikation me en PC å mätvären ka hämta från ångmakinen till moelleringen av ångmakinen ytem. ill etta vale et att använa en UAR om finn om valbart byggblock. En UAR kommunicerar via RS 232 me PC:n erieport. Anleningen till att en UAR vale är att utvecklingkortet om använe inte tillåter annat. I et här ammanhanget å har möjligheten till en CPU unerlättat väligt mycket. Del å i form av att implementeringen av regleralgoritmen kan programmera i C men även att mätvären från ångmakinen lätt kan hämta och tyrignaler har kunnat kriva in me hjälp av ett tangentbor. I et här examenarbetet använ proceorkärnan enat till beräkningar för regleralgoritmen å en jämfört me övriga elar i FPGA:n arbetar väligt långamt. Kommunikationen mellan logiken och proceorkärnan ker genom en mycket enkel egenhänigt uppbygg hankakning i form av ett interrupt, men kan i anra tillämpningar göra betyligt mer komplicera. Interruptet talar om för proceorkärnan när ett nytt ampel har tagit och väntar ean på en ignal om bekräftar att proceorkärnan är reo att ta emot et. Figur 5.2 viar hur ett åant förlopp går till amt en bit peuoko för att öka förtåelen. 32
Wait until CPU_reay == 1 Data_to_cpu = ampleinput Enable_CPU :=1 Wait until CPU_reay == 0 Enable_CPU :=0 Repeat Figur 5.2 Bekrivning av kommunikationen mellan logik och CPU i FPGA:n. Proceorkärnan kan göra å pa avancera att en kulle kunna använa till att tyra hela ytemet me till exempel en interruptbaera chemaläggning. Då regleralgoritmen har lagt in i en C-ko om proceorkärnan exekverar har utvecklingarbetet av algoritmen unerlättat avevärt. Detta för att C-koen lätt kan byta ut utan att någon kompilering av övrig logik behöver utföra, ett moment om annar tar ti. Figur 5.3 Logik och CPU i FPGA 5.1.2. Val av CPU påverkar regleringen De proceorkärnor om kan välja till FPGA:n kan hantera antingen 16- eller 32 bitar tal. En 16 bitar proceor meför begränningar i upplöningen på grun av att e inte kan hantera flyttal [9] och en proceorkärna me 32 bitar orakar längre förröjningar på grun av att multiplikationerna och aitionerna tar längre ti. När en regulator eigna å är parametrarna avväga mot varanra och repreentera ea me otillräcklig noggrannhet kan et vara vårt att få tyrningen att fungera. Viare å tar en längre bitvien ubbelt å lång ti på ig vi varje multiplikation, oavett om 1*1 ka beräkna. Detta måte väga in när proceorkärnan välj å att en hinner me beräkningen innan näta ampel kommer. Hårt knutet till multiplikationen är klockperioen. Om ytemet om ka tyra är nabbt måte proceorkärnan klocka vara å pa nabb att flera multiplikationer klara av innan et är ag för nya ata att behanla. En multiplikation kan ta upp emot 70 klockcykler beroene på vilken multiplikator om använ. änkvärt är att en PID-regulator kräver mint tre, men oftat fler, multiplikationer och ett antal aitioner repektive ubtraktioner om även e tar ti. 5.2. Jämförele mellan FPGA och mikroproceor En FPGA och en mikroproceor fungerar på väligt olika ätt. Även om regleringen av ångmakinen varken kräver en ena eller en anra å finn en el intreanta aker att ta upp om möjligheterna me en FPGA om tyrenhet. För att läaren jälv ka kunna bila ig en uppfattning kommer en generell mikroproceor arbetätt att nabbt preentera varpå FPGA:n och mikroproceorn jämför. 33