www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fahrtregler


Autor: Carsten Sch. (soulfly)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ulrich (Gast)
Datum:

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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht 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.

...

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Moe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stellwert = (istwert*faktor+sollwert)/(faktor+1)

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

Autor: Carsten Sch. (soulfly)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Carsten Sch. (soulfly)
Datum:

Bewertung
0 lesenswert
nicht 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)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.