Hallo Frank,
das ist eine Beispieldatei. Ich habe mal den Code überflogen. Das Progrämmchenist sehr interessant. Sollte sich eigentlich ganz einfach in eigene Projekte integrieren lassen.
Zu beachten ist allerdings:
Damit die Berechungen des PID-Algorhytmus exakt ausfallen, muss die Rechenroutine (Regulator in exakten Zeitabständen aufgerufen werden. In dem Beispiel wird das durch eine Verzögerung mit 50ms erreicht.
Wenn in einem eigenen Programm dann noch mehr Programmteile ausgeführt werden, dürfte das zu ungenau werden. Es ist dann besser die Rechenroutine über einen Timer-Interrupt aufzurufen und somit gleiche Zeitabstände zu erreichen.
Eine andere Sache sind die Parameter P, I und D, die hier im Programm fest vorgegeben sind. Jede Regelstrecke (also das zu regelnde Objekt) ist anders und erfordert hier eigene Einstellungen. Dazu gibt es 2 Verfahren diese zu ermitteln, die zwar einfach sind, aber diesen Rahmen hier sprengen würden.
Viele Grüße
Michael
Lesezeichen