-         

Seite 1 von 7 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 69

Thema: Single PID Regler in Bascom

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78

    Single PID Regler in Bascom

    Anzeige

    Hallo,

    in der neuen Bascom Version 1.11.7.7 ist bei den Samples eine
    Datei dabei die singlePiD.bas heißt. Habe das schon mal auf MCselec gesehen, müsste eine Rutine für einen PID Regler sein.
    Meine Frage hat da jemand schon mal was mit gemacht??
    würde mich doch sehr Interessieren, habe mich zwar damit schon etwas beschäftigt (PID-Regler) , aber so ganz ohne Hilfe werde ich es wohl nicht schaffen.

    ist das eine Funktion in Bascom die ich aufrufen kann, oder ist das nur eine Beispielsdatei?.

    Danke!!


    Gruss Frank

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.11.2004
    Ort
    Erlenbach
    Beiträge
    126
    Hallo Frank,

    das ist eine Beispieldatei. Ich habe mal den Code überflogen. Das Progrämmchenist sehr interessant. Sollte sich eigentlich ganz einfach in eigene Projekte integrieren lassen.
    Zu beachten ist allerdings:
    Damit die Berechungen des PID-Algorhytmus exakt ausfallen, muss die Rechenroutine (Regulator in exakten Zeitabständen aufgerufen werden. In dem Beispiel wird das durch eine Verzögerung mit 50ms erreicht.
    Wenn in einem eigenen Programm dann noch mehr Programmteile ausgeführt werden, dürfte das zu ungenau werden. Es ist dann besser die Rechenroutine über einen Timer-Interrupt aufzurufen und somit gleiche Zeitabstände zu erreichen.
    Eine andere Sache sind die Parameter P, I und D, die hier im Programm fest vorgegeben sind. Jede Regelstrecke (also das zu regelnde Objekt) ist anders und erfordert hier eigene Einstellungen. Dazu gibt es 2 Verfahren diese zu ermitteln, die zwar einfach sind, aber diesen Rahmen hier sprengen würden.

    Viele Grüße
    Michael

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    14.02.2004
    Ort
    Kaiserslautern
    Beiträge
    78
    Hallo Michael,

    ja, ist bestimmt nicht eifach so ein PID-Regler, da ich aber ein Projekt
    im Kopf habe, muss ich mich etwas damit beschäftigen.
    Aber Danke schon mal für die Info, werde mal versuchen die Beispielsdatei
    in ein lauffähiges Programm zu schreiben. Mal sehen wie`s klappt
    werde dann mal berichten.

    Gruss Frank

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    51
    Beiträge
    576
    Hallo Michael

    Dazu gibt es 2 Verfahren diese zu ermitteln, die zwar einfach sind, aber diesen Rahmen hier sprengen würden.
    Kannst Du darüber ein bisschen mehr erzählen ?

    Ich schlage mich auch gerade mit diesem Thema herrum.

    Eigentlich geht es um eine Servoregelung.
    (Encoder, Regelung, PWM, H-Brücke, Motor..)

    Der Regelkreis läuft soweit.
    Jetzt liegt es nur mehr an einer guten Regelung

    Leider kann ich kein Englisch und tu mich da ein bisschen schwer.
    (ausserdem eher noch AVR neuling )

    Bei dem A109 Beispiel ist mir nicht ganz klar, wo ich da meine Parameter einfügen soll.
    (CV ist wohl der Ausgang..)

    Hätte da :
    Schritt_Position (Schritte die gefahren werden sollen)
    Encoder_Position (derzeitige Position vom Encoder)

    PWM (PWM Ausgang = +-12
    Für die PID Werte, möchte ich jeweils ein Poti machen das per ADC eingelesen wird.

    L.G. Roberto

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.02.2004
    Alter
    35
    Beiträge
    171
    Der Algorhytmus ist nicht schlecht, aber auch nicht gut. Soweit ich das bis jetzt verstanden habe wird da immer nur der Wert des vorherigen Durchlaufes betrachtet, je mehr Durchläufe betrachtet werden destso besser ist meistens das Ergebniss.
    http://www.meilhaus.de/regeltechnik/regelt4.html schau da mal da steht ne Menge über Regeltechnik und vorallem auch digitaler Regeltechnik drin.
    Die 50ms sind auch eher was für langsamere Prozesse, vorallem macht da der Prozessor ziemlich lange nichts. Durch die inkrementale Abtastung wenn man das so sagen kann holst du dir ein PT-Glied mit in den Regelkreis, dass aber da ja die Zeit bekannt ist ausgeglichen werden kann, aber war ja auch oben schon mal angesprochen. Aber die Siet ist nicht schlecht steht für den Anfang reichlich was drin.

    Gruß Johann!

  6. #6
    Gast
    Hallo Johann
    Danke für den Link.
    Werde ich mal durchlesen...
    Habe den Beipielcode inzwischen zum laufen bekommen.
    (Aufruf mit Timer)

    Aber irgendwie regelt der nicht sonderlich gut.
    Schwingt eigentlich immer.. (mehr oder weniger)

    Wogegen wenn ich schreibe:

    Abweichung = Soll - Ist
    Pwm = Abweichung / 10
    Pwm = Pwm + 128
    If Pwm < 2 Then Pwm = 2 'untere PWM Grenze
    If Pwm > 253 Then Pwm = 253 'obere PWM Grenze
    Compare1a = Pwm

    Da steht der Motor fest auf seiner Position
    Ausser wenn ich ihn sehr auslenke, schingt er sich auf und lenkt sich nicht mehr ein..
    (aber ist ja auch keine besondere Regelung

    Aber ich werde mir mal den Link durchlesen


    l.G. Roberto

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.02.2004
    Alter
    35
    Beiträge
    171
    Na das ist doch ein P-Regler wenn ich mich nicht vertue. Proportional zur Regelabweichung wird das Stellgleid angesteuert.
    Jetzt kommt es drauf an wie deine Strecke aussieht. Da du einen Motor hast ist da auf jedenfall schon mal ein Verzögerungsglied drin, wegen der Beschleunigungs und Verzögerungszeit. Aber les dir das mal ducrh dann erkennst du das vielleicht selber.

    Gruß Johann!

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    29.10.2004
    Ort
    GRAZ
    Alter
    51
    Beiträge
    576
    Hallo

    Habs durchgelesen, aber stehe schon noch ein bischen im Wald
    (mit Formeln habe ich s ja nicht so...)

    Habe aber jetzt eine andere Seite gefunden:
    http://www.mikrocontroller.net/forum/read-1-6490.html
    Da gibt es auch ein einfaches Basic Listing für eine PID regelung

    Mit dem funktioniert jetzt die PID Regelung

  9. #9
    Gast
    bei mir funktionierts auch! Wunderbar, hab ich schon länger nach gesucht, jetzt muss ich sagen, PID ist voll easy

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    15.01.2005
    Ort
    Niederdorfelden / Hessen
    Alter
    49
    Beiträge
    368
    Hi all,

    ich versteh nicht so ganz, warum ale so scharf auf den PID - Regler sind. Über 90% aller Regelkreise sind mit PI - Reglern ausgestattet. Der D - Anteil wird nur dann gebraucht, wenn lawinenartige Effekte kontrolliert werden müssen.

    zum Gastbeitrag am 8.8. : dies ist ein reiner P - Regler.

    Auf meiner HP ( www.klaus-sucker.de - Abteilung Regler) habe ich das Thema auch mal aufgegriffen. Ich habe dabei versucht, die Herkunft der einzelnen Formelkomponenten zu erklären. Es fehlt zwar noch etwas Feintuning (einige Formeln müssen noch grafisch aufgearbeitet werden), es ist jedoch alles so ziemlich komplett.

    Grüße Klaus
    Eine verrückte Idee ist besser als keine

Seite 1 von 7 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •