Kapitel 6 Entwurf des Reglers auf endliche Einstellzeit - Christian ...
Kapitel 6 Entwurf des Reglers auf endliche Einstellzeit - Christian ...
Kapitel 6 Entwurf des Reglers auf endliche Einstellzeit - Christian ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
58<br />
<strong>Kapitel</strong> 7<br />
Software<br />
7.1 Wahl der Softwareumgebung<br />
7.1.1 Betriebssystem<br />
Das Programm regelt in Echtzeit. Unterbrechungen durch das Betriebssystem dürfen daher<br />
nicht vorkommen. Damit scheiden Systeme wie z.B. Windows aus, die sich nicht vollständig<br />
kontrollieren lassen und im Hintergrund noch Prozesse l<strong>auf</strong>en haben, die zwischendurch<br />
einfach einen Interrupt auslösen. Seit einiger Zeit gibt es auch für den privaten Nutzer<br />
Echtzeitbetriebssysteme wie LinuxRT und QXL. Nur leider erlauben diese Systeme keine<br />
direkten Addressenzugriffe ohne einen Treiber, der für die verwendeten DA- und AD-<br />
Wandler-Karten nicht verfügbar war. Daher wurde als System MS-DOS verwendet, das dem<br />
Benutzer alle Freiheiten läßt und keine Prozesse im Hintergrund l<strong>auf</strong>en hat, so daß immer<br />
volle Prozessorleistung zur Verfügung steht.<br />
7.1.2 Programmiersprache<br />
Als Programmiersprache wurde C verwendet, da es die schnellste ist, um die Abtastzeit T<br />
möglichst kurz wählen zu können. Als Compiler wurde der für alle Systeme frei verfügbare<br />
Compiler GNU-C (gcc) gewählt, um eine möglichst hohe Portabilität der Software zu<br />
ermöglichen.<br />
7.2 Regelungsabl<strong>auf</strong><br />
Der Regler mißt die Regelgröße x, berechnet aus ihr die Regelabweichung x d , bestimmt<br />
daraus die Stellfunktion u und gibt diese aus.<br />
Die softwaremäßige Umsetzung <strong>des</strong> <strong>Reglers</strong> ist in Abbildung 7.1 dargestellt. Am Anfang wird<br />
x d0 := W 0 und der Index <strong>auf</strong> k := 0 gesetzt. Der Wert von W 0 ist beim Hellregler immer gleich<br />
W 0 = -0.5 V. Beim Dunkelregler ist W 0 = (Abweichung <strong>des</strong> Photodetektorausgangs von 0V<br />
vor Regelungsbeginn).<br />
u k wird berechnet und <strong>auf</strong> das Taktsignal der Abtastzeit von T = 20 µs gewartet, die von<br />
einem quarzgesteuerten Timer kommt. Dann werden möglichst gleichzeitig u k <strong>auf</strong> das System<br />
gegeben und die Messung von x k+1 gestartet, da <strong>auf</strong>grund der Totzeit T t = T ist die Regelgröße<br />
um eine Abtastzeit zurückhängt. Durch die Ladezeit <strong>des</strong> Eingangskondensators <strong>des</strong> AD-<br />
Wandlers von 1.5 µs ist die Gleichzeitigkeit nur ungefähr möglich. Nach 12 µs Wartezeit <strong>auf</strong><br />
den AD-Wandler wird der Meßwert von x k+1 <strong>auf</strong>genommen, woraus durch