Regelen in drie stappen

Deze rubriek schreef eerder dit jaar over de ’cruisecontrol voor de stroomtrein‘ oftewel de centrifugaalregelaar van James Watt (zie Mechatronica Magazine 3, 2008). Deze antieke verwording van het bekende servocontrolemechanisme bleek een gewichtige indruk te hebben nagelaten niet alleen op de ingenieursdisciplines, maar ook daarbuiten. Deze keer richten we ons op een wat modernere manifestatie van regeltechniek, de PID-regelaar.

Paul van Gerven
15 augustus 2008

Een zwembad op temperatuur houden. Een douche op een aangename temperatuur krijgen. De inkjetkop correct positioneren. Een motor op een gekozen snelheid brengen. Overdruk in een laboratorium handhaven. Het is maar een greep uit de vele zaken die met een PID-regelaar in goede banen zijn te leiden. Een gewenste procesparameter (temperatuur, positie, snelheid) bereiken, is daarbij natuurlijk het voornaamste doel, maar er zijn ook punten te behalen voor de manier waarop. Hoe snel bereikt de regelaar zijn opgegeven doel? Schiet hij zijn doel voorbij om daarna in tegengestelde richting te corrigeren? Bereikt hij zijn doel eigenlijk wel, of blijft het schommelen geblazen?

Het basisprincipe van een regelaar is bekend. Een procesvariabele wordt gemeten en vergeleken met de gewenste waarde. Deze fout dient als basis om de reactie van een regelaar te bepalen. De simpelste rekenkundige operatie daarvoor is het bepalen van het verschil door de ene waarde van de andere af te trekken. Maar het kan ook gesofisticeerder door gebruik te maken van complexere rekenfuncties als differentiëren en integreren. En het kan zelfs door een combinatie van die drie te gebruiken. Dat is de essentie van een PID-regelaar.

PID staat dan ook voor proportioneel, integrerend en differentiërend. De aard van de rekenfunctie geeft eigenlijk al weg welk doel het corresponderende element in de PID-regelaar dient. Het proportionele gedeelte bepaalt zijn reactie op het foutsignaal op basis van evenredigheid. Het integrerende kijkt verder terug in het verleden en neemt de som van de recente fouten als uitgangswaarde. Het differentiërende gedeelte kijkt naar de snelheid waarmee de fout zich aan het ontwikkelen is. Een soort gewogen gemiddelde van de drie PID-elementen bepaalt hoe het proces moet worden bijgestuurd.

De output O van de PID-controller op tijdstip t, en dus de aansturing van het proces, wordt weergegeven met de volgende formule:

waar F(t) de fout is. Elke term bevat zijn eigen constante K. Daarmee valt het relatieve gewicht van de termen af te regelen. Een grote Kp levert bijvoorbeeld een systeem op dat sneller op veranderingen reageert. Een grote Kp kiezen is echter niet zonder gevaar. Het ’overdrijft‘ de respons als het ware, tot op het punt waarop het hele systeem onstabiel wordt. Een te lage waarde heeft weer het risico in zich dat de respons van de controller niet afdoende is om het systeem op redelijke termijn bij te regelen.

De term I(t) is evenredig aan zowel de grootte van de fout als de duur ervan. Door de fouten in het (recente) verleden te sommeren, geeft I(t) eigenlijk weer wat de totale fout is die gecorrigeerd had moeten worden. De belangrijkste functie van I(t) is dat zij voorkomt dat het systeem nooit evenwicht bereikt. Dat is namelijk wat zou gebeuren als het alleen aankomt op de proportionele term. Aan de andere kant moet het verleden natuurlijk niet teveel meegewogen worden – dan overdrijft de regelaar zijn respons. In de praktijk is dat nauwelijks te voorkomen, overshoot heet dat.

Op deze pneumatische regelaar van Siemens zijn de proportionele, integrerende en differentiërende acties duidelijk te herkennen.

De snelheid waarin de fout zich ontwikkelt, is ten slotte ook zeer nuttige informatie. Het zegt immers of we dichter bij de gewenste waarde in de buurt aan het komen zijn. De belangrijkste functie van D(t) is om te compenseren voor de overshoot van I(t). Het nadeel is dan weer dat differentiëren de ruis versterkt. Wanneer er veel ruis is, zou de regelaar onstabiele output kunnen geven.

Ziegler-Nichols

In de praktijk is het de kunst om de verschillende constanten Kp, Ki en Kd op elkaar af te stemmen. De specifieke eisen van het systeem bepalen grotendeels hun onderlinge verhouding. Het is vanzelfsprekend ook mogelijk een of twee termen als nul te kiezen en de hele term weg te laten. Dan krijg je een P-, PI- of PD-regelaar, of welke combinatie dan ook.

De karakteristieken van een PID-regelaar zijn hoe snel hij reageert op een afwijking tussen gemeten en gewenste waarde, hoe snel hij corrigeert naar de gewenste waarden en hoe ver hij aanvankelijk doorschiet. Deze variabelen kunnen worden afgeregeld door de onderlinge verhouding van Kp, Ki en Kd te kiezen.

Vaak is er echter ruimte voor alle drie te paramaters. Voor een geavanceerde koelkast voor celkweken is het onacceptabel dat de temperatuur sterk doorschiet boven zijn gewenste waarde. Het kwetsbare biologische materiaal zou daar wel eens schade door kunnen oplopen. In een machine zou doorschieten een onveilige situatie kunnen opleveren. In de precisietechnologie is het soms belangrijk dat evenwicht snel bereikt wordt.

Een ervaren technicus zal een PID-regelaar op instinct en ervaring ’met de hand‘ kunnen afregelen. Voor complexere systemen zijn er alternatieven, zoals algoritmen om tot een fatsoenlijke afstelling te komen. Er is ook steeds meer software beschikbaar om deze taak over te nemen. Het recept ontwikkeld door John Ziegler en Nathaniel Nichols is waarschijnlijk het bekendste. Zij schrijven voor eerst I(t) en D(t) op nul te zetten en P(t) net zo lang op te voeren totdat deze begint te oscilleren rondom de gewenste waarde. Deze kritische waarde van P(t) en de periode van de oscillatie dienen dan om de optimale waarden van op te zoeken in een tabel.