Zum Inhalt springen
Arduino Motorsteuerung Transistor

Motorsteuerung mit einem Transistor

    Transistor steuert Motor

    Will man einen Motor auch in seiner Drehgeschwindigkeit beeinflussen, kann man eine Stromverstärkung per Power-Transistor oder FET in Kombination mit einem PWM Signal wählen.

    Wichtig ist es, darauf zu achten, dass der GND des Netzteils mit dem GND des Arduinos verbunden ist.

    Das Beispiel zeigt eine Steuerung mit einem Power-Transistor und einem externen Netzteil.


    Sieh dir jetzt meinen neuen Arduino-Videokurs an: Jetzt ansehen!


    Als Transistor kann man z.B. den BD 911 verwenden.


    Wenn dir das Projekt gefallen hat und du von weiteren interessanten Projekten inspiriert werden willst, sieh dir doch mal mein neues E-Book »Arduino Projekte Volume 1« an!

    • Die beliebtesten Arduino-Projekte von StartHardware
    • Inklusive Schaltplan, Beschreibung und Code
    • Arduino-Schnellstart-Kapitel
    • Kompakter Programmierkurs


    48 Gedanken zu „Motorsteuerung mit einem Transistor“

    1. Hey Stephan,
      ich habe dein Tutorial gelesen und habe mich mit dem Fall von Motor mit einem Transistor Steuerung beschäftig. Es klappt gut der Motor bewegt sich .
      Jetzt will ich, dass der Motor während seiner Bewegung sich anhält nach einer bestimmten Duty Cycle.
      Bsp.: der Duty Cycle geht von 0 bis 100%. ich möchte gern mein Motor nach 30% anhalten. Danach weiter bis 50% anhalten oder von 30% wieder 0%.
      wie kann man das programieren?

    2. ***könnte man hier die Schaltung mit einem Empfänger versehen zum Beispiel Funk und somit mehrere Motoren dieser Schaltung mit mehrereren Sendern die am Arduino an den digitalen ausgengänen sind, ansteuern ?

      verbesserter Kommentar

    3. Kann man damit auch irgendwie die Drehrichtung des Motors wechseln, kann ich den Arduino auch mit 9 V aus einer Lego Batteriebox betreiben und kann ich damit Lego Motoren ansteuern (alle Größen)?

    4. Frage: Kann ich mit dieser Art Schaltung auch 24V schalten?
      Ich möchte einen Ultraschallvernebler benützen um die Feuchtigkeit in einer Kiste zur regeln. Die Leistungsdaten des Netzteils sind: 24V, 0.5A. Ich benützte Darlington Transistoren (TIP120 TO22STM) schon für andere Projekte deshalb möchte ich den verwenden. Die Datenblätter sind für Anfänger etwas schwierig. Es wird angegeben unter “Absolute Maximum Ratings” -> Collector Current 5 A. Sollte doch gehen?

    5. Hallo,
      Diese Seite ist echt super!

      Jetzt meine Frage:
      Könnte man nicht das grüne Kabel vom Motor an den collector anschließen, wenn man Pin 9 mit der Basis und den emitter mit ground verbindet?

      Und wenn nicht, warum nicht?
      Mfg K.

    6. Hallo Stefan,

      Ich hab einen Motor der bei 7,2V ungefähr 4,5A zieht. Funktioniert das mit dem BD911 auch? Oder muss ich da was verändern?

      Danke schonmal

    7. Hallo Stefan,

      könnte ich auch einfach den BD710 als Transistor verwenden in diesem Beispiel? Oder in Kombination mit einem Zugmagnet CII/A1464?
      Und brauche ich den 1k Vorwiderstand?

    8. Hallo Stefan,

      hast du einen Tipp wie man am einfachsten ein Programm erstellt, bei dem ich einen kleinen “Faulhaber 3242BX4CS”(Brushless DC-Servomotors with integrated Motion Controller)in seiner Drehzahl verstellen kann?
      Ich möchte über einen Drehschalter (3 Schaltstellungen) drei verschiedene Drehzahlen einstellen können. Der Motor wird mit 24V DC betrieben.

      Danke schonmal

    9. Lieber Stefan
      Ich möchte gerne mehrere 3V Motoren mit meinem Arduino ansteuern. Die Geschwindigkeit und Drehrichtung spielen dabei keine Rolle. Ich bin absolute Anfängerin, also sorry wenn meine Fragen albern sind.
      Ist es notwendig einen PWM pin zu wählen, wenn ich den Motor nur an- und ausstellen möchte?
      Wie finde ich heraus welcher Transistoren für mein Vorhaben am geeignetsten sind? (habe grad nur ein BD 237 zum testen rumliegen)
      und zuletzt, welcher Vorwiderstand eignet sich am besten, oder wie hängt dieser Widerstand mit dem gewählten Transistor und der externen Stromversorung zusammen?
      Danke für die tollen Tutorials!
      Paula

      1. Hallo Paula,

        nee, Deine Frage ist überhauptnicht albern. Also der Reihe nach: Wenn die Motoren nur ein- und ausgeschaltet werden sollen, sind normale digitale Pins ebenso geeignet wie PWM Pins. Dein Transistor scheint mir geeignet 3V Motoren zu schalten. Du musst den aber etwas anders anschließen, als hier zu sehen. Die Pins (Beinchen) sind anders belegt (Datenblatt). Wenn er mit dem Schrift zu Dir zeigt, muss der linke Pin mit dem GND verbunden werden, der mittlere mit dem Motor und der rechte Pin mit dem Widerstand, der wiederum mit dem digitalen Pin des Arduinos verbunden sein muss. Das andere Kabel vom Motor muss mit dem Plus der 3V Spannungsquelle verbunden werden. Achte darauf, dass Minus der Spannungsquelle auf jeden Fall mit dem GND des Arduinos verbunden ist.

        So. Jetzt gutes Gelingen und viel Spaß!

        Stefan”

    10. Hallo Stefan,
      ich habe mir eine Lüftersteuerung für PC Lüfter (3Pin) aufgebaut, bei der ich per PWM die Spannung über einen Transistor steuere. Jetzt habe ich das Problem, dass die Lüfter pfeiffen wenn ich sie herunterregle. Ich habe mich jetzt soweit eingelesen, dass ich einen Tiefpass filter brauche um das Signal zu glätten. Am besten einen LC Filter, da der wohl am besten von den Verlusten her ist.
      Nun habe ich allerdings keine Ahnung wie ich Induktivität und Kondensator auslegen soll. Irgendwie sagt da jeder was anderes…

      Kannst du mir da unter die Arme greiffen?

      Gruß Bert

    11. Ich hab jetzt 3 BD911 zusammen mit einem 5 Volt Regulator der fuer einen Standalone Arduino ist auf einen Kuehlkoerper montiert. Das Problem ist dass jetz die mittleren Pins mit GND vom Regulator verbunden sind. Kann man den Anschluss der nach GND gehen soll mit dem vertauschen der an den Motor kommt?

    12. @Peter: Also wenn Du Strom über den Vin ziehst, kann das maximal 1A sein. Wenn Du einen Motor mit 2,1A anschließen willst, bist Du also auf eine direkt angeschlossene Stromquelle angewiesen.

    13. ah ok, danke. sehe ich das richtig. dass max. 50mA Leistung gebracht werden kann.
      d.h. wenn ich einen motor mit max. 2.1 A Laststrom nutzen möchte, bin ich auf die stromquellle auf dem breadboard angewiesen?

    14. hallo,

      erstmal danke für die tollen tutorials.
      aber warum kann man nicht den externen stromasnchluss für den motor auf dem arduino nutzen?

    15. Ich wollte nur noch fragen ob ich als stromquelle auch 8,4v verwenden kann ohne den Arduino zu beschädigen?????:)

    16. Bei mir funktioniert das einfach nicht!!!
      Ich wollte mal fragen ob ich vielleicht den falschen Transistor verwende?
      Ich habe einen ganz normalen npnp Transistor genommen Baunummer BC 547

    17. hallo

      kann man mit so einer pwm steuerung auch den motor bremsen.
      will mir so eine steuerung für slotcarfahren ( Regler bauen )
      slotcar beschleunigen stark oder sanft, und wen man gas wegnimmt soll der motor bremsen und wenn möglich auch das noch einzustellen dosierbar und bremse das stark oder sanfter gebremsen wird.
      habe mir schon eine uno bestellt, ab nächste woche wird daran gearbeitet aber leider habe ich keinen plan wie das ganze funtioniert, habe schon einiges im netz gelesen und werde versuche das umzusätzen.

      eine kleine beschreibung vom hersteller:

      Der ACD pro arbeitet an diesem Punkt anders: Die Bremsenergie wird nicht in Wärme
      umgesetzt sondern wird zum Netzteil zurückgeführt.
      Hierbei beginnt die Bremswirkung bereits bei der ersten Verringerung der Drehzahl. Das
      bedeutet, dass der Motor sofort auf die neue kleinere Drehzahl gebremst wird. Dies
      macht sich in der Praxis so bemerkbar, dass die Motordrehzahl immer der Triggerposition
      sofort folgt. Der Motor wird sozusagen zwangsgeführt.
      Die Bremswirkung kann über den Brems-Steller eingestellt werden. Damit wird das
      Verhalten dem eigenen Geschmack angepasst.
      Der ACD pro bietet insgesamt bessere Beschleunigung beim Starten und eine bessere
      Bremsung bei den Kurven.

      danke

    18. Die selbe frage hab ich auch. Ich betreibe einen Lüfter so an meinem Arduino, obwohl 12V anliegen kommen nur 10,8-11V am Lüfter an bei analogWrite 255. Muss man da wider mit HIGH, LOW arbeiten das alles (mehr) ankommt? oder liegt das am Transistor? ich verwende ein BC547(der schon warm wird).

    19. Wenn ich meinen Motor an eine 3V Batterie lege habe ich ein viel stärkeres Drehmoment als wenn ich den Motor über den Transistor mit derselben Batterie mit analogWrite(motorPin, 255); laufen lasse. Er dreht zwar gleich schnell, hat aber kaum noch Saft..
      Hat jemand eine Ahnung woran das liegt und wie man das beheben kann?

    20. einen pnp-transistor muss ich aber dann mit minus schalten, das funktioniert mit dem arduino irgendwie nicht so ganz, der transistor schaltet immer ein bischen und bei low komplett, irgendwelche tipps?

      vielen dank

      pollux

    21. Hey Stefan,

      ist es auch möglich, den motor mit dauer-minus zu versorgen, und dann plus zu schalten??, weil bei dir der motor ja an dauerplus hängt, und über den transistor minus geschalten wird…

      gruß pollux

    22. @Tom: Ja, das ist ein bisschen verwirrend. Der 5V vom Arduino ist nirgends verbunden. Ich hab den nur dran, da ich ein gleichbleibendes Breadboard-Setup haben wollte … :)

    23. hätte da noch eine frage zur schaltung. der eine anschluss vom motor geht zur externen quelle(9V Batterie). das ist klar. aber was ich nicht versteh ist, wohin der 5V anschluss vom adruino-board hingeht; was nict sein darf ist, dass der 5V anschluss vom adruino und die batterie verbunden sind, oder?
      gruss tom

    24. Klar, hier das abgewandelte »fading« aus den Examples:

      int motorPin = 9;

      void setup() {

      }

      void loop() {
      for(int fadeValue = 0 ; fadeValue = 0; fadeValue -=5) {
      analogWrite(motorPin, fadeValue);
      delay(30);
      }
      }

    Die Kommentarfunktion ist deaktiviert.