Jonathan I. schrieb:
> Beim Debuggen stelle ich fest, dass meine Stellgröße manchmal negativ
> ist.
>
> Meine Fragen lauten:
> 1. Soll ich die untere Grenze der Stellgröße auf 0 setzen, da der DAC
> nur Spannungen im Wertebereich 0...2,5V ausgeben kann ?
Dein DAC wird wohl dann mit negative Zahlen herzlich wenig anfangen
können. Sehr wahrscheinlich wird der sogar mit unsigned Werten arbeiten.
D.h. aufgrund des Aufbaus von 2-er Komplement-Zahlen wird der deine
negativen Werte als sehr grosse positive Zahlen ansehen.
Es ist immer gut, wenn man sich an vorgegebene Grenzen hält. Wenn dein
DAC nur Werte im Bereich 0 bis sagen wir mal 2048 richtig verarbeiten
kann, dann wird es eine ziemlich gute Idee sein, dafür zu sorgen, dass
dieser Wertebereich auch nicht verlassen wird. Es ist zwar schön, wenn
dein Regelalgorithmus auf eine Temperatur von 3 Millionen Grad aufheizen
will. Wenn aber der Tauchsieder nicht mehr als 120° hergibt, dann kann
sich dein Regelalgorithmus Kopf stellen. Mehr als diese 120 wirds nicht.
Daher: ja.
Wenn in deiner Regelschleife negative Zahlen rauskommen, und der DAC
damit nichts anfangen kann, dann wird es eine ziemlich gute Idee sein
nicht darauf zu bauen, dass irgendeine magische höhere Instanz eingreift
und das wieder ausbügelt (es sei denn in der Doku steht, dass das ok
ist). Kleiner als 0 geht nun mal nicht.
> 2. In einigen Beispielen habe ich gesehen, dass die Stellgröße noch mit
> dem LSB-Wert multipliziert wurde. Warum ?
Kommt eben drauf an, in welchen Einheiten die Regelschleife operiert.
Arbeitet die direkt mit den Werten, die zb an den DAC gehen oder
operiert die zum Beispiel in der Einheit 'Grad Celsius'. Dann gibt es
eben irgendeinen Zusammenhang zwischen dieser Einheit und dem was man an
den DAC geben muss. Denn der will ja in 'seinen Einheiten' gefüttert
werden.
In den Beispielen, die du gesehen hast, wird wahlrscheinlich die
Regelschleife in der Einheit 'Volt' operieren. Wenn also die
Regelschleife rauskriegt, dass der Ausgang auf 3.38V einzustellen ist,
dann muss man logischerweise noch mit dem LSB-Wert multiplizieren um dem
DAC diese 3.38V 'in seinen Einheiten' schmackhaft zu machen.
> zum ersten Mal ein Regelalgorithmus und fühle mich dabei ein
> bisschen unsicher.
Brauchst du nicht. Mit ein bisschen Hausverstand ist das alles kein
Problem. Du regelst als Mensch dauernd irgendwas und machst das intuitiv
schon richtig. Wenn ein Heizkörperventil schon komplett zu ist, dann
versuchst du nicht noch weiter zuzudrehen. Denn erstens bringt das
nichts und zweitens ruinierst du es damit höchstens. Aber Effekt
erreichst du damit keinen mehr. Komplett abgedreht ist nun mal komplett
abgedreht. Noch weniger geht nicht.
Genauso in der umgekehrten Richtung. Ist das Heizkörperventil (im
Winter) voll aufgedreht, dann bringt es nichts mehr, es noch weiter
aufdrehen zu wollen. Mehr als 'schon komplett offen' geht nun mal nicht.
Da spielt es auch keine Rolle mehr, ob der holden Weiblichkeit kalt ist
oder nicht.