Zum Antrieb meines mobilen Roboters habe ich mich für normale Gleichstrommotoren entschieden.  Deren Drehzahl sollte sich über die PWM-Ausgänge des Atmega8 steuern lassen.

Zusätzlich verwende ich auf Experimentalbasis so genannte Schrittmotoren (Stepper). Diese könnten später auch nützlich sein, um beispielsweise Sensoren beweglich zu gestalten. Zum reinen Antrieb erscheinen sie mir ungeeignet, da ihr Wirkungsgrad und ihre Leistung nicht meinen Vorstellungen entsprechen.

Unipolare Schrittmotoren

Es handelt sich um das Modell AEG S027/100, bezogen wurden sie über den Online-Shop von Pollin.

Daten des Motors:

Unipolarer Schrittmotor mit 12 V Betriebsspannung, 1,8 º Schrittwinkel (200 Halbschritte)

Strangwiderstand 17,5 Ohm, Strangstrom ca. 0,65 A

Maße ohne Wellen (BxHxT): 42x36x42 mm, Wellen-ø 5 mm, Wellenlänge jeweils 13 mm

Zur Beschaltung ist am Schrittmotor ein 5 poliger Stecker angebracht, d.h. es handelt sich um eine so genannte Mittelanzapfung. Die folgende Grafik soll dies verdeutlichen.

Man sieht, dass insgesamt 4 Spulen zum Ansteuern zur Verfügung stehen. Das obige Bild stellt natürlich eine Vereinfachung des Aufbaus dar, in der Realität verfügt ein solcher Schrittmotor über wesentlich mehr Polpaare, um ein genaueres Stellen zu ermöglichen.

Prinzipiell kann man einen Schrittmotor im Voll- bzw. im Halbschritt betreiben. Die beiden folgenden Schaltbelegungstabellen sollen dies verdeutlichen.

Vollschritt:

Schritt

Phase 1

Phase 2

Phase 3

Phase 4

1

+

0

0

+

2

+

0

+

0

3

0

+

+

0

4

0

+

0

+

                                 

Halbschritt:

Schritt

Phase 1

Phase 2

Phase 3

Phase 4

1

+

0

0

+

2

+

0

0

0

3

+

0

+

0

4

0

0

+

0

5

0

+

+

0

6

0

+

0

0

7

0

+

0

+

8

0

0

0

+

 

Die Grafiken für den Halbschritt sehen genauso aus, nur dass noch Halbschritte eingefügt werden, bei denen der Rotor in horizontale bzw. vertikale Lage gedreht wird. Wie die Statorspulen zu beschalten sind, ist obiger Tabelle zu entnehmen.

Der oben abgebildete Motor hätte beispielsweise 4 Schritte, im Halbschrittbetrieb wären es acht. Die maximale Auflösung würde also 45° betragen. Dies ist natürlich nicht besonders genau.

Auch gilt es die maximale zulässige Frequenz des Motors zu beachten. Würde man für sie beispielsweise 2kHz ansetzen, so ergäben sich bei 200 Halbschritten etwa 10 Umdrehungen je Sekunde. Hieraus kann man schon ableiten, dass hohe Geschwindigkeiten nicht Sache der Schrittmotoren sind. Sind sie gefordert, sollte man auf andere Motoren ausweichen.

Eine andere Variante der Beschaltung ist im folgenden aufgeführt.

Schritt

A

B

C

D

1

1

0

0

0

2

0

1

0

0

3

0

0

1

0

4

0

0

0

1

Hierbei handelt es sich um den Vollschritt.

Schritt

A

B

C

D

1

1

0

0

1

2

1

1

0

0

3

0

1

1

0

4

0

0

1

1

Auch hierbei handelt es sich um den Vollschritt, allerdings liefert diese Beschaltung mehr Drehmoment.

Schritt

A

B

C

D

1

1

0

0

0

2

1

1

0

0

3

0

1

0

0

4

0

1

1

0

5

0

0

1

0

6

0

0

1

1

7

0

0

0

1

8

1

0

0

1

Und hier noch die Beschaltung für den Halbschritt.

Beim Anschluss des Schrittmotors sind als erstes die einzelnen Adern, welche zum Stecker führen, zu betrachten. In meinem Fall ergab das Durchmessen der Anschlüsse, dass die schwarze Ader die Mittelanzapfung darstellt. Jede der Teilspulen hat einen Widerstand von 18Ω. Nach dem ohmschen Gesetz ergibt sich, wie bereits oben angeführt wurde, ein Strangstrom von jeweils ca. 0,65A. Dieses ist bei der Auswahl der Spannungsquelle zu berücksichtigen. In meinem Fall handelt es sich um ein ausrangiertes 300W ATX Netzteil, somit dürften sich keine Probleme ergeben.

Da der Controller weder die geforderten Spannungen noch die vergleichsweise hohen Ströme liefern kann, muss ein Leistungstreiber verwendet werden. Hierfür empfehlen sich die entsprechenden Treiberchips, welche über den Elektronikfachhandel bezogen werden können. Im Beispiel wird der Schaltkreis ULN2803 verwendet werden. Dieser hat bereits die notwendigen Freilaufdioden integriert. Allerdings ist er nur für 500mA Dauerbelastung ausgelegt. Laut Datenblatt ist es aber möglich, einfach Pins "parallel" zu schalten, um höhere Ströme nutzen zu können.

Die Beschaltung soll wie folgt realisiert werden:

So, nachdem nun alles fertig aufgebaut ist fehlt nur noch das fertige Programm, damit sich der Motor auch dreht. Dieses ist wie in den vorangegangenen Fällen auch unter "Programme" gelistet.

Bipolare Schrittmotoren

Der bipolare Schrittmotor ähnelt vom Aufbau her stark dem unipolaren Stepper. Als einziger wesentlicher unterschied wäre anzuführen, dass die Mittelanzapfung nun nicht mehr vorhanden ist. Verdeutlichen kann das die folgende Grafik.

Mit dieser Vereinfachung in der Schaltungstechnik des Motors geht jedoch leider eine Verkomplizierung in der Beschaltung einher. Hier müssen die Potentiale an den Spulenkontakten ständig gewechselt werden. Dies ist jedoch mit dem oben angeführten Schaltkreis nicht mehr möglich, welcher ja nur Leistung gegen Masse ziehen kann.

Jedoch ist noch nicht aller Tage Abend, denn auch für diesen Motor existiert ein geeigneter Treiberbaustein. Hierbei handelt es sich um den L293D. Seinen schematischen inneren Aufbau soll die folgende Grafik verdeutlichen.

Wie der Schaltkreis anzuschließen ist, zeigt die folgend Grafik.
Die enable-Pins aktivieren bzw. deaktivieren die integrierten Treiber. Es wäre natürlich überlegenswert, die beiden Pins auch noch an den Controller anzuschließen, da man den Schaltkreis dann mit einer einfachen Programmanweisung in eine Art "Standby" versetzen könnte, indem man beide Pins gegen Masse zieht. So ließe sich bestimmt Energie sparen, da die Treiber nicht mehr von Ruheströmen durchflossen werden würden.

Ansonsten sollten die ganz zu Beginn angeführten Schaltbelegungen weiterhin funktionieren.

Gleichstrommotoren

Auf den inneren Aufbau eines Gleichstrommotors möchte ich hier nicht näher eingehen. Charakterisiert wird der DC-Motor aus technischer Sicht durch seine zwei herausgeführten Klemmen. Hierbei stellt jeweils eine den Kontakt '+' und die andere '-' dar. Je nachdem, in welcher Richtung man sie polt, ändert sich auch die Drehrichtung des Gleichstrommotors.
Sehr wichtig ist die auf seinem Gehäuse oder im Datenblatt angegebene Nennbetriebsspannung. Diese sollte in keinem Fall überschritten werden.

Für die technische Nutzung ist es oft zusätzlich vonnöten, dem Motor ein Getriebe nachzuschalten, da die Nenndrehzahlen der meisten Motoren aus Sicht der mobilen Robotik jenseits alles brauchbaren liegen. Es soll jedoch nicht verschwiegen werden, dass mit steigender Untersetzung zwar die Drehzahl sinkt und das zulässige Moment des Motors steigt, allerdings auch sein Wirkungsgrad relativ stark absinkt. Sehr wichtig ist auch das Nennmoment des Motors, ist dieses zu gering, ist er unter Umständen nicht fähig, seine Aufgabe sachgemäß zu verrichten.

Zur Ansteuerung der Motoren können beispielsweise die Schaltkreise L298N, L293D oder auch andere verwendet werden. Der Unterschied zwischen dem L298N und dem L293D besteht im wesentlichen in der zu steuernden Leistung sowie darin, dass der L293D bereits über integrierte Freilaufdioden verfügt. Beim L298N müssen diese vom Nutzer noch zusätzlich platziert werden.
Im wesentlichen besteht die Aufgabe der Bausteine darin, die gewünschten 12V (in meinem Fall) in der jeweils gewünschten Polarität (Drehrichtung des Motors!) gesteuert durch die 5V Logik des Mikrocontrollers an den Motor zu bringen. Zusätzlich besteht noch die Möglichkeit, über spezielle Pins an den Bausteinen, die Spannung an bzw. auszuschalten. Dieses Verhalten kann mit Unterstützung der Pulsweitenmodulation dazu genutzt werden, die Drehzahl des Motors innerhalb seiner Grenzen zu stellen.
Da jeder Schaltkreis theoretisch in der Lage ist, die gewünschten Aktionen für 2 Motoren auszuführen, kann man bei leistungshungrigeren Motormodellen auch auf Parallelschaltung der Treiber vornehmen.

Wie aus der obigen Schaltung ersichtlich ist, ist die Beschaltung des L293D trivial. Jeder Motor verfügt über 2 Pins an welchen die Konfiguration der Drehrichtung vorgenommen werden kann. OC1A und OC1B sind die PWM-Ports des Mikrocontrollers zur Drehzahlstellung.

 

Zurück zur Startseite.