Springen naar inhoud

Verwarring I-actie PID regelaar


  • Log in om te kunnen reageren

#1

Pieter-Jan5000

    Pieter-Jan5000


  • >25 berichten
  • 37 berichten
  • Gebruiker

Geplaatst op 15 augustus 2012 - 21:20

Ik zou graag mijn kennis van de PID-regelaar wat bijwerken voor gebruik in een zelfbouw project. Ik ben echter helemaal in de war geraakt na het proberen begrijpen van de I-actie.

Indien een simpel systeem wordt genomen dat er bijvoorbeeld als volgt uit ziet:

Geplaatste afbeelding

Hierin is de error of het stuursignaal: e = r - y.

Indien we de controller even wegdenken, en het systeem geen integrator bevat, kan de statische fout (fout op oneindig) nooit eindig & verschillend van nul zijn. Indien de error e namelijk 0 is, wordt het systeem niet meer aangestuurd. Hierdoor is er dus steeds een minimale statische fout die omgekeerd evenredig is met de totale versterking: e(statisch) = 1/K*y(statisch).

Geplaatste afbeelding

Om dit probleem op te lossen wordt er een integrator aan de schakeling toegevoegd: I-actie van de PID. Dit is waar ik niet meer kan volgen. De redenering is dat, gezien een integraal ook een waarde kan bevatten zonder ingangssignaal (geheugen - verleden), het systeem verder wordt aangestuurd tot de wenswaarde is bereikt. Nu vraag ik mij af: gezien de wenswaarde 0 is, blijft de waarde in de integrator constant. Gaat deze dan niet continu het systeem aansturen? Hoe wordt de waarde die in de I-actie zit ooit afgebroken? Wat bij een 2e storing van het systeem? Gaat de I dan niet veel meer doorschot veroorzaken?

Sorry voor mijn onbegrip, ik maak waarschijnlijk een heel zware redeneringsfout. Hopelijk kan iemand mij helpen. Bedankt!

Veranderd door Pieter-Jan5000, 15 augustus 2012 - 21:21


Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Xenion

    Xenion


  • >1k berichten
  • 2606 berichten
  • Moderator

Geplaatst op 31 augustus 2012 - 14:44

Het probleem dat je noemt heet volgens mij 'integral windup'.

De eenvoudigste oplossingen zijn om het tijdsinterval waarover de integraal berekend wordt te beperken of de integraal te begrenzen zodat die niet meer accumuleert vanaf een bepaalde waarde.

Mijn ervaring hiermee is eerder beperkt, maar in het project waar ik zelf een PID moest programmeren heb ik de 2de methode die ik vermeld gebruikt. Die was eenvoudiger te implementeren ;)

Sorry voor het late antwoord, maar ik had dit topic niet gezien.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures