Automationsteknik Implementering av diskret PID-regulator 1(9)



Relevanta dokument
MKS och Industriell datakom - Övningslektion 1. Gamla tentamensuppgifter. Lösningsförslag för de flesta av uppgifterna ges i slutet av detta dokument.

LABORATION 4 DISPERSION

STATISTISKA CENTRALBYRÅN

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

Karlstads universitet Tel 202 Elkraftteknik och kraftelektronik Bilaga 3 Avd. för elektroteknik Asynkronmotorn 1(12) Asynkronmotorn

Hårdmagnetiska material / permanent magnet materials

Tentamen del 2 i kursen Elinstallation, begränsad behörighet ET

Informationsteknologi

Matematik 5 Kap 1 Diskret matematik I

a k . Serien, som formellt är följden av delsummor

Design av en ångmaskinsregulator och ett interaktivt användargränsnitt

Kalibreringsrapport. Utländska doktorander

Tryckklass och mått Ytterdiameter och godstjocklek på Ulefos formsprutade rördelar uppfyller kraven enligt SS-EN 1555 och SS-EN

Diagnostiskt test 1 tid: 2 timmar

Reglerteknik 1. Kapitel 1, 2, 3, 4. Köp bok och övningshäfte på kårbokhandeln. William Sandqvist

2E1112 Elektrisk mätteknik

_ Walter Cut Kompetens för avstickning

Reglerteknik M3, 5p. Tentamen


5 Klämkraft och monteringsmoment

Processbeskrivning Driftsättning

REPETITION (OCH LITE NYTT) AV REGLERTEKNIKEN

FACIT OCH KOMMENTARER

Multiplikationsprincipen

Reglerteknik M3. Inlämningsuppgift 3. Lp II, Namn:... Personnr:... Namn:... Personnr:...

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

Föreläsning 7: Stabilitetsmarginaler. Föreläsning 7. Stabilitet är viktigt! Förra veckan. Stabilitetsmarginaler. Extra fördröjning i loopen?

Assistent: Cecilia Askman Laborationen utfördes: 7 februari 2000

D/A- och A/D-omvandlarmodul MOD687-31

Läs i vågläraboken om interferens (sid 59-71), dopplereffekt (sid 81-84), elektromagnetiska vågor (sid ) och dikroism (sid ).

Reglerteknik, TSIU 61

Binär kodning. Binära koder. Tal och talsystem positionssystem för basen 10. Begrepp. Begrepp Tal och talsystem Talomvandling ASCII-kod NBCD Gray-kod

Matematik CD för TB. tanv = motstående närliggande. tan34 = x 35. x = 35tan 34. x cosv = närliggande hypotenusan. cos40 = x 61.

TENTAMENSUPPGIFTER I ELEKTROTEKNIK MED SVAR

1 Jag själv lärde om detta av en kollega som, kanske, heter Joel Andersson

TSTE93 Analog konstruktion

Gripenberg, Pohjonen, Solin. Mat Grundkurs i matematik 1 Tentamen och mellanförhörsomtagning

Grunderna i stegkodsprogrammering

NOVATHERM 4FR PROJEKTERINGSANVISNING BRANDISOLERING AV BÄRANDE STÅLKONSTRUKTIONER

Läs i vågläraboken om interferens (sid 59-71), dopplereffekt (sid 81-84), elektromagnetiska vågor (sid ) och dikroism (sid ).

Microprocessor / Microcontroller

Skärgårdsfakta. Grafiska kartor Fakta 2014:13

Processbeskrivning Kvalitetsstyrning

Effektpedal för elgitarr

Förvaltningsberättelse 2013 för Avfallsverksamheten

Reglerteknik, TSIU 61

Adagio. œ œ œ œ œ œ œ. œ œ œ œ. & bb 4 4 œ. & bb. œ œ œ œ œ œ œ œ Œ. & bb œ œ œ œ œ œ œ œ. & bb œ œ œ œ œ b D. q = 72. och nar. var 1ens.

7 Inställning av PID-regulatorer

R AKNE OVNING VECKA 1 David Heintz, 31 oktober 2002

Industriella Styrsystem Övningskompendium

TAIU07 Matematiska beräkningar med Matlab

MS-250M. Elektriskt ställdon för styrning/reglering av spjäll, ledskenor och ventiler

LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK. Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS

Tentamen i Eleffektsystem 2C poäng

Reglerteknik 5. Kapitel 9. Köp bok och övningshäfte på kårbokhandeln. William Sandqvist

