Einen DC Motor (also einen Gleichspannungsmotor) über einen Arduino zu betreiben ist relativ einfach. Allerdings wird in 90% aller Fälle eine externe Spannungsquelle benötigt um den Motor zu betreiben. Das liegt an der Leistungsaufnahme des Motors. Dieser benötigt meist mehr Strom als die 40 mA. und mehr Spannung als die 5 Volt des Arduino Bords. Dabei gibt es verschiedene Möglichkeiten einen DC Motor an den Arduino anzuschließen. Die gängigsten sind über einen Transistor, einen Mosfet oder über eine DC Motor Shield.
Wer mit Ardublock DC motoren betreiben möchte hat zwei Möglichkeiten. Entweder über einen PWM Pin oder über ein Motorshield. Wer den PWM Pin verwendet, muss ggf. etwas mehr verdrahten und ein paar mehr Blöcke setzen aber dafür tut es garantiert. Wer ein Motorshield verwendet hat es sehr komfortabel, muss nur den BUS verbinden und den Motor anklemmen. Dafür muss man einige der Blöcke erst mal mit Treibern und der Anordnung der Blöcke zum laufen bringen. Auf diese Blöcke kann ich hier leider nicht eingehen, da ich keine dieser Shield verwende.
DC Motoren über einen PWM PIN mit dem Arduino verbinden und mit Ardublock ansteuern
Über einen Transistor wird das PWM Signal an den Motor weiter gegeben. Die Diode soll das Board von Spannung aus dem Netzteil schützen. Der GND zwischen Netzteil und Arduino muss verbunden sein, VCC zwischen Netzteil und Arduino darf auf keinen Fall Verbindung haben, sonst gibt es einen neuen Arduino. Im Bespiel hier auch gleich einen Taster eingebaut. Wird der Taster gedrückt dann beginnt sich der Motor mit voller Drehzahl zu drehen, wird der Taster los gelassen, stoppt der Motor.
Hardware DC Motoren
Über einen Mosfet wird der PWM Signal des Arduino an den Motor übertragen. Beide Bespiele funktionieren gleich. Nur dass im unteren Beispiel ein fertiges Mosfest Modul zur Ansteuerung des Motors verwendet wird. Das natürlich viel komfortabler ist, als den Mosfet auf dem Breadboard selber zu verdrahten.
Leider gibt es kein passendes Shield in fritzing, deshalb habe ich symbolisch die Klemmen eingezeichnet und das Shield daneben als Bild eingefügt. Diese Art der Motorsteuerung verwende ich in aller Regel. Es geht schnell und funktioniert perfekt. So können auch rel. viele Motoren angesteuert werden.
Software DC Motoren
Das verbinden mit Kabeln ist meist aufwendiger als den Motor dann tatsächlich in Betrieb zu nehmen. Prinzipiell kann ein DC Motor auch einfach über einen digitalen PIN eingeschalte werden. Der Motor bekommt dann aber einfach 5 Volt und kann in der Drehzahl nicht verändert werden. Für mache Projekte mag das ausreichen.
Wer einen Motor über einen digital PIN in Betrieb nimmt, kann kleinere Motoren direkt an den PIN anschließen. Größere sollten dann über ein Relais angesteuert werden.
Besser ist es den Motor über ein PWM PIN anzusteuern. Ist der PWM Wert 0 ist der Motor aus. ISt der PWM Wert 255 dreht sich der Motor mit voller Leistung. Alles dazwischen sind verschiedene Drehzahlen. So lässt sich der Motor super leicht in der Geschwindigkeit regeln.