11 PID-Regler mit dem Mikrocontroller
- Als Abschluß des Kurses soll ein PID-Regler mit dem Mikrocontroller programmiert werden, um eine Fahrtregelung für das Vehikel zu realisieren.
- Die Arbeit kann in drei Phasen aufgeteilt werden:
|
Phase1: Bestimmung der Winkelgeschwindigkeit ω
- Die Achsmotoren liefern über den Dynamoeffekt eine
Spannung proportional zur Winkelgeschwindigkeit.
- Im ersten Schritt soll aus den Werte, die der
AD-Wandler für den linken und den rechten Motor liefert,
die Winkelgeschwindigkeit der linken und rechten Achse
bestimmt werden und in der digitalen Anzeige ausgegeben werden.
|
Phase2: Bereitstellung der Input-Größen für den PID-Regler
- Aus der Winkelgeschwindigkeit w und der Soll-Winkelgeschwindigkeit ωsoll,
wird die Regeldifferenz diff, deren Integral integ und deren Ableitung ableitung bestimmt.
- Da über einen Timer dafür gesorgt wird, dass ein Programmzyklus
0,001 Sekunden dauert, gilt als Zeitschrittweite dt=0,001s und
somit gilt auch:
|
diff = wsoll - w
integ_neu = integ_alt + diff*dt
ableitung = (diff_neu - diff_alt)/dt
Code 11-1: Bestimmung der Input-Größen für den PID-Regler im Zeitbereich
Phase3: Verwendung des PID-Reglers
- Der Ausgang des PID-Reglers berechnet sich zu:
- u = P*diff + I*integ + D*ableitung;
- Nun fehlt noch der Zusammenhang zwischen PWM Signal und Motorspannung u.
- Die Spannung u ist die mittlere Spannung des PWM-Signals.
|
Hinweis: Orientieren Sie sich an "GROSSEFAHRT3 in Kapitel 1.5 in SimProTec"