Erstellt irgendwann vor 2006
Was kann der Regler?
Dieser Regler ist beim Bau meines zweiten Roboters zusammen mit zwei Freunden entstanden. Da wir nur noch sehr wenige I/O-Pins zur verfügung hatten, aber noch zwei Motoren in ihrer Richtung steuern wollten musste eine Schaltung her, die über nur zwei Pins die Richtung steuert.
Der Roboter wird über zwei Scheibenwischermotoren angetrieben, die den Roboter wie eine Raupe lenken; also ein Motor vorwärts und einer rückwärts für z.B. eine Drehung auf der Stelle.
Um die Motoren zu Polen hab ich wieder das Prinzip der H-Brücke gewählt (siehe hierzu "Der bipolare Schrittmotor"), was jedoch zwei Pins pro Motor benötigt. Also wären insgesamt vier Pins nötig gewesen um den Roboter zu steuern. Durch unsere Schaltung ist es jetzt möglich über zwei Pins folgende Richtungen zu steuern: vorwärts, linksdrehung, rechtsdrehung, vorwärts, rückwärts und stop.
Die Geschwindigkeitsregulierung der Motoren erfolgt nochmals über zwei PWM-Signale (PWM=Pulsweitenmodulation). Damit lassen sich auch zwei verschiedene Motoren aufeinander abstimmen, ebenso wie man die Geschwindigkeit ansich regeln und nach Bedarf auch unter der Fahrt erhöhen und verlangsamen kann. Mit dem PWM-Signal können somit auch die Motoren ganz ausgeschaltet werden (wenn kein Signal anliegt).
Die Schaltung ist für bis zu 16V ausgelegt, kann aber ebenso auch mit nur 9V betrieben werden. Der maximale Strom pro Motor hängt stark von der Kühlung der H-Brücken und der Frequenz ab mit der sie betrieben werden. Es sind aber bis zu 5A pro Motor möglich!
Schaltungsprinzip
Die Schaltung habe ich inzwischen nochmals überarbeitet, da sie in der neuen Version nun beide Motoren sowohl vorwärts als auch rückwärts regeln kann (das war mit meiner alten Logik nicht möglich).
Um eine H-Brücke anzusteuern benötigt man, wie bereits gesagt zwei Pins. Damit lässt sich jeweils die Polung einstellen. Also müsste man für Geradeausfahrt bei H-Brücke1 den Pin1 auf High und bei H-Brücke2 ebenfalls Pin1 auf High.
Für eine Kurve müsste bei H-Brücke1 der Pin1 auf High und bei H-Brücke2 der Pin2 auf High. Um sich in die andere Richtung zu drehen müsste man dann den jeweils anderen Pin auf High setzen.
Somit ergeben sich also folgende Bit-Muster, um die Steuerung zweier Motoren zu übernehmen:
Richtung | H-Brücke 1 Pin 1 | H-Brücke 1 Pin 2 | H-Brücke 2 Pin 1 | H-Brücke 2 Pin 2 |
vorwärts | 1 | 0 | 1 | 0 |
rückwärts | 0 | 1 | 0 | 1 |
Drehung 1 | 1 | 0 | 0 | 1 |
Drehung 2 | 0 | 1 | 1 | 0 |
stop | 0 | 0 | 0 | 0 |
Diese Zustände müssen zunächst über zwei Pins erzeugt werden - wie man sieht ist das aber nicht wirklich möglich - denn 2 Bit ergeben maximal 2² = 4 Möglichkeiten - hier wären aber 5 nötig.
Aber da kommt eine Eigenschaft des Baustens zu Hilfe, der die H-Brücken beinhaltet: Der Enable-Eingang.
Über diesen Pin lässt sich der gesamte Chip "abschalten"! D.h. wenn am Enable-Eingang kein High anliegt schalten die H-Brücken auch nicht durch. Und genau diesen Effekt habe ich mir zu Nutze gemacht um das PWM-Signal in die Schaltung einzuspeisen.
Wenn ein PWM-Signal anliegt, dann werden die H-Brücken immer für die Zeit, die das Signal auf High ist leitend.
Jetzt müssen nurnoch die richtigen Pegel an die jeweils beiden Eingänge der H-Brücken. Das geschieht über einen Inverter. Somit ist wenn der Eingang 1 auf High ist der Eingang zwei auf Low und umgekehrt.
Auf diese Weise lässt sich nun die Richtung beider Motoren über je einen Pin steuern und die Geschwindigkeit über die beiden PWM-Signale am Enable-Eingang.
Genug zur Theorie, hier der Schaltplan (die EAGLE-Datei ist mit dem Bild verlinkt):
Bauteilliste
Das ganze ist ein wenig umfangreicher, weswegen ich heir noch eine detaillierte Bauteilliste hinschreiben werde. Wer will kann auch noch zwischen den beiden Ausgängen für die Motoren je ein Snubbernetzwerk aufbauen. Keine Angst ich erklär schon: Noch simpler gehts ned, obwohl der Name ziehmlich geschwollen klingt. Eigentlich ist das nur ein Widerstand in Reihe mit einem Kondensator geschaltet ( RC-Glied ). Der Widerstand hat dabei 10 Ohm und der Kondensator 22nF. Diese Schaltungen sind auch aus der Audioelektronik als Filter bekannt und werden im diesen Fall verwendet, wenn an die Schaltung induktive Lasten angeschlossen werden sollen (wie z.B. ein Elektromotor, der ja aus Spulen besteht). Der Widerstand dafür sollte aber etwas größer dimensioniert werden: 0,5W...1W sollten reichen.
Anzahl | Partnummer | Bauteilbezeichnung | Wert |
2 | R1, R2 | Widerstand | 150 Ohm |
2 | D1, D2 | Zehnerdiode 12V | ZPY12 |
4 | C1, C2, C3, C4 | Kondensator | 15nF |
2 | C5, C6 | Kondensator | 220nF |
3 | C7, C8 und am Inverter | Kondensator | 0,1µF |
2 | C9, C10 | Elko | 10µF |
2 | IC1, IC2 | H-Brücke | L6203 |
1 | V1 | Hex-Inverter | 7404N |
--- | X1, X2, X3 | Stiftleisten / Stecker, je nach belieben | --- |
Fürs Snubbernetzwerk | |||
2 | --- | Wiederstand | 10 Ohm 1W |
2 | --- | Kondensator | 22nF |