Teil 2: Ein Mess-Schlitten für den optischen Sensor
Startseite Projekt Teil 1: Steuerung über Line-Out Teil 2: Schrittmotorschlitten Teil 3: Lichtintensitäten messen

Teil 2: Ein Mess-Schlitten für den optischen Sensor.

Im ersten Teil dieser Reihe haben Sie erfahren, wie man mit Hilfe des DTMF-Verfahrens aus der Telefontechnik ein 4-bit Nibble für Steuerungsaufgaben über den Line-Out Ausgang der Soundkarte ausgeben kann.

In diesem Teil des dreiteiligen Beitrags geht es darum, wie man einen Mess-Schlitten zur Abtastung optischer Spektren baut, den man von der Soundkarte aus steuern kann. Dabei lernen Sie auch, wie Schrittmotoren funktionieren und wie man sie ansteuert.


1.) Die Hardware des Mess-Schlittens.

Für unsere Aufgabe ist eine exakte Mechanik unerläßlich. Gerade hier liegt für den Selbstbau das Problem eine Mechnik zu haben, die exakt positioniert (besser als 1 mm) und genau und reibungsarm läuft. Doch es gibt eine einfache Lösung:

Jeden Tag werden unzählige Tintenstrahldrucker "ausgemustert", weil die Druckkosten zu hoch sind, sie einem neueren Modell weichen müssen, oder weil die Düsen so verstopft sind, dass keine Hilfe mehr möglich ist. Für den Elektronik-Schrott sind diese Drucker eigentlich zu schade, denn der Druckerschlitten eignet sich vorzüglich zur Lösung unseres Problems!

Photo Druckerschlitten Hier ein Photo eines "ausgeschlachteten" Stylus 400 von Epson. Man erkennt die Halterung für den Tintenbehälter (links) der über einen Zahnriemen von einem Schrittmotor bewegt wird. Der Tintenbehälter wird auf einer Stange exakt geführt. Auf der Halterung für diesen Behälter kann einmal der Sensor für die Messung der Lichtintensität montiert werden.

Zunächst gilt es aber zu klären, wie ein Schrittmotor funktioniert und wie man ihn über die Soundkarte so ansteuern kann, dass wir den Tintenbehälter nach unseren Wünschen steuern können.


2.) Was ist ein Schrittmotor und wie wird er betrieben?

Haben Sie schon einmal einen Fahrradgenerator als Motor benutzt? - Das geht tatsächlich, wenn Sie ihn mit etwa 6 Volt Wechselspannung betreiben. Wahrscheinlich werden Sie ihn "anwerfen" müssen, bevor er läuft.
(ein Versuch, der Schülerinnen und Schüler immer sehr verblüfft.)

Im Inneren eines Fahrradgenerators befindet sich ein Permanentmagnet. Wird er gedreht, induziert das von ihm erzeugte, sich ändernde Magnetfeld in einer feststehenden Spule eine Wechselspannung, die unsere Fahrradlampen leuchten läßt. Das Ganze funktioniert dabei berührungslos, ohne Schleifer oder Kommutatoren.

Der Schrittmotor ist so etwa die Umkehrung davon: ein von mehreren Spulen erzeugtes Magnetfeld versetzt einen Permanentmagneten im Inneren des Schrittmotors in Drehung.

Photo Schrittmotor geschlossen

Die folgende (vereinfachte) Simulation soll die Funktion eines sogenannten Unipolar-Schrittmotors etwas verdeutlichen.

Sie können in die Grafik klicken und die Bilder Schritt für Schritt weiterklicken, wenn es ihnen zu schnell geht.

Animation Schrittmotor

Der Permanentmagnet-Rotor in der Mitte (hier einfach als Stabmagnet dargestellt) versucht dem sich ändernden Feld der Spulen zu folgen.
Der Nordpol des Rotors (rot) wird dabei von einem Südpol (grün) angezogen, von einem Nordpol abgestoßen.

Der Mittelabgriff der beiden Wicklungen ist jeweils mit dem + Pol der Versorgungsspannung verbunden. Die Hälfte der Spule, deren anderes Ende am - Pol liegt (0 Volt oder logisch 0), ist immer stromdurchflossen (hier blau dargestellt), der andere Teil ist praktisch stromlos und trägt zum Feld nichts bei.

Solche Schrittmotoren haben also 6 Anschlüsse, oder manchmal auch 5, wenn die Mittelanzapfungen beider Spulen gemeinsam herausgeführt sind.

Aufgabe: Versuchen Sie die richtige Bitfolge für die Drehung des Schrittmotors herauszufinden.

Bei jedem Wechsel der Polungen an den 4 Eingängen Q1 bis Q4 läuft der Motor einen "Schritt" weiter (daher kommt sein Name). In dem einfachen Simulationsmodell wäre dies ein Schrittwinkel von 90 Grad.

In Wirklichkeit sind die Rotoren sehr viel komplizierter aufgebaut, wie das folgende Bild eines zerlegten Schrittmotors zeigt.

Rechts im Photo ist kein Zahnrad zu sehen, sondern der etwas komplizierte Dauermagnet-Anker des Schrittmotors, links sieht man die felderzeugenden Spulen.

Der Druckkopf in einem Tintenstrahldrucker muß sich sehr genau positionieren lassen, daher laufen die Schrittmotoren in Tintenstrahldruckern bei jeden Schritt meist nur um einen kleinen Drehwinkel weiter (üblich sind 1,8 Grad, d.h. 200 Schritte je Umdrehung).

An dem oben beschriebenen Prinzip ändert dies aber nichts.

Photo Schrittmotor zerlegt

Wenn Sie noch weitere Informationen über Schrittmotoren suchen, werden Sie im Internet sicher fündig. Hier sollte nur das Grundprinzip verdeutlicht werden.


3.) Die Ansteuerung der Spulen (unipolarer Schrittmotor).

Transistoren steuern Feldspulen

Die vier Stränge des Schrittmotors werden jeweils über einen NPN-Transistor gesteuert.
Sie können dafür jeden Typ nehmen, der die für den Schrittmotor nötige Leistung liefern kann.

Die Basis des jeweiligen Transistors erhält sein Ansteuersignal über einen Widerstand von einigen kOhm - bei unserer Schaltung vom jeweiligen Ausgang des DTMF-Receivers MT 8870. ( vgl. Teil 1 dieser Reihe)

Welche Bitkombinationen müssen an die Spulen des Schrittmotors ausgegeben werden, damit er sich drehen kann?

Sind sie bei Ihrer Untersuchung der Modell-Animation oben auf dieser Seite zum selben Ergebnis gelangt (es beginnt, wenn der Nordpol des Rotors in "2 Uhr Stellung" ist)?

Schritt Q1(-1) Q2(-2) Q3(-4) Q4(-8) Ziffer
0 0 1 1 0 6
1 0 1 0 1 10
2 1 0 0 1 9
3 1 0 1 0 5

Die Ziffern "6","10","9","5", bzw.die dazugehörigen Mehrfrequenztöne müssen an die Soundkarte ausgegeben werden, um den Motor zum Drehen zu bringen. Werden die Ziffern in der umgekehrten Reihenfolge durchlaufen, dreht der Motor einfach anders herum.


4.) Die komplette Elektronik der Schrittmotorsteuerung.

Beschaltung der Platine

Beschaltung und Funktion des MT 8870 wurde schon im Teil 1 der Reihe beschrieben.

Hier ist noch einmal der Bestückungsplan der Musterschaltung zur Ansteuerung des Schrittmotors. Weitere Einzelheiten können Sie auch dem Photo weiter unten entnehmen.
Beachten Sie bitte, dass die "Kerben" beider ICs zur Mitte hin zeigen.

Z ist eine 5,1 Volt Zenerdiode. Sie begrenzt die an + angelegte Spannung auf etwa 5 Volt, die vorgesehene Betriebsspannung der ICs. Rx ist ein Widerstand von einigen 100 Ohm, der Wert ist nicht kritisch. Sicherheitshalber sollte man hier einen 1/2 Watt Typ verwenden.
Die beiden Komponenten sind nur nötig, wenn Sie mit einer Betriebsspannung > 5 Volt arbeiten wollen, anderenfalls entfällt die Zenerdiode und statt des Widerstands Rx wird eine Drahtbrücke gelegt.

Das Layout der Schaltung für die Herstellung einer gedruckten Schaltung können Sie her herunterladen.
Das Layout herunterladen. Bitmap Datei

Die Bauteile sind z.B. bei Conrad erhältlich.

Bild der Ansteuerung

Hier ein Bild meines Aufbaus:
Unten rechts erkennt man den MT8870 mit dem Quarz darunter. Das abgeschirmte Kabel geht zum Line-Out Ausgang der Soundkarte.
Unten links der ULN 2803 mit den Leuchtdioden zur Funktionskontrolle und den LED-Widerständen.
Oben im Bild sind die Ansteuertransistoren (mit Kühlkörpern und Basiswiderständen) zu sehen. Darüber kann man die vier Strang-Leitungen des Schrittmotors erkennen.
Die Zenerdiode Z und der Widerstand Rx entfielen hier, da die Schaltung mit 5 Volt versorgt wurde.


Das Layout der Schaltung läßt verschiedene Nutzungsmöglichkeiten zu:

(1)
Für manche Schrittmotoren ist ein ULN 2803 für die Ansteuerung von der Leistung her ausreichend. Er enthält im Wesentlichen 8 Transistoren in einem IC. Wenn ihre Schrittmotoren mit 5 Volt laufen und keine zu große Stromstärke erfordern (< 100 mA, also einen Strangwiderstand von mindestens 50 Ohm haben) können Sie die externen Transistoren (BD 679 und die 1 k Widerstände im Basiskreis) weglassen und die Schrittmotoren statt der Leuchtdioden an den Ausgängen des ULN 2803 (unten) anschließen, die 220 Ohm Widerstände entfallen dann ebenfalls..

Dies geht allerdings nur, wenn die Schrittmotoren nicht mehr als 7 Volt Spannung erfordern, da die Maximalspannung der ICs bei 7 Volt liegt.
In diesem Fall entfällt auch die Zenerdiode (Z), statt des Widerstands Rx wird eine Drahtbrücke eingebaut.

(2)
Genügen 7 Volt zum Betrieb der Schrittmotoren nicht, oder sind die Strangwiderstände zu klein, so dass sich eine Stromstärke ergibt, die der ULN 2803 nicht liefern kann, müssen Sie die Ansteuertransistoren bestücken.
Im Bauvorschlag werden die Darlington-Transistoren BD 679 benutzt (möglich sind auch BD 675, BD 677 oder BD 681) Sie haben eine hohe Stromverstärkung, eine Schutzdiode im Ausgang (Induktion beim Ausschalten!) und können bis über 40 Volt betrieben werden und einen Strom von 4 Ampere liefern, das sollte für alle vorkommenden Schrittmotoren mehr als ausreichend sein!
Je nach Last muß man sie kühlen oder auch nicht.

Ist die Versorgungsspannung der Schrittmotoren größer als 7 Volt muß wieder die Zenerdiode Z mit Vorwiderstand Rx eingebaut werden, die die Spannung an den ICs auf etwa 5 Volt begrenzt, die Ansteuerspannung für die Schrittmotoren an den Transistoren kann natürlich größer sein.
Werden externe Ansteuertransistoren benutzt, kann man den ULN 2803 samt Leuchtdioden natürlich auch weglassen - oder diese Komponenten zur Funktionskontrolle nutzen, was sehr zu empfehlen ist.

(3)
Die Schaltung läßt sich auch für andere Zwecke einsetzen. An den Ausgängen des MT 8870 besteht an zwei Stellen die Möglichkeit, Steckverbindungen oder Lötnägel anzubringen. Je nach beabsichtigter Versorgungsspannung muß man die Zenerdiode einbauen (U > 6V) oder auch nicht (U=5,0V).


5.) Wie schnell kann man die Schrittmotore ansteuern?

Schrittmotoren in Druckern laufen sehr schnell. Leider können wir die Geschwindigkeit des Schrittmotors hier nicht nutzen. Warum?

Der Standard für das Mehrfrequenzwahlverfahren gibt vor, dass eine Tonfolge mindestens 40 ms dauern muß, um als "gültig" erkannt zu werden. Darauf müsste eigentlich eine Pause kleine Pause (10 ms) folgen. Daraus wird erkennbar, dass man pro Schitt schon mit 50 ms rechnen muß.
Ein 1,8 Grad Schrittmotor macht 200 Schritte je Umdrehung, dafür benötigt er also 200*0,05s = 10 s. In dieser Zeit kommt der Schlitten um einen Zahnradumfang weiter, das sind so etwa 6 cm. Die maximale Geschwindigkeit bei dieser Ansteuerung liegt also prinzipbedingt bei etwa 0,6 cm je Sekunde.

Eine weitere Einschränkung ergibt sich aus den Möglichkeiten der Delphi-Komponente TAudioOut. Für eine Wandlung sollte man schon eine Sampling-Rate von 8192 Byte je Sekunde wählen, sonst werden die Töne nicht vernünftig aufgelöst und erkannt. Die kleinstmögliche Puffergröße ist 512 Byte. Ein Puffer wird also in 512 / 8192=0,0625 s = 62,5 ms abgearbeitet. Zwei Puffer müssen es mindestens sein, damit einer geladen werden kann, wärend der andere benutzt wird. Experimentell lief mein Schrittmotor mit dieser Ansteuerung mit etwa 100 ms Zeitabstand zwischen zwei Tönen (also 10 Schritte je Sekunde) stabil. Für den Weg einer Druckerbreite (etwas mehr als DIN-A4 Breite) muß man also mit ca. 2 Minuten rechnen.

Für ein Messexperiment in der Schule ist dies gerade noch vernünftig vertretbar.

Wie der Lichtsensor für die Erfassung der optischen Spektren arbeitet und montiert wird erfahren Sie im Teil 3 dieser Reihe.


Klaus-Dieter Grüninger, Landesbildungsserver