Wie kann ich mehrere Elektromotoren mit einem programmierbaren Board/Controller steuern?
Hallo alle zusammen,
Ich würde gerne diesen Motor (Adafruit DC Gearbox Motor) mit irgendeiner Form von programmierbarem Board oder Controller steuern. Am liebsten wäre mir tatsächlich ein Raspberry Pi, da ich a) sowohl einen RPi 3 als auch RPi 5 bereits habe und ich b) dann das Ganze dann vermutlich auch relativ einfach über WLAN/Internet ansteuern könnte. Mit Arduinos o.ä. habe ich bisher nicht wirklich gearbeitet, wäre aber auch kein Problem, mich damit auseinanderzusetzen.
Genauer möchte ich bis zu 6 dieser Motoren individuell ansteuern können. Wenn es gleichzeitig gehen würde, wäre das optimal, aber falls das die Sache verkompliziert, kann ich sie auch jeweils nacheinander laufen lassen, das wäre für meine Anwendung kein Problem.
Vereinfacht dargestellt, will ich sowas ähnlich einen Süßigkeitenautomat bauen, das heißt jeder Motor würde ein Produkt ausgeben. Deshalb fände ich auch einen Raspberry Pi am praktischsten, da ich da ja relativ einfach ein Display, eventuell sogar mit Touchscreen, dranhängen könnte, um den Automaten zu bedienen.
Allerdings weiß ich nicht wirklich, was ich brauche, um das mit einem RPi zu realisieren. Ich habe in den Shops schon viele verschiedene Hats und Motortreiber gesehen, weiß aber nicht wirklich, was ich für meine Anwendung tatsächlich bräuchte.
Am wichtigsten sind wie gesagt die Motoren, "nice-to-have" wäre es, wenn ich auch noch Taster oder Potentiometer verwenden könnte. Das Gerät über einen Screen zu bedienen wäre natürlich ausreichend, aber echte Knöpfe oder Drehregler wären nochmal etwas cooler.
Vielen Dank im Vorraus!
1 Antwort
Mit dem Raspeberry Pi hab ich mich noch nie wirklich befasst, aber die Hardware dürfte recht simpel sein.
Der Raspberry Pi hat ja digitale Augänge, mit denen man grundsätzlich was schalten kann. Allerdings kann ein so ein Ausgang laut Google maximal 16mA zur Verfügung stellen und einer Motoren benötigt schon im Leerlauf um die 150mA.
Das Problem kannst du lösen, indem du mit dem Rasberry einen Transistor ansteuerst, der dann dem Motor seine Versorgungsspannung einschaltet. Am effizientesten wäre da wohl ein Mosfet, genauer gesagt ein Logic-Level-Mosfet. Mosfets werden mit einer Spannung am Gateanschluss gesteuert, aber die handelsüblichen brauchen da eher um die 10V, um ordentlich durchzuschalten. Den Logic-Level-Typen reichen aber schon 3,3V oder sogar weniger (Die Ausgänge vom Raspberry geben nur 3,3V aus).
Von den Mosfets brauchst du natürlich 6 Stück, für jeden Motor einen, aber die sind eh nicht teuer. Du musst nur darauf achten, dass sie richtig dimensioniert haben. Also Spannungsfestigkeit mindestens die Motorbetriebsspannung plus ein bisschen Reserve, beim Strom dasselbe. Bei 6V würden deine Motoren im Stillstand 1,5A ziehen, also würd ich Mosfets mit mindestens 3A Strombelastbarkeit nehmen, besser noch ein bisschen mehr.
Zusätzlich solltest du noch Freilaufdioden einbauen. Ein Motor ist eine Induktive Last, somit entsteht beim Ausschalten durch Selbstinduktion eine Spannungspitze, die den Mosfet ruinieren könnte. Um das zu vermeiden, schaltet man eine Diode antiparallel zum Motor, sodass die Spannungsspitze kurzgeschlossen wird. Ein oft genutzte Diode wär z.B. die 1N4148.
So könnte die Schaltung für einen Motor aussehen:
In dem Schaltplan hab ich einen N-Kanal-Mosfet verwendet, der wird mit einer positiven Spannung angesteuert. Es gibt auch P-Kanal-Typen für negative Spannungen, aber so einer wär da eher unpraktisch.
Bezüglich Drehzahlsteuerung, das geht recht einfach per Pulsweitenmodulation (PWM), kannst ja mal ein bisschen recherchieren. Einfach gesagt wird dabei die Spannung dauernd ein- und ausgeschalten und somit eine niedrigere Spannung "simuliert".Wenn du die Motoren mit PWM steuern willst, würd ich aber Freilaufdioden empfehlen, die ein bisschen mehr Strom aushalten, weil die ja dann bei jedem Ausschaltvorgang (mehrere 100 oder 1000 Male pro Sekunde) den Selbstinduktionsstrom ableiten müssen. Die UF4007 sollte da gehen.
