Selbstbau:

Motorsteuerung bis über 10 Ampere



Bild 1: Die Prototyp-Platine.

Diese Steuerung für Gleichstrommotoren bis zu 24 Volt Betriebsspannung ermöglicht die kontrollierte Umschaltung der Drehrichtung, die Regelung der Geschwindigkeit sowie einen sanften Anlauf und sanften Motorstopp. Dank der Wahl leistungsfähiger Power-MOSFETs ist es bei Verstärkung einiger Leiterbahnen möglich, auch stärkere bzw. größere Motoren zu steuern. Das geschieht über wenige Steuersignale, die Kontrolle übernimmt ein Mikrocontroller. Zwei Eingänge für Endschalter sorgen dafür, dass der Motor an seiner Endposition zuverlässig stoppt.



Bild 2: Alle Schalter offen, es fließt kein Strom.

Bild 3: Motor dreht in eine Richtung, z. B. rechts.

Bild 4: Motor dreht in die andere Richtung.

Bild 5: Vorsicht: Unerlaubter Zustand! Das verhindert der Prozessor.

Das Schaltbild (Bild 7) unterteilt sich in die Funktionsgruppen Steuereingänge (oben links), Mikrocontroller mit Jumper und Programmierstecker (Mitte unten) und der H-Brücke (oben rechts), die aus vier leistungsstarken Power-MOSFETS gebildet wird. Zum Verständnis der Funktion der H-Brücke betrachten wir die Abbildungen 2 bis 5. Vier Power-MOSFETS funktionieren wie Schalter. In Bild 2 sind alle Schalter geöffnet, der Motor in der Mitte erhält keinen Strom - er steht. In Bild 3 sind Schalter eins und vier geschlossen, der Motor dreht beispielsweise rechts herum. In Bild 4 sind nun Schalter drei und zwei geschlossen, somit befindet sich der Motor im Linkslauf. Bild 5 zeigt eine Situation, die nicht vorkommen darf: Sind Schalter eins und zwei geschlossen - oder drei und vier - dann erzeugt das einen "saftigen" Kurzschluss mit qualmenden Leiterbahnen. Das zuverlässig zu verhindern, ist Aufgabe des Mikroprozessors. Die H-Brücke, genannt nach der Anordnung der vier Schalter mit dem Motor in der Mitte, sorgt also für den Rechts- bzw. Linkslauf des Motors.


Bild 6: So geht's mit PWM: A: Motor läuft langsam, B: Motor läuft mit mittlerer Geschwindigkeit, C: Motor läuft schnell.

Ein sanfter Anlauf und die Kontrolle über die Geschwindigkeit sind allein durch die H-Brücke nicht zu realisieren. Hilfreich ist, dass sich die "Schalter" - hier unsere Power-MOSFETs über ihre Gate-Anschlüsse (ähnlich wie Transistoren über deren Basis-Anschluss) steuern lassen. Schaltet man das Gate eines MOSFET schnell ein- und aus, ergibt sich an Gate bzw. Source im Mittel eine mehr oder weniger hohe mittlere Spannung, je nach dem, wie lange das Ein-Signal bzw. das Aus-Signal andauern (Bild 6). Eine unterschiedlich hohe Spannung lässt den Motor schnell oder langsam drehen. Das schnelle Ein- und Ausschalten der Power-MOSFETs gelingt mit einem Mikroprozessor sehr gut dank der Pulsweitenmodulation (PWM). An derlei Anwendungen dachte der Hersteller des Mikrocontrollers bereits bei der Entwicklung und bestückte den Prozessor mit der nötigen Logik. Das bedeutet: Mit einem Mikrocontroller ist die Erzeugung eines pulsweitenmoduliertes Signals über Timer keine Zauberei.



Bild 7: Das Schaltbild teilt sich in die Funktionseinheiten Eingänge, Prozessor und H-Brücke.

Ein naheliegender Lösungsansatz zur Kontroille der "Motorschalter" könnte sein, alle vier MOSFETs mit einem PWM-Signal zu beaufschlagen. Das ist aber nicht nötig, und da diese N-Kanal-MOSFETs so simpel anzusteuern sind, werden lediglich die beiden unteren MOSFETS per PWM versorgt. Die im Schaltbild oben angeordneten P-Kanal-MOSFETS werden je nach Bedarf voll durchgeschaltet. Den N-Kanal-MOSFETs vorgeschaltet finden wir jeweils zwei Push-Pull-Transistoren, die aus Platzgründen als SMD-Bauelemente ausgeführt sind (BCP52, BCP54). Sie dienen dazu, die recht großen Gate-Kapazitäten des Power-MOSFET möglichst schnell ab- bzw. aufzubauen und so ein schnelles Schaltverhalten zu erzielen. Wer sie nicht bestücken möchte - denn der Motor läuft auch ohne diesen "Luxus" - setzt die jeweiligen Jumper JP1 und JP2, welche die Push-Pull-Transitoren überbrücken oder lötet gleich eine Drahrbrücke ein.

Jedem N-Kanal-MOSFET ist weiterhin jeweils ein RC-Glied zugeordnet (Snubber), um Schaltspitzen zu minimieren und (Funk-)Störungen zu vermeiden. Die dabei verwendeten Kondensatoren müssen impulsfest und für 63 Volt geeignet sein. Wer auf die RC-Glieder verzichten möchte, kann das tun, sie sind für die Funktion nicht zwingend erforderlich. Zu empfehlen ist das aber nur bei kleinen Motoren bzw. Strömen.

Die im Schaltbild oben gezeichneten P-Kanal-MOSFETs werden über je einen BC547-Transistor aktiviert. Wird der nicht angesteuert (z. B. Basis = 0 Volt) liegt das Gate des P-Kanal-MOSFETS auf Betriebsspannung - der MOSFET sperrt. "Sieht" der BC547 an seiner Basis eine Spannung von mehr als 0,8 Volt, schaltet er durch und zieht das Gate des MOSFET auf Masse, worauf auch der MOSFET durchschaltet - der nun geringe Innenwiderstand zwischen Drain und Source lässt viel Strom fließen.

Den Motoranschluss überbrücken zwei LED mit eigenem Vorwiderstand. Die eine LED leuchtet bei Rechtslauf, die andere bei Linkslauf. Das ist besonders praktisch, um die Funktion der Schaltung ohne angeschlossenen Motor testen zu können, z. B. während der Inbetriebnahme. Es kommen 2-mA-LED zum Einsatz.

Die Eingänge

Betrachten wir die Steuereingänge: Zunächst sei der Spannungseingang erwähnt, er ist für 8 bis 24 Volt ausgelegt. Die beiden Dioden sorgen für einen einfachen Verpolungsschutz. Zwei Klemmen für die Spannung und zwei für Masse (GND) sollen die Ströme verteilen helfen. Der 1000µF-Elko speichert etwas Strom und gleicht Lastspitzen ein wenig aus.

Der analoge Eingang an X4-1 steuert die Geschwindigkeit. Die Gleichspannung von 0 bis 10 Volt gelangt auf einen Spannungsteiler, eine folgende Zenerdiode (5,1 Volt) schützt den Prozessoreingang gegen Überspannung. Alternativ kann die Geschwindigkeit über die beiden Potentiometer vorgegeben werden, jedes bestimmt die Geschwindigkeit für eine Drehrichtung.

Eine Spannung an Klemme X5-1 oder X5-2 setzen den Motor in Betrieb. Es kann die Betriebsspannung der Platine zum Ein- und Ausschalten des Motors verwendet werden, also je nach zugeführter Spannung und verwendetem Motor 9 bis 24 Volt. Die nachfolgenden Spannungsteiler sind so berechnet (siehe Schaltbild), dass der Prozessor bei 24 Volt sicher ein High-Signal erkennt, wenn an einem der Eingänge eine Spannung angelegt wird (für andere Betriebsspannungen siehe weiter unten). Beachten Sie bitte die beiden Taster, die mit diesen Eingängen verbunden sind: Sie ermöglichen einen manuellen Handbetrieb: Wird einer der Taster betätigt, legt er die Betriebsspannung auf den betreffenden Eingang. Je nach dem, welcher Taster betätigt wird, startet der Motor einen Rechts- oder Linkslauf.

Die beiden Eingänge an Klemme X7-1 und X7-2 sind für Motor-Endschalter vorgesehen. Wie zuvor kann eine Spannung in Höhe der Betriebsspannung angelegt werden. Der Motor stoppt, wenn der Prozessor an dem betreffenden Eingang ein High-Signal erkennt. In der Praxis kann es sich dabei um beliebige Sensoren handeln, die eine Ausgangsspannung liefern, wenn der Motor stoppen soll. Ein Beispiel: Magnetfeldsensoren mit PNP-Ausgang liefern eine Spannung etwa in Höhe der Betriebsspannung, wenn ein Magnetfeld erkannt wird. Simple, mechanische Schalter zur Erkennung einer Endposition sind ebenso leicht anschließbar.


Bild 8: Anschlussplan und Bestückung der Bauteile.

Rund um den Prozessor

Der Prozessor ATmega8 besitzt sechs analoge Eingänge, von denen die Hälfte genutzt wird. Zwei Eingänge sind mit je einem Potentiometer belegt. Sie steuern die Maximalgeschwindigkeit getrennt für Rechts- und Linkslauf. Der dritte analoge Prozessoreingang ist mit dem 10-Volt-Eingang an Klemme X4-1 verbunden. Sind die zuvor genannten Potis auf Null (Linksanschlag) gedreht, bestimmt die Spannung von 0 bis 10 Volt dynamisch über die Geschwindigkeit des Motors. Da der Motor auf Spannungsänderungen unverzüglich mit einer Änderung der Geschwindigkeit reagiert, eröffnen sich dem Benutzer vielerlei Möglichkeiten.

Unterhalb des Prozessors sind im Schaltbild sechs Jumper für Einstellungen zu sehen Mit dem Jumperfeld wird der harte oder sanfte Motorstart festgelegt und die Arbeitsweise der Steuereingänge bestimmt. Die Bedeutung der Jumper ist in Bild 8 dargestellt. Der Jumper JP3-Pin1-2 ist mit dem seriellen Ausgang (TXD) verbunden und sollte nur verwendet werden, sofern TXD nicht benötigt wird. Über die beiden Testpunkte TP6 / RXD und TP7 / TXD kann man eine Kommunikation mit einem PC realisieren, z. B. mit Hilfe eines TTL-USB-Wandlers. Das ist während der Programmentwicklung besonders wichtig, um Status- und Fehlermeldungen an den PC zu übermitteln. Rechts neben dem Jumperfeld ist der mit STK200 beschriftete Anschluss zur Programmierung des Prozessors zu sehen.

Zum Programm

Die Firmware des Prozessors wurde in Bascom-AVR geschrieben [1]. Die Software ist u. a. als Sourcecode und in kompilierter Form (Hex-Datei) auf der Heft-DVD abgelegt. Wer das Programm ändern und neu kompilieren möchte, benötigt dazu lediglich die Demoversion von Bascom-AVR, da der erzeugte Code etwas kleiner als 4 KByte ist.

Da der Speicher des Prozessors mit 45% Belegung bisher nur knapp halb belegt ist, bieten sich Erweiterungen und Änderungen an spezielle Einsatzzwecke geradezu an. Der Leser ist herzlich aufgefordert, eigene Ideen zu realisieren. Um das zu unterstützen, wurde der Basic-Code detailliert dokumentiert.

Aufbau

Liegt die einseitig geätzte Platine vor, sind zunächst die Drahtbrücken zu bestücken. Bild 8 zeigt sie in rot. Über die breit gezeichneten Drahtbrücken wird viel Strom fließen, dem entsprechend sind sie mit dickem Draht zu realisieren. Die horizontale, breit gezeichnete Drahtbrücke verlegt man besser (isoliert) auf der Leiterbahnseite der Platine, dort kollidiert sie nicht mit den sperrigen Kühlkörpern. Für die dünnen Drahtbrücken wird am besten Silberdraht mit 0,8 mm Durchmesser Verwendung finden, sie bevölkern wie gewohnt die Bestückungsseite der Platine.

Anschließend sind sämtliche Lötstellen zu kontrollieren und mögliche Lötspritzer zu entfernen. Es folgt die Bestückung der niedrigen Bauelemente (Widerstände, Kondensatoren, Leuchtdioden, IC-Sockel), der programmierte Prozessor ist noch nicht in die Fassung zu drücken. Sobald IC1, der Spannungsregler 7805 eingelötet ist, sollte die Spannung am Sockel des Prozessors getestet werden. An Pin 7 müssen 5 Volt anliegen, ist die Festinduktivität schon bestückt, auch an Pin 20.

Solange die MOSFETs nicht eingelötet sind, kann die Funktion der beiden LED durch Anlegen einer Spannung von 12 Volt am Motoranschluss getestet werden. Eine LED sollte leuchten, die andere nach Umpolen von Plus und Minus.

Die Steuereingänge an den Klemmen X5 und X7 werden mit der Betriebsspannung getestet. An den zugeordneten Zenerdioden oder direkt am jeweiligen Pin des Prozessorsockels sind die resultierenden Spannungen abzugreifen und mit einem Multimeter oder Oszilloskop zu prüfen. Dort dürfen nie Spannungen über 5 Volt zu messen sein!

Verlaufen die Tests erfolgreich, werden MOSFETs und Kühlkörper montiert und IC2 (Spannungsregler) mit einem Kühlkörper versehen. Alsdann lötet man die verbleibenden elektronischen Bauelemente ein. Bevor der Prozessor eingesetzt wird, sind unter Betriebsspannung die Spannungen am Socken von IC2 auf Plausibilität zu prüfen.


Bild 9: Dimensionierung der Spannungsteiler (Klemmen X5 und X7) für verschiedene Betriebsspannungen und Motoren.

Andere Betriebsspannungen als 24 Volt

Das Schaltbild zeigt die Bestückung der Bauteile für den Betrieb an 24 Volt mit Gleichstrommotoren für diese Spannung. Sollen andere Motoren, beispielsweise für 9 Volt oder 12 Volt zum Einsatz kommen, ist dies durch eine neue Dimensionierung der Spannungsteiler an den Eingängen (Klemmen X5 und X7) möglich. Bild 9 zeigt empfohlene Werte für die wichtigsten Betriebsspannungen. Die Mindest-Betriebsspannung beträgt jedoch etwa 8,5 bis 9 Volt, der Grund ist der, dass an den Eingangsdioden (Verpolungsschutz) 0,8 Volt abfallen und die restlichen 2,5 Volt Abstand benötigt der Spannungsregler 7805, um korrekt arbeiten zu können (5 V + 2,5 + 0,8 = 8,3 V). Alternativ kann man auch auf einen pinkompatiblen Low-Drop-Regler ausweichen.


Bild 10: Bedeutung der sechs Kurzschlussbrücken zur Einstellung der Betriebsmodi.

Dauersignal oder Impuls?

Über Jumper3-2 (siehe Bild 10) werden die Betriebsmodi eingestellt. Jumper 3-2 bestimmt, ob die Steuereingänge am Klemme X5 im Dauersignalbetrieb oder Impulsbetrieb arbeiten. Der Dauersignalbetrieb besagt, dass, solange der Motor drehen soll, eine Spannung am Eingang anliegen muss. Fällt die Spannung ab, stoppt der Motor. Der Dauersignalbetrieb ist aktiviert, wenn auf Steckbrücke 3-2 kein Jumper steckt.

Der Impulsbetrieb heißt so, weil ein kurzer Impuls ausreicht, den Motor zu starten. Dazu wird auf Jumper 3-2 eine Kurzschlussbrücke gesteckt. Ein Impuls von mindestens 50 ms startet den Motor, ein erneuter Impuls an einer der beiden Eingänge wird den Motor stoppen. Ist das geschehen, wird der nächste Impuls den Motor in die eine oder andere Richtung starten, je nachdem, welcher Eingang verwendet wird.

Egal ob Dauersignalbetrieb oder Impulsbetrieb: Ein Signal (Spannung) an einem Endschalter wird den Motor stoppen. Ist der Motor im Rechtslauf (Linkslauf), ist nur der Endschalter für Rechtslauf (Linkslauf) maßgeblich. Der jeweils andere Endschalter wird nicht beachtet.

Betrachten wir die weiteren Steckbrücken in Bild 10. Jumper 3-1 ist bisher unbelegt und kann daher für eigene Erweiterungen genutzt werden. Zu beachten ist, dass dieser Jumper denselben Prozessorpin nutzt wie das serielle Sendesignal (TX) des UART. Letzterer kann dann nicht mehr für serielle Ausgaben an einen PC benutzt werden, was aber sehr praktisch ist, um während der Fehlersuche etwas über den Zustand des Prozessors zu erfahren (Debugging).

Jumper 3-3 und 3-4 legen fest, wie der Motorstart erfolgt: Ist keine Kurzschlussbrücke gesteckt, erhält der Motor augenblicklich volle Spannung. Ist die Kurzschlussbrücke gesteckt, wird der Motor dank PWM sanft anlaufen. Das sorgt auch für einen geringeren Anlaufstrom. Jumper 3-5 und 3-6 schließlich sorgen für einen sanften Motorstopp, wenn die Jumper gesteckt sind.


Bild 11: Das Layout der Platine misst 160 x 100 mm.

Weiteres Material zum Download

Schaltbild, Bestückungsplan, Layout zur Herstellung der Platine, Software als HEX_Datei und als Sourcecode, also alles, was man zum Nachbau benötigt gibt es im Downloadbereich.

Literatur/Verweise:
[1] Homepage Bascom AVR: http://www.mcselec.com/


Zur Hauptseite

Copyright Michael Wöste