Springen naar inhoud

[regeltechniek] Motoraansturing


  • Log in om te kunnen reageren

#1

bagyman

    bagyman


  • >100 berichten
  • 135 berichten
  • Ervaren gebruiker

Geplaatst op 02 april 2007 - 11:20

hallo allemaal,

Ik heb een motoraansturing ontwikkeld en dat alles in een microcontroller geimplemeteerd. het gaat om de regeling van de snelheid... op zich werkt alles prima, ik start motor, zet bepaald snelheid in, activeer de regellus en meet opnieuw de waarden: gewenste waarde = gemeten waarde. maar nu ga ik meer dan 100... bijv 150... hij regelt het wel maar dan komt ie maximaal tot 130... en doe ik hetzelfde voor 250 komt het tot maar 180... het gaat om PID regeling...

wat zou ik eventeel kunnen aanpassen? P=8, I=8 en D=0..., ik kom echt niet uit!

dank u

Veranderd door bagyman, 02 april 2007 - 11:21

"...the relativity theory, by the way, is much older than its present proponents. It was advanced over 200 years ago by my illustrious countryman Ruđer Bošković, the great philosopher, who, not withstanding other and multifold obligations, wrote a thousand volumes of excellent literature"

by Nikola Tesla (10 July 1856 – 7 January 1943)

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

#2

groencontainer

    groencontainer


  • >25 berichten
  • 89 berichten
  • Ervaren gebruiker

Geplaatst op 03 april 2007 - 10:03

Je hebt dus een te grote steady state error (Ess), die kan je aanpassen door het PI deel van je controller aan te passen. Een groter proporioneel deel (P) zal zorgen voor een kleinere Ess. Met een integreer actie kan je hem zelfs bijna helemaal weg krijgen. Dus probeer eens de waarde van de I aan te passen.
Ik zie dat je al alleen het PI gedeelte gebruikt, daarmee kan je dus al de Ess verkleinen, let wel op dat de magnitude peak en de settling time wel omhoog gaan met een pure PI controller. Misschien gaat het dus nog nodig zijn om ook een D te gaan gebruiken.

Hier even een klein overzicht, wat welke actie precies doet: PID acties

Veranderd door groencontainer, 03 april 2007 - 10:07

De inhoud van een pizza met straal z en dikte a =Pi*z*z*a

#3

bagyman

    bagyman


  • >100 berichten
  • 135 berichten
  • Ervaren gebruiker

Geplaatst op 03 april 2007 - 11:14

kan ik dit ook berekenen???? want ik weet nu of of ik I en/of P hoger of lager moet zetten!!!

Veranderd door bagyman, 03 april 2007 - 11:15

"...the relativity theory, by the way, is much older than its present proponents. It was advanced over 200 years ago by my illustrious countryman Ruđer Bošković, the great philosopher, who, not withstanding other and multifold obligations, wrote a thousand volumes of excellent literature"

by Nikola Tesla (10 July 1856 – 7 January 1943)

#4

groencontainer

    groencontainer


  • >25 berichten
  • 89 berichten
  • Ervaren gebruiker

Geplaatst op 03 april 2007 - 12:39

PID controllers worden over het algemeen door iteratie gevonden, dus gewoon proberen.
Een methode is: I en D op 0, dan P zo hoog maken dat de output gaat oscilleren. Dan is de optimale waarde van P 0.45 keer de waarde van P waarbij oscillatie optreed. De optimale waarde van I is dan 1.2 maal de optimale waarde van P gedeelt door de oscillatie periode. Daarna is het vaak nog nodig om nog wat meer te tunen totdat alles echt goed is.
Zoek even op google naar Ziegler-Nichols methode, dan kan je meer vinden hierover.

Als je een goed model hebt van je motor, kan je natuurlijk in matlab gaan werken om de optimale controller te ontwerpen.
De inhoud van een pizza met straal z en dikte a =Pi*z*z*a

#5

Franske

    Franske


  • >250 berichten
  • 337 berichten
  • Ervaren gebruiker

Geplaatst op 03 april 2007 - 20:50

Breng eerst eens je proces in kaart. Dit kun je doen door middel van een stapresponsie, zet een spanning op de motor en bepaal het toerentalverloop in de tijd. Bepaal vervolgens je tijdconstante(n) en stel aan de hand van vuistregels (deze zijn in goede boeken te vinden) je regelaar in.

Hierbij het tweede orde model wat je in matlab zou kunnen gebruiken. Let wel je moet dan wel weten wat Kb en Kt is (mogelijk door de motorfabrikant opgegeven).

2e_orde_model.jpg

Je kunt ook uitgaan van een 1e orde model, daarbij verwaarloos je La
"I can't stand burnt toast. I loathe bus terminals. Full of lost luggage and lost souls. Then there's unrequited love, and tyranny, and cruelty." (the 7th Doctor)

#6

bagyman

    bagyman


  • >100 berichten
  • 135 berichten
  • Ervaren gebruiker

Geplaatst op 05 april 2007 - 09:14

wat houdt eigenlijk oscilleren in??? wat moet motor doen nu?

ik heb nu op P = 5 en I D = o

maar ik weet niet wat ie moet doen als het oscilleert?ik weet wel dat het opwekken is van priodieke signalen maar waar slaat dat op in de motor?

tnx
"...the relativity theory, by the way, is much older than its present proponents. It was advanced over 200 years ago by my illustrious countryman Ruđer Bošković, the great philosopher, who, not withstanding other and multifold obligations, wrote a thousand volumes of excellent literature"

by Nikola Tesla (10 July 1856 – 7 January 1943)

#7

bagyman

    bagyman


  • >100 berichten
  • 135 berichten
  • Ervaren gebruiker

Geplaatst op 05 april 2007 - 09:37

als daarmee bedoeld wordt wanneer begin het te draaien. dan is mijn antwoord direct bij 2
"...the relativity theory, by the way, is much older than its present proponents. It was advanced over 200 years ago by my illustrious countryman Ruđer Bošković, the great philosopher, who, not withstanding other and multifold obligations, wrote a thousand volumes of excellent literature"

by Nikola Tesla (10 July 1856 – 7 January 1943)

#8

bagyman

    bagyman


  • >100 berichten
  • 135 berichten
  • Ervaren gebruiker

Geplaatst op 05 april 2007 - 12:35

ik heb hem denk ik... ik moet dus kijken wanneer toerental begint te veranderen bij P... en dan periode bepalen en daaruit I bepalen...
"...the relativity theory, by the way, is much older than its present proponents. It was advanced over 200 years ago by my illustrious countryman Ruđer Bošković, the great philosopher, who, not withstanding other and multifold obligations, wrote a thousand volumes of excellent literature"

by Nikola Tesla (10 July 1856 – 7 January 1943)

#9

Franske

    Franske


  • >250 berichten
  • 337 berichten
  • Ervaren gebruiker

Geplaatst op 05 april 2007 - 19:52

Als de motor oscilleert is waarschijnlijk de P-actie te hoog. Het is heel moeilijk om ad hoc de regelaar in te stellen.
Waar regel je op? (toerental neem ik aan)
Heb je MatLab?
Kun je aan de motorconstanten komen?
Ankerweerstand kun je trouwens meten.
"I can't stand burnt toast. I loathe bus terminals. Full of lost luggage and lost souls. Then there's unrequited love, and tyranny, and cruelty." (the 7th Doctor)

#10

bagyman

    bagyman


  • >100 berichten
  • 135 berichten
  • Ervaren gebruiker

Geplaatst op 10 april 2007 - 13:28

wel, ik ga nu eerst testen op de Ziegler-Nichols methode... P zo hoog mogelijk maken dan x 0.45, daarna I *1.2 / oscilleerfrequentie... het gaat me effe tijd kosten om de oscilleerfrequentie te vinden, ik moet het uit microcontroller halen...
ik gebruik geen MATLAB, vinden ze het hier te duur en niet wenselijk.. :mrgreen:
"...the relativity theory, by the way, is much older than its present proponents. It was advanced over 200 years ago by my illustrious countryman Ruđer Bošković, the great philosopher, who, not withstanding other and multifold obligations, wrote a thousand volumes of excellent literature"

by Nikola Tesla (10 July 1856 – 7 January 1943)

#11

bagyman

    bagyman


  • >100 berichten
  • 135 berichten
  • Ervaren gebruiker

Geplaatst op 23 april 2007 - 11:13

hmm... effe terug komen op dit verhaal...
Ik heb nu de verhoudingen kunnen afleiden in de 1ste orde en de 2de orde... nu wil ik graag de waarden van de PID regelaar berekenen... is dat wel mogelijk of is het enige manier met iteratie?
"...the relativity theory, by the way, is much older than its present proponents. It was advanced over 200 years ago by my illustrious countryman Ruđer Bošković, the great philosopher, who, not withstanding other and multifold obligations, wrote a thousand volumes of excellent literature"

by Nikola Tesla (10 July 1856 – 7 January 1943)





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures