Handboek · hoofdstuk 38Dynamische systemen modelleren
Toestanden en tijdschalen verklaren waarom een station nog beweegt nadat de knop omgaat
Een vermogeninstelling werkt niet onmiddellijk door in temperatuur. De snelle lucht, trage buffer en sensor hebben elk geheugen. Je leidt eerste- en tweedeordemodellen af, leest hun staprespons en onderzoekt welke parameters een proef werkelijk kan bepalen.

- Je kan een warmtebalans naar een eersteordemodel en staprespons omzetten.
- Je kan tweedeorde-respons, demping en doorschot kwantitatief beschrijven.
- Je kan blokken verbinden en een overdrachtsfunctie met haar voorwaarden lezen.
- Je kan toestanden, polen en stabiliteit van het tweeknoopsmodel bepalen.
- Je kan een identificatieproef ontwerpen en een te eenvoudig model herkennen.
Een dynamisch systeem bewaart het verleden
Een weerstand zet een spanning direct om in stroom volgens , zolang opwarming buiten het model blijft. Een condensator bewaart lading en een buffervat bewaart warmte: hun huidige toestand hangt van eerdere invoer af. Een dynamisch model beschrijft hoe die toestand verandert. Bij een station is niet alleen de huidige luchttemperatuur genoeg: een koude vloer veroorzaakt straks extra warmtevraag.
Kies systeemgrens, input, output en toestanden expliciet. Input kan vermogen zijn, output luchttemperatuur, toestand lucht- en buffertemperatuur. Storingen zoals buitenweer horen als aparte input. Een model met dezelfde vergelijking maar andere systeemgrens kan niet zomaar naast het eerste worden opgeteld: het éénknoopsmodel van e39 en het modulemodel van e17 zijn twee vereenvoudigingen van beschreven grenzen.
| element | input | opgeslagen toestand |
|---|---|---|
| RC-kring | stroom of spanning | condensatorspanning |
| warmtemodule | vermogen, buitenweer | lucht en buffer |
| mechanisch systeem | kracht | positie en snelheid |
Eerste orde uit de warmtebalans
Voor één knoop geldt . Kies en houd buiten constant. Dan met en . C heeft eenheid J/K, H W/K, dus τ is seconde en K K/W. Bij inputstap ΔP en start in het oorspronkelijke evenwicht:
Na τ is 63,2% van de totale verandering bereikt; na 3τ 95,0%; na 5τ 99,3%. Tijdconstante is geen wachttijd waarna de reactie begint. De beginhelling is ΔP/C. Een grotere C verlaagt de beginhelling; een grotere H verlaagt vooral de uiteindelijke stijging en verkort τ.
Een stationsstap lezen
- C=540 kJ/K, H=50 W/K
- Eindstijging, beginhelling, t90 en 2%-insteltijd
- 1K=0,020 K/W;Δy∞=15 K;τ=540000/50=10800 s=3 h.
- 2Beginhelling 750/540000=0,00138889 K/s=5 K/h.
- 3geeft .
- 4Voor 2% restfout: .
Sensorvertraging en dode tijd verschillen
Een sensor met tijdconstante 60 s is een dynamische eersteordeblok: hij reageert direct maar vertraagd. Een pure dode tijd L geeft vóór L helemaal geen nieuwe uitvoer. Een lang transportkanaal kan beide effecten hebben. Een proces met sensorvertraging kan een vroege warmtecapaciteit te groot doen lijken.
Bij twee achtereenvolgende eersteordeblokken ontstaat een tweedeordemodel. De respons begint vlakker dan bij één knoop. Een vertraging op de uitgang is niet hetzelfde als een lagere procesversterking: de evenwichtsuitvoer kan gelijk blijven. Kalibratie en plaatsing horen daarom bij identificatie. De sensorkast 60 s blijft een aparte toestand of bekende meetketen; zij is geen extra warmtebuffer voor het hele station.
| effect | directe reactie | evenwichtsversterking |
|---|---|---|
| capaciteit | ja, geleidelijk | ongewijzigd bij zelfde H |
| dode tijd | pas na L | ongewijzigd |
| extra verlies | ja | kleiner |
Tweede orde: twee toestanden
Een massa-veer-demper voldoet aan . Deel door m: , met en . Twee beginvoorwaarden zijn nodig: positie en snelheid.
De standaard overdracht met versterking K is . Bij 0<ζ<1 is de respons ondergedempt; bij ζ=1 kritisch gedempt; bij ζ>1 overgedempt. Een thermisch passief tweeknoopsysteem heeft doorgaans twee reële vervalmodes en hoeft niet te oscilleren. Een regelaar kan wel complexe gesloten-luspolen veroorzaken. ‘Tweede orde’ betekent dus niet automatisch slingeren.
Doorschot uit demping
- stapuitvoer uiteindelijk 1
- Relatief doorschot, piektijd en benaderde 2%-insteltijd
- 1, dus 25,38%.
- 2.
- 3De gebruikelijke benadering geldt als ordeschatting voor voldoende gedempte ondergedempte respons; toets de werkelijke 2%-band in de simulatie.
Blokdiagrammen rekenen met dezelfde signalen
Een serieverbinding heeft ; parallel optellen geeft , mits inputs en outputs dezelfde betekenis hebben. Bij negatieve terugkoppeling geldt ; daaruit . Het teken in de somknoop is een fysische keuze, geen decoratie.
Een blokschema toont signaalstromen, geen volledige energiestromen. De regelaaruitgang W gaat naar de actuator; een temperatuursensor levert°C. Het product van blokken moet dimensioneel kloppen. Verzadiging, pompschakelen en hysterese zijn niet-lineair: een eenvoudige overdrachtsfunctie beschrijft ze alleen lokaal of buiten de begrenzing. De Bode-analyse geldt dus niet onverkort tijdens volle 2 kW noodverwarming.
Overdrachtsfunctie zonder toverwoord
In de Laplacetransformatie wordt afleiden bij nul beginvoorwaarden vermenigvuldigen met s. Zo wordt algebraïsch . Daarom . De pool bepaalt het verval. De nulfrequentieversterking bepaalt het evenwicht.
Een pool met negatief reëel deel sterft uit; positief reëel deel groeit; op de imaginaire as kunnen ongedempte modes blijven bestaan. Dit criterium betreft het continue lineaire model. Een numerieke integrator kan toch divergeren, zoals e36 toont. Niet-nul beginvoorwaarden leveren een extra term: de overdracht alleen beschrijft de vrije respons door opgeslagen beginenergie niet.
Polen en twee warmteknopen berekenen
De matrixexponentiële expm geeft hier een onafhankelijke exacte lineaire referentie voor de RK4-code van e36/e17. Beide knopen zijn moduletoestanden; de snelle stationsknoop wordt er niet bij opgeteld. De tweedeorderoutine gebruikt analytische responsen voor drie dempingen.
import numpy as npfrom scipy.linalg import expm C_a,C_b,H,G = 80000.0,1100000.0,20.2,30.0A=np.array([[-(H+G)/C_a,G/C_a],[G/C_b,-G/C_b]])B=np.array([1/C_a,0.0])evenwicht=np.linalg.solve(-A,B*600)+4t=np.linspace(0,24*3600,145)temp=np.array([evenwicht+expm(A*s)@(np.array([12.,12.])-evenwicht) for s in t])polen=np.linalg.eigvals(A)print("tijdschalen h",sorted(-1/polen/3600))print("na24h",*(f"{v:.6f}" for v in temp[-1]))print("evenwicht",evenwicht) def stap2(t,zeta,wn=1.0): t=np.asarray(t) if zeta<1: wd=wn*np.sqrt(1-zeta*zeta) return 1-np.exp(-zeta*wn*t)*(np.cos(wd*t)+zeta*wn/wd*np.sin(wd*t)) if zeta==1: return 1-(1+wn*t)*np.exp(-wn*t) p1=-wn*(zeta-np.sqrt(zeta*zeta-1)) p2=-wn*(zeta+np.sqrt(zeta*zeta-1)) return 1+(p2*np.exp(p1*t)-p1*np.exp(p2*t))/(p1-p2) zeta=0.4mp=np.exp(-np.pi*zeta/np.sqrt(1-zeta*zeta))tp=np.pi/np.sqrt(1-zeta*zeta)print("zeta0.4 overshootpct",100*mp,"piekbij",tp)assert abs(temp[-1,0]-28.375973)<1e-6# Identificatie zonder ruis: bekende15K-evenwichtsverhoging.ti=np.array([1,2,3,4,5])*3600yi=15*(1-np.exp(-ti/10800))helling=np.polyfit(ti,np.log(1-yi/15),1)[0]print("geidentificeerde tau",-1/helling,"s")tijdschalen h [np.float64(0.43127773520059204), np.float64(25.98053011225082)] na24h 28.375973 24.941009 evenwicht [33.7029703 33.7029703] zeta0.4 overshootpct 25.38267219801087 piekbij 3.4277586042362875 geidentificeerde tau 10799.999999999996 s
De tweeknoops-overdracht afleiden
Voor afwijkingen ten opzichte van constant buiten is en . Transformeer en elimineer :. Vermenigvuldigen levert:
Bij s=0 is de versterking 1/H. De nul op −G/Cb beïnvloedt de zichtbaarheid van de trage mode, maar maakt de buffer niet overbodig. De matrixpolen geven tijdschalen 0,4313 h en 25,9805 h. De snelle mode bepaalt de vroege luchtrespons; de trage mode beheerst langetermijnopslag. Na 24 h in de rekenproef is de lucht 28,375973 °C en de buffer 24,941009 °C; uiteindelijk gaan beide naar 33,702970 °C.
Een éénknoopfit uit een stap
- start in evenwicht
- sensorvertraging apart bepaald
- H,τ en C schatten
- 1H=ΔP/Δy∞=750/15=50 W/K.
- 2; dus τ≈3 h=10800 s.
- 3C=Hτ=540 kJ/K. Controleer de hele respons; niet enkel één 63,2%-punt.
Identificatie heeft een proefontwerp nodig
Een stap moet groot genoeg zijn tegenover ruis en klein genoeg om geen grenzen, ventilatieschakeling of veranderlijke COP te activeren. Leg het werkelijk afgegeven warmtevermogen vast: een elektrisch warmtepompverbruik is geen constant thermisch P. Meet buiten, buffertemperatuur en relevante verstoringen. Kies een lang genoeg experiment om de langzaamste mode te zien.
Een dode-tijd/τ-fit op het eerste stijgende deel kan handig zijn voor afregelen, maar geeft geen fysische unieke warmtecapaciteit. De modelorde hoort bij het doel. Voor snelle regeling kan een eenvoudiger lokaal model bruikbaar zijn; voor nachtelijke energieplanning is de trage buffer essentieel. Reserveer een andere inputproef voor validatie en rapporteer de band waarin de voorspelling voldoet.
| doel | relevante tijd | bewijs |
|---|---|---|
| lokale PID | seconden tot uren | sensorvertraging, actuatorgrens |
| nachtplanning | uren tot dagen | bufferstaat en buitenweer |
| jaarbalans | seizoenen | bronnen, verliezen, gemiddeld klimaat |
Een gebouw reageert met meerdere herinneringen
In de e17-rekenproef warmt lucht snel op, terwijl de buffer een dag later nog achterloopt. Dat is de ontwerples voor een technisch operator: een fijne luchttemperatuurgrafiek aan het einde van de middag bewijst geen opgeladen warmtebuffer voor de nacht. Een model dat alleen de kamer ziet kan energie te vroeg wegplannen.
De berekende warmteproef is hier een fictief stationsscenario met exacte balans, geen gemeten gebouwrapport. Een echte proef vergelijkt beide sensorsignalen en de warmte-input. Juist het verschil tussen snelle bediening en trage opslag maakt een tweeling nuttig: zij bewaart toestanden die een dashboard met losse laatste waarden niet laat zien.
Stapresponsen in één naslag
| symbool | betekenis | eenheid |
|---|---|---|
| fractie doorschot | — | |
| dempingsverhouding | — |
| symbool | betekenis | eenheid |
|---|---|---|
| ongedempte hoekfrequentie | rad/s |
| model | kenmerk | beperking |
|---|---|---|
| eerste orde | τ, statische K | één zichtbare opslagmode |
| tweede orde ondergedempt | ζ,ωn, piek | geen grote saturatie |
| passief twee warmteknopen | twee reële polen | parameters bij bekende grens |
Van dynamiek naar regeling
De regelwet verandert de gesloten-lusdynamiek. Goede afstelling begint daarom bij een model met duidelijke grens en bekende meetketen.
De modulebalans en vaste knopen.
Fitten en integreren met foutcontrole.
De PI-regelaar verandert de polen.
Meetkwaliteit en modelvoorspelling combineren.
De tweeling bewaart lucht en buffer als afzonderlijke toestanden. Het e39-éénknoopsmodel blijft expliciet een regelvereenvoudiging, geen extra kamer naast de module.
In het kort
- Toestand is opgeslagen informatie; een staprespons maakt tijdschalen zichtbaar.
- Een eersteordeproces bereikt 63,2% na τ en reageert zonder dode tijd.
- Tweedeorde kan monotoon of oscillerend zijn; polen en demping bepalen dit.
- Overdrachtsfuncties vragen lineariteit, tijdinvariantie en afgesproken beginvoorwaarden.
- Identificatie vraagt bekende input, geijkte meetketen en een onafhankelijke proef.
Wat je nu kent
- toestand
- Informatie die met de toekomstige invoer voldoende is om de toekomstige systeemuitvoer te bepalen.
- pool
- Een karakteristieke waarde die groei, verval of oscillatie van een lineair systeem bepaalt.
- statische versterking
- De verhouding tussen verandering van evenwichtsuitvoer en een constante inputverandering.
- doorschot
- De relatieve piek boven de uiteindelijke stapwaarde.
- overdrachtsfunctie
- De verhouding van getransformeerde uitgang en ingang van een lineair tijdinvariant systeem bij nul beginvoorwaarden.