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.
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
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?
***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
Der IRF 3205 wäre glaube besser für die Realisierung (mehr Leistung)
Die Antwort auf die Frage mit der Drehrichtung interessiert mich auch :-)
Gruß Kolja
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)?
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?
Dumme Frage – nach einem Blick ins Datenblatt hat sich die Frage erledigt,..
Mit freundlichen Grüßen K.
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.
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
achso und: Danke für die vielen Tutorials :-)
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?
@Lars: Sorry, damit kenne ich mir gar nicht aus. Geht aber bestimmt mit Microstepping. Das kannst Du auf jeden Fall mal googlen.
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
Lieber Stefan
Danke für die schnelle und gut erklärte Antwort. Hat alles geklappt und macht spass =).
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
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“
Danke trotzdem ;-)
Dann versuche ich weiter mein Glück.
Ich finde deine Seite übrigens echt super :-D
@Bert: Ja, das würde ich gern. Leider kenne ich mich damit überhaupt nicht aus. Ist aber eine super Frage für das Microkontroller.net-Forum ;)
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
@Sebastian: Da bin ich mir nicht sicher. Ich würde das ausprobieren.
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?
@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.
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?
@Peter: Na dafür musst Du nur das rote Kabel, dass jetzt vom Motor zur DC-Buchse geht, mit dem Vin-Pin vom Arduino verbinden.
@stefan: wie müsste dann die verkabelung vom arduino zum breadboard aussehen?
@Peter: Das geht natürlich auch.
hallo,
erstmal danke für die tollen tutorials.
aber warum kann man nicht den externen stromasnchluss für den motor auf dem arduino nutzen?
Klar, wenn Du es richtig anschließt sollte nichts passieren.*
*ohne Garantie natürlich ;)
Liebe Grüße
Stefan“
Ich wollte nur noch fragen ob ich als stromquelle auch 8,4v verwenden kann ohne den Arduino zu beschädigen?????:)
Sorry npn
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
@Karl: Ja, der ist 1k und schützt die Basis des Transistors vor zu hohem Strom. Liebe Grüße, Stefan“
Hallo,
ich wollte mal fragen, wozu der widerstand ist und wie groß der ist (1k?).
Sehr schöne Seite.
Gruß
Karl
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
@Arsen und Weni: Probiert mal, kleinere (oder je nach Transistor gar keine) Vorwiderstände vor dem Transistor zu benutzen.
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).
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?
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
Ja das geht. Dann brauchst du einen PNP-Transistor (der im Sketch oben ist ein NPN).
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
@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 … :)
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
ok danke :D
@Leo: Genau so ist es :)
ist in diesem fall der linke pin von dem FET das gate???
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);
}
}
hat jemand evtl den code um dann mit dieser schaltung den motor zu steuern?
danke im voraus!
Die Kommentarfunktion ist deaktiviert.