Seite 1 von 1
PI bzw. PID-Regler implementieren
Verfasst: Mittwoch 18. Dezember 2013, 13:17
von ga69jot
Hallo liebe Community,
ich wollte fragen, ob mir jemand helfen kann ein PI bzw. PID-Regler in Python zu implementieren.
Ich habe einen Ultraschallsensor der Abstände misst und mein "Roboter" soll sozusagen einen bestimmten vorgegebenen Abstand immer halten.
Die Steuerung usw. erfolgt alles mit einem RaspberryPI.
Würde mich freuen, wenn ihr mir behilflich sein könnt.
Vielen Dank schonmal
Re: PI bzw. PID-Regler implementieren
Verfasst: Mittwoch 18. Dezember 2013, 13:25
von EyDu
Hallo und willkommen im Forum!
Wo liegt denn dein Problem? Literatur zum PID-Regler gibt es wie Sand am Meer und die Gleichungen sind jetzt nicht unbedingt wahnsinnig kompliziert. Die musst du einfach nur in Python-Code umsetzen und das war es dann.
Re: PI bzw. PID-Regler implementieren
Verfasst: Mittwoch 18. Dezember 2013, 15:06
von snafu
@ga69jot: Bitte stelle eine konkrete Frage. Wenn du ein potenziell Helfender wärst und deinen eigenen Beitrag lesen würdest, dann wäre dir vermutlich auch unklar, worauf genau du jetzt antworten könntest. Suchst du spezielle Literatur, Tutorials, Beispiele? Oder vielleicht einen persönlichen Mentor, der dich per PN berät? Letzteres wäre übrigens nicht die feine Art, da Support in Foren normalerweise öffentlich ist, damit auch spätere Mitlesende etwas von der Lösung haben.
Re: PI bzw. PID-Regler implementieren
Verfasst: Donnerstag 19. Dezember 2013, 14:06
von ga69jot
Hallo,
ich habe leider überhaupt keine Ahnung von Python und soll da einen PID Regler implementieren und weiß gar nicht wie ich das machen soll.
Die Gleichungen kenne ich natürlich, jedoch habe ich keine Ahnung wie man das mit einem Code umsetzt.
Bin ein richtiger Laie, was das Programmieren betrifft.
Re: PI bzw. PID-Regler implementieren
Verfasst: Donnerstag 19. Dezember 2013, 14:25
von BlackJack
@ga69jot: Dann lern erst einmal unabhängig von dem konkreten Problem die Grundlagen vom Programmieren und Python. Das ist ja irgendwie Voraussetzung wenn man etwas programmieren will. Für absolute Anfänger wird oft
Learn Python The Hard Way empfohlen. In der Python-Dokumentation ist auch ein Tutorial was man mal durchgearbeitet haben sollte.
Re: PI bzw. PID-Regler implementieren
Verfasst: Donnerstag 19. Dezember 2013, 15:04
von ga69jot
Die Grundlagen von Programmieren habe ich schon

habe C in der Uni lernen müssen...nur danach habe ich mich mit dem Programmieren nie befasst
Re: PI bzw. PID-Regler implementieren
Verfasst: Donnerstag 19. Dezember 2013, 15:06
von /me
ga69jot hat geschrieben:Die Grundlagen von Programmieren habe ich schon

habe C in der Uni lernen müssen...nur danach habe ich mich mit dem Programmieren nie befasst
Ohne Wissen um das Programmieren mit Python wirst du kein Python-Programm schreiben können.
Re: PI bzw. PID-Regler implementieren
Verfasst: Donnerstag 19. Dezember 2013, 15:18
von BlackJack
@ga69jot: Dann musst Du Dich jetzt damit befassen. Nur falls der Punkt von /me noch nicht ganz so deutlich rübergekommen sein sollte: Um Python-Programme schreiben zu können, muss man in Python programmieren können. Klingt vielleicht komisch, ist aber so.
Und programmieren lernt man zu einem nicht unbeträchtlichen Teil in dem man es einfach tut — also programmieren. Übung, Meister, und so.

Re: PI bzw. PID-Regler implementieren
Verfasst: Donnerstag 19. Dezember 2013, 16:09
von ga69jot
Alles klar

Ich werde dann mal versuchen PID-Regler zu implementieren und wenn dann konkrete Fragen auftreten stelle ich sie

bzw. wenn ich Probleme habe

Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 29. Dezember 2013, 12:35
von ga69jot
Hallo Community,
hab jetzt einen Code geschrieben, würde ihn euch zeigen, hoffentlich ist der auch richtig
Der lautet wie folgt:
error = ist - soll
p_anteil = error * p_gain
error_integral = error_integral + error
i_anteil = error_integral * i_gain
Jetzt ist meine frage, wie Kriege ich denn meine Sensordaten? Ich hab ein eigenes Skript womit ich eine abstandsmessung mit einem ultraschallsensor mache.
Danke schonmal

Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 29. Dezember 2013, 13:37
von Darii
Indem du das Script aufrufst? Vermutlich ist
http://docs.python.org/2/library/subpro ... eck_output ein guter Anfang…
Re: PI bzw. PID-Regler implementieren
Verfasst: Montag 30. Dezember 2013, 13:10
von ga69jot
Wie meinst du das mit Skript aufrufen ? Hab mir den Link angesehen aber das war mir zu viel Info auf einmal, wurde nicht schlau wie genau das funktionieren soll.
Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 5. Januar 2014, 12:36
von ga69jot
Mag mir denn keiner helfen?!
Ist der Regler überhaupt so richtig ?!
Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 5. Januar 2014, 14:00
von Sirius3
Wahrscheinlich kann Dir niemand helfen, weil niemand weiß, wo Dein Problem liegt. Ein Programm liest Daten ein, verarbeitet Daten und gibt Daten wieder aus. Natürlich um irgendeinen Zweck zu erfüllen. Wenn man bei 0 anfängt, dann nimmt man sich am besten ein Beispiel-Programm, zum Beispiel um Sensordaten zu lesen, und wenn Du das soweit verstanden hast, kannst Du das Programm dann so erweitern, dass es das tut, was Du möchtest. Was Du bisher schon gemacht hast und wo Du jetzt gerade steckst, hat aber keine Kristallkugel bisher verraten.
Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 5. Januar 2014, 14:12
von EyDu
ga69jot hat geschrieben:Ist der Regler überhaupt so richtig ?!
Nein. Ich kann dir nur noch einmal raten, dass du dich vernünftig in die Theorie dahniter einarbeitest. Dein Ansatz sieht viel halb gelesen und halb geraten aus. Material gibt es zu dem Thema ausreichend und auch Beispielcode ist in Mengen vorhanden.
Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 5. Januar 2014, 14:21
von ga69jot
Ich hab mir die Theorie angesehen, und versucht die Gleichungen umzusetzen, ich denke
die theorie sollte ich schon verstanden haben.
Ich hab mir auch viele Codes in C oder C++ angesehen.
Könntest du mir vllt sagen was an dem Code verbessert werden muss bzw was
Fehlt?
Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 5. Januar 2014, 14:25
von /me
ga69jot hat geschrieben:Könntest du mir vllt sagen was an dem Code verbessert werden muss bzw was Fehlt?
Vielleicht um mal ganz grundlegend anzufangen: Weißt du überhaupt, wie man die Daten des Sensors ausliest? Wenn nein, welche Dokumentation hat denn der Hersteller dazu?
Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 5. Januar 2014, 14:29
von EyDu
ga69jot hat geschrieben:Ich hab mir die Theorie angesehen, und versucht die Gleichungen umzusetzen, ich denke
die theorie sollte ich schon verstanden haben.
Dein Regler hat zum Beispiel nicht einmal ein Ergebnis. Mich würde so etwas stutzig machen

Re: PI bzw. PID-Regler implementieren
Verfasst: Sonntag 5. Januar 2014, 14:39
von ga69jot
Ich sehe gerade auf meinem PC habe ich noch
Eine Zeile stehen und zwar: y= i_anteil + p_anteil
Ist es dann mit dieser Zeile vollständig ?
Zu meinem Sensor ich habe einen ultrasonic ultraschallsensor, einen python Code zum messen habe ich auch, aber wie ich diese gemessenen Daten dann an den Regler weiter gebe weiß ich nicht.