PID reglering
PID reglering
Hej!
Jag ska försöka få ihop en pid reglering av accelerationen på en rullandelandsväg. Jag tror att jag har greppat om hur formeln för pid är men jag lyckas inte förstå vad dom olika bokstäverna står för. Om jag går in på Wikipedia o söker på pid så står det att P=Proportionell förstärkning, I=Integrerande, D=Deriverande. Är det någon som kan förklara för mig vad P, I o D innebär. För att jag ska kunna justera in det senare måste förstå vad dom gör.
Jag ska försöka få ihop en pid reglering av accelerationen på en rullandelandsväg. Jag tror att jag har greppat om hur formeln för pid är men jag lyckas inte förstå vad dom olika bokstäverna står för. Om jag går in på Wikipedia o söker på pid så står det att P=Proportionell förstärkning, I=Integrerande, D=Deriverande. Är det någon som kan förklara för mig vad P, I o D innebär. För att jag ska kunna justera in det senare måste förstå vad dom gör.
Re: PID reglering
Gå till närmsta bibliotek och låna en bok om reglerteknik.
Eller Googla runt. Det är nog lite för mycket detaljer för att
det ska vara meningsfullt att försöka dra allt en gång till här
i forumet som redan är bra beskrivet på andra håll.
> så står det att P=Proportionell förstärkning, I=Integrerande, D=Deriverande.
> Är det någon som kan förklara för mig vad P, I o D innebär.
Du beskrev det ju på raden ovan ? Eller menar du vad "integrerande" betyder ?
Det är samma sak som alltid, det har ingen ny eller speciell betydelse i reglersammanhang.
Eller Googla runt. Det är nog lite för mycket detaljer för att
det ska vara meningsfullt att försöka dra allt en gång till här
i forumet som redan är bra beskrivet på andra håll.
> så står det att P=Proportionell förstärkning, I=Integrerande, D=Deriverande.
> Är det någon som kan förklara för mig vad P, I o D innebär.
Du beskrev det ju på raden ovan ? Eller menar du vad "integrerande" betyder ?
Det är samma sak som alltid, det har ingen ny eller speciell betydelse i reglersammanhang.
Re: PID reglering
Nu vet jag inte vad du har för bakgrund, men integrering och derivering hör till gymnasiematematiken. Litet svårt att förklara med få ord, men:
http://sv.wikipedia.org/wiki/Derivata
http://sv.wikipedia.org/wiki/Integral
http://sv.wikipedia.org/wiki/Derivata
http://sv.wikipedia.org/wiki/Integral
Re: PID reglering
Väldigt förenklat;
P, justerar utsignalen efter avvikelsen från börvärdet, mer avvikelse och högre förstärkning ger mer ändring i utsignalen.
I, fördröjer förändringen av utsignalen, lugnar ner regleringen.
D, "bromsar" när ärvärdet börjar närma sig börvärdet för att dämpa overshoot.
Rätta mig om jag har fel, hade bara en väldigt enkelt styr®lerkurs i skolan.
P, justerar utsignalen efter avvikelsen från börvärdet, mer avvikelse och högre förstärkning ger mer ändring i utsignalen.
I, fördröjer förändringen av utsignalen, lugnar ner regleringen.
D, "bromsar" när ärvärdet börjar närma sig börvärdet för att dämpa overshoot.
Rätta mig om jag har fel, hade bara en väldigt enkelt styr®lerkurs i skolan.
Re: PID reglering
Som sagt, fixa en bok på biblioteket så slipper du
förvillas av de som mest gissar.
förvillas av de som mest gissar.
Re: PID reglering
Jag har gjort en PID-reglering och det är egentligen enkelt när man väl har fattat det.
Först och främst har man ett Bör-värde, det kan vara en temperatur, hastighet, spänning eller vad som helst, här kallar jag den "Bör". Det är alltså ett numerisk värde.
Likaså har man ett Är-värde som beskriver hur läget är just nu, här kallas den "Är".
"Felet" är "Bör" - "Är", alltså hur mycket verkligheten skiljer mot vad det ska vara. Det behövs förtecken i detta (alltså '+' & '-').
Nåväl, man har en variabel man använder till mellanräkning, här kallar jag den "XXX" då det är enkelt att skriva. När allt är räknar klart är "XXX" den som ska skickas ut som styrvärde.
XXX = Felet * P-faktor, där är P-regleringen gjort.
Sedan ska man räkna I. Till det behöver man en variabel som man kan integrera värdet i, den ska alltså sparas och hålla kvar värdet från gång till gång man reglerar. Här kallar jag den "Sum".
Sum = Sum + (Felet * I-faktor), då har man räknat I-delen.
XXX = XXX + Sum, sådär, nu är P & I räknat ihop.
Sedan var det D-delen... Till den behöver man att ha sparat vad "Är" var förra gång man reglerade, här kallar vi det värde för "Förut".
XXX = XXX + ((Förut - Är) * P-faktor)
Förut = Är (spara värdet nu till nästa gång)
Sådär, nu är P, I & D räknat ihop och XXX innehåller värdet som ska styras med. Man kan behöva kolla att "Sum" och "XXX" inte över- eller understiger vissa gränser.
Allt detta ovanstående ska göras med regelbundna mellanrum (i tid alltså).
Snabba ändringar kompenseras av P-faktorn, precis som man slutar trampa hårt ner för backe på cykel, det sker direkt.
I-delen är den tröga del, är det en lång backe upp och man ska hålla hastigheten får man allt trampa hårdare men det ska liksom "samlas upp" att göra det.
D-delen har mest med att hejda allt för snabbar ändringar, om man står på is hjälper det inte att gasa som en idiot. Där kommer D in, om hjulet stod still förra gång och det varvar som fan nu är det för mycket varför D-delen reglerar utsignalen ner.
Jag har förstådd att man kan räkna på vilka värden som är bäst till P-, I- och D-faktorer, jag har inte gjort det men håller mig till att utgångspunkten är att P = 10 * I. D-faktorn beror på regleringstiden och reaktionstiden.
I mitt fall styr detta en pelletsbrännare, den reglerar var 1,5 minut och har en P-faktor på 1000, I på 1 och D på 0 då systemet är så trögt att den inte har någon funktion. Värden på P-faktorn är mycket hög då temperaturen bara mäts i hela grader.
EDIT: Man får tänka igenom det hela lite, man kan behöva vända på vissa delar för att få rätt funktion. När allt är stabilt kommer hela utsignalen att komma av "Sum" då "Är" och "Bör" ju kommer att vara lika.
Först och främst har man ett Bör-värde, det kan vara en temperatur, hastighet, spänning eller vad som helst, här kallar jag den "Bör". Det är alltså ett numerisk värde.
Likaså har man ett Är-värde som beskriver hur läget är just nu, här kallas den "Är".
"Felet" är "Bör" - "Är", alltså hur mycket verkligheten skiljer mot vad det ska vara. Det behövs förtecken i detta (alltså '+' & '-').
Nåväl, man har en variabel man använder till mellanräkning, här kallar jag den "XXX" då det är enkelt att skriva. När allt är räknar klart är "XXX" den som ska skickas ut som styrvärde.
XXX = Felet * P-faktor, där är P-regleringen gjort.
Sedan ska man räkna I. Till det behöver man en variabel som man kan integrera värdet i, den ska alltså sparas och hålla kvar värdet från gång till gång man reglerar. Här kallar jag den "Sum".
Sum = Sum + (Felet * I-faktor), då har man räknat I-delen.
XXX = XXX + Sum, sådär, nu är P & I räknat ihop.
Sedan var det D-delen... Till den behöver man att ha sparat vad "Är" var förra gång man reglerade, här kallar vi det värde för "Förut".
XXX = XXX + ((Förut - Är) * P-faktor)
Förut = Är (spara värdet nu till nästa gång)
Sådär, nu är P, I & D räknat ihop och XXX innehåller värdet som ska styras med. Man kan behöva kolla att "Sum" och "XXX" inte över- eller understiger vissa gränser.
Allt detta ovanstående ska göras med regelbundna mellanrum (i tid alltså).
Snabba ändringar kompenseras av P-faktorn, precis som man slutar trampa hårt ner för backe på cykel, det sker direkt.
I-delen är den tröga del, är det en lång backe upp och man ska hålla hastigheten får man allt trampa hårdare men det ska liksom "samlas upp" att göra det.
D-delen har mest med att hejda allt för snabbar ändringar, om man står på is hjälper det inte att gasa som en idiot. Där kommer D in, om hjulet stod still förra gång och det varvar som fan nu är det för mycket varför D-delen reglerar utsignalen ner.
Jag har förstådd att man kan räkna på vilka värden som är bäst till P-, I- och D-faktorer, jag har inte gjort det men håller mig till att utgångspunkten är att P = 10 * I. D-faktorn beror på regleringstiden och reaktionstiden.
I mitt fall styr detta en pelletsbrännare, den reglerar var 1,5 minut och har en P-faktor på 1000, I på 1 och D på 0 då systemet är så trögt att den inte har någon funktion. Värden på P-faktorn är mycket hög då temperaturen bara mäts i hela grader.
EDIT: Man får tänka igenom det hela lite, man kan behöva vända på vissa delar för att få rätt funktion. När allt är stabilt kommer hela utsignalen att komma av "Sum" då "Är" och "Bör" ju kommer att vara lika.
Senast redigerad av Icecap 1 november 2009, 20:16:14, redigerad totalt 1 gång.
Re: PID reglering
*ger Icecap forumets belöningsbanan*
Inte en enda negativ kommentar där inte
Inte en enda negativ kommentar där inte

Re: PID reglering
Det finns flera fel i Icecap's beskrivning.
Finns ingen anledning att böra en följetång om det här,
det finns som sagt utmärkt litteratur i ämnet.
Finns ingen anledning att böra en följetång om det här,
det finns som sagt utmärkt litteratur i ämnet.
Re: PID reglering
Det finns utmärkt litteratur i alla ämnen, men man önskar inte alltid doktorera i allt man funderar över.
Re: PID reglering
Sodjan: Stene vill uppenbarligen skapa sig en uppfattning om ämnet. Jag är övertygad om att många andra forumedlemmar också är mycket intresserade av detta och Icecap gjorde ett väldigt ambitiöst försök. Kan du ge exempel på vad som är fel i beskrivningen istället för att säga att det inte är en lämplig diskussion i detta forum ?
Re: PID reglering
> Snabba ändringar kompenseras av P-faktorn,
P-delen är varken snabb eller långsam, om det är något så är den momentan.
Det är enbart en rent proportionell reglering som beror på det aktuella felet
(skillnaden mellan "bör" och "är" värdet). Se D-delen nedan för snabba ändringar...
> I-delen är den tröga del...
Även här är "trög" inte ett helt bra begrepp att blanda in, men det är inte helt fel.
I-delen har till funktion att "finjustera" så att det inte ligger kvar ett
konstant mindre fel (t.ex p.g.a belastningen på bör värdet). Utan I-del så
kommer det att finnas en konstant avvikelse som är lika stor som den
"belastning" som ligger på är-värdet. T.ex värmeavledning, om det gäller en
uppvärmnings-reglering. Med en I-del så kommer denna lilla avvikelse att
summeras över tiden och hjälpa till att nå börvärdet.
> D-delen har mest med att hejda allt för snabbar ändringar...
D.v.s av utsignalen, om jag tolkar resten av meningen korrekt (?).
I så fall är precis tvärtom !
D-delen har till uppgift att just fånga upp snabba ändringar i avvikelsen och *snabbt*
justera utsignalen. D.v.s att på sätt och viss "överreagera" innan P (och senare I)
delarna hinner reagera. Alltså att just *lägga till* snabba ändringar, inte hejda.
Jag vidhåller att det är bättre att leta efter en genomtänkt introduktion i ämnet.
P-delen är varken snabb eller långsam, om det är något så är den momentan.
Det är enbart en rent proportionell reglering som beror på det aktuella felet
(skillnaden mellan "bör" och "är" värdet). Se D-delen nedan för snabba ändringar...
> I-delen är den tröga del...
Även här är "trög" inte ett helt bra begrepp att blanda in, men det är inte helt fel.
I-delen har till funktion att "finjustera" så att det inte ligger kvar ett
konstant mindre fel (t.ex p.g.a belastningen på bör värdet). Utan I-del så
kommer det att finnas en konstant avvikelse som är lika stor som den
"belastning" som ligger på är-värdet. T.ex värmeavledning, om det gäller en
uppvärmnings-reglering. Med en I-del så kommer denna lilla avvikelse att
summeras över tiden och hjälpa till att nå börvärdet.
> D-delen har mest med att hejda allt för snabbar ändringar...
D.v.s av utsignalen, om jag tolkar resten av meningen korrekt (?).
I så fall är precis tvärtom !
D-delen har till uppgift att just fånga upp snabba ändringar i avvikelsen och *snabbt*
justera utsignalen. D.v.s att på sätt och viss "överreagera" innan P (och senare I)
delarna hinner reagera. Alltså att just *lägga till* snabba ändringar, inte hejda.
Jag vidhåller att det är bättre att leta efter en genomtänkt introduktion i ämnet.
Re: PID reglering
Trodde det var det forumet var till för...
(visst kan man leta fakta annanstans för att vara säker men då kan man ju lägga ner forumet helt)
(visst kan man leta fakta annanstans för att vara säker men då kan man ju lägga ner forumet helt)
Re: PID reglering
Derivata är enkelt att förstå.
Det är hur mycket en kurva lutar i en viss punkt.
Tex på toppen av en sinus så lutar det ingenting.
Om du placerar ett vattenpass på toppen av en sinus så ligger
bubblan mellan strecken.
Det är hur mycket en kurva lutar i en viss punkt.
Tex på toppen av en sinus så lutar det ingenting.
Om du placerar ett vattenpass på toppen av en sinus så ligger
bubblan mellan strecken.
Re: PID reglering
Citat från "Modern reglerteknik", Bertil Thomas:
Integrerande verkan används för att eliminera kvarstående fel vid störningar och börvärdesändringar.
Deriverande verkan används för att förbättra stabiliteten och/eller snabbheten. Deriverande verkan används aldrig ensam.
Kan förövrigt rekommendera den boken. Den går igenom det man behöver kunna inom reglerteknik och är på svenska.
Integrerande verkan används för att eliminera kvarstående fel vid störningar och börvärdesändringar.
Deriverande verkan används för att förbättra stabiliteten och/eller snabbheten. Deriverande verkan används aldrig ensam.
Kan förövrigt rekommendera den boken. Den går igenom det man behöver kunna inom reglerteknik och är på svenska.
