kramann.info
© Guido Kramann

Login: Passwort:










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"