|
|
Motorsteuerung mit dem L293D
Der
L293D ist ein
Treiber IC, der optimal fü die DC-
bzw. Schrittmotoransteuerung
ist. Er verfügt über TTL-kompatible Eingänge
und kann bis zu 500mA pro
Motor liefern (bei Schrittmotoren: 500 mA pro Spule). Jeder DC-Motor
ist in beide Richtungen steuerbar und die Geschwindigkeit, bei
entprechender Programmierung, über ein PWM Signal regelbar.
Stoppen
kann man den Motor durch eine Kurzschlussbremse, die den DC-Motor
sofort stoppen lässt, oder durch einfaches Auslaufen. Wenn man
aber wie
in Schaltung 2
die Pins 1 und 9 auch noch steuert kann mann bei den DC-Motoren noch
zusätzlich die Geschwindigkeit per externe PWM
steuern und die Spulen auch richtig von der Versorgungsspannung
trennen. Desweiteren kann man mit dem L293D bipolare Schrittmotoren
ansteuern, allerdings nicht Stromgeregelt...hierzu eignet sich der L297
viel besser aber mehr dazu hier.
Zur Richtungssteuerung eines DC-Motors benötigt man 2 Bit, zur
eventuellen externen PWM Regelung noch mal 1 Bit pro Motor, die man
entweder aus dem COM Port mit der Ausgangserweiterung
bekommt oder aus dem LPT, jedoch rate ich davon ab, denn der LPT ist
sehr empfindlich und geht schneller kaputt als man denkt. Wenn es
trotzdem sein muss empfehle ich, eine alte ISA
Steckkarte mit einem LPT Port drauf zu nehmen. Wenn dieser dann kaputt
geht ist es wenigstens nicht so schlimm. Ausserdem ist eine Ansteuerung
des LPTs unter Windows XP (bzw. NT allgemein) z.B. mit QBasic in fast
allen Fällen nicht ohne zusätzliche Software
möglich, denn Windows NT
verhindert den direkten Zugriff auf die Hardware des LPTs.
Schaltung 1 stellt die einfachste Form dar, den L293D zu betreiben. Ich
habe ihn nie mit mehr als 12V betrieben, laut Datenblatt
sollen aber bis zu 36V möglich sein. Hier wird auch
überall der L293D benutzt, weil dieser
schon interne Schutzdioden besitzt, was den
Schaltungsaufwand beträchtlich verringert bei fast gleichem
Preis.
Hier
werden die DC-Motoren über folgende Signale gesteuert, die
Tabelle gilt
für jeweils einen DC-Motor (Links- und Rechtslauf
können auch
vertauscht sein, dass hängt davon ab, wie die Motoren
angeschlossen
sind):
|
M1
oder M2 |
a
|
b
|
|
links
|
1
|
0
|
|
rechts
|
0
|
1
|
|
normaler
stop |
0
|
0
|
|
sofort
stop |
1
|
1
|
Der L293D bietet zusätzlich noch die
Möglichkeit über eine externe
Pulsweitenmodulation
die Geschwindigkeiten beider Motoren getrennt voneinander zu regeln.
Dazu muss die obere Schaltung nur etwas modifiziert werden und zwar so,
wie im folgenden Bild zu sehen ist.
Mit der Schaltung
2
kann man beide DC-Motoren getrennt voneinander noch in der
Geschwindigkeit regeln, indem man die "Chip Enable" Pins der einzelnen
Brücken mit einem externen PWM Signal moduliert. Dazu
benötigt man
allerdings pro Motor noch ein zusätzliches Bit, ausser man
steuert
beide Motoren gleichzeitig mit einem PWM Signal an. Dazu muss man
einfach Pin 1 und Pin 9 zusammenschalten und dort das externe PWM
Signal anlegen. Die Richtungssteuerung der Motoren bleibt die gleiche
wie bei der Schaltung 1, also gelten die Werte aus der Tabelle
für beide Schaltungen. Über die "Chip Enable" Pins
(also Pin 1 und Pin
9) kann man allerdings auch die Motoren unabhängig voneinander
von der
der Versorgungsspannung getrennt werden... man sieht das der der L293D
optimal zum steuern von Elektromotoren mit einem TTL Pegel ist, da er
einem ohne irgendwelche externen Bauteile jede nur erdenkliche
Steurungsmöglichkeit bietet, ausser eben die oben
erwähnte
"Stromregelung".
Für die Ansteuerung von Schrittmotoren mit dem L293D kann ich
nur diese Seite empfehlen. Die dort
gezeigten Schaltungen sind ohne Weiteres mit ein paar kleinen
Modifikationen an der Ausgangserweiterung
zu betreiben.
|
|