← Back to CoursesStemExpert
StemExpert
Expert · Oplossingen · 39. PID-regeling
StemExpert · Brecht Corbeel · schoolium.me
StemExpert
E39. PID-regeling — oplossingen
EExpert · deel E8 · Regeltechniek

Oplossingen · hoofdstuk 39PID-regeling

Drie getallen die van een verwarming, een drone of een insulinepomp een regelaar maken

Uitgewerkte oplossingen bij de 11 opdrachten van het werkboek. Voor de leerkracht, en voor wie zichzelf wil verbeteren nadat hij het eerst zelf probeerde.

3× oefenen4× toepassen4× uitdagen± 312 min
Regelen is meten, vergelijken en bijsturen, elke seconde opnieuw.
Regelen is meten, vergelijken en bijsturen, elke seconde opnieuw.
Voor de leerkrachtDeze pagina bevat de antwoorden. Druk het werkboek af zonder deze pagina.
Oefenen

Oefenen

één stap, direct toepassen
39.1

Welke actie doet wat?

Oefenen6Begrijpen10 min
Een regeling van een waterreservoir (niveau in cm, pomp als actuator) gedraagt zich telkens anders. Welke aanpassing past het best bij elke waarneming?
  1. a
    Het niveau blijft 4 cm onder het setpoint hangen, ook na een uur.
    • AKp verlagen
    • Been I-actie toevoegen
    • CKd verhogen
    • Dde bemonsteringstijd verlengen
    B: een blijvende afwijking wijst op zuivere P-regeling; de I-actie maakt de fout in rust nul.
  2. b
    Het niveau schiet telkens ver door en slingert lang na.
    • AKi verhogen
    • BKp verhogen
    • CKd verhogen of Ki verlagen
    • Dde D-actie op de fout zetten
    C: meer demping (Kd) of minder integrerende werking; Kp of Ki verhogen maakt het erger.
  3. c
    Bij elke wijziging van het setpoint krijgt de pomp een harde stoot.
    • AD op de meting nemen
    • BKi verlagen
    • CKp verhogen
    • Danti-windup toevoegen
    A: derivative kick door de sprong van e; D op de meting ziet de sprong van het setpoint niet.
  4. d
    Na een lange periode met de pomp op vol vermogen schiet het niveau ver door.
    • AKd verhogen
    • Banti-windup toevoegen
    • Ceen P-regelaar gebruiken
    • Dsneller bemonsteren
    B: integrator-windup tijdens de verzadiging.
39.2

De blijvende afwijking van een P-regelaar

Oefenen6Rekenen15 min
Een kleine kweekkast volgt met en . Een P-regelaar met moet van 0 naar brengen. Het verwarmingselement kan 0 tot 1000 W.
  1. a
    Bereken de lusversterking, de eindwaarde van en de blijvende afwijking.
    ; ; .
  2. b
    Bereken het eindvermogen en controleer het met het procesmodel.
    ; controle: .
  3. c
    Raakt het element zijn grens? Bereken de tijdconstante van de gesloten lus.
    Grootste vermogen bij de start: : geen verzadiging. .
39.3

Eén stap van een discrete PID

Oefenen6Rekenen12 min
Een discrete PID (, D op de meting) heeft , , (eenheden zoals in het handboek). Setpoint 20,0 °C. Vorige meting 18,2 °C, nieuwe meting 18,5 °C. De som van alle fouten tot en met de vorige stap is 214,0 °C.
  1. a
    Bereken de fout , de nieuwe som, en de drie termen apart.
    ; som . P: . I: . D: .
  2. b
    Welk vermogen stuurt de regelaar als de actuator 0 tot 2000 W kan?
    , binnen de grenzen, dus .
Toepassen

Toepassen

meerdere stappen, in een context
39.4

Waarom een P-regelaar sneller is

Toepassen7Rekenen20 min
Het station (, ) krijgt twee strategieën om 12 °C boven buiten te komen: (A) gewoon 600 W aanzetten; (B) een P-regelaar met en .
  1. a
    Toon aan dat beide strategieën op dezelfde eindtemperatuur uitkomen.
    A: . B: , dus en .
  2. b
    Leid voor B de gesloten-lusvergelijking af en bereken de tijdconstante. Hoeveel keer sneller is B dan A?
    , dus (36 minuten): vijf keer sneller dan de 3 uur van A.
  3. c
    Strategie B begint met een vermogen boven 2000 W. Wat betekent dat voor je antwoord op b?
    , maar de verwarming levert maximaal 2000 W. In het begin loopt B dus trager dan het lineaire model belooft; de factor 5 geldt pas als onder 2000 W zakt (bij ).
39.5

Anti-windup inbouwen

Toepassen7Programmeren25 min
Een leerling schreef deze PI-regelaar in Python. De verwarming kan 0 tot 1500 W.
def pi_stap(r, y, toestand, Kp=300, Ki=1.2, dt=1.0):
    e = r - y
    toestand["som"] += e * dt
    u = Kp * e + Ki * toestand["som"]
    return min(max(u, 0), 1500)
  1. a
    Leg uit wat er met toestand["som"] gebeurt als de verwarming een halfuur op 1500 W staat.
    De som blijft groeien zolang de fout positief is, ook al levert de verwarming niet meer. Na het setpoint moet die opgestapelde som eerst 'afgebouwd' worden: groot doorschot.
  2. b
    Herschrijf de functie met anti-windup (niet integreren als de uitgang verzadigd is en de fout de verzadiging vergroot).
    def pi_stap(r, y, toestand, Kp=300, Ki=1.2, dt=1.0):
        e = r - y
        u_vrij = Kp * e + Ki * toestand["som"]
        u = min(max(u_vrij, 0), 1500)
        if not (u != u_vrij and (u_vrij > 0) == (e > 0)):
            toestand["som"] += e * dt
        return u
  3. c
    Bedenk een tweede manier van anti-windup en beschrijf ze in één zin.
    Bijvoorbeeld: de som begrenzen zodat Ki·som nooit meer dan 1500 W kan geven (clamping), of terugrekenen: som bijsturen met het verschil tussen u en u_vrij (back-calculation).
39.6

Een staprespons aflezen

Toepassen7Analyseren20 min
Lees de grafiek zo nauwkeurig mogelijk af.
0,00,51,01,52,02,53,03,54,04,55,05,56,06,57,07,58,08,59,00123456789101112131415161718t (h)y (°C)setpoint 15 °Cgemeten staprespons
Gemeten staprespons van een PI-regeling (setpoint van 0 naar 15 °C boven buiten).
  1. a
    Bepaal de stijgtijd (10 % tot 90 %).
    10 % (1,5 °C) na ongeveer 7,0 min, 90 % (13,5 °C) na ongeveer 74,2 min: stijgtijd ≈ 67,2 min (aflezen: ±0,5 min is goed).
  2. b
    Bepaal de piekwaarde, de piektijd en het doorschot in procent.
    Piek ≈ 17,3 °C na ≈ 111,8 min; doorschot ≈ 16 %.
  3. c
    Bepaal de insteltijd voor een band van ±2 %.
    Binnen 14,7 tot 15,3 °C vanaf ≈ 334 min.
  4. d
    Deze regeling had doorschot, terwijl het proces van eerste orde is. Geef een mogelijke oorzaak.
    De I-actie voegt een orde toe, zodat een PI-lus van een eerstegraadsproces al kan doorschieten; hier komt nog een trage sensor bij (de regelaar ziet de temperatuur te laat). Ook verzadiging met een beetje windup kan meespelen.
39.7

Ziegler-Nichols voor de waterpomp

Toepassen7Rekenen15 min
De druk in de waterleiding van het station wordt geregeld met een pomp (sturing in %). Met alleen P-actie begint de druk blijvend te slingeren bij ; de periode van de slingering is .
  1. a
    Bereken de instellingen voor een PI-regelaar (, , ).
    ; ; .
  2. b
    Bereken de instellingen voor een PID-regelaar (, , , , ), met eenheden.
    ; ; ; ; .
  3. c
    Welke bemonsteringstijd kies je hoogstens voor deze lus? Motiveer met .
    Een vuistregel is minstens tien samples per slingerperiode, liefst meer: , bv. 0,1 tot 0,5 s. Bij in de buurt van wordt de D-actie zinloos.
Uitdagen

Uitdagen

transfer, open problemen, leerlijnen combineren
39.8

Simulatie-onderzoek: de beste PI voor het station

Uitdagen8Onderzoeken60 min
Gebruik de simulatiecode uit het handboek (met anti-windup). Eisen voor een stap van 0 naar 15 °C: doorschot hoogstens 5 %, insteltijd (±2 %) hoogstens 3 uur, en bij een storing van 300 W (vanaf uur 6 blijft er een deur op een kier) mag de temperatuur hoogstens 0,5 °C zakken.
  1. a
    Breid de simulatie uit met de storing (in W, zelfde teken als in het procesmodel) en met een functie die doorschot, insteltijd en grootste daling berekent.
    Bv. d = 300 als t ≥ 21 600 anders 0, en y += dt*(-y + K*(u - d))/TAU; kenmerken zoals in het handboek (piek, insteltijd vóór uur 6) plus 15 − min(y) na uur 6.
  2. b
    Zoek systematisch (een rooster van Kp- en Ki-waarden) naar instellingen die aan alle eisen voldoen. Noteer je beste drie.
    Zo'n rooster (met anti-windup) geeft oplossingen rond Kp ≈ 400 tot 800 W/°C met Ki ≈ 0,11 tot 0,25 W/(°C·s), bv. Kp = 500, Ki = 0,14: doorschot 0,1 %, insteltijd 1,9 h, daling 0,40 °C. Met Kp = 200 of 300 zakt de temperatuur 0,6 à 0,8 °C: te veel. Controleer je eigen getallen met je code.
  3. c
    Welke eis is het moeilijkst, en waarom botst ze met een andere? Verklaar met de werking van P en I.
    De storingseis vraagt een grote Kp (sneller extra vermogen) en een voldoende grote Ki (snel herstel), de doorschoteis bij de stap vraagt net een kleinere Ki. Omdat de verwarming bij de stap verzadigt, helpt anti-windup: dan kan Ki groter zonder veel doorschot. Een alternatief is setpoint-weighting of een trager opgebouwd setpoint (ramp).
Zo wordt dit beoordeeld
CodeStoring correct ingebouwd, kenmerken automatisch berekend, anti-windup behouden.
ZoektochtSystematisch rooster, resultaten in een tabel, eisen expliciet getoetst.
VerklaringAfweging tussen doorschot bij de stap en herstel na de storing correct uitgelegd.
39.9

Bewijs: PI maakt ook een storing ongedaan

Uitdagen8Analyseren25 min
Het station staat stabiel op het setpoint. Op gaat er een deur open: vanaf dan geldt met een constante .
  1. a
    Toon aan dat een P-regelaar een blijvende extra fout overhoudt en bereken die in functie van , en .
    In rust: , dus . De extra fout door de storing is (in °C als uitgedrukt is als maal een vermogen; hier heeft de eenheid °C).
  2. b
    Toon aan dat bij een PI-regelaar, als de lus weer tot rust komt, de fout nul is. Leg ook uit waar het extra vermogen vandaan komt.
    In rust is constant, dus is constant, dus . Het extra vermogen wordt geleverd door de I-term: die is tijdens de dip gegroeid tot precies het vermogen dat nodig is.
39.10

Habitat: de temperatuurregeling van het station ontwerpen

Uitdagen9Habitat90 min
Het brein van het station moet de binnentemperatuur op 20 °C houden (±0,5 °C in normaal bedrijf) met een verwarming van 2 kW (SSR, tijdproportioneel), een sensor met ruis van ongeveer ±0,1 °C en een tijdconstante van 60 s. Het station staat in ons klimaat: de ontwerptemperatuur voor Ukkel is −8 °C, bij een uitzonderlijke koudegolf zakt het tot −15 °C. Het station verliest 50 W per °C verschil met buiten (dus in het model, zoals in het handboek).
  1. a
    Controleer of 2 kW volstaat bij −8 °C en bij −15 °C. Welke reserve blijft er telkens?
    Bij −8 °C: verschil 28 °C, verlies : 600 W (30 %) reserve om op te warmen en storingen op te vangen. Bij −15 °C: verschil 35 °C, verlies 1750 W: nog 250 W (12,5 %) reserve. Dat volstaat om de temperatuur te houden, maar na een koude nacht duurt het opwarmen lang. Een warmtepomp (hoofdstuk 16) of het buffervat van de module (i18) geeft meer marge.
  2. b
    Teken het volledige blokschema: regelaar, SSR, verwarming, station, sensor, filter, en de buitentemperatuur als storing.
    Setpoint 20 °C → Σ → PI(D) → begrenzing 0-2000 W → SSR (venster) → verwarming → station (τ, K) ← buitentemperatuur als storing; sensor (60 s) → filter → terug naar Σ.
  3. c
    Kies en motiveer: P, PI of PID; de bemonsteringstijd; het venster van het SSR; een filter op de meting; de anti-windup.
    PI: de ruis (±0,1 °C) en de sensorvertraging maken een D-actie weinig zinvol. Bemonstering 1 à 5 s (klein tegenover 60 s en 3 uur). SSR-venster 5 à 20 s. Een eerste-orde filter met een tijdconstante van enkele seconden. Anti-windup verplicht: de verwarming verzadigt bij strenge kou (zie a).
  4. d
    Wat doet je regeling als de sensor uitvalt of een onmogelijke waarde geeft (bv. −40 °C of +85 °C)? Beschrijf een veilige toestand.
    Waarden buiten een fysisch mogelijk bereik of sprongen groter dan wat het station in één sample kan doen, gelden als sensorfout. Dan: overschakelen op een tweede sensor, of naar een vaste veilige stand (bv. 50 % vermogen, berekend uit de laatste buitentemperatuur), alarm geven, en nooit 0 % of 100 % onbeperkt laten staan.
Zo wordt dit beoordeeld
DimensioneringWarmteverlies bij −8 en −15 °C correct berekend, reserve benoemd en beoordeeld.
BlokschemaAlle blokken en signalen met symbool en eenheid; storing en filter op de juiste plaats.
KeuzesElke keuze gemotiveerd met een getal of een argument uit dit hoofdstuk (ruis, tijdconstanten, verzadiging).
VeiligheidSensorfout gedetecteerd (bereik, sprong) en een fail-safe toestand die het station niet laat bevriezen of oververhitten.
39.11

Aan/uit of PID?

Uitdagen7Argumenteren20 min
Een collega vindt PID overdreven voor de verwarming: 'Een thermostaat met hysterese van ±0,5 °C doet het ook, is eenvoudiger, en een SSR dat telkens schakelt slijt toch niet.'
  1. a
    Geef twee sterke argumenten vóór de aan/uit-regeling en twee vóór PI, telkens met een getal of voorbeeld.
    Aan/uit: geen afstelling nodig, robuust bij sensorruis dankzij de hysterese, en goed genoeg als ±0,5 °C volstaat en het proces traag is (τ = 3 uur: de schommeling blijft klein). PI: geen blijvende schommeling, nauwkeuriger (±0,1 °C haalbaar), zachter voor de installatie, en tijdproportioneel met een SSR even eenvoudig in hardware.
  2. b
    Voor welk onderdeel van het station zou je zelf aan/uit kiezen, en voor welk PID? Motiveer.
    Bv. aan/uit voor een pomp die een tank vult tussen twee niveaus of voor een ventilator bij hoge luchtvochtigheid (de exacte waarde doet er niet toe); PI voor de binnentemperatuur en de waterdruk, waar een constante waarde en weinig schakelen belangrijk zijn.