Beschreibung der Komponenten

I²C - Bus

Schrittmotorsteuerung / Aktorik

I²C - Bus

Benutzerschnittstelle Display und Tastatur

Bezeichnung

Enthaltene Teilfunktionen

Lösung

A: Wandeln Smech2 – Sel2 Auswahl der zu verstellenden Masse  
C: Wandeln Smech2 – Sel6 Startsignal

Tastenfeld 4x2

K: Wandeln Smech1 – Sel1 Eingabe des Verstellwegs  
S: Wandeln
Sel7 – Sopt2
Ausgabe: "Vorgang beendet"

LCD – Punktmatrixdisplay 16x2 Zeichen

Tastenfeldbelegung

tasten1.gif (1975 Byte)

Tasten

Funktion

1 bis 4

Massenauswahl

+ / -

Verstellweg ( Up – Down – Taster)

E

Enter

¤

Start der Wellenrotation (DC-Motor)

Das Tastenfeld ist als Matrix geschaltet und wird mit dem I/O-Expander PCF8574 über den I2C-Bus angesteuert.

Um die Tastatur auf Betätigung abzufragen legt das Programm alle Eingänge der Tastaturmatrix auf High und daraufhin nacheinander je einen Eingang auf Low. Liegt daraufhin einer der Tastaturausgänge auf Low, wurde im Schnittpunkt zwischen Eingangs- und Ausgangspin die Taste gedrückt.

tasten2.gif (3186 Byte)
   Tastaturschaltung als Matrix

Displayausgaben

Die Verwendung des Punktmatrixdisplays ermöglicht die Erweiterung der optischen Ausgabe des Geräts, wodurch sich der Bedienkomfort ohne großen, zusätzlichen Aufwand steigern läßt.

1. Nach dem Einschalten: Vorspann: (Verschiedene Angaben über Gruppe,Thema, Dozent, usw.)
2. Nach dem Vorspann:

anzeige1.gif (1215 Byte)

3. Information über die Kalibrierung des Geräts: anzeige2.gif (1227 Byte)

anzeige3.gif (1260 Byte)

4. Hauptmenue: anzeige4.gif (1260 Byte)
5. Während der Massenverstellung: anzeige5.gif (1224 Byte)

anzeige5a.gif (1240 Byte)

anzeige5b.gif (1247 Byte)

6. Während der Wellenrotation: anzeige6.gif (1160 Byte)

Realisierung

Im Rahmen einer Diplomarbeit bei Prof. Walter (Titel: "Autarke Bojenmeßstation"; Autor: Marcus Müller; Jahr: 1997) wurde eine Benutzerschnittstelle mittels eines LCD-Punktmatrixdisplays und einer 4x4 Tastenfeld realisiert. Beide Komponenten wurden durch einen Microcontroller über einen I²C-Bus angesteuert. Da Herr Müller die Benutzerschnittstelle auf einer separaten Platine eingerichtet hatte, ist es uns möglich, diese für unsere Zwecke zu übernehmen. Aus dem Schaltplan der Bojenmeßstation muß der Schaltungsteil für den I²C-Bus extrahiert werden. Ebenso kann die Software zur Initialisierung von Bus und Display aus der Diplomarbeit übernommen werden. Der Kern des Tastaturtreibers konnte ebenfalls direkt aus der Dokumentation eines abgeschlossenen Projekts übernommen werden.

(Micro-3 von Herrn Jürgen Barthlott. Die Dokumentation befindet sich auf F-PC-162\Projekte\Microcomputerlabor\Micro3)

Blockschaltbild

block_i2c.gif (4167 Byte)

Modifikationen

  • Da zur Eingabe lediglich 8 Tasten benötigt werden, sind die unteren zwei Zeilen im der Übersichtlichkeit halber Tastenfeld vorübergehend entfernt worden. Diese Veränderung ist jedoch problemlos reversibel.
  • Die Treibersoftware für den I²C-Bus wird zeitoptimiert, um eine schnelle Ein- / Ausgabe zu ermöglichen.
  • Die Ein- / Ausgabefunktionen der Software werden den Anforderungen unseres Projekts entsprechend angepaßt und erweitert. Haupterweiterung: Die Ausgabe von Zahlenwerten zusätzlich zur Ausgabe von Textzeichen.
  • Anordnung der I²C-Master-Komponenten auf einer separaten Platine. Hierdurch läßt sich der Bus für zukünftige Projekte direkt mit der Euro_535-Platine des Volkscontrollers verbinden und sofort einsetzen. (Auf Wunsch von Prof. Walter)
  • Kapselung der Ansteuerungssoftware in einer separaten Datei, die für zukünftige Projekte mit nur einem "#include"-Befehl eingebunden werden kann und sofort alle nötigen Funktionen zur Verfügung stellt.

Zu detaillierteren Informationen über den I²C – Bus (Protokoll, Timing, etc.) verweisen wir auf besagte Diplomarbeit. Ebenso sind detailliertere Informationen zur Tastatur in der Micro-3 Dokumentation zu erhalten.

Schrittmotorsteuerung / Aktorik

Die Aktorik der ausgewählten Lösung umfaßt folgende Elemente:

  • Anfahren einer Referenzposition des Aufbaus
  • Anfahren einer Referenzposition der Massen
  • Positionierung der Achsen
  • Verstellung der Massen
  • Verknüpfen der Massen mit dem Verstellmechanismus
  • Rotation des Aufbaus

Die Realisierung der einzelnen Funktionen soll im Folgenden erläutert werden.

Anfahren einer Referenzposition und Positionierung der Achsen

Bei der Ausrichtung des Aufbaus besteht die zentrale Problematik darin, aus einem undefinierten Zustand, wie er nach der Rotation des gesamten Systems besteht, in eine bekannte Position zu fahren. Dazu wird zunächst ein Referenzpunkt benötigt, an dem sich das System ausrichten kann. Bei der vorliegenden Lösung wird hierzu das Nullsignal der eingebauten Inkrementallichtschranke genutzt.

Die Lichtschranke, die an eine Versorgungsspannung von 6V angeschlossen wird, liefert bei Erreichen einer bestimmten Position ein LOW-Signal, das der Mikrocontroller erkennen kann. Das Achsenkreuz der Ausgleichsmassen wurde nun so eingestellt, daß sich bei Auslösung des Nullsignals eine der Achsen in Verstellposition befindet.

Als nächstes muß man den Aufbau so kontrolliert rotieren lassen, daß ein exakter Halt bei der Referenzposition möglich ist. Dazu bietet sich ein Schrittmotor an. Dieser erlaubt nicht nur ein präzises Anhalten bei jeder gewünschten Position sondern ermöglicht auch die Umdrehung um definierte Winkel, was später bei der Positionierung der Achsen wichtig ist. Außerdem weist er im Stillstand ein großes Haltemoment auf, was ein nachträgliches Verdrehen der Achsen verhindert. Da ein Schrittmotor jedoch nicht in der Lage ist, die hohen Umdrehungszahlen auszuführen, die das unwuchtige System in Schwingung versetzen, so daß man die Unwucht bestimmen kann, muß er zusätzlich zum vorhandenen DC-Motor an den Aufbau angekoppelt werden. Um aus der Schwingung des Systems Rückschlüsse auf die Unwucht ziehen zu können, muß der Einfluß der Motoren auf die Schwingung klein gehalten werden. Deshalb sind beide Motoren durch ein Kardangelenk von dem Rotationskörper entkoppelt.

Für den Schrittmotor zu Achsausrichtung ergeben sich folgende Anforderungen:

  • Drehmoment von mind. 4 mNm, um Aufbau zu drehen
  • Umdrehungsfrequenz von ca. 0,1 Hz, um sicheres Anhalten zu gewährleisten
  • Geringes Reibemoment im Leerlauf, was bei kleinen Schrittwinkeln des Motors erreicht wird
  • Möglichkeit einer elektrischen Entkopplung im Rotationsbetrieb, um Haltemoment auszuschalten

Wir wählten einen unipolaren 4-Strang Schrittmotor mit 200 Schritten / Umdrehung, was einem Schrittwinkel von 1,8° entspricht.

Der Motor wird durch einen Steuerchip vom Typ SAA1027 der Firma Philips mit Zusatzbeschaltung gesteuert. Anzahl und Geschwindigkeit der Schritte können hier über TTL-Impulse aus dem Controller bestimmt werden, deren Anzahl und Frequenz entsprechend variiert wird. Über ein weiteres Bit aus dem Controller läßt sich die Drehrichtung des Motors festlegen. Als Versorgungsspannung benötigt die Schaltung 12V, was im wesentlichen durch die Art des Motors bestimmt wird.

Schon hier zeigt sich, daß für den Betrieb der Auswuchtvorrichtung zwei unterschiedliche Spannungsversorgungen nötig sind, 12V und 6V. Mit diesen zwei Spannungen läßt sich jedoch der gesamte Aufbau realisieren.

Besondere Probleme bereitete uns der geringe Spulenwiderstand dieses leistungsstarken Motors. Der dadurch auftretende große Stromfluß mußte durch hoch leistungsbeständige Vorwiderstände begrenzt werden. Die verwendeten 5W-Widerstände entwickeln jedoch sehr hohe Temperaturen, so daß die Schaltung erst nach Einbau einer zusätzlichen Ventilatorkühlung betrieben werden konnte.

Die elektrische Entkopplung des Motors im Rotationsbetrieb wird durch eine vollständige Trennung des gemeinsamen Versorgungsstrangs aller 4 Phasen des Motors von der Versorgungsspannung erreicht. Dazu wurde eine kombinierte Transistor-Relais-Schaltung entwickelt, die ausgelöst durch ein entsprechendes Signal des Mikrocontroller die Kontakte des Relais öffnet oder schließt.

In der Software wird die aktuelle Achsposition nach dem erstmaligen Anfahren des Nullpunkts kontinuierlich über die verfahrenen Schritte des Schrittmotors gespeichert. Nachdem das System also seine Position erkannt hat, wird der Aufbau nur noch in 1/4 Umdrehungen (Blöcken a 50 Schritten) verfahren, so daß immer eine bestimmte Achse zur Verstellung der Massen bereitsteht.

Rotation des Aufbaus

Wie bereits im vorhergehenden Abschnitt angesprochen, soll es auch während des Auswuchtvorgangs möglich sein, den Aufbau in schnelle Rotation zu versetzen. Die Unwucht des Rotationskörpers bringt das System dabei zum Schwingen, so daß man an der Größe der Amplituden das Fortschreiten des Auswuchtvorgangs beobachten kann.

Realisiert wurde diese Funktion folgendermaßen:
Nach Betätigung der Rotationstaste auf der Tastatur wird zunächst der Schrittmotor von der Rotationsachse mit Hilfe der Transistor-Relais-Kupplung elektrisch getrennt. Danach wird der vorhandene DC-Motor eingeschaltet. Auch hierfür wurde ein elektronischer Schalter aufgebaut, bei dem diesmal ein normaler Transistor und ein Leistungstransistor die Stromzufuhr zum Motor regeln. Die Ansteuerung des Schalters wird ebenfalls vom Controller übernommen.

Nach dem Stoppen des DC-Motors wird nach einer programmierten Auslaufzeit der Schrittmotor wieder angekoppelt. Bevor jetzt mit dem Auswuchtvorgang fortgefahren werden kann, müssen sich zunächst die Achsen neu kalibrieren, d.h. der Referenzpunkt wird angefahren.

Verknüpfen der Massen mit dem Verstellmechanismus

Bei der Auswahl des Verstellmechanismus mußte eine konstruktive Lösung gefunden werden, die ein möglichst einfaches, aber sicheres Ergreifen der Massestücke ermöglicht. Als günstigste Lösung kristallisierte sich ein Sechskantsystem heraus, das aus einer Sechskantmutter auf den Verstellachsen und einer dazu passenden Sechskant-Werkzeugaufnahme besteht. Dieses System gewährleistet ein sicheres Erfassen der Massestücke in 60° Winkelschritten, was einer Mindestpositionsveränderung von 1/12 mm entspricht. Die Stufung des Verstellwegs ist ausreichend genau, um eine präzise Auswuchtung durchzuführen.

Die Sechskant-Werkzeugaufnahme wurde auf einem spindelgetriebenen Schlitten vor dem Versuchsaufbau positioniert. Dieser wird für die Verstellung der Massen nach vorne gefahren, wobei sich die Werkzeugaufnahme über die Mutter auf der gerade ausgewählten Achse stülpt. Der Antrieb der Spindel wurde wiederum über einen Schrittmotor realisiert, der jedoch eine geringere Schrittzahl von 48 Schritten / Umdrehung und einen höheren Spulenwiderstand als der Motor für die Achspositionierung hat. Dadurch wurden die Leistungswiderstände in der Steuerung überflüssig.

Da sich die Wegzeugaufnahme beim Vor- und Zurückschrauben der Mutter mitbewegen und gleichzeitig einen gewissen Druck auf sie ausüben soll, wurde die Werkzeugaufnahme durch ein flexibles Federsystem mit dem Schlitten verbunden, welches sich an die aktuelle Position der Mutter anpassen kann.

Anfahren einer Referenzposition und Verstellung der Massen

Wie schon die Achsen, so müssen auch die Massestücke vor Beginn des eigentlichen Auswuchtvorgangs in eine definierte Position gebracht werden, von der aus dann die Verstellung erfolgen kann.

Bei der von uns gewählten Lösung werden alle 4 Massen nach dem Starten des Programms auf ihren Gewindestangen ganz nach innen geschraubt und damit der Verstellweg auf 0 gesetzt. Da das Programm nicht weiß, wo sich die Massen beim Start befinden und somit nicht den genauen Verfahrweg kennt, wird das Erreichen der Nullposition über einen Endschalter kontrolliert. Ebenso kann es vorkommen, daß eine Mutter anfangs nicht in einer der definierten 60° Positionen steht. Dieses Problem wird durch das Federsystem auf dem Schlitten ausgeglichen, das durch seinen Druck nach vorne dafür sorgt, daß die Werkzeugaufnahme spätestens bei der ersten Drehung über die Mutter rutscht.

Die Rotation der Werkzeugaufnahme wird von einem dritten Schrittmotor übernommen, der baugleich mit dem für die Spindeldrehung ist. Auch er wird über einen SAA1027 Chip mit Zusatzbeschaltung gesteuert.

Nach der ersten Einrichtung speichert der Controller die Positionen aller 4 Massen und verfolgt alle Veränderungen, solange bis das Programm beendet wird. Die gewünschte Verstellung der Massen wird durch Ausgabe einer definierten Anzahl von Impulsen an den Schrittmotor erzeugt. Eine eigentliche Messung des Verstellweges erfolgt nicht. Außerdem sorgt der Controller dafür, daß sich der Schlitten beim Verstellen der Massen parallel zu deren Bewegung verschiebt, damit der Federdruck auf die Muttern möglichst konstant bleibt und die Verstellung präzise erfolgt. Dabei mußten die unterschiedlichen Steigungen von Spindel und Gewindestangen berücksichtigt werden.