Forum: Mikrocontroller und Digitale Elektronik Fahrtregler


von Carsten S. (soulfly)


Lesenswert?

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

von Ulrich (Gast)


Lesenswert?

Indem sich der "Stellwert" oder Korrekurwert oder wies auch immer
heißt eine bestimmte Größe nie übersteigt

von Hannes L. (hannes)


Lesenswert?

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.

...

von Wolfgang (Gast)


Lesenswert?

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

von Sonic (Gast)


Lesenswert?

@ 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

von Wolfgang (Gast)


Lesenswert?

@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

von Moe (Gast)


Lesenswert?

stellwert = (istwert*faktor+sollwert)/(faktor+1)

so würd ichs machen - mit dem faktor musst du halt je nach anwendung
experimentieren...

von Carsten S. (soulfly)


Lesenswert?

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

von Carsten S. (soulfly)


Lesenswert?

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)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.