PROJEKTLABORATION 1-3 i LR1230 System- och reglerteknik

Relevanta dokument
PROJKTLABORATION i System- och reglerteknik

HÅRDVARULABORATION 4-6 i LR1230 System- och reglerteknik

Lösningar till tentamen i Reglerteknik

Lösningsförslag till tentamen i TSRT19 Reglerteknik Tentamensdatum: Svante Gunnarsson

Elektronik. Frekvenssvar, Bode-plottar, resonans. Översikt. Fourieranalys. Fyrkantsvåg

SIMULINK. Introduktion till. Grunderna...2. Tidskontinuerliga Reglersystem. 6. Uppgift Appendix A. Symboler 14

TENTAMEN: DEL B Reglerteknik I 5hp

SIMULINK. Grunderna. Introduktion till

Massa, densitet och hastighet

3 Styrning av programflöde. Här exekveras satserna enligt först sats1 sedan sats2 och sist sats3.

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

Övningar i JavaScript del 4

Tentamen (TEN1) TMEL53 Digitalteknik

Övningar i JavaScript del 3

Programmering Åk Blockly Games

ÖVN 15 - DIFFTRANS - DEL2 - SF Nyckelord och innehåll. Inofficiella mål

Hur man skapar ett test i Test och quiz i Mondo 2.6

Laboration, analoga applikationer

TSRT09 Reglerteori. Sammanfattning av Föreläsning 4. Sammanfattning av Föreläsning 4, forts. Sammanfattning av Föreläsning 4, forts.

Övningar i JavaScript del 7

Webbhandel med Matsäljarna.

Så här beställer du varor från Serveras webbutik.

Programmering F-3. -Osmo Coding

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

Kalibrering. Dagens föreläsning. När behöver man inte kalibrera? Varför kalibrera? Ex på kalibrering. Linjär regression (komp 5)

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

yz dx + x 2 ydy+ x 2 dz, (0, 0, 0) (1, 1, 1) (0, 0, 0) (1, 0, 0) (1, 1, 0) (0, 0, 0) (1, 1, 1) z = xy y = x 2 x(t) =y(t) =z(t) =t, 0 t 1

Så här beställer du varor från bunkra.se

kl Tentaupplägg

Övningar i JavaScript del 2

Övningar i JavaScript del 5

Digital signalbehandling Sampling och vikning

Användarhandbok OSSpeaker 10.2 version 2

Implementering av ett magnetlager MADELEINE YMERSON

Lathund för Sundbybergs IK orienteringssektionen Att arbeta med hemsidan

REGLERTEKNIK. Formelsamling

Laborationsinstruktion för Elektromagnetiska sensorer

ARKIV DIGITAL - att släktforska i färg

SIMULINK. En kort introduktion till. Polplacerad regulator sid 8 Appendix Symboler/block sid 10. Institutionen för Tillämpad Fysik och elektronik

Lunds Tekniska Högskola Avdelningen för industriell elektroteknik och automation

Optimering Linjär programmering

Guideline Sportident-systemet

Användarhandbok OESpeaker 1.0

4. Laplacetransformmetoder

1. Använd Laplacetransformen för att lösa differentialekvationen (5p) y (t) y(t) = sin 2t, t > 0 y(0) = 1

Med den här serviceinformationen presenteras den nya Paltronic 50 Version 5.4 för er.

Tentamen: Lösningsförslag

2. Optimering Linjär programmering

AB2.9: Heavisides stegfunktion. Diracs deltafunktion

KRFd. Allmänt KRF är en elekronisk flödesregleringsenhet med LONTALK. Elektronisk rumsregulator för luftflödesreglering. Snabbval

NATIONELLT KURSPROV I MATEMATIK KURS D VÅREN Del I, 13 uppgifter med miniräknare 3. Del II, breddningsdel 7

Institutionen för Tillämpad Fysik och elektronik Umeå Universitet BE. Introduktion till verktyget SIMULINK. Grunderna...2

Installation av fiber och IPTV i Seraljen

Laborationsanvisning laboration 2

Kort användarmanual för Test och quiz i Mondo 2.0

SchoolSoft

Informationsattribut för inventering - gränspunkter

Användarhandbok OESpeaker 10.2

1 Paint. 1.1 Öppna Paint. 1.2 Rita linjer

TEORETISKT PROBLEM 1 UTVECKLINGEN AV SYSTEMET JORD-MÅNE

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

TDIU01 - Programmering i C++, grundkurs

PROV I MATEMATIK KURS E FRÅN NATIONELLA PROVBANKEN

Anvisning Registreringsteknik

Ordinationer i Cytodos lathund VO ObGyn

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Tentamen i Programmering C, Fri, Kväll,

1. Använd Laplacetransformen för att lösa differentialekvationen (5p) y (t) + 3y (t) + 2y(t) = 1, t > 0 y(0) = 1, y (0) = 1

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

Processbeskrivning Kvalitetsstyrning

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

ANVÄNDARMANUAL TEST OCH QUIZ för Mondo 2.0 Version 1

Digital signalbehandling fk Byte av samplingsfrekvens och översampling

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

SchoolSoft

För att kunna utföra en variable data printning böhöver du följande filer:

SchoolSoft

Sannolikhetslära statistisk inferens F10 ESTIMATION (NCT )

motiveringar. Lämna tydliga svar. 1 (arcsin x) 2 dx: (0.6)

APPROXIMATION AV SERIENS SUMMA MED EN DELSUMMA OCH EN INTEGRAL

Om dagens föreläsning!

Summering av fält 1.1. Synkronisering - Semaforen. Summering av fält 1.3. Summering av fält 1.2. Summering av fält 2.3 (INTE GK)

Styr- och Reglerteknik för U3/EI2

FÖRSLAG TILL LÖSNING AV Tentamen i Objektorienterad programmering C++ I

Administrera filmer på Tandberg Content Server

HANTERING AV DIGITAL INFORMATION HOS FASTIGHETSKONTORET

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl Omtentamen i Programmering C, Fri, Kväll,

Användarhandbok Come&Go 2G 3.1

En kom i gång manual till SPF:s hemsidor

En kom i gång manual till SPF:s hemsidor

Lösningar till uppgifterna sätts ut på kurssidan på nätet i dag kl 13. Omtentamen i Programmering C, 5p, A1, D1, PA1, Fri,

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

MaxSea TimeZero. Snabbguide

ω L[cos(ωt)](s) = s 2 +ω 2 L[sin(ωt)](s) =

Nya BMW M3 Cabriolet. När du älskar att köra

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

HANTERING AV DIGITAL INFORMATION HOS EXPLOATERINGSKONTORET

Hårdmagnetiska material / permanent magnet materials

Kom-i-gång med Movie Maker: Programmet finns under Program -> Tillbehör -> Underhållning

Geometri. Kapitel 3 Geometri. Borggården sidan 68 Diagnos sidan 82 Rustkammaren sidan 84 Tornet sidan 90 Sammanfattning sidan 94 Utmaningen sidan 96

Transkript:

MÄLARDALENS HÖGSKOLA Intitutinen för elektrnik PROJEKTLABORATION 1-3 i LR130 Sytem- ch reglerteknik Denna labberie avluta med att ni ka reglera några reella fyikalika rceer Meningen är att vi nu ka gå från imulering till hårdvaruimlementering Du ka få träning i att rgrammera ch förtå hur en regulatr kan dikretiera Nedantående rceer kmmer att reglera 4 4 1 Kretrce med överföringfunktinen G eller G 1 1 mklare tyr rdningen å rceen 3 En K Ett vinkelerv med överföringfunktinen G 1 1 e m, där K betäm utifrån mätning Då 1 ch kan rceen arximera med e m 1 K G 3 En kulbanerce med både ett vinkelerv ch en arximerad överföringfunktin K kul Gkul, e nedan Prceerna van känn igen från tidigare MATLABimuleringar A/D - D/A - krt Detta krt är ett intickkrt för PC Intickkrtet kmmer att reentera vid det 4:e labratintillfället Fil: Reglab1--3 J Lundqvit IEl 003-11-6 1

Prgramvara för A/D - D/A - krt Till krtet hör en rgramvara Denna betår av ett antal filer vilka du behöver flytta till ditt eget h:\ Se bilagan it i denna labratinhandledningen Titta ckå igenm kelettfilen daqc, it i detta dkument Se eciellt följande: Samlingen tyr av en leefunktin, vilket innebär att vi behöver underöka vilken amlingtiden är vid varje ny mrgrammering (mer kd betyder att leeen måte minka i amma grad) Ob att argumentet i leefunktin är i milliekunder (i rgrammet T) I kntantdefinieringen (NUM) betäm hur många amel ka ta in (d v den betämmer alltå ttala exekveringtiden) Prgramavnittet // Sar Matlabfil, ar alla intreanta variabler i en fil med namnet datam Detta för att vi i MATLAB kall kunna viualiera våra variabler Kmilering av rgrammet reentera vid labratintillfället Tetning av A/D - D/A krt, amt kalibrering Signalerna in ch ut från A/D-D/A krtet finn å de må lintarna vid datrn, (analg inut) re analg utut Kla u ignalgeneratrn med inu ca V t till t ch 1 Hz till den externa A/D-mvandlaren ch Tektrnixcillket kanal 1 ch D/A-0 till kanal Se till att följande rader finn med i c-filen (Raderna kan lacera där vi är anviade att kriva regulatrkd) W_81_DI(DI_LO_BYTE, &da1); // Anrar AD-funktinen i daqc y1=(da1-18)*004; DA(y1,1); // Lägger ut y1 å DAC en Kmilera ch kör rgrammet (tar ca 0 ek) Om ditt ytem fungerar kall du e inignalen ch utignalen å cillket Kalibrering av krtet måte vi göra mjukvarumäigt då intickkrtet i datrn är åtkmligt Offet få både å in ch ut (gör gärna en aerki) Vi löer detta genm att läa in (A/D) amt kriva ut (D/A) en lågfrekvent fyrkantignal Använd frekvengeneratrn ch fyrkantvåg ca 1Hz ch amlitud 1- vlt Genm mätning ch användning av MATLAB får vi Fil: Reglab1--3 J Lundqvit IEl 003-11-6

fram ungefärliga ffetignaler Kmenera dea ffetignaler mjukvarumäigt i din daqc (t ex DA(r + ffet, 0)) Nu till MATLAB Ställ dig i rätt katalg, dv där du kaat ditt rjekt Skriv kmmandt data ch du läer in ett antal vektrer Gör lt([r u y]) eller lt(t,[r u y]) (bervera tidvektrn t får du med kmmandt t=(0:length(y)-1)*t); Ser nu grafen key ut, å börja då att rgrammera din regulatr Prgrammering av regulatr Den tiddikreta regulatrn lägg in i kelettfilen Du er var i filen daqc algritmen kan lägga (behåll börignalen r) Obervera att alla nya arametrar ch variabler måte initiera Hur en regulatr rgrammera hittar du i kurkmendiet Prcereglering å idrna 156-160 Hur den fungerar viar du med näta ugift 1 Exerimentbaerad regulatrdeign för Kretrceen Vi kall reglera kretrceen med en exerimentbaerad regulatr vilken bekriv i Prcereglering å idan 13-133 Obervera att mklaren kall tå å 3:de rdningen rce 1 Självvängningexeriment Hur trt K kräv jälvvängning? Vilken blir eridtiden T? P-reglering Hur trt kräv för att få famarginalen 45 K Låt nu börignalen vara ett teg (d v den börignal m finn i daqc) ch regulatrn det framräknade K Vad blir tigtiden t, överlängen M, invängningtiden t amt det tatika felet e? r Reultatet finn i den lggade filen datam Stämmer detta? m 3 PI-reglering (enligt Åtröm-Hägglund arameterval) Nu behöver du använda PI-algritmen med bakåträkning å idan 159 i kmendiet Vad blir tigtiden t, överlängen M, invängningtiden t amt det tatika felet e? r Fil: Reglab1--3 J Lundqvit IEl 003-11-6 3

4 IMC-reglering (OBS, ätt mklaren å :a rdningen rce) Pröva nu PID-algritmen med bakåträkning med en :a rdningen IMC-regulatr Sätt t r 1 ek Ti, kriv en critfil i MATLAB m beräknar regulatrarametrarna Vad blir nu famarginalen? Blir tigtiden t krrekt? Få någt tatikt fel e? r P- reglering av vinkelervt Näta rce att reglera blir kulbanan vinkelerv Obervera att vi kan e ervt m en integratr Vi måte fört identifiera den tatika förtärkningen i rceen Hur gör du det? Gör det! 1 P-reglering Betäm K i en P-regulatr å att du får en bandbredd å ca 30 rad/ Låt börignalen vara ett teg Vad blir tigtiden t r? Här vill labbaiten e hur ni gjrt Extra! Prgrammera en ram, vilken ka använda m börvärde, d v låt r gå från t ex till + V Behåll din P-regulatr ch underök det k hatighetfelet e Få ett ådant fel? Om, hur kmmer vi i å fall tillrätta med det? 1 PI-reglering Betäm nu K ch K via lag-kmenering å att vi får en famarginal å mint 60, m 60 i Fil: Reglab1--3 J Lundqvit IEl 003-11-6 4

3 Reglering av kulbanerce Vinkelerv Kulbana u Regulatr F G Mtr K y r Kulbanerceen är ett linjärt ytem F m g in y r A F g m g Nedan ge en härledning av differentialekvatinen m bekriver hur kulan itin av kulbanan vinkelläge Följande beteckningar gäller nedan: kulbanan vinkelitin [rad] kulan vinkelitin, antalet varv den har rullat [rad] r radien h kulan [m] y r kulan läge å kulbanan [m] y berr F g m g tyngdkraften [N] Följande kraftmmentekvatin i unkten A kan tälla u för kulan rörele d dt J r m r F r (vridmmentet), där m J r kulan tröghetmment [ kg m ] ch 5 F m g in kraften m ätter kulan i rörele [N] Fil: Reglab1--3 J Lundqvit IEl 003-11-6 5

Mmentekvatinen kan då förenkla till d dt F r m g in J r m r m r 5 7 r 5 g in 7 r Vi är nu inte intreerade av vinkelitinen utan av den abluta itinen y r Ekvatinen kan då kriva m å följande ätt: 1 d y 5 g in r dt 7 r d y 5 g in dt 7 Om denna ekvatin linjäriera kring arbetunkten 0 0, d v hrintalläget, få då med hjäl av MacLaurin-utvecklingen för inu: d y dt 5 g 7 3 O Den linjärierade ekvatinen blir då: d y 5 g dt 7 K kul ch överföringfunktinen blir G kul K Y kul, d v K kul 5 g 7 Av överföringfunktinen er vi att vi har en dubbelintegratr Om vi integrerar en kraft/acceleratin får vi hatigheten, ytterligare en integratin ger itinen Vinkelervt är nabbare än kulbanedynamiken (e datrövning 1-3), vilket innebär att arximatinen t u t kan göra Detta innebär att u t blir vinkelervt referenignal ch att utignalen (vinkeln) blir tyrignal för kulbanerceen Obervera att vi måte kakadreglera, amt att överföringfunktinen från tyrignal u t till itin blir G ttl Y K kul U y t Fil: Reglab1--3 J Lundqvit IEl 003-11-6 6

Reglering av kulbanan 1 P-reglering (bervera kakadreglering!) r(t) P-regulatr F () K P u(t) Vinkelerv+Kulbana G P () K y(t) Behåll vinkelervt P-regulatr Prgrammera ch rvkör kulbanan med en P-regulatr Börja med en låg förtärkning vi? K 05, öka å denna gradvi Vilken ty av ytem får PD-reglering Vi kntruerar nu en PD-regulatr (lead-kmenering) enligt kmendiet Prcereglering å frmen: F K Td 1 T 1 för att tabiliera kulbanan Obervera, använd PD-algritm med bakåträkning (Ti, kriv även här en critfil i MATLAB m beräknar regulatrarametrarna) Här är de två deignarametrarna önkad kärfrekven c ch önkad famarginal m För att få någt vettigt värde å valet av kärfrekven kan vi utgå ifrån rceen egen kärfrekven ch rva med värden under ch vanför detta Teta ch röva igen c f 3 PID-reglering Vi använder PID-regulatrn (lead/lag-kmenering) enligt kmendiet å frmen: F K Td 1 Ti 1 T 1 T för att ckå eliminera kvartående fel Hur fungerar nu regleringen? Via labbaitenten! f i För att ha någn törre glädje av att ha reglerat kulan å banan vill vi att ni dkumenterar de teg ni har gjrt för att lycka Denna dkumentatin kan lägga it i den rart ni gör för Datrövning 1-3 Fil: Reglab1--3 J Lundqvit IEl 003-11-6 7

Bilaga: Hur man kaar ett rjekt i MVC++ 1) Starta Micrft Viual C++ 60 ) Menyn File -> New 3) Dialgflik Prject -> Win3 Cnle Alicatin 4) Skriv i lcatin h:\ 5) Skriv ett namn å rjektet i rutan Prject name 6) Tryck OK 7) Välj An emty rject 8) Tryck Finihed 9) Kiera filerna 811PGdll, 811PGlib, DLLh, daqc till katalgen å h:\<rjekt namn> (Dea filer kall ligga å L:\IEL\REGLER\REGLAB\) 10) Lägg till dea filer i rjektet genm att välja Prject -> Add t Prject -> File 11) Skriv ** i file name rutan ch tryck enter Markera nu de fyra vantående filer genm att hålla in CTRL ch klicka å filerna 1) Tryck OK 13) Klart!! Nedan kelettfilen daqc #include <tdih> #include <cnih> #include <windwh> #include "DLLh" #define NUM 000 #define umax 5 #define umin -5 #define BASE 0x0 #define T 8 // Styr hur lång tid vi kör rgrammet // Samlingtid i m #define T 001 // Samlingtid i, // T använd i regleralgritmen /*****************************************************/ // Här kan du lägga dina regulatrarametrar #define K 0 #define Ki 0 #define Kd 0 #define Tf 0 /*****************************************************/ BOOL mdelay(word cnt miliec); vid DA(duble val, int ch); int main(vid) // Variabel Deklaratin FILE *f; int i,j = 0; duble r=0, e=0, u=0, y1, y; duble rvec[num], uvec[num], yvec[num]; Fil: Reglab1--3 J Lundqvit IEl 003-11-6 8

unigned char da1, da; // Initiera ACL81PG krtet W_81_Initial(CARD_1, BASE); // Regler / Styrl //while(!kbhit()) fr(i = 0;i < NUM; i++) // Här gäller evighetl // Inaktivera m evighetl // Att kaa börvärde, t ex /* Börignal teg */ j++; if(j == 000) j = 0; if(j < 1000) r = -; /* Förta 10 ek - V */ ele r = ; /* edan V */ // Hämta data från den externa A/D-mvandlaren W_81_DI(DI_LO_BYTE, &da1); W_81_DI(DI_HI_BYTE, &da); y1=(da1-18)*004; y=(da-18)*004; /*****************************************************/ // ALGORITM // Här kan din regleralgritm imlementera /*****************************************************/ // Sara vektrer för Matlab rvec[i] = r; uvec[i] = y; yvec[i] = y1; // Lägg ut data å D/A-mvandlaren DA(y1, 0); // D/A kanal 0 DA(y1, 1); // D/A kanal 1 // Fördröjning mdelay(t); // Den mtalade "lee"-funktinen // Ta tangentbrdtryckningen för evighetlen // _getch(); // Sätt DA-mvandlarna till nll DA(0, 0); DA(0, 1); rintf("\nalgritm avlutad\n\n"); _getch(); Fil: Reglab1--3 J Lundqvit IEl 003-11-6 9

mdelay(1000); // Sara Matlabfil if((f=fen("datam","w"))!=null) frintf(f,"r = [\n"); fr (j = 0; j < i; j++) frintf(f,"%f\n",rvec[j]); frintf(f,"];\n y = [\n"); fr (j = 0; j < i; j++) frintf(f,"%f\n",yvec[j]); frintf(f,"];\n u = [\n"); fr (j = 0; j < i; j++) frintf(f,"%f\n",uvec[j]); frintf(f,"];\n"); fcle(f); return 0; BOOL mdelay(word cnt miliec) tatic BOOL binit = TRUE; tatic LARGE_INTEGER lifreq; LARGE_INTEGER lireference; LARGE_INTEGER licunt; DWORD dwreult; if( binit ) if(!queryperfrmancefrequency(&lifreq) ) return FALSE; ele binit = FALSE; QueryPerfrmanceCunter(&liReference); while(1) QueryPerfrmanceCunter(&liCunt); if( lireferencehighpart == licunthighpart ) dwreult = licuntlwpart - lireferencelwpart; if( ( dwreult * 1000 / lifreqlwpart ) > miliec ) return TRUE; ele dwreult = (0xffffffff - lireferencelwpart) + licuntlwpart; if( ( dwreult * 1000 / lifreqlwpart ) > miliec ) return TRUE; return TRUE; vid DA(duble val, int ch) duble val; val = val; if(val < -5) val = -5; if(val > 5) val = 5; W_81_DA(ch, (unigned int) (04 + 4046 * val)); Fil: Reglab1--3 J Lundqvit IEl 003-11-6 10