3 Aufbau der Regelstrecke

3.1 Systemüberblick

 

Abbildung 3-1: Systemüberblick des physikalischen Aufbaus

Der Aufbau der Strecke ist im Vergleich zu der in der Vorgängerarbeit dargestellten Strecke lediglich in der Positionserfassung verändert. Die Solarzelle mit Verstärkerschaltung wurde durch die Zeilenkamera mit CAN-Interface, ersetzt.

3.2 Der Servoverstärker

Ergänzend zu den Angaben der Vorgängerarbeit muß die in beiden Arbeiten eingesetzte „IxR-Kompensationskarte" vorgestellt werden. Der eingesetzte Servoverstärker „SVK" ist als 4-Quadranten-Regler für Servomotoren entwickelt worden. Seine Einsatzmöglichkeiten als schnelle, geregelte Stromquelle macht ihn jedoch auch für die entwickelte Anlage zur Fuzzy-Lageregelung interessant. Sowohl bei der Vorgängerarbeit, als auch bei der vorliegenden Arbeit wurde die eingebaute „IxR-Kompensationskarte" nicht beachtet. Diese aufsteckbare Erweiterungskarte rüstet den Servoverstärker auf eine Spannungsregelung um. Konzipiert wurde die Aufsteckkarte für den Einsatz von Motoren ohne Tachogenerator, welche üblicherweise läuferspannungsgeregelt betrieben werden.

Da der Servoverstärker durch die Aufsteckkarte spannungsgeregelt betrieben wird, ist der Strom durch den Magneten nach der Formel abhängig von dessen Widerstand und somit abhängig von dessen Temperatur.

Erst nach der Inbetriebnahme der Anlage wurde der Einsatz der „IxR-Kompensationskarte" aufgrund von Nachforschungen nach der Ursache der Temperaturabhängigkeit der Regelung festgestellt. Es wurden die im Anhang dargestellten Versuche zur Umrüstung des Servoverstärkers auf Stromregelung unternommen. Da durch das Entfernen der IxR-Kompensationskarte die Verstärkung des Servoverstärkers verändert wird, muß diese neu eingestellt werden. Dabei traten die ebenfalls im Anhang geschilderten Probleme auf, die in der kurzen verbliebenen Zeit nicht behoben werden konnten.

3.3 Das Positionserfassungssystem

Die Erfassung der Kugelposition erfolgt optisch über eine Zeilenkamera mit integriertem Bildverarbeitungsrechner. Für die Signalübertragung zum PC wird ein CAN-Bus-Interface eingesetzt.

 

Abbildung 3-2: Das Positionserfassungssystem

Die Zeilenkamera ist so angeordnet, daß sie senkrecht nach oben über einen Umlenkspiegel auf den Regelbereich schaut. Dabei nimmt sie die vertikale Achse, auf der sich die Kugel bewegt, auf. Der Umlenkspiegel dient der Verlängerung des optischen Weges, so daß ein Objektiv mit längerer Brennweite und somit geringerer Verzerrung eingesetzt werden kann. Auf der dem Umlenkspiegel gegenüberliegenden Seite des Magneten ist eine Leuchtstofflampe mit Hochfrequenzvorschaltgerät angebracht. Das Hochfrequenzvorschaltgerät (OSRAM Quicktronic de luxe HF 432-1) betreibt die Lampe mit einer Frequenz, die ein Vielfaches der Zeilenabtastfrequenz darstellt. Dadurch werden netzfrequenzbedingte Helligkeitsschwankungen vermieden. Die Anordnung der Beleuchtung als Gegenlichtbeleuchtung verstärkt den Kontrast.

3.3.1 Die Zeilenkamera

Zum Einsatz kommt die Zeilenkamera „NANOdim" der Firma NANOsystems aus Bochum. In die Kamera ist die Funktionalität einer Framegrabberkarte sowie eines Bildverarbeitungsrechners bereits integriert. Der integrierte Bildverarbeitungsrechner basiert auf einem Intel 80196KC-Microprozessor, der mit 16 MHz getaktet wird. Die verwendete CCD-Zeile hat eine Auflösung von 2588 Pixel bei 256 Graustufen und eine Pixelfrequenz von 20 MHz.