1/32-DIN TEMPERATURREGULATOR (PID

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

2E1112 Elektrisk mätteknik

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

Datorövning Matlab/Simulink. Styr- och Reglerteknik för U3/EI2

PPU207 HT15. Skruvförband. Lars Bark MdH/IDT

Utbildning i reglerteknik. Ett samarbete inom ProcessIT mellan LTU och Optimation

GLAS. Montering & skötsel

Enda tillåtna hjälpmedel är papper, penna, linjal och suddgummi. Skrivtid 4 h. OBS: uppgifterna skall inlämnas på separata papper.

2D1210, Numeriska Metoder, GK I för V 2.

Grundläggande ellära Induktiv och kapacitiv krets. Förberedelseuppgifter. Labuppgifter U 1 U R I 1 I 2 U C U L + + IEA Lab 1:1 - ETG 1

Kursens mål är, förutom faktakunskaper om kursinnehållet, att ge:

Bättre hemmamiljö med klimatsmarta trick

REGLERTEKNIK KTH. REGLERTEKNIK AK EL1000/EL1110/EL1120 Kortfattade lösningsförslag till tentamen , kl

äkta Bredband, ett krav för framtidens multiservice nät?

Digital signalbehandling Kamfilter och frekvenssamplande filter

DEL I. Matematiska Institutionen KTH

Signalanalys med snabb Fouriertransform

Akt 2, Scen 7: Utomhus & Den första förtroendeduetten. w w w w. œ œ œ. œ œ. Man fick ny - pa sig i ar-men. Trod-de att man dröm-de.

Dataprojekt. Nanovetenskapliga tankeverktyg. January 18, 2008

Tentaupplägg denna gång

SF1624 Algebra och geometri Tentamen Onsdagen 29 oktober, 2014

Tentamen i Systemteknik/Processreglering

2 Laboration 2. Positionsmätning

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

Kurvlängd och geometri på en sfärisk yta

Motor för modulerande reglering AME 435

Barn på sjukhus FÖRBEREDELSETIPS FRÅN BARN- OCH UNGDOMSSJUKVÅRDEN, SUS

REGLERTEKNIK Laboration 5

Riktlinjer och krav för våra leverantörer

15. Ordinära differentialekvationer

ARBETSMARKNADS- OCH UTBILDNINGSSTATISTIK BAKGRUNDSFAKTA 2014:2. Mätfelsstudie i AKU

Överföringsfunktioner, blockscheman och analys av reglersystem

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

ANDRA BASER ÄN TIO EXTRAMATERIAL TILL. Matematikens grunder. för lärare. Anders Månsson

Konsoliderad version av. Styrelsens för ackreditering och teknisk kontroll (SWEDAC) föreskrifter och allmänna råd (STAFS 2006:10) om automatiska vågar

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

2. Reglertekniska grunder

C TAC Xenta Reglerenheter - Värme TEKNISKA DATA

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Textsträngar från/till skärm eller fil

Prov kapitel FACIT Version 1

2. Reglertekniska grunder

Utvärdering av tidigarelagd start av prismätningar i nya radio- och TV-butiker

Transkript:

Automationteni Implementering av iret PID-regulator 1(9) Laboration Implementering av iret PID-regulator En PID-regulator an ontruera me enbart analog eletroni. Doc vill man ofta integrera fler funtioner i in regulator och öa flexibiliteten vilet uppnå genom att itället använa ig av någon form av proceor. I enna laboration a en PID-regulator implementera i en miroproceor av tpen PIC18F462. Förbereeleuppgifter Lä igenom hanleningen och bevara alla frågor marerae me uriv til före laborationen. Proce För att få till en lämplig proce att teta regulatorn på (och unvia uttråae tuenter pga långa tiontanter) använ här ett anra orningen tem betåene av två RClänar efter varanra enligt Figur 1. Figur 1 Anra orningen tem. Överföringfuntionen för enna proce är G 1 1 1 = (1) 1+ 1+ 1+ 2 + () = 2 2 Stegvaret återge i Figur 2 och linar et för en termi proce. 1.2 1.8.6.4.2 -.2 2 4 6 8 1 Figur 2 Stegvar för anra orningen tem.

Automationteni Implementering av iret PID-regulator 2(9) Diretiering av PID regulator En PID-regulator an beriva om är e() t r() t () t = är felet. u 1 () t = K e() t + e( τ ) τ + e& ( t) Efterom miroproceorn arbetar i ireta titeg me amplingintervallet =t -t -1, måte uttrcet för PID-regulatorn itetiera. betecnar här nuvarane ampel mean -1 betecnar föregåene ampel. Genom att använa Euler baåtapproximation an en integral repetive erivata riva om om i ( ) τ e( ) l t l e τ (3) e e &() t (4) 1 e Om man antar att börväret inte änra mellan två amplingpunter blir erivatan av börväret noll varför et räcer att beräna erivatan av ärväret och uttrcet för en iretierae regulatorn blir ärme 1 u = + K e e (5) i Diretiering av lågpafilter I e fleta mätammanhang får man problem me törningar i mätignalen och ett lågpafilter på mätignalerna an ärför behöva. Överföringfuntionen för ett förta orningen lågpafilter me brtfrevenen ω är H () Y = X ( ) 1 ω = = () 1+ ω + (2) (6) Inver Laplace-tranform ger ( t) + ω ( t) = x( t) & (7) ω Diretiering me hjälp av Euler approximation ger = 1 + ω = ω x ( x ) ω + 1 (8)

Automationteni Implementering av iret PID-regulator 3(9) För att utignalen inte a bero av ig jälv göre tterligare en approximation, nämligen -1 = ( x 1) + 1 ω (9) S mot integraleluppvrining (anti-winup) I verligheten är utignalen från regulatorn begräna båe uppåt och neåt. Om ett reglerfel vartår ean utignalen nått en begränning fortätter integralelen att växa trot att utignalen inte an änra tterligare. Om börväret å plötligt änra å att utignalen a mina måte integralelen baca tillbaa innan utignalen ommer ur mättning och börjar mina. Detta meför blan annat problem en onöig förröjning och är naturligtvi oacceptabelt. En löning på problemet är att luta uppatera integralelen å fort utignalen nått in begränning. Seventiell implementering av regulatorn För att iretieringen ovan a fungera är et av törta vit att oen upprepa me en ontant freven, en å allae amplingfrevenen, och att hela oen hinner exevera innan näta amplingpunt. För att mina exeveringtien för oen är et förelatigt att föröa minimera antalet räneoperationer om behöver utföra i varje ampel. Av enna anlening bör t.ex. multipliation eller iviion av två ontanter, om ju allti ommer att ge ontant reultat, inte utföra i oen utan beräna innan och riv in i oen om en n ontant. Sålee göre följane omrivningar R R I D = K i = K (1)

Automationteni Implementering av iret PID-regulator 4(9) Regulatorn i evation (5) an implementera eventiellt vilet innebär att följane inträffar varje ampel: 1. A/D-omvanla börväret, r, och ärväret. 2. Beräna felet: e = r. 3. Beräna proportionalelen: u P, = Ke 4. Beräna integralelen: u I, = RIe + ui, 1 5. Beräna erivataelen: u R ( ) D, = D 1 6. Beräna utignalen: u = up, + ui, + ud, 7. Begräna utignalen och förhinra integraleluppvrining: if (u > u max ) u = u max u I,-1 = u max - u P, - u D, ele if (u < u min ) u = u min u I,-1 = u min - u P, - u D, ele u I,-1 = u I, 8. Spara unan ärväret till näta ampel: -1 = 9. Lägg ut utignalen på utgången Derivatafilter Ofta är et tillräcligt me en PI-regulator för att få acceptabel reglering. D-elen an oc via ig använbar. En anlening till att man ofta är rä för D-veran i regulatorn är att enna förtärer höga frevener. Detta beter att bru i mätignalen ommer att förtära och påverar utignalen raftigt. För att unvia att regulatorn agerar på bru an en beränae erivatan lågpafiltrera. () = K Y () D 14243 D el 1 1123 + N Lågpafilter ( 1+ N ) D( ) = K Y ( ) (11) Inver Laplace-tranform ger ( t) N& ( t) = K e( t) + (12) & Euler approximation ger

Automationteni Implementering av iret PID-regulator 5(9) + N N = N + 1 1 = K K N + 1 ( ) 1 (13) Heltalaritmeti Miroproceorn om använ i etta fall arbetar bara me 8-bitar tal. Det är oc inget om hinrar att man använer ig av båe 16- (int) och 32-bitar (long) tal i beräningarna men man måte vara meveten om att beräningböran för proceorn öar ramatit me antalet bitar. Detta gäller ärilt vi multipliation och iviion. Inte eto minre tvinga man iblan använa ig av ett tort antal bitar för att unna utföra beräningar me tillräcligt hög preciion. Om möjligt bör man i förta han välja multipliation eller iviion me någon poten me baen 2, v 2, 4, 8, 16 ov. Förelen me etta är att multipliation och iviion me ea fatorer an erätta me bitift vilet är mcet tieffetiva operationer jämfört me att multiplicera och iviera på vanligt ätt. b = a<<3; //b = a*8 b = a>>2; //b = a/4; Salning När man arbetar me heltal blir et nätan allti növänigt att använa alfatorer för att bibehålla tillräclig noggrannhet i beräningarna. Om man t.ex. vill ha en förtärning på.25 måte allting ala upp me mint en fator 4 för att beräningen a unna utföra me heltal. Det lämpligt att välja alning me någon poten me baen 2. När man gör beräningar me olia alfatorer gäller et att täna på att vi aition och ubtration måte e två talen ha amma alfator. Vi multipliation och iviion behöver talen inte ha amma alfator men man måte hålla rätt på att vi multipliation är prouten ala me prouten av e två ingåene alfatorerna. Motvarane gäller för iviion är reultatet är alat me voten av e två talen alfatorer. Särilt när man multiplicerar två tal gäller et att e upp å att en törta möjliga prouten om an uppomma inte är törre än et maximala tal man an hantera me aveene på en vala talrepreentationen. Om prouten ulle bli för tor får man överpill (overflow). Reultatet blir å något helt annat än va man förväntae ig. Vi iviion är problemet narat et omväna. Det gäller nämligen att bibehålla tillräclig upplöning på en beränae voten. Jämför e två oavnitten nean. Den ena oen ger 1 mean en anra ger 13 vilet är betligt närmare et orreta väret 13,33. a = 8; b = 3; c = a/b; = c*5; //c=2 //=1 a = 8; b = 3; c = (a<<4)/b; = (c*5)>>4; //c=42 //=13

Automationteni Implementering av iret PID-regulator 6(9) Man an alltå ra lutaten att et är förelatigt att utföra beräningar me å tora tal om möjligt, oc utan att riera overflow, för att ean i lutet av beräningen göra en nealning. Det är ofta növänigt att ifta mellan olia variabeltper vilet gör me tpecat. char a; int b; a = (char)b; Efterom A/D-omvanlaren i etta fall har 1 bitar varierar e inmätta ignalerna, v börväre och ärväre, mellan -123. Det är ärför lämpligt att använa 123 om ba i regulatorberäningarna. I neantåene något förenlae exempel på en PI-regulator är förtärningen K ala me 4 och R I me 8. e = r-; //e antar vären mellan -123 u_prop = K*e; //ala me 4 u_int = (Ri*e)+u_Int_ol ; //ala me 8 u = u_prop + (u_int>>1); //ala me 4 Efterom utignalen an varierar mellan -255 måte et ovan beränae u iviera me 4 (innan en ica till pwm funtionen) för att e beränae regulatorparametrarna a tämma. u_pwm = (u >>2); //u_pwm antar vären mellan -255 Antag att förtärningen K a unna variera mellan.5-1, integraltien mellan.1-1 och eriveringtien mellan.1-1. Samplingtien är 1 m. Betäm lämpliga alfatorer för förtärningarna K, R I och R D. Inoppling av PIC-proceorn Inopplingen av PIC-proceorn och proceen via i Figur 3. Vilen tiontant har repetive teg i proceen? Vilen funtion har OP-förtärarna?

Automationteni Implementering av iret PID-regulator 7(9) Figur 3 Inoppling av PIC-proceor och proce. PWM utgång De fleta miroproceorer anar äril analog utgång och et är ärför bruligt att apa en analog utgång genom att lågpafiltrera en pulbremoulera (PWM) ignal från proceorn. Om witchfrevenen och filtret brtfreven välj vettigt i förhållane till en ignal man är intreera av fungerar etta mcet bra. Detta är et amma om när man reglerar temperatur genom att oppla till och från ett värmeelement. Även i et fallet gäller et att tien mellan två tilllag a vara mcet ortare än proceen tiontant för att uppnå en tabil temperatur. Om man a värma upp ett rum ommer en temia trögheten i rummet att göra att temperaturen i rummet är en lågpafiltrering av en pulae värmeeffeten. Vilen tiontant har RC-länen om använ för att apa en analog utgång? Det finn ärila utgångar på PIC-proceorn om är avea att använa om PWM utgångar. I etta fall använ RC2 om PWM utgång. Hur en PWM ignal apa framgår i etalj av avnitt 16 i proceorn atabla. Periotien för PWM ignalen betäm av

Automationteni Implementering av iret PID-regulator 8(9) ( PR2 + 1) 4 MR2 Precaler PWM Perio = (14) I etta fall välj PR2=255 vilet, me en locfreven på 8 MHz, reulterar i en witchfreven på ca 7.8 Hz. Pulvoten betäm av regitret CCPR1L. i etta regiter ger % pulvot och 255 innebär en pulvot på 1%, v maximal utignal. Följane o initierar pwm funtionen: voi pwm_init(voi) { PR2=xFF; 2CKPS1=; 2CKPS=; DC1B1=; DC1B=; CCPR1L=; MR2ON=1; CCP1M3=1; CCP1M2=1; } A/D-omvanling För att unna reglera proceen måte e ärväre återoppla till proceorn. För etta änamål använ en inbgga A/D-omvanlaren. Börväret ätt me en potentiometer och ommer alltå in på en analog ingång även et. Förutom att ea pinnar måte välja till ingångar genom att ettätta motvarane bitar i RIS-regitren måte e även välja om analoga ingångar itället för igitala. Detta gör me ADCON1 regitret. Vilet väre a ADCON1-regitret ha för att göra RA och RA1 till analoga ingångar? A/D-omvanlaren initiera me följane o: voi ac_init(voi) { ADCON2 = x91; ADON=1; } OSC // Högerjuterat reult, acq=4*a, Foc/8. // Starta AD-omvanlaren En A/D-omvanling gör me följane funtion till vilen man anger analnummer och får tillbaa ett väre mellan -123 vilet motvarar -5 V på ingången. unigne int ac_rea(unigne char channel) { channel&=xf; // trunera channel till 4 bitar ADCON&=xC1; // nolltäll nuvarane analval ADCON =(channel<<2); // välj n anal GODONE=1; // tarta omvanlingen av val anal while(godone)continue; return((adresh<<8)+(adresl)); // returnera 1 bitar reultat } Sampling I en regulator för t.ex. trömreglering är et vitigt att amplingen är nroniera me en PWM ignal man icar ut. Detta på grun av att trömmen innehåller rippel och man vill ampla in meelväret av trömmen. I etta fall är oc witchperioen mcet ortare än proceen tiontant och man an ärför e proceen ärväre om ontant uner en witchperio. Me tane på proceen tiontant välj i etta fall en amplingfreven på 1 Hz. För att äertälla ontant amplingintervall använ en

Automationteni Implementering av iret PID-regulator 9(9) 1 m avbrottfuntion i vilen regulatoroen placera. Förlagvi använ imer till att generera avbrott. Beräna väre på MRH och MRL amt välj lämplig precaler för att generera ett avbrott var 1:e m. Ocillatorfrevenen anta vara 8 MHz. Labuppgifter Välj ocillatorfrevenen till 8 MHz genom att riva OSCCON=x7 fört i main-funtion. Änra RIS-regitren enligt in- och utignalerna i Figur 3. Initiera avbrottfuntion och ontrollera e funtion genom att anluta ocilloop till en utgång om växla varje gång man ommer in i avbrottfuntionen. Initiera A/D-omvanlaren amt pwm genereringen. PI-regulator me anti-winup Implementera en PI-regulator i PIC-proceorn. Placera hela regulatoroen i avbrottfuntionen. Välj lämpliga alfatorer. än på att e mätta ignalerna varierar mellan -123 mean pulvoten till pwm ignalen varierar mellan -255. För att verifiera regulatorn funtion amt unerlätta eventuell felöning an iplaen iponera exempelvi enligt följane: r u P u I u Gör ett teg i börväret genom att öa etta me t.ex. 1% när vippbrtaren lå om. Välj lämpliga parametrar på K och i. PI-regulator utan anti-winup I föregåene uppgift fann förhoppningvi mot integraleluppvrining (anti-winup) me. Kommentera nu bort en el av oen om innehåller anti-winup. Va häner nu när man ätter maximalt börväre? PI-regulator me mätvärefiltrering Ofta innehåller mätignalen törningar och behöver filtrera. Lägg till ett förta orningen lågpafilter, enligt Evation (9), på mätignalen. Välj en brtfreven på ca.1 Hz. Jämför et na tegvaret me et utan filtrering. Vilen inveran har filtret? PID-regulator (i mån av ti) Lägg till en D-el i regulatorn och täll in lämpliga parametrar. Vilen inveran har D-elen? Hur er utignalen ut nu jämfört me tiigare? PID-regulator me erivatafilter (i mån av ti) Lägg till en filtrering av erivatan och teta återigen regulatorn funtion.