Betreff: PID Anleitung...
Von: Niklas Roy <nikl@s-roy.de>
Datum: Fri, 01 Sep 2006 01:29:16 +0200
An: Tilman Reiff <tille@brauchbarkeit.de>

Ich stelle die Potis immer folgendermaßen ein:

1. Rollstuhl auf die Linie stellen, P, I & D, sowie Speedpoti auf Null stellen.

2. Das P- Poti langsam nach oben drehen. Der Rollstuhl sollte sich jetzt so drehen, dass die Linie mittig unter der Linienerkennung liegt.

3. Begin Schleife:----------------

3.a) Den Rollstuhl heftig von der Linie wegzerren

3.b) Beobachten was passiert.

3.c) Wenn der Rollstuhl das Schwingen anfängt, dann P-Poti wieder ein wenig zurückdrehen und Schleife beenden (weiter bei 4.).

3.d) P-Poti minimal weiter aufdrehen.

3. End Schleife ------------------


4. Das D-Poti ein wenig aufdrehen.

5. Den Rollstuhl von der Linie zerren und schauen, ob er schneller auf die Linie zurückkommt.

6. Ggf. stärker aufdrehen.

Remark: Das D-Poti kann man im Prinzip volle Kanne aufdrehen, allerdings fängt der Rollstuhl dann an, sehr ruckelig zu fahren, weil er permanent extrem gegensteuert. Hier mußt Du also einen Kompromiss finden zwischen angenehmen Fahrgefühl und Sicherheit, was das auf der Linie bleiben angeht. Bei voll aufgedrehtem D-Anteil kommt der Rolli deutlich schwerer von der Linie ab. Ich habe aber das Gefühl, dass das sowohl aufs Getriebe, als auch auf die Leistungselektronik geht.

Remark2: Der I-Anteil bringt eigentlich nur auf geraden langen Strecken etwas. Alleine durch den P und den D-Anteil kann der Rollstuhl theoretisch nie genau die Linie mittig treffen. Dafür ist dann der I-Anteil da. Der reagiert aber sehr langsam und bringt daher auf Kurvenreichen strecken nicht viel. Dreh' den auf jeden Fall nur ganz minimal auf, sonst kann der Rollstuhl sehr heftig von der Linie weggerissen werden.

Remark3: Im Sourcecode findest Du auch Verstärkungsfaktoren die den P, I und D-Anteil berechnen (das müssten Multiplikatoren sein, die Kp, KI und KD verstärken - falls ich das richtig in Erinnerung habe). Die Werte sind experimentell ermittelt und sowohl von meinem Rolli, als auch von der Taktrate meines Prozessors abhängig (das betrifft aber glaube ich nur den D-Anteil, da der sich als einziger auf die Länge einer Programmschleife als Zeiteinheit bezieht.)
Jedenfalls kannst Du ja - Falls die Arbeitsbereiche Deines Potis zu stark verschoben sind, diese Faktoren auf Deine Bedürfnisse anpassen. - Du solltest das dann nur ausführlich kommentieren - vielleicht auch dazuschreiben, was das vorher für ein Wert war - da wir den Code sicherlich noch ein paar mal Updaten müssen.

Schöne Grüße,

Niklas