Immer wenn ich einen Beitrag zum Mikrocontroller schreibe, in dem dieser eine größere Last schalten muss, kommen Anfragen zum „Womit und wie?“. Im Prinzip bediene ich mich dabei immer der gleichen Schaltung, nur mit angepassten Bauteilen.
Die meisten Controller arbeiten irgendwo zwischen 2,5 und 5 V. Pro Pin sind oft weniger als 20 mA Ausgangsstrom möglich, induktive Lasten sind auch so eine Sache. Wird ein ganzer Port benutzt, kann es noch enger werden. Je nach Controller stehen beispielsweise für einen Port mit acht Ausgängen insgesamt nur 40 mA zur Verfügung, die sich auf die einzelnen Pins verteilen müssen. Einige LEDs kann man so vielleicht noch direkt über einen Vorwiderstand ansteuern, spätestens bei Motoren oder zahlreicheren Leuchtdioden ist aber Schluss.
Hilft also alles nichts, es muss eine Treiberstufe eingesetzt werden, im einfachsten Fall ein Transistor. Um es nicht unnötig kompliziert zu gestalten, halte ich mich in diesem Beitrag an die einfachsten Formen. Sicherlich sind noch etliche Verfeinerungen möglich.
Hier und hier habe ich ja schon ein paar Worte zum Transistor auf das virtuelle Papier gebracht. Die dort beschriebenen Vorgänge sind Grundvoraussetzung zum Verständnis der folgenden Schaltungsform.
Ich nehme mal Folgendes als gegeben an:
- Betriebsspannung: 12 V DC.
- Ein zu versorgender Motor mit 12 V / 0,5 A, der nur in eine Richtung läuft.
- Ein beliebiger Mikrocontroller, der mit 5 V versorgt wird. Diese Versorgung wird als bereits vorhanden angenommen.
- Maximaler Ausgangsstrom des Controllers: 20 mA.
- Ein NPN-Transistor mit angenommenem Verstärkungsfaktor B = 100 und maximal 1,5 A Belastbarkeit (BD139 o. Ä.).
Realisiert werden soll eine Schaltung, die bei einem H-Pegel am Controllerausgang den Motor startet. Bei L soll er einfach wieder stehen bleiben.
Im Bild die Prinzipschaltung.
Die +12 V liegen am Motor an. Bei H am Controllerausgang wird der Transistor über seine Basis angesteuert, sodass der Strom durch den Motor nach GND fließen kann. Der Motor dreht sich. Die Freilaufdiode (rot) dient dazu, Spannungsspitzen beim Abschalten des Motors abzufangen. Bei nicht-induktiven Lasten wie LEDs braucht man sie nicht. Für den hier beschriebenen Motor genügt bei einfachen Schaltvorgängen oft eine Standarddiode der Reihe 1N400X oder etwas Ähnliches. Bei höheren Strömen, Spannungen oder Schaltfrequenzen kann etwas Spezielleres erforderlich werden.
Besonderes Augenmerk liegt auf R1 und R2.
R1
Ich habe die Erfahrung gemacht, dass es Umstände gibt, unter denen es besser ist, die Basis eines Transistors sicher auf Masse bzw. GND zu legen. Der Wert ist nicht kritisch, es soll ja auch nicht unnötig viel Strom vom Controller geliefert werden müssen. Es geht darum, dass die Basis auf GND liegt und der Transistor nicht unbeabsichtigt durchschaltet, etwa wenn der Controllerausgang hochohmig ist. Im Alltagsgebrauch bin ich mit 10 bis 100 kΩ gut ausgekommen.
R2
Sein Wert ist abhängig vom B (Verstärkungsfaktor) des Transistors. Ist „B“ im Datenblatt nicht zu finden, auch mal nach „hFE“ sehen. Sinnvollerweise sollte der Transistor so weit wie möglich durchgesteuert werden. Man möchte ja die Energie möglichst im Motor umsetzen und nicht in der Schaltung.
Ausgehend von +5 V am Controllerausgang bei H und einer angenommenen Basis-Emitter-Spannung UBE von 0,7 V stehen am Basisvorwiderstand 4,3 V zur Verfügung. Der Motor benötigt 500 mA Strom. Mit dem angenommenen Verstärkungsfaktor B = 100 ergibt sich als rechnerischer Ausgangspunkt ein Basisstrom von 5 mA.
Soll also heißen:
Ich will mindestens 500 mA für den Motor, möglichst ohne unnötige Begrenzung durch den Transistor.
Der angenommene Verstärkungsfaktor beträgt 100, also komme ich rechnerisch auf 500 mA / 100 = 5 mA Basisstrom.
R = U / I = 4,3 V / 5 mA = 860 Ω.
Das ist der rechnerische Wert für R2 bei dieser Annahme. Damit der Transistor als Schalter möglichst weit durchsteuert, muss der Basisstrom in der Praxis höher angesetzt werden. Man spricht hier vom Übersteuern, es wird also mehr Basisstrom zugeführt, als die einfache Rechnung zunächst ergibt, beispielsweise das Doppelte. Hier ist ein Blick ins Datenblatt des Transistors unerlässlich! Einmal für den Verstärkungsfaktor und zum anderen für die zulässigen Ströme. Ruinieren will man das Bauteil ja auch nicht.
In der Praxis habe ich oft einen Wert zwischen 220 und 470 Ω genommen, das hat bisher funktioniert. Allerdings muss der Controller den dafür benötigten Strom auch liefern können. Gerade 220 Ω liegen bei 5 V bereits sehr nah an den hier angenommenen 20 mA pro Ausgang. Wichtig ist außerdem, dass der Transistor bei starker Übersteuerung langsamer abschalten kann. Bei einfachen Ein-/Aus-Schaltungen fällt das meist nicht ins Gewicht.
Ist bei kleineren Strömen der Transistor ausreichend durchgesteuert, kann es sogar möglich sein, ihn ohne zusätzliche Kühlung zu betreiben. Nehmen wir für die Kollektor-Emitter-Sättigungsspannung UCE beispielsweise 300 mV an. Fließen nun wirklich nur 500 mA Motorstrom, sind das nach P = U × I genau 500 mA × 300 mV = 150 mW Verlustleistung. Ob dieser Wert im konkreten Aufbau erreicht wird, hängt natürlich von der tatsächlichen Ansteuerung ab.
Dieser Schaltungstyp (Open Collector) eignet sich für viele Anwendungen, in denen mit einem kleinen Steuersignal eine größere Last geschaltet werden soll. Man kann das Ganze noch verbessern, indem statt des Transistors ein FET eingesetzt wird, mit einer Brückenschaltung auch eine Umpolung ermöglicht wird oder ein spezielles IC zum Einsatz kommt. Oder, oder, oder … Die Frage ist einfach, wie viel Aufwand man für ein bestimmtes Ziel treiben möchte.
Um ein paar LEDs blinken zu lassen, würde ich so simpel wie möglich planen. Wenn Geschwindigkeit oder Präzision gefragt ist, entsprechend aufwändiger.
Fazit
So ganz einfach kann ich das alles auch nicht beschreiben. Aber wenn man sich in den üblichen Hobbyanwendungen bewegt, sind ein BD139 oder BC548 (bei kleinen Strömen), R1 = 10 kΩ, ein passend bemessener R2 und bei Motoren eine 1N4007 als Freilaufdiode ein möglicher Ausgangspunkt. Bei meinen einfachen Aufbauten habe ich für R2 häufig 220 Ω verwendet. Bezogen ist das auf 5 V am Controller und 12 V Versorgungsspannung für die Last. Eventuell möchte ein Motor auch noch einen Kondensator an seinen Anschlüssen sehen.
Zu beachten ist außerdem, dass ein Motor beim Anlaufen oder Blockieren deutlich mehr Strom aufnehmen kann als im normalen Betrieb. Sollen LEDs angesteuert werden, die entsprechenden Vorwiderstände nicht vergessen. Wie überhaupt natürlich darauf achten, dass die Bauteile innerhalb ihrer Spezifikationen eingesetzt werden. Und wie immer VORSICHT bei elektrischen Basteleien bzw. wenn man experimentiert! ;.-)
Finde Dich zurecht, Du bist in dieser Kategorie:
Besucht mich doch in der Welt der sozialen Medien!
