Controller Software
Regler Entwurf
Eingänge
- Gashebel (d): 0..1024 [keine Einheit]
- Strom (i): -400..400 [entspricht ca. -30A .. 30A]
- Geschwindigkeit (v): 8184..0 [Zeit zwischen 2 Kommutierungen in 0.25µs Schritten]
- Aufgrund des Rechenaufwandes wird zur Umrechnung eine lineare Näherung verwendet
- v = 1023 - v/8
- daduch hat v einen ähnlichen Wertebereiche wie d und kann damit verglichen werden.
Ausgänge
- Tastverhältnis (u): 0..4000 [keine Einheit]
Randbedingungen
- ca. 1625 ticks pro Kommutierung entsprechen 25 km/h
- ca. 825 ticks pro Kommutierung entsprechen 50 km/h
Reglerparameter
- der I-Anteil muss mindestens so stark gewichtet sein, dass er 100% der Stellgröße erreichen kann, damit das Rad beim loslassen des Gashebels nicht bremst. Ein höherer Wert macht keinen Sinn, damit ist die Verstärkung des I-Anteils festgelegt.
- Über eine Gewichtung des Fehlers vor dem Integrieren, kann die Integrationsgewschwindigkeit bestimmt werden.
- Der P-Anteil ist nach oben hin begrenzt, damit ein Überlaufen der Variable nicht auftritt.
- Das vergrößern der entsprechenden Variable auf 32Bit führt zu einer Ausführungszeit der ISR von 28µs statt 9µs bei 16Bit und ist daher nicht sinnvoll.