Mehrere Schrittmotoren nacheinander ansteuern

Hallo zusammen,

für mein geplantes Projekt möchte ich vorerst 12, später dann 72 kleine Schrittmotoren anhand der aktuellen Uhrzeit ansteuern. Für die aktuelle Uhrzeit werde ich wahrscheinlich die RTC DS3231 verwenden. Das ganze soll so klein wie möglich sein, aber natürlich auch nicht exorbitant teuer. Kurz zu den grundsätzlichen Anforderungen:

  • Die Schrittmotoren sollen eine wenige Gramm schwere Last vertikal über eine Spindel bewegen, dabei spielt die Geschwindigkeit eine untergeordnete Rolle

-In 99% der Fälle wird nur ein Schrittmotor angesteuert. Falls möglich sollen bei einem Stundenwechsel 2 Motoren gleichzeitig angesteuert werden

-Alle Motoren führen die gleiche Bewegung aus

-Obwohl die Last an einen Anschlag fährt wäre eine hohe Pärzision wünschenswert.

Ich habe die letzten Tage etwas recherchiert, habe aber noch recht wenig Erfahrung mit der Materie, Deshalb zu meinen Fragen:

1.Brauche ich für so kleine Schrittmotoren mit wenig Last zwingend einen Treiber? Und wenn ja, gibt es Schrittmotoren-Treiber, die deutlich mehr als nur 1-3 Schrittmotoren ansteuern können und diese am besten über einen Arduino die Adresse erhalten? Oder gibt es günstige Treiber die eine I2C Schnittstelle haben, sodass mir ein Arduino reichen könnte? Ich befürchte nämlich, dass der Platzbedarf und der Kabelsalat zu groß wird wenn ich einzelne Treiber wie den A4988 verwende.

2.Wie ist eure Erfahrung mit den kleinen Schrittmotoren von Aliexpress & Co? Ich erwarte mir davon keine qualitativ hochwertigen Motoren, aber für einen ersten Prototypen bzw. Machbarkeitsstudie sind die schon verlockend billig.

Ich hoffe ich habe die wichtigsten Anforderungen aufgeführt und bedanke mich jetzt schon für eure Hilfe.

Viele Grüße

Gib mal einen Link zu den von dir vorgesehenen Schrittmotoren. Nicht alle sind für einen A4988&Co geeignet. Der ist eher für etwas größere Stepper gedacht. Manche brauchen auch einfach nur eine H-Brücke.
Etwas mehr Info zum geplanten Aufbau wäre auch nicht schlecht. Derzeit kann ich mir noch nicht vorstellen, was da 72 Stepper machen sollen.

Danke für dein Antwort! Wie schon erwähnt habe ich noch wenig Erfahrung und bin für jeden Hinweis dankbar!

Zum Aufbau:
Soll eine Uhr werden, bei der sich je nach Uhrzeit die zugehörigen Ziffern (Für 12 Stunden und 60 Minuten )heben und senken. Für den ersten Test plane ich erstmal nur die 12 Stunden, möchte aber jetzt schon mal abklären, wie aufwendig es mit 72 Stück wird.

Ich habe mir noch keinen konkreten Motor rausgesucht, dachte aber das so etwas hinsichtlich Größe passen könnte, befürchte aber, dass es ich da nur Schrott kaufe:
https://de.aliexpress.com/item/4000172838008.html?spm=a2g0o.productlist.0.0.27bf6554wnBUYt&algo_pvid=434da5fb-689a-4da8-994a-3e6451a1895e&algo_expid=434da5fb-689a-4da8-994a-3e6451a1895e-26&btsid=0ab6f83915954040302075922e6f9a&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

Über die Qualität der Motörchen kann ich nichts sagen - da habe ich keine Erfahrung. Aber ich würde eher nichts kaufen, wo die technischen Daten so mau sind. Ausser dem Widerstand der Spulen ist nichts angegeben. Die sind aber auf jeden Fall nichts für einen A4988. Der braucht niederohmige Spulen. Ich denke so einen Motor betreibt man über eine einfache H-Brücke.
Ich denke, Du wirst die auch an den Endlagen jeweils einfach gegen einen Anschlag fahren lassen, und im Ruhezustand abschalten. Ein Endschalter pro Motor für den Referenzpunkt dürfte etwas aufwändig werden ;).
Aufwändig was die Verkabelung angeht, wird's aber auf jeden Fall.

Stimmt das mit dem Anschlag hatte ich vergessen zu erwähnen :slight_smile: So hätte ich es geplant!
Welchen Arduino würdest du mir für mein Vorhaben empfehlen? :slight_smile:

Hättest du einen Vorschlag für einen Motor in der Baugröße?

Als Treiber würd ich Dir den L293D vorschlagen. Dann aber auch einen Controller ATtiny pro Motor/Treiber. Als Schnittstelle könntest Du einfach TX/RX verwenden wobei TX Master zu RX erste Motor, TX erster Motor zu RX zweiter Motor ecc.Der Erste Controller nimmt die ersten daten und schickt den Rest weiter.
So sind alle Motoren gleich programmiert und Du kannst sie anhand der Position ansteuern.
Ich weiß jetzt nicht wie hoch der Hub sein soll aber auch CD-bzw Floppy Laufwerksmotoren sind geeignet.

Grüße Uwe

Das wird eine außergewöhnliche Uhr. Das finde ich cool.

Da es nicht so auf Geschwindigkeit ankommt würde das auch über 72 / 8 = 9 Stück Schieberegister 74 HC595 gehen.
evtl. auch IO-Expander mit I2C-Schnittstelle sofern es denn einen Typ gibt bei dem man mindestens 8 verschiedene Adressen einstellen kann. Dann reicht ein Arduino. Oder auch ein node MCU ESP32 mit dem man dann per WLAN auch gleich noch die Uhrzeit aus dem Internet synchronisieren kann und der eine RTC-Funktionialität schon eingebaut hat

node MCU ESP32

jetzt kann ich mir nicht verkneifen noch zwei andere ungewöhnliche Uhren zu verlinken

Stonehenge - A Robotic Digital Clock

Wort-Uhr

viele Grüße Stefan

Jetzt habe ich noch eine Idee:

Je nachdem wie die Mechanik aussieht könnte man vielleicht auch kleine Modellbauservos nehmen.
Dann käme es darauf an ob man mit 8 Schieberegistern hintereinander es noch schafft die Servo-Impulse zu erzeugen.
viele Grüße Stefan

Super vielen Dank für die Antworten!
Ich werde mir mal die verschiedenen Ideen anschauen und überlegen, was für mich besser passt :slight_smile: :slight_smile:

Viele Grüße

StefanL38:
... auch kleine Modellbauservos nehmen.

In meiner Bastelkiste habe ich ein RC Linear Servo gefunden.

Die MobaTools lassen die "Ansteuerung von bis zu 16 Servos an beliebigen Pins" zu. Also ein CP2102 Modul mit fünf Atmega328P Pro Mini 5 V, die sich per I2C austauschen.

Oder PCA9685 16-Kanal Servo Motor Treiber I2C Modul mit genügend unterschiedlichen Adressen für I2C.

Generell habe ich auch schon an die Verwendung von Servos gedacht, sehe aber das Problem, dass sich bei den Modellbauservos die Geschwindigkeit nicht regeln lässt, oder bin ich da falsch informiert?
Mein Ziel ist, die Ziffern langsam und ohne Ruckeln zu heben. Ich glaube auch, dass die Präzision bei Schrittmotoren mit einer Spindel mit flachem Gewinde besser ist.

Die Geschwindigkeit von Servos läßt sich nicht regeln, man kann aber viele kleine Zwischenschritte machen lassen dann wird die Bewegung auch langsamer.
Grüße Uwe

Die Bewegung ist bei einem Schrittmotor schon gleichmäßiger und ruckelfreier. Ich habe da mal Versuche mit einem Schrankenantrieb für meine Moba gemacht. Durch den langen Hebel des Schrankenbaum sieht man da auch kleine Ruckler sehr deutlich. Wirklich geschmeidig habe ich das nur mit einem Stepper und Getriebe hingebracht ( der 'übliche' kleine Bastelstepper ). Das Gewinde bei den kleinen Mini-Steppern ist ja auch nichts anderes wie ein Getriebe. Eigene Erfahrung mit den Winz-Dingern habe ich aber nicht. Da wären evtl. erstmal ein paar Versuche angebracht bevor es in die 'Massenfertigung' :wink: geht.
Wobei ich mir vorstellen kann, dass das bei dem Vorschieben der Zahlen auch nicht so kritisch ist wie mit dem Schrankenbaum.

wesi99:
... sehe aber das Problem, dass sich bei den Modellbauservos die Geschwindigkeit nicht regeln lässt, oder bin ich da falsch informiert?

Grundsätzlich richtig, so wie es Uwe schon beschrieben hat, aber die MobaTools sehen eine Geschwindigkeit (setSpeed) auch für Servos vor. Da wird der Sollwert halt verzögert verändert.

Mein kleiner Servo zeigt ein Ruckeln, allerdings habe ich ihn geschenkt bekommen, weshalb mir sein Vorleben unbekannt ist. Eine Probebestellung macht Dich schlauer.

Da Servos nur einen Pin und keinen extra Treiber - der ist ja eingebaut - benötigen, ist der Aufwand wesentlich geringer als bei Schrittmotoren, weshalb Du sie zumindest mal probieren solltest.

Nur meine Meinung :slight_smile:

Ich würde auch auf jeden Fall auf Servos setzen.
Und die kriegst du dann ganz einfach mit 5 Stück PCA9685 angesteuert

Lieben Gruß,
Chris

Einen Nano Clone gibt's für das gleiche Geld wie ein PCA9685 Modul. Und mit einem Nano kann man problemlos 16 Servos langsam bewegen.

P.S. einen pro mini gibt's noch günstiger, und USB wird im Betrieb ja nicht gebraucht

Hallo zusammen,

ein kurzes Update zu meinem Vorhaben, mehrere kleine Schrittmotoren als Teil einer Uhr anzusteuern:
Ich habe ich mir eine ESP8266 als zentrale Steuerung zugelegt, hier der Link:

Und mir bei Aliexpress 5 kleine Motörchen zum probieren bestellt. Diese sind nach 1 Monat heute angekommen. Ein Bild dazu habe ich angehängt. Leider gibt es nur sehr spärlich Informationen zu den Schrittmotoren( https://de.aliexpress.com/item/4000959299345.html).

Ich würde wie uwefed vor einem Monat schon vorgeschlagen hat jeden Motor mit einem L293D und einem ATtiny ausstatten. Dazu würde ich zu einem ATtiny85 tendieren, lasse mich aber gerne von etwas anderem überzeugen. Also falls jemand alternative Vorschläge hat, würde ich mich freuen, wenn er Sie mit mir teilt.

Viele Grüße
wesi99

P.S.: Updates folgen :wink:

wesi99:
Leider gibt es nur sehr spärlich Informationen zu den Schrittmotoren( https://de.aliexpress.com/item/4000959299345.html ).

Warum kaufst Du die Motoren wenn die Infos spährlich sind???

Ich kann Dich aber beruhigen. Da steht alles was man braucht, wenn auch grausig Übersetzt.

Spezifikation:
Schrittmotor durchmesser: 6mm
Höhe: 6mm
Ausgang welle: 1,4mm (miniatur pol)
Ausgang welle länge: 17mm
Phase widerstand: 31,8 ohm
5V kurzschluss strom: 0,136 A
Gewicht: 1,1g

Würde mal sagen:
Nannspannung 5V
Nennstrom 0,136A
Windungswiderstand 31,8Ohm.
Schritte pro Umdrehung würde ich auf 36 oder 48 tippen.

Würde Dir zum ersten testen den L293D raten; für die definitive Version den DRV8835 ( hat MOS Ausgänge und darum bekommt der Motor eine höhere Spannung bei gleicher Versorgunsspannung.

Grüße Uwe

uwefed:
Phase widerstand: 31,8 ohm
5V kurzschluss strom: 0,136 A

Nannspannung 5V
Nennstrom 0,136A
[/quote]

Also ich bin erstaunt, wie Du aus dem (falschen) Kurzschlußstrom auf Nennstrom gekommen bist.
Ist das so'n "Ist immer mit Google falsch übersetzt" Ding?

Ich würde sagen, wenn der Strom durch die Wicklung fließt, ist es kein Kurzschluß und damit kein Kurzschlußstrom.

Gruß Tommy