Die für alle Bildverarbeitungsfunktionen der Kamera grundlegende Funktion ist die Kantendetektion. Auf ihr aufbauend kann die Kamera selbstständig Breiten, Kantenanzahlen, Kantenlagen, Objektanzahlen und Objektpositionen ermitteln. Kanten werden anhand eines definierbaren Schwellwertes detektiert. Überschreitet der Grauwertverlauf der aufgenommenen Zeile diesen Schwellwert, so bedeutet das eine Kante an dieser Position. Der Schwellwert ist üblicherweise ein konstanter Grauwert. Er kann jedoch auch als eine dem Grauwertverlauf der Zeile entsprechende Grauwertkurve definiert werden. Dadurch können Einflüsse durch ungleichmäßige Beleuchtungen und Abdunkelungen zum Rande eines Objektivs hin vermieden werden. Eine für die genaue Kantenermittlung vorteilhafte Funktion stellt die Videoverstärkung dar. Sie verstärkt das vom CCD-Chip kommende Videosignal um einen vom Benutzer einstellbaren Faktor. Die anschließende A/D-Wandlung ermittelt nun Werte, die zu hellen Grauwerten hin gestreckt sind. Helle Grauwerte ab einem bestimmten Wert stellen eine Überbelichtung dar und werden auf den maximalen Grauwert von 255 abgebildet. Die Videoverstärkung stellt somit eine Kontrastverstärkung dar. Kantenpositionen können durch diese Kontrastverstärkung genauer ermittelt werden, da Grauwertschwankungen steiler abgebildet werden.

Die Kamera kann bis zu 16 Meßaufgaben gleichzeitig bearbeiten. Für die einzelnen Meßaufgaben können Toleranzbereiche festgelegt werden. Liegt ein ermittelter Wert außerhalb des für ihn festgelegten Toleranzbereiches, so kann einer von vier zur Verfügung stehenden binären Ausgängen gesetzt werden. Bei der vorliegenden Arbeit wurde jedoch nur eine Meßaufgabe eingerichtet. Sie ermittelt die Mitte zwischen den beiden Kugelkanten, was der Mittelposition zwischen der zweiten und dritten Kante der erfassten Zeile von links entspricht. Das vorliegende Positionserfassungssystem wertet, im Gegensatz zu den beiden Vorgängerarbeiten, beide Kugelkanten aus. Die Ermittlung der Kugelposition über zwei Referenzkanten minimiert Fehler in der Erfassung einer der beiden Kantenpositionen. Mathematisch betrachtet reduziert das Positions-erfassungssystem die dreidimensionale Realität auf ein zweidimensionales Abbild, in welchem die Kugel auf einen Kreis reduziert ist. Von diesem Kreis nimmt die Zeilenkamera eine senkrechte Sekante auf. Alle senkrechten Sekanten haben die Eigenschaft, daß ihr Mittelpunkt auf einer Horizontalen durch den Kreismittelpunkt liegt. Dadurch wirken sich Positionsänderungen der Kugel in einer horizontalen Ebenen nicht auf die Positionserfassung aus. Positionsänderungen zum Positionserfassungssystem hin, davon weg, oder in seitlicher Richtung bedeuten eine Vergrößerung oder Verkleinerung der Kugel, bzw. eine Parallelverschiebung der Sekante. In jedem Fall gibt der Mittelpunkt der aufgenommenen Sekante die Höhenposition der Kugel an.

 

Abbildung 3-3: Auswirkung einer horizontalen Positionsänderung der Kugel

Als Optik wurde ein 50mm-Objektiv der Firma Cosmikar eingesetzt. Dieses Objektiv bildet den zu beobachtenden Bereich auf ca 35% der CCD-Zeile ab. Durch den Einsatz eines Objektivs mit einer längeren Brennweite könnten die zur Verfügung stehenden 2588 Pixel der CCD-Zeile besser ausgenutzt werden. Dadurch wäre die Pixelauflösung und somit die Geschwindigkeitsauflösung der Positionserfassung deutlich vergrößert. Ein deutlich stabileres Regelungsverhalten wäre zu erwarten. Leider stand ein derartiges Objektiv nicht zur Verfügung.

Zur Integration in die Anlage muß die Kamera zuerst mittels des mitgelieferten Parametrierungsprogramms auf ihre Meßaufgabe eingestellt werden. Anschließend arbeitet sie selbstständig und gibt fortlaufend Positionswerte auf den CAN-Bus aus. Bei der gegebenen Meßaufgabe erreicht sie eine Positionsausgaberate von ca. 850 Messungen pro Sekunde. Um ein Überlaufen des CAN-Buffers zu vermeiden, wird die kontinuierliche Meßwertausgabe nach der Einstellung der Meßaufgabe abgeschaltet. Zu Beginn der Regelung wird sie von dem Regelungsprogramm wieder eingeschaltet und mit einem speziellen Steuerzeichen, dem TRG-Signal gestartet.

3.3.2 Der CAN-Bus

Im folgenden Abschnitt soll eine kurze Einführung über Eigenschaften, Funktionsweise und Aufbau des CAN-Bus gegeben werden. Eine genauere Beschreibung würde den Rahmen dieser Arbeit sprengen. Darum sei hierfür auf die Fachliteratur verwiesen.

Der CAN-Bus (CAN = Controller Area Network) ist ein differentieller Echtzeit-Industriebus. Seine besonderen Kennzeichen sind:

- Hohe Störsicherheit durch differentielle Signalübertragung

- Hohe Übertragungsraten (bis 1 MBaud)

- Multimaster-Bus

- Echtzeitdatenübertragung durch intelligente CAN-Controller

- Entlastung des Prozessors durch intelligente CAN-Controller

- Fehlerkontrolle mit automatischer Sendewiederholung gestörter Nachrichten

- Verschiedene Nachrichtenprioritäten

- Je nach CAN-Treiber zwischen 13 und 30 Busteilnehmer möglich

- Defekte Busteilnehmer werden erkannt und ausgeschlosssen

Die Ursprünge des CAN-Bus liegen im Jahre 1981. Damals suchte die Robert Bosch AG eine Möglichkeit, einen Echtzeit-Datenaustausch zwischen verschiedenen Funktionsgruppen eines Fahrzeuges zu realisieren. Nach fünf Jahren Entwicklung konnte Bosch die Ergebnisse des Entwicklungsteams veröffentlichen. 1986 wurde die erste Version des CAN-Bus und 1991 der erste PKW mit Motor-CAN der Öffentlichkeit vorgestellt. Seitdem schreitet die Verbreitung des CAN-Bus immer weiter fort. In der Fahrzeugtechnik ist CAN heute Standard. Auch in der Industrie und der Medizintechnik werden immer mehr Anwendungen mit CAN-Bus entwickelt.

Der CAN-Bus arbeitet mit zwei Signalleitungen - CAN_HI und CAN_LO. Dabei liegt auf CAN_HI das invertierte Signal von CAN_LO. Symmetrierungsdrosseln in jedem Schnittstelleneingang sorgen für die Übertragung der Störungen einer Leitung auf die jeweils andere Leitung. Im Schnittstelleneingang wird das CAN_HI-Signal invertiert und zum CAN_LO-Signal addiert. Die Störungen auf CAN_HI werden durch die Invertierung und anschließende Addition zu den nichtinvertierten Störungen auf CAN_LO eliminiert. Der Signalpegel wird durch dieses Verfahren verdoppelt.

 

Abbildung 3-4: CAN-Signalpegel mit Störung

Der CAN-Bus arbeitet auf Basis von CAN-Telegrammen, auch Frames genannt. CAN-Telegramme sind speziell formatierte Bitfolgen auf dem Bus. Es gibt vier unterschiedliche CAN-Telegramme. Diese sind „Data Frame", „Remote Frame", „Error Frame" und „Overload Frame". Im Data Frame werden Daten gesendet. Das Remote Frame fordert Daten an. Das Error Frame ist ein Data oder Remote Frame, welches von einem Knoten (einem Busteilnehmer) als fehlerhaft erkannt und zur Fehlerkennzeichnung für alle anderen Knoten mit einem Fehlerflag versehen wurde. Das Overload Frame wird von einem Knoten gesendet, der vorübergehend keine Daten empfangen kann. Alle Telegramme besitzen als erstes Feld einen Identifier. Dieser besteht bei der CAN-Spezifikation 2.0, Teil A aus 11 Bit und bei der CAN-Spezifikation 2.0, Teil B aus 29 Bit.

Hardwareseitig gibt es drei verschiedene Ausbaustufen bei CAN-Controllern. Full-CAN implementiert das CAN-Protokoll hardwaremäßig und besitzt eigenen Speicher zur Zwischenspeicherung von Kommunikationsobjekten (Kommunikationsobjekte sind Datenstrukturen, die auf mehrere Data Frames verteilt werden). Der Prozessor kann ganze Datenstrukturen an den Controller übergeben oder von ihm übernehmen und wird somit entlastet.

Basic-CAN implementiert ebenfalls das CAN-Protokoll auf Hardwareebene, besitzt jedoch einen Registersatz, in dem er nur einen Frame speichern kann. Der Prozessor muß sich um die Speicherung der einzelnen zu sendenden oder empfangenen Frames kümmern.

Die einfachsten CAN-Implementationen sind SLIOs (Serial Link Input/Output). Sie besitzen keinerlei Eigenintelligenz und müssen aus Synchronisations-gründen regelmäßig von einem anderen Busteilnehmer angesprochen werden. SLIOs erhöhen dadurch die Buslast. Sie dienen hauptsächlich als Businterface für I/O-Bausteine.

Microcontroller mit integriertem CAN-Controller gewinnen immer mehr an Bedeutung. Dabei besitzen die meisten von ihnen einen Basic-CAN-Controller.

3.3.3 Die PC-CAN-Karte

Eingesetzt wird eine CAN-AC2-Karte der Firma Softing GmbH aus München. Es ist eine ISA-Karte mit einem NEC V25+ Microprozessor und 2 * 64 Kbyte DPRAM (dual portet RAM - Speicher, auf den gleichzeitig vom PC und vom Microprozessor auf der Karte zugegriffen werden kann). Auf der Karte sind zwei Basic-CAN-Controller nach CAN-Spezifikation 2.0, Teil A integriert, von denen die Kamera an CAN-Anschluß 1 angeschlossen ist. Die Kommunikation mit der Karte geschieht über eine mitgelieferte C-Library. Diese Library unterstützt sowohl Erstellung, Versendung, Empfang und Verarbeitung von Kommunikationsobjekten über das sogenannte „Object memory" als auch Senden und Empfangen einzelner Frames über FIFO-Speicher. Da die Kamera nur einzelne Frames sendet, wird die CAN-Karte nur für FIFO-Operationen konfiguriert. Für FIFO-Operationen wird nicht der gesamte DPRAM-Speicherbereich, welcher in den oberen Speicherbereich des PCs eingeblendet wird, benötigt. Daher wurde der in den PC-Speicher eingeblendete Bereich auf 16 Kbyte eingeschränkt und in den Speicherbereich zwischen D0000 und D3FFF gelegt. Die CAN-Karte kennt zwei verschiedene Komunikationsmodi - den Pollingmodus und den Interruptmodus. In dem verwendeten Pollingmodus fragt der PC die Karte nach neuen Ereignissen auf dem CAN-Bus ab. Der Interruptmodus erzeugt einen PC-Interrupt, sobald ein neues Ereignis auf dem CAN-Bus aufgetreten ist.

 

 

Zurück zum Inhaltsverzeichnis

Zum nächsten Kapitel

Zurück zu meiner Homepage