Neuigkeiten    Das Projekt    Technik    RoboSpatium    Unterstützung    Stichwortverzeichnis    Download    Reaktionen    Spiele    Gadgets    Kontakt   




<<< Servos         Rotationssensor (2) >>>

Drehgeber

Das Video zum Thema


Gabellichtschranke

Verschaltung einer Gabellichtschranke
Abbildung 1:
Gabellichtschranken bestehen aus einem Phototransistor und einer LED. Der Phototransistor besitzt im unbelichteten Zustand einen sehr hohen Emitter-Kollektor-Widerstand. Fällt das Licht der LED auf das Bauteil, so fällt dessen Widerstand auf wenige Ohm. Um ein elektrisches Signal zu erhalten, muss ein Spannungsteiler aus dem Phototransistor und einem konstanten Widerstand von einigen Kiloohm aufgebaut und an eine Gleichspannung angeschlossen werden. Die Höhe der verwendeten Gleichspannung ist üblicherweise 3.3V (z.B. Raspberry Pi) oder 5V (z.B. Arduino).
Um die LED "einzuschalten", wird die mit "E" markierte Kathode an Minus der Spannungsquelle angeschlossen und die mit "+" markierte Anode über den Reihenwiderstand R1 an Plus der Gleichspannungsquelle. Der Widerstandswert von R1 hängt von der verwendeten LED und der Eingangsspannung ab. Ein Blick in's Datenblatt verrät den für den Betrieb der LED nötigen Strom. Üblicherweise liegt dieser im Bereich von 20-60mA. Mit einem 180Ω-Widerstand ergibt sich an 5V ein Strom von 5V / 180Ω = 27mA. Da der Spannungsabfall an der LED in dieser einfachen Formel nicht berücksichtigt ist, fällt der tatsächliche Strom etwas geringer aus.
Der Emitter des Phototransistors, der üblicherweise mit einem "D" gekennzeichnet ist, wird mit dem Minuspol der Spannungsquelle verbunden. Der zweite Pin des Phototransistors, der mit einem "+" gekennzeichnet ist, wird über R2 an Plus angeschlossen. R2 sollte im Bereich von 2 - 20kΩ liegen.

Funktionsprüfung einer Gabellichtschranke
Abbildung 2:
Die ordnungsgemäße Funktion einer Gabellichtschranke kann mit einem digitalen Multimeter überprüft werden. Die Gabellichtschranke wird an die Versorgungsspannung (üblicherweise 3.3 oder 5V) angeschlossen. Das Multimeter wird auf Spannungsmessung geschaltet und an Minus ("D" Pin an dem Phototransistor) sowie den Ausgang ("+" Pin an dem Phototransistor) der Gabellichtschranke angeschlossen. Die gemessene Spannung sollte deutlich unter 0.5V liegen. Wird die Lichtschranke mit einem Stück Metall (z.B. Messerklinge) unterbrochen, sollte die Spannung auf fast den Wert der Eingangsspannung steigen.

Sensorscheibe

Ausgangssignale an einer Sensorscheibe
Abbildung 3:
Um Drehbewegung erfassen zu können, werden 2 Lichtschranken benötigt. Zähne und Lücken der Sensorscheibe müssen so breit sein, dass beide Gabellichtschranken gleichzeitig geblockt beziehungsweise nicht geblockt sein können. Dreht sich die Sensorscheibe, so ändert sich immer nur der Zustand an einer der beiden Lichtschranken.
Werden die Schaltzustände von 0 - 3 einmal durchlaufen, so hat sich die Sensorscheibe um einen Zahn (oder eine Zahnlücke) gedreht. Für eine volle Umdrehung der Sensorscheibe werden die Zustände 0 bis 3 viermal durchlaufen, der Zustand an den beiden Ausgängen ändert sich 16 mal - die volle Umdrehung wird in 16 Schritte zu je 22.5 Grad unterteilt.
Je mehr Zähne die Sensorscheibe besitzt, um so genauer kann die Rotation erfasst werden. Bei einer Scheibe mit 6 Zähnen ergibt sich ein Winkel von etwa 15 Grad je Schritt.

Signalverlauf

Oszillogramm der Ausgangssignale
Abbildung 4:
Oszillogramm eines Drehgebers mit mechanischen Kontakten bei konstanter Rotation.
An den Ausgängen des Encoders ergeben sich Rechteckspannungen. Die untere Kurve ist im Vergleich zur oberen um 10ms nach rechts verschoben. Idealerweise sollte diese Phasenverschiebung einem Viertel der Periodendauer, hier also 52 / 4 = 13ms entsprechen. Entscheidend ist, dass die Flanken der beiden Signale deutlich verschoben sind. Es tritt also immer nur an einem der beiden Ausgänge ein Signalwechsel auf.

Motorsteuerung

Schrittmotor mit Sensorscheibe
Abbildung 5:
Über eine H-Brücke kann ein Mikrocontroller einen Elektromotor ansteuern. Per Software kann der Motor somit nur so lange eingeschaltet werden, bis sich die Sensorscheibe um einen Schritt gedreht hat. Somit können herkömmliche Gleichstrommotoren in Schrittmotoren verwandelt werden. Anzahl und Richtung der auszuführenden Schritte können über die USB-Schnittstelle von einem Computer vorgegeben werden. Übermittelt der Computer 16 Schritte mit einem einzigen Befehl, so führt der Motor (bei 4 Zähnen an der Sensorscheibe) eine volle Umdrehung ohne Unterbrechung aus.
Soll- und Istwert werden von dem Mikrocontroller ständig verglichen und bei einer Abweichung wird der Motor derart in Drehung versetzt, dass sich der Absolutwert der Differenz der beiden Werte verringert.
Der Arduino kann etwa 1600 Pulse pro Sekunde von der Sensorscheibe erfassen. Bei einer Motordrehzahl von 6000U/min (=100 U/s) kann somit eine Sensorscheibe mit 4 Zähnen abgetastet werden.

Anwendungsbeispiele

Antrieb der CNC Maschine V2.0
Abbildung 6:
Zum Antrieb der Achsen meiner CNC-Maschine v0.6 und v2.0 verwende ich Gleichstrommotoren. Die aktuelle Position der Abtriebswelle wird dabei über eine Metallscheibe mit Gabellichtschranken von einem Arduino Uno eingelesen. Die Motoren werden über H-Brücken angesteuert.
Über eine Gewindestange wird die Rotationsbewegung der Elektromotoren in eine lineare Bewegung verwandelt.
Gabellichtschranke aus einem alten Drucker
Abbildung 7:
Der hier zu sehende Sensor stammt aus einem altem Drucker. Wenn kein Datenblatt zu dem Bauteil gefunden werden kann, hilft nur gezieltes Raten. Die Seite mit den beiden Phototransistoren hat vier Anschlüsse (1-4), die Seite mit der LED nur zwei (5+6). Masse von LED-Seite und Sensorseite sind sehr wahrscheinlich direkt miteinander verbunden. Das trifft bei dieser Platine auf Pin 3 und 6 zu. Hier muss also Minus der Spannungsquelle angeschlossen werden.
Die beiden Ausgänge (A+B) der Sensorseite verlaufen direkt zum Stecker. Das Trifft auf Pin 1 und 4 zu.
Verbleibt noch die positive Versorgungsspannung für den letzten Steckerpin. Plus verläuft hier über Widerstand R1 zu Pin 5 und direkt zu Pin 2. Zwischen Plus und Minus befindet sich ferner der Kondensator C1.
Als Versorgungsspannung sollte man zunächst 3.3V (am Steckerpin nicht direkt am Sensor!) anschließen und testen, ob die Lichtschranke funktioniert. An A und B sollten etwa 0V zu messen sein. Wird der Sensor z.B. durch eine Messerklinge blockiert, so sollten an A und B etwa 3.3V zu messen sein. Fällt die Spannung beim Herausnehmen der Klinge nicht auf weniger als 0.5V, kann der Sensor versuchsweise an 5V Versorgungsspannung angeschlossen werden.

Schrittmotor eines alten Druckers
Abbildung 8:
Die original Plastik-Sensorscheibe des Druckers ist mit etwa 3000, sehr feinen Linien bedruckt. Bei einer Umdrehung pro Sekunde sind 12000 Änderungen in einer Sekunde an den Sensoreingängen zu erfassen. Daher habe ich die Software für den Druckermotor unter Verwendung von Interrupts umgeschrieben und optimiert. Dennoch musste ich per Pulsweitenmodulation die Maximaldrehzahl des Motors herunterregeln, um zu verhindern, dass Zählpulse aufgrund zu hoher Geschwindigkeit ausgelassen werden.

Digitales Servo aus altem CD-Laufwerk
Abbildung 9:
Digitales Servo aus dem Schubladenantrieb eines alten CD-Laufwerks.
Eine weitere Möglichkeit die Winkelauflösung zu verbessern besteht darin, bei einem Getriebemotor die Sensorscheibe nicht am Getriebeausgang, sondern an einem vorgesetzten Zahnrad zu befestigen. Das Zahnrad mit dem Drehsensor wird bei 4 Zähnen der Scheibe mit einer durchschnittlichen Winkelauflösung von 22.5 Grad angesteuert. Durch die Getriebeuntersetzung von 13:1 verbessert sich diese an der Abtriebswelle auf 1.7 Grad. Zu beachten ist, dass das mechanische Spiel des Getriebes die theoretisch zu erwartende Auflösung etwas verringert.

Digitales Servo mit einem Scheibenwischermotor
Abbildung 10:
Wer sein digitales Servo etwas stärker benötigt, kann zu einem Scheibenwischermotor greifen. Als H-Brücke kommt eine Platine mit BTS7960 Chipsatz zum Einsatz, die gut gekühlt bis zu 43A Dauerstrom verträgt.

Anordnung der Sensoren


Sensorfläche einer Gabellichtschranke
Abbildung 11:
Die Sensorfläche von Gabellichtschranken ist meist auf einen kleinen Schlitz in der Mitte beschränkt.
Anordnung der Sensoren an einer Sensorscheibe
Abbildung 12:
Um einen Rotationssensor kompakter anzuordnen, kann die Zahnbreite der Sensorscheibe auf das doppelte der Breite der Sensorfläche einer Gabellichtschranke reduziert werden. Der Winkelabstand der beiden Gabellichtschranken muss dabei einem ganzzahligen Vielfachen der Zahn- plus Lücke-Breite plus oder minus einer halben Zahnbreite entsprechen.
Ist die Sensorfläche 1mm breit, so muss die Zahnbreite 2mm betragen. Für eine Sensorscheibe mit 30 Zähnen ergibt sich somit ein Radius von 30 x 2 x 2 / (π x 2) = 19mm, ein Durchmesser von 38mm.
Ein Zahn, ebenso wie eine Lücke ist 360° / (30 x 2) = 6° breit. In der Abbildung beträgt der Winkelabstand der beiden Sensoren 15 x (6° + 6°) - 3° = 177°.

Downloads

Einige der in den Videos gezeigten Beispielschaltungen (Schaltpläne + Software) sind als Download erhältlich. Wenn ihr in diesem Paket etwas vermisst, hinterlasst einen Kommentar oder schreibt mir eine Mail.

Schaltplan eines digitalen Servos
Abbildung 11:
Schaltplan zum digitalen Servo mit Scheibenwischermotor.



<<< Servos         Rotationssensor (2) >>>


Neuigkeiten    Das Projekt    Technik    RoboSpatium    Unterstützung    Stichwortverzeichnis    Archiv    Download    Reaktionen    Spiele    Verweise    Gadgets    Kontakt    Impressum   





Twitter YouTube Hackaday Patreon TPO