INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Fragen zu PID()
17.11.2015, 23:33
Beitrag #9
RE: Fragen zu PID()
Okay, das verstehe ich, danke. Kurz vorm schlafen gehen noch ein Problem: und zwar möchte ich ja die motoren in zwei Richtungen laufen lassen. Wenn ich ein PWM-Signal mit 1501-2000µs ausgebe dreht er rückwärts, bei 1000-1499 vorwärts. Bei 1500 steht er still.
Ich habe für jede Drehrichtung nun einen PID-Controller angelegt, aber irgendwie arbeitet das nicht so, wie es soll. Wenn der IST-Wert des Sensors den SOLL-Wert erreicht hat, also der Wert des Sensors 0 ist, dann gibt PID_1 ein PWM-Signal von 1420 und PID_2 einen Wert von 1580 aus. Sie wollen beide noch weiter regeln.

Grundsätzlich: Ist der Weg, für jede Drehrichtug ein PID-Controller, unpraktisch, sollte ich es besser mit einem PID-Controller probieren?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.11.2015, 07:12
Beitrag #10
RE: Fragen zu PID()
(17.11.2015 23:33)scritch schrieb:  Grundsätzlich: Ist der Weg, für jede Drehrichtug ein PID-Controller, unpraktisch, sollte ich es besser mit einem PID-Controller probieren?

Hi scritch.

Das ist nich nur unpraktisch, sondern wird schlichtweg so nicht funktionieren.
Dein Regler sollte doch eh in 2 Quadranten arbeiten. Sprich auch negative Werte ausgeben, das wäre dann so zu mappen, dass deine Räder rückwärts drehen.

keep on... Ralf aka RMR
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.11.2015, 12:15
Beitrag #11
RE: Fragen zu PID()
Eine Idee aus meinem Segway setzte myPID.SetOutputLimits(15000, 22500) auf 1000-2000.
Und schon bekommst du die Wert von 1000µs- 2000µs.
Ich denke du brauchst noch einen Kalman Filter der die aus dem Gyro und dem ACC einen absoluten Winkel zu Erdachse rechnet.
Dieser hier ist sehr gut zu nutzen. Aus dem Beispiel alles raus was die anderen Achsen betrifft das du nur deine zu nutztende Achse hast.
Beim PID Regler den Setpoint auf die Entsprechende Position z.B. 0° bei aufrechter Position und als Istwert den Kalmanwert drauf mit den oben gesetzten Grenzen dürftest du dann eine vorwärts und rückwärts Bewegung.
Gruß
DerDani
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.11.2015, 13:46
Beitrag #12
RE: Fragen zu PID()
Danke für die Tipps Ralf und Dani.

Anfangs hatte ich die Limits wie du beschreiben hast, Dani. Allerdings passte das nicht zu dem riesigen Wert den der Sensor ausgegeben hat, weshalb ich sie zuerst hoch, und dann später wieder herunter gerechnet habe. Ich werde das mit dem Kalmanfilter mal probieren Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.11.2015, 15:17
Beitrag #13
RE: Fragen zu PID()
Das pass du dann über den KP an.
z.B.:
Erstmal musst du dir im klaren sein bei welcher Abweichung du den maximalen Steuerwert haben willst.
Sollwert 0° Du neigst den dann nach vorne auf +15° bei 15° willst du schon den vollen Steuerwert haben alsp KP= 1000/15=66. Wenn du dann am PID-Regler den KP auf 66 setzt bekommst du bei 15° austeuerung die Wert 1000 und bei -15° den Wert 2000 höher bzw niedriger wird der nicht da du ja die Limits gestetzt hast. Der D-Anteil hat aber den Nachteil das du in der Nähe deines Sollwertes so kleine Steuerwerte (PID Output) bekommst das der P-Anteil es alleine nicht schafft hier kommt der I-Anteil in spiel, da dieser über die Zeit arbeitet. Bleibt der Regerlwer >0° läuft der I-Anteil hoch und "hilft" dem P-Anteil den Rest auszugleichen. Mit dem D-Anteil kannst du dem Robot ein "schubs" geben um die Massenträgheeit zu covern.
Gruß
DerDani
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Anfänger Fragen zum Thema Pc & Datenverarbeitung Hurdy 0 301 29.03.2016 12:36
Letzter Beitrag: Hurdy
  Fragen zu TM1638 Binatone 2 517 16.01.2016 14:11
Letzter Beitrag: arduinofan
Lightbulb Fragen zu Ablauf/Schrittmotor/Referenzfahrt Tom5000 4 1.752 09.09.2014 05:11
Letzter Beitrag: Corvus
  AlarmBit und weitere Fragen beim DS3231 itsy 0 1.060 19.06.2014 14:00
Letzter Beitrag: itsy
  Neueinsteiger mit Fragen Dietmar 9 4.174 18.12.2013 09:13
Letzter Beitrag: burgi650
  Arduino Mega 2560, 1000 Fragen zum Start.... alpenpower 7 5.953 06.09.2013 11:17
Letzter Beitrag: admin
  Fragen für Props aus Alien HartlMax 0 1.166 20.05.2013 19:05
Letzter Beitrag: HartlMax

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste