Motorsteuerung mit einem Transistor

Arduino Motorsteuerung Transistor
Transistor steuert Motor

Will man einen Motor auch in seiner Drehgeschwindigkeit beeinflussen, kann man eine Stromverstärkung per PowerTransistor 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 PowerTransistor und einem externen Netzteil.

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

65 Kommentare zu „Motorsteuerung mit einem Transistor

  1. 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);
    }
    }

  2. 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

  3. @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 … :)

  4. 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

  5. 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

  6. 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?

  7. 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).

  8. 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

  9. 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

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

  11. hallo,

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

  12. 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?

  13. @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.

  14. 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?

  15. 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

  16. 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

  17. 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“

  18. 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

  19. 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?

  20. 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

  21. 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.

  22. 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?

  23. 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)?

  24. Was für ein Wiederstand wäre bei dem angegebenen BD 911 Transistor am sinnvollsten?
    und
    wäre es möglich mit dem Transistor(BD 911) und einer 20 V externen Stromquelle einen 18V Motor anzusteuern, wenn ich genau die Schaltung benutze?

  25. könnte man hir den arduino mit einem sender versehen beispiels weise funk und so verschiedene motoren der selben schaltung mit einem sender am arduino ansteuern ?

  26. ***könnte man hier die Schaltung mit einem Empfänger versehen Beispiels weise funk und so mehrere Motoren dieser Schaltung mit einem sender am arduino ansteuern ?

  27. ***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

  28. 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?

  29. Pingback: 1uodiyala
  30. Pingback: ini
  31. Pingback: gypsies
  32. Pingback: Predrag Timotić
  33. Pingback: www.cpns.2018
  34. Pingback: anonymous
  35. Pingback: Removals to Italy
  36. Pingback: pixel 2 xl

Die Kommentare sind geschlossen.