Springen naar inhoud

overshoot derde orde regelsysteem


  • Log in om te kunnen reageren

#1

lorddanny

    lorddanny


  • 0 - 25 berichten
  • 7 berichten
  • Gebruiker

Geplaatst op 26 oktober 2012 - 11:40

Hallo allemaal,

Ik loop vast bij het berekenen van de overshoot van een derde orde systeem.

De formule van dit derde orde systeem is: Hp(s) = 448/ ((s+2)(s+8)(s+20)

Bij een phase margin van 45 graden of groter en een gain margin van 2 of groter kom ik voor dit systeem op een K uit van : 3.7

De vraag is nu om te zien of dit systeem meer of minder dan 20% overshoot heeft ( met bovengenoemde waarden voor PM en GM)

Ik heb zelf weinig/geen informatie kunnen vinden over hoe ik dit moet doen. Ik denk dat ik de relative demping (beta of zeta) of de absolute demping (lapda) moet weten om de overshoot te kunnen bepalen. Weet iemand hoe ik beta of lapda uit de bovenstaande gegevens kan berekenen?

Alvast bedankt

Veranderd door lorddanny, 26 oktober 2012 - 11:41


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

#2

Arie Bombarie

    Arie Bombarie


  • >250 berichten
  • 682 berichten
  • Ervaren gebruiker

Geplaatst op 26 oktober 2012 - 13:42

Bedoel je dat je de overshoot (op een step response?) moet berekenen van het systeem dat je verkrijgt wanneer je K*Hp(s) in een unity feedback loop stopt? In dit geval krijgt je closed loop systeem een complex polenpaar en een pool op de reëele as op grote afstand van het complex polenpaar. Ben je bekend met dominante polen?
Help WSF met het vouwen van eiwitten en zo ziekten als kanker en dergelijke te bestrijden in de vrije tijd van je chip:
http://www.wetenscha...showtopic=59270

#3

lorddanny

    lorddanny


  • 0 - 25 berichten
  • 7 berichten
  • Gebruiker

Geplaatst op 26 oktober 2012 - 14:19

Bedoel je dat je de overshoot (op een step response?) moet berekenen van het systeem dat je verkrijgt wanneer je K*Hp(s) in een unity feedback loop stopt?


Ja dit bedoel ik inderdaad. Hangt de overshoot af van dit complexe polenpaar?

Ik ben zelf niet bekent met de term dominate polen, alleen dat ze toegevoegd complex zijn.

#4

Arie Bombarie

    Arie Bombarie


  • >250 berichten
  • 682 berichten
  • Ervaren gebruiker

Geplaatst op 26 oktober 2012 - 14:37

Klopt, zie ook deze website waar een duidelijke uitleg wordt gegeven (zie de sectie: "Higher Order").
Help WSF met het vouwen van eiwitten en zo ziekten als kanker en dergelijke te bestrijden in de vrije tijd van je chip:
http://www.wetenscha...showtopic=59270

#5

lorddanny

    lorddanny


  • 0 - 25 berichten
  • 7 berichten
  • Gebruiker

Geplaatst op 26 oktober 2012 - 15:06

Ik heb de site bekeken, maar ik zie niet hoe ik dit kan toepassen op mijn systeem.

Ik heb de formule H(s) = K*G/ (1+K*G) = 448K / ((s+2)(s+8)(s+20)). Voor mijn K = 3.7 krijg ik dus

H(s) = 1657.6 / ((s+2)(s+8)(s+20))

Hoe krijg ik hier twee complexe polen uit? Het lijkt erop dat op de site het derde orde systeem opgedeeld wordt in een eerste en een tweede orde systeem. Vervolgens staat er dan dat het tweede orde systeem twee complexe roots heeft en het eerste order een "real" root.

Hoe begin ik met de stap om van het systeem wat ik nu heb naar het systeem met de twee complexe polen te gaan?

Alvast bedankt voor je hulp tot nu toe

#6

Arie Bombarie

    Arie Bombarie


  • >250 berichten
  • 682 berichten
  • Ervaren gebruiker

Geplaatst op 26 oktober 2012 - 15:27

Allereerst, mag je bij deze opdracht een programma als Matlab gebruiken, of is het de bedoeling alles algebraisch op te lossen? In dit laatste geval, heb je misschien nog een bode plot of root locus gekregen...?

Wat betreft je vraag:

Je open-loop systeem is:

LaTeX

Om de equivalente transfer function te bepalen van je open-loop systeem in een unity feedback loop, gebruik je inderdaad:

LaTeX

Je closed-loop systeem wordt dan:

LaTeX
Dit kan je vereenvoudigen door teller en noemer te vermenigvuldigen met LaTeX .

Je hebt dan een 3de orde systeem verkregen. Om de polen te vinden, zal je de nulpunten van een 3de orde polynoom moeten vinden, wat algebraisch te doen is, maar wat een computer een stuk sneller zal hebben uitgevoerd. Dan zal je de volgende polen vinden: s1 = -24.4761, s2 = -2.7619 + 8.5539i, s3 = -2.7619 - 8.5539i
Help WSF met het vouwen van eiwitten en zo ziekten als kanker en dergelijke te bestrijden in de vrije tijd van je chip:
http://www.wetenscha...showtopic=59270

#7

lorddanny

    lorddanny


  • 0 - 25 berichten
  • 7 berichten
  • Gebruiker

Geplaatst op 26 oktober 2012 - 15:42

Ten eerste: Bedankt voor je antwoord.

Het enige wat ik gekregen heb ik is de formule van Hp(s) = 448 / ((s+2)(s+8)(s+20))

Het is de bedoeling om alles "by hand" te doen, maar als het echt heel moeilijk werd dan mag Matlab gebruikt worden.
Ik ga weer even aan de slag, indien ik weer een vraag heb dan zal ik deze hier weer posten

#8

lorddanny

    lorddanny


  • 0 - 25 berichten
  • 7 berichten
  • Gebruiker

Geplaatst op 27 oktober 2012 - 13:17

Ik ben aan de slag gegaan met de formule. Aan de hand van de polen heb ik een lapda van -2.7619 gevonden en een omega van +8.5539j (zie het plaatje)

Geplaatste afbeelding

Vervolgens bereken ik de overshoot door middel van de formule uit het plaatje. Mag deze formule gebruikt worden bij een derde orde systeem of geldt deze alleen voor een tweede orde? De overshoot komt uit op 36.3 %

Vervolgens heb ik de settling time (ts2%) berekent volgens de formule ts2% = -4 / lapda. Als ik nou de settling time 2 keer zo klein maak, dan wordt lapda twee keer zo groot. Volgens de driehoekverhouding tussen lapda, omega en omega0 ( zie plaatje), zullen omega en de hoek delta kleiner worden en omega0 blijft hetzelfde.

Als ik nu de nieuwe overshoot bereken is deze vele malen kleiner dan de oude overshoot; Klopt het dat wanneer ik de settling time verklein, de overshoot ook kleiner wordt? (onlogisch?)

#9

Arie Bombarie

    Arie Bombarie


  • >250 berichten
  • 682 berichten
  • Ervaren gebruiker

Geplaatst op 27 oktober 2012 - 15:57

De locatie van je polen klopt zo te zien, ook de damping en overshoot van het complexe polenpaar.

Vervolgens bereken ik de overshoot door middel van de formule uit het plaatje. Mag deze formule gebruikt worden bij een derde orde systeem of geldt deze alleen voor een tweede orde? De overshoot komt uit op 36.3 %

Deze formule geldt feitelijk alleen voor een tweede orde systeem zonder zeros, in jouw geval heb je ook nog een pool op s = -24.4761, deze heeft invloed op de response van je systeem, en daarmee ook op de overshoot etc. Echter, omdat je complexe polenpaar dominant is, want -24.4761 << -2.7619, kan je de TF vervangen door een andere TF met alleen het complexe polenpaar (zie de website die ik je eerder gegeven heb). Omdat je nu een tweede orde systeem hebt verkregen, kan je dus inderdaad de damping en overshoot van het complexe polenpaar gebruiken als benadering van je daadwerkelijke systeem. Als vuistregel wordt meestal gehanteerd dat, in dit geval, je reële pool op een afstand van minstens 5 * Re(Complexe polenpaar) ligt, je een aardige benadering krijgt van het daadwerkelijke systeem. In jouw geval, 24.4761 / 2.7619 > 5, dus je zal een aardige benadering krijgen.

Vervolgens heb ik de settling time (ts2%) berekent volgens de formule ts2% = -4 / lapda. Als ik nou de settling time 2 keer zo klein maak, dan wordt lapda twee keer zo groot. Volgens de driehoekverhouding tussen lapda, omega en omega0 ( zie plaatje), zullen omega en de hoek delta kleiner worden en omega0 blijft hetzelfde.

Als ik nu de nieuwe overshoot bereken is deze vele malen kleiner dan de oude overshoot; Klopt het dat wanneer ik de settling time verklein, de overshoot ook kleiner wordt? (onlogisch?)

Lijnen van constante settling time voor een tweede orde systeem (zonder zeros) zijn verticale lijnen in het linker gedeelte van je complexe vlak (die je complexe polenpaar snijden). Voor lagere settling time, bewegen deze lijnen (en dus je complexe polenpaar) zich meer naar links toe.
Als je de settling time twee keer zo klein maakt, kan je dit doen door je polen horizontaal naar links te verschuiven, in dit geval neemt de damping toe, neemt de overshoot af en de natuurlijke frequentie zal toenemen. Uiteraard kan je er ook voor kiezen je polen tegelijkertijd naar boven / naar beneden te verplaatsen.

Bij deze nog een grafiek van de step response van je complete systeem en het gereduceerde 2de orde systeem:
grafiek.png

De overshoot van het gereduceerde 2de orde systeem is: ((1.142 - 0.838) / 0.838)*100% = 36.3%. Dit is inderdaad de waarde die jij hebt gevonden. Te zien is dat de daadwerkelijke overshoot van het complete systeem (3 polen), iets lager is (circa 33.8%).
Help WSF met het vouwen van eiwitten en zo ziekten als kanker en dergelijke te bestrijden in de vrije tijd van je chip:
http://www.wetenscha...showtopic=59270

#10

lorddanny

    lorddanny


  • 0 - 25 berichten
  • 7 berichten
  • Gebruiker

Geplaatst op 31 oktober 2012 - 00:59

Hallo Arie,

tot nu toe heb je me al erg geholpen. Echter heb ik nog een vraag: Stel dat het geregelde systeem beinvloed wordt door een storingssignaal (disturbance). Hoe kan ik dan de bandbreedte voor de disturbance suppression ( omega b) met behulp van matlab vinden? Ik neem aan dat ik hiervoor de storingskarakteristiek van het geregelde systeem nodig heb.

Vervoglens wil ik bijvoorbeeld een D-Actie op het systeem toepassen. Hoe kan ik dit in matlab doen? In het plaatje heb ik dit geprobeerd, maar ik krijg de step response niet geplot.
Geplaatste afbeelding

Natuurlijk veranderd door het toepassen van een actie ook de storingskarakteristiek. Deze zou ik dan graag ter vergelijking willen plotten.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures