05.11.2013 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!