Hallo,
ich möchte gerne ein Projekt mit 10 Stck. Stepper Motoren 28-BYJ-48 verwirklichen.
Hierbei soll jeder Motor einzeln angesprochen werden, jedoch auch eine Gruppe von bis zu 6 Motoren, die in unterschiedliche Richtungen fahren sollen.
Derzeit habe ich nur zwei dieser Motoren an einem Arduino Uno mit ULN2003 drivern ausprobiert und die Leistung erscheint mir ausreichend.
Angedacht für die Arduino-Steuerung des 10-Steppermotoren Projekts ist ein (oder notfalls auch mehrere) Mega 2560 R3 und das Einbeziehen eines Playstation 4 Dual Shock Wireless Controller sollte möglich sein..
Vorhanden für die Motoren sind bereits ULN2003 driver für die Unipolar-Steuerung, die Motoren könnten jedoch auch in Bipolar umgebaut und mit Bipolar Motor Shields ausgestattet werden.
Wie würdet Ihr an ein solches Projekt herangehen?
Unipolar?
Die Motoren haben keine großen Lasten zu bewegen und sollen sehr langsam drehen.
Auf den ersten Blick scheint mir dies unipolar machbar, obwohl ein Umbau der Motoren in bipolar die Leistung der Motoren fast verdreifachen würde. Ich vermute hier auch einen geringeren Stromverbrauch und der ist nicht ganz unwichtig, denn die Stromversorgung soll mit Batteriepacks erfolgen.
Kann man die ULN2003 driver über I2C ansteuern?
Bipolar?
Hier habe ich nur shields für maximal 2 Steppermotoren gefunden.
Die viele Stiftleistenlöterei für die zwei-Motoren shields von Adafruit schreckt mich ab
und dieses Fitzelkram ist nicht mein Ding.
Allerdings können diese shields definitiv +über I2C einzeln angesprochen werden und
5 dieser shields könnten meine 10 Stepper dann auch steuern.
sunsailor:
Wie würdet Ihr an ein solches Projekt herangehen?
MobaTools ansehen, ob sich mit den Schieberegistern was machen läßt.
Sonst vier Nanos mittels I2C verbinden und je drei Motoren je Nano anschließen.
Mehr als vier Motoren je 16 MHz µC dürfte problematisch werden.
Die Adafruit-Shields sind mir zu teuer.
Umbau auf bipolar wollte ich immer mal ausprobieren, ist aber bislang noch nichts draus geworden. Ob Du 10 DRV8825 sinnvoll an einen Mega2560 anschließen kannst, mußt Du testen. Möglicherweise kommen die Motoren ins Stottern.
Würde Das mit Port-Expandern -> ULN -> Stepper angehen.
Die ULN und die Stepper hast Du bereits - fehlt Dir nur noch die Ansteuerung der ULN.
Das sollte sich per Port-Expander machen lassen, gibt's in 8 und 16 Bit.
10 Motoren sind 40 Bit, 16+16+8.
Die Port-Expander gibt's als I²C (einfachst anzusprechen, gibt aber auch eine Lib für).
Ob Das zu langsam ist, kann man ja ohne vorhandene Port-Expander durchaus ausprobieren.
Lib einbinden und drauf los programmieren.
Nach jedem 'Datensatz' für die Expander lässt Du den Test-Stepper vom Arduino 'von Hand' steppen.
Wenn der Test-Stepper dabei noch schnell genug ist, sind die Anderen (über die dann vorhandenen Port-Expander) ebenfalls so schnell.
PCF8574 war der 8-Bit, den 16er müsste ich selber suchen, dafür habe ich hier MCP23017 (I2C), Den gibts auch als SPI (MSP23S17), wodurch Der 'um Längen' schneller wird, als per I²C.
postmaster-ino:
Würde Das mit Port-Expandern -> ULN -> Stepper angehen.
Kennst Du eine Programmbibliothek für Schrittmotoren, die das unterstützt? Wenn nicht, wäre das aus meiner Sicht kein anfängerfreundliches Konzept. Oder hast Du eine Idee in der Hinterhand, die ich nicht sehe?
Beim MCP23S17 ist mir wohl ein S zu viel rein gerutscht
Und: Nein, ich kenne keine Bibliothek, Die Sich auf einen PortExpander umbiegen ließe - habe allerdings in dieser Richtung nicht wirklich gesucht!
Mein Herangehen wäre, stur die Bit-Muster an die Motoren zu schicken.
Wenn man Diese vll. noch in ein struct oder Array verpackt, kann man 'recht bequem' auf die einzelnen 'Wicklungen' zugreifen und kann via State-Maschine und einer Art Bresenham die einzelnen Motoren befehligen.
(hier würde ich den Bresenham für die 'Geschwindigkeit' bzw Beschleunigung missbrauchen)
Sollte auch für Dir/Puls gehen.
Hallo,
zunächst einmal Euch beiden vielen Dank für die Anregungen.
Ich bin immer noch am Überlegen, wie ich an mein Projekt herangehen soll.
Da ich selbst auch eine Homematic habe, ist mir auch der Gedanke gekommen,
die zur Verfügung stehende Homematic Hard- und Software für die Arduino-Umgebung
zu nutzen.
Dabei bin ich auf Homeduino und das Mega IO-Shield gestossen.