Freitag, 22. Mai 2015

Steuern eines DC Motors mit dem Arduino

Oft möchte man mit seinem Programm nicht nur digital etwas auslösen oder eine LED blinken lassen sondern auch eine Bewegung "erstellen", beispielsweise um eine Gefährt zu bewegen. Dazu verwendet man DC Motoren.

Die Verkabelung

Leider kann man einen DC Motor nicht direkt mit dem Arduino verbinden sondern muss einige Sachen dazwischen schalten. Um den Strom zu "verstärken" muss man einen Transistor verwenden.
Wenn man den Motor ausschaltet, so polt sich kurzzeitig die Spannung um, was zu Schäden am Arduino/Mikrocontroller führen kann. Deshalb verwendet man sogenannte Dioden.
Eine Diode ist ein Bauteil, dass vereinfacht gesagt den Stromfluss nur durch eine Richtung durchlässt. Zusätzlich müssen wir noch einen elektrischen Widerstand mit ca. 100 Ohm verwenden um den Stromfluss zu regulieren. Falls ihr nicht wisst welche Stärke euer Widerstand hat: kleines Tool! Nun müssen wir das ganze noch korrekt Verkabeln. Dazu ist wichtig, dass der Transistor die flache Seite, in meinem Fall rechts, hat. Dann wird der untere Pin mit dem Ground verbunden, der Mittlere über den Widerstand mit einem digital Pin und der Dritte über die Diode in Pfeilrichtung (grauer Strich) mit den 5V Spannung des Arduino verbunden. Der Motor wird dann mit dem oberen Pin des Transistors und den 5V/Diode verbunden. Wo der Ground und wo der Pluspol am Motor ist, ist egal.

Das Programm

Damit der Motor nun läuft müssen wir einfach nur am gewählten digital Pin eine Spannung anlegen. Um den Motor genauer als an/aus steuern zu können sollte man den Pin als analog Ausgang verwenden. Um nicht bei jeder gewünschten Änderung des Stärke nun das Programm erneut uploaden zu müssen können wir auch über die serielle Konsole einen Wert schicken. Um diesen Wert  als Zahl auszulesen verwendet man den Befehl Serial.parseInt(). Damit der Wert nur geändert wird wenn ein neuer geschickt wurde verwendet man den Befehl Serial.available() in einer if Abfrage. Der gesamte Sketch sieht dann so aus:
Um nun, nach dem Upload, etwas zu senden muss man auf die Lupe rechts oben klicken. Wenn man nun einen Wert zwischen 0 und 255 eingibt so dreht sich der Motor. Unter ca 10% hat er jedoch noch nicht genug Strom und macht nur ein Geräusch.

Viel Spaß beim ausprobieren! Schreibt doch mal in die Kommentare, wozu ihr euren Motor verwenden werdet!

Keine Kommentare:

Kommentar veröffentlichen

Mit dem Veröffentlichen eines Kommentars erklären Sie sich mit unserer Datenschutzerklärung einverstanden.
https://michaelsarduino.blogspot.de/p/datenschutzerklarung.html