Hallo Zusammen, ich möchte einen Regler Programmieren der einen sanften Anlauf des Motors ermöglicht. Bekomme den aktuellen sollwert von Joystick über den PC als Byte und vom IGR die Drehzahl als Byte. Nun habe ich keine Idee wie ich die beiden werte zusammen bekomme. Sprich wenn ich einen sollwert habe und die aktuelle Drehzahl dazu wie verknüpfe ich das so dass es langsam seinen Wert ändert. Also wenn jemand den Knüppel ruckartig bewegt es zu keiner Rückartigen bewegung am Motor kommt. Gruß Carsten
Gast
#405967
Indem sich der "Stellwert" oder Korrekurwert oder wies auch immer heißt eine bestimmte Größe nie übersteigt
Ich nutze für sowas einen "Nachlaufwert", der dem Sollwert in kleinen Schritten nacheilt. Dieser nachlaufende Sollwert wird dann mit dem Istwert verglichen und - falls es eine echte Regelung werden soll - der Stellwert (z.B. die PWM für den Motor) entsprechend angepasst. ...
Gast
#405969
Hallo, zunächst einmal sollte klar sein, ob Du eine Steuerung , oder eine Regelung realisieren willst: Wenn Du von Sollwerten im Zusammenhang mit der Drehzahl sprichst, dann hört sich das nach Regelung an. Dazu ist ein Regler (P, I, PID ...) nötig. Um einen allzuschnellen Anstieg zu verhindern, gibst Du den Sollwert auf einen Tiefpaß und den Ausgang auf den Regler-Sollwerteingang: z.B. Tiefpaß_ausgang := (Tiefpaß_ausgang * k + Sollwert)/(k+1) Diese Berechnung muß dann periodisch durchgeführt werden. Am Anfang muß Tiefpaß_ausgang initialisiert werden (z.B. auf null) Über k regelst Du die Anstiegsgeschwindigkeit des Tiefpasses: Aufrufperiode klein: langsamer Anstieg zum neuen Sollwert. Aufrufperiode groß:schneller Anstieg zum neuen Sollwert. K klein: Schneller Anstieg zum neuen Sollwert K groß : Langsamer Anstieg zum neuen Sollwert Gruß Wolfgang -- www.ibweinmann.de Brushless Development Kit
Gast
#405970
@ Wolfgang: wenn Du schon von Regelungen sprichst solltest Du auch die gängigen Bezeichnungen der Regelparameter verwenden: z.B. kp: Verstärkung Tn: Nachstellzeit A: Ansprechschwelle (bei getakteten Reglern) Y: Stellgröße X: Istwert W: Sollwert
Gast
#405971
@Sonic "@ Wolfgang: wenn Du schon von Regelungen sprichst solltest Du auch die gängigen Bezeichnungen der Regelparameter verwenden" Nein - der Meinung bin ich nicht, weil ich hier nur das Prinzip erläutert habe. Gruß Wolfgang
Gast
#405972
stellwert = (istwert*faktor+sollwert)/(faktor+1) so würd ichs machen - mit dem faktor musst du halt je nach anwendung experimentieren...
Ich danke euch allen für die Vorschläge, aber eines ist mir nicht klar... Wieso soll ich den Istwert mit dem Sollwert addieren. Ich dachte immer man braucht die Differenz? Aber ok und wenn ich die schleife dann abarbeite muss ich die Stellgöße immer noch auf den maximalen Wert begrenzen, richtig?? Gruß Carsten
Achso was ich noch vergessen habe, es funktioniert nat hervorragen!! Tiefpaß_ausgang := (Tiefpaß_ausgang * k + Sollwert)/(k+1) bzw. stellwert = (istwert*faktor+sollwert)/(faktor+1)