PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Regelungstechnik



bENNO83
14.10.2005, 08:57
Hallo allezusammen,

Ich habe mir mal gedanken gemacht wie man eine Kontinuierliche Geradeausfahrt realisieren kann.
Da bin ich auf die Regelungstechnik gekommen.
Die frage ist wie "einfach" das werden wird, oder ob es andere einfachere Wege gibt. Hat sich von euch schon jemand damit befasst ?

Ich habe zwar so meine Ideen wie man es realisieren kann, aber mit der umsetzung in Programmcode ist noch so ein kleines Problem.

greetz bENNO

Winne
14.10.2005, 10:05
Hallo bENN083 und herzlich willkommen im Forum,

es gibt z.B. den Ansatz die Odometriedaten auszuwerten. Suche einfach unter "geradeausfahren und asuro". Da findest Du z.B. einen Code in C.

Gruss Winne

Frank
14.10.2005, 11:53
WASTE hat zum Punkt Regelungstechnik schon sehr viel im WIKI geschrieben. Schau mal unter Regelungstechnik hier:
https://www.roboternetz.de/wiki/pmwiki.php?n=Main.Inhaltsverzeichnis

Ich glaube er wollte demnächst auch noch Programmbiespiele anfügen.

Gruß Frank

xboxman
18.10.2005, 21:15
Der Artikel im Wiki kommt mir gerade recht. Er ist ja auch sehr gut, aber so ganz verstehe ich nicht wie Waste Kp und Ki in dem Beispiel berechnet hat.

e = w - x; //Vergleich
esum = esum + e; //Integration I-Anteil
if (esum < -128) {esum = -128;} //Begrenzung I-Anteil
if (esum > 128) {esum = 128;}
y = Kp*e + Ki*dt*esum; //Reglergleichung
if (y < 0) {y = 0;} //Begrenzung Stellgröße
if (y > 255) {y = 255;}
PWM = y;


Dazu steht nur folgender Satz im Artikel:

Die Parameter des PI-Reglers sind: Kp = 18; Ki = 200
Die Werte wurden empirisch in einer Simulation ermittelt.


Geht das auch etwas ausführlicher oder gibts ein Freeware Simulationsprogramm?

:-k

waste
19.10.2005, 12:43
Hallo xboxman,

der Artikel im Wiki ist noch in Arbeit. Immer wenn ich Zeit finde, wird er um einen Teil ergänzt.

Es gibt Freeware Simulationsprogramme, die für die Regelungstechnik gut zu gebrauchen sind. Zum einen ist es Scilab/Scicos, das sehr ähnlich zu MatLab/SimuLink ist und zum anderen ist es LTSpice (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=2730), ein Simulationsprogramm für elektrische Schaltungen. Ich bevorzuge LTSpice, da man damit sehr ins Detail gehen kann und zusammen mit elektrischen Schaltungen simulieren kann. Allerdings muss man sich in LTSpice selbst die dynamischen Elemente erstellen.

Scilab/Scicos hat Vorteile wenn man mit Laplace- oder z-Transformation arbeitet.

Scilab Homepage (http://scilabsoft.inria.fr/)
Scicos Homepage (http://www.scicos.org/)

Gruß Waste

xboxman
21.10.2005, 14:45
Hallo Waste, wenn du an den Artikeln noch weiter machst, kannst du später auch eine Beispieldatei für die genannten Simulationsprogramme dort unterbringen? Ich kenn mich nämlich mit diesen Programmen überhaupt nicht aus, da wäre ein gut beschriebenes Projekt sehr hilfreich um dein Kp = 18; Ki = 200 schnell nachvollziehen zu können.

Vogon
21.10.2005, 21:03
Hast du dir das schon angeschaut:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=106560#106560

waste
21.10.2005, 23:55
Hallo xboxman,

ich nehme die Anregung gerne auf und werde auch ein Beispiel mit den Simulationsprogrammen bringen. Aber das dauert noch etwas, mußt Dich also noch in Geduld üben. Aber versprich Dir nicht zuviel davon, von alleine macht auch so ein Programm nichts. Ein gutes Grundwissen in Physik und Mathematik ist Voraussetzung. Bei Scicos sollte man zudem wissen was Laplace-Transformation ist und bei LTSpice sich in der Elektrotechnik gut auskennen.

Gruß Waste

bENNO83
04.11.2005, 11:11
jo, thx an alle,
der gedanke ist ja wie man die Odemitire auswerten kann so das er merkt wann er nicht mehr geradeaus fährt und diese muss mehrmals pro sekunde ablaufen, da es sonst abgehackt aussieht.
Was meint ihr ?

waste
04.11.2005, 22:04
Hallo benno83,

die einfachste Methode geht folgendermaßen:
Wenn der 1.Tick der Odometrie kommt, dann wird die Motorsteuerung auf dieser Seite auf 0 gesetzt, solange bis der Tick auf der anderen Seite kommt. Dadurch wird der voreilende Motor soweit verlangsamt, bis beide Motoren synchron laufen.

Das ist zwar keine Geschwindigkeitsregelung, aber es stellt einen Gleichlauf der Motoren her. Wenn die Ticks sehr schnell kommen, dann ruckelt auch nix.

Gruß Waste