Forum: Mikrocontroller und Digitale Elektronik 100 Schrittmotoren ansteuern.


von Sebastian W. (sebwin)


Lesenswert?

Hallo zusammen,

ich versuche für ein Projekt ca. 100 schrittmotoren anzusteuern.
Ich hab im Forum schon gesucht und leider immer angefangen Themen 
gefunden, aber leider nie wirklich eine Lösung, deswegen probier ich es 
jetz auf direktem Weg.

Also wie schon gesagt, ich möchte 100 Schrittmotoren ansteuern um eine 
Translatorische bewegen zu machen. Ein Motor, den ich gefunden habe und 
auch eig. alle Anforderungen erfüllt wäre dieser hier:
http://de.aliexpress.com/item/Original-JAPNA-SANYO-2-phase-4-wire-stepping-motor-with-long-screw-rod-6-7-5/32456981902.html?isOrig=true#extend

Den hätte ich dann mit dem Low-Voltage-Motor-Driver DRV8834 von Pololu 
angesteurt:
https://www.pololu.com/product/2134

Das Projekt hat den Vorteil, dass nicht alle Motoren gleichzeitig 
angesteuert werden müssen, sonder nach einander in eine Position fahren 
und diese dann bis zum nächsten Befehl halten sollen. Deswegen hätte ich 
die Ausgänge(DIR, STEP, M1, M0, SLEEP) miteinander Verbunden aund auf 
einen Mikrokontroller gelegt, welcher diese dann anspricht. Den ENABLE 
Pin würde ich dann über 15 decoder/demultiplexer 
(http://de.farnell.com/texas-instruments/sn74lv138apwr/ic-3-zu-8-leitungs-decoder-dmux/dp/2342426) 
ansprechen. Zudem ist die Leistung auch kein Problem, da die Klötzchen 
die translatorisch bewegt werden sollen, ca. 3g wiegen.

Für den Microcontroller hätte ich mir den Atmega128A ausgesucht, welcher 
mehr als genügend I/Os hat.

Mein problem ist jetz die Stromversorgung! Wenn ich richtig gerechent 
habe, brauch ich 300mA x 100 = 30 A, wenn ich alle Motoren parallel 
schalte. Das ist eindeutig zu viel für Leiterbahnen.

Gibt es zu diesem Problem eine geschickte Lösung?
Jeden Motor mit einer eig. Stromquelle auszustatten ist ein bisschen 
umständlich!

Vielen Dank schon mal für die Antworten

von Georg G. (df2au)


Lesenswert?

Sebastian W. schrieb:
> wenn ich alle Motoren parallel schalte

??? Weiter oben schreibst du, dass du immer nur einen Motortreiber zur 
Zeit aktivieren willst. Als zieht auch nur ein Motor Strom.

von xxxx (Gast)


Lesenswert?

Sebastian W. schrieb:
> und diese dann bis zum nächsten Befehl halten sollen.

von Stefan F. (Gast)


Lesenswert?

Kannst du den Haltestrom reduzieren?

von Pic T. (pic)


Lesenswert?

Nimm 5V stepper, unipolar, da kommt der Driver (uln) auch mit,
und 12V Stromquelle, sowie pwm, 3x pwm , also 33 Motoren je an derselben
PWM Strippe.

von m.n. (Gast)


Lesenswert?

Sebastian W. schrieb:
> Ein Motor, den ich gefunden habe und
> auch eig. alle Anforderungen erfüllt wäre dieser hier:

Dann hol Dir ein Päckchen und probiere aus, ob es damit tatsächlich 
funktioniert. Damit wäre ein großer Kostenpunkt geklärt.

Bei der Ansteuerung selbst, würde ich aber keine einzelnen Billigtreiber 
verwurschteln und diese über eine windige Verdrahtung ansteuern, sondern 
pro 2, 4 oder 8 Motore eine eigene Ansteuerplatine mit µC vorsehen, die 
ihre Befehle per ser. Schnittstelle bekommt.

Sebastian W. schrieb:
> Jeden Motor mit einer eig. Stromquelle auszustatten ist ein bisschen
> umständlich!

Wenn man bei diesen winzigen Motoren mit Stromabsenkung und höherer 
Versorgungsspannung arbeitet (24 V), ist die Gesamtstromaufnahme kein 
Problem.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

"Original JAPNA SANYO" - Haha, selten so gelacht. Die Firmen heißen 
Japan Servo (inzwischen Nidec Servo) ODER Sanyo Denki, aber Japna 
Sanyo?! Das ist höchens originell, nicht original.

Zur eigentlichen Frage:
Ich würde mich da meinem Vorredner anschließen und immer einen 
Controller je 8 oder 16 Motoren verwenden. Das ist dann in Hinblick auf 
Spannungsversorgung und Verdrahtung noch überschaubar. Wenn du das dann 
am Laufen hast, kannst du das nach Bedarf skalieren.

Mit freundlichen Grüßen
Thorsten Ostermann

von nemesis... (Gast)


Lesenswert?

Wenn es keine zeitlichen Beschränkungen gibt, böte sich doch
eine CAN-BUS-Lösung an. Die Richtung würde ich mal in den Fokus
nehmen.

von Hans (Gast)


Lesenswert?

Da immer nur ein Motor laufen soll: könnte man nicht ganz auf einem Bus 
und einen Treiber für jeden Motor verzichten und eine matrix aufbauen?

von Sebastian S. (amateur)


Lesenswert?

100 Stepper von einer Platine aus: Ein Witz.

Aus diesem Grunde brauchst Du auch keine entsprechenden Ströme zu 
erwarten.
Im Übrigen gibt es Schienen, die auf die Platine gelötet werden können.

Aus rein physikalischen (Verdrahtungsaufwand) Gründen würde ich das 
Problem auf mehrere Platinen verteilen. Ein Mikrokontroller für z.B. 4 
bis acht Motore sollte kein Problem sein. Die Dinger kosten ja fast 
nichts mehr – der Rest bleibt gleich. Dann hättest Du:
1 X Stromversorgung
1 X Kommunikation der Steuerrechner untereinander
    (I²C, seriell oder was auch immer)
4 X oder 8, 4-fach Klemmen. Das ist auch schon einiges an Platz
Natürlich pro Platine.

Allerding wird einiges an Strom auf Dich zukommen. Aber weniger als im 
Überschlag. Geh mal davon aus, dass 3 bis 6 Stepper gleichzeitig Laufen 
und 94 bis 97 den reduzierten Haltestrom ziehen.

von Sebastian S. (amateur)


Lesenswert?

Ach so ich vergaß:
Ein weiterer Vorteil ist, dass, mit Ausnahme der ersten Platine - wegen 
der Außenkommunikation - alle Platinen gleich sind.
Das vereinfacht die Entwicklung, das Prüfen und die Inbetriebnahme.
Eine 100-fach Platine in den Sand zu setzen, ist richtig löcherig fürs 
Portemonnaie.
Bei einem 8-fach System sind das immer noch 12 + 1 Platinen.

: Bearbeitet durch User
von W.A. (Gast)


Lesenswert?

Hans schrieb:
> Da immer nur ein Motor laufen soll: könnte man nicht ganz auf einem Bus
> und einen Treiber für jeden Motor verzichten und eine matrix aufbauen?

Dann mach mal einen Vorschlag für eine Matrixumschalterei der 
Motorströme, insbesondere falls auch noch Haltestrom für jeden fließen 
muss ;-)

Georg G. schrieb:
> ??? Weiter oben schreibst du, dass du immer nur einen Motortreiber zur
> Zeit aktivieren willst. Als zieht auch nur ein Motor Strom.
Gelegentlich brauchen Schrittmotoren, auch wenn sie stehen, einen 
Haltestrom - da kommt es natürlich drauf an, auf die mechanischen 
Anforderungen an, die hier keiner kennt.

Sebastian W. schrieb:
> Den hätte ich dann mit dem Low-Voltage-Motor-Driver DRV8834 von Pololu
> angesteurt:
> https://www.pololu.com/product/2134
Low-Voltage ist bei Schrittmotoren selten eine gute Idee, zumindest wenn 
sie sich auch mal zügiger drehen sollen.

von MiWi (Gast)


Lesenswert?

Sebastian W. schrieb:
> Hallo zusammen,
>
> ich versuche für ein Projekt ca. 100 schrittmotoren anzusteuern.
> Ich hab im Forum schon gesucht und leider immer angefangen Themen
> gefunden, aber leider nie wirklich eine Lösung, deswegen probier ich es
> jetz auf direktem Weg.
>
> Also wie schon gesagt, ich möchte 100 Schrittmotoren ansteuern um eine
> Translatorische bewegen zu machen. Ein Motor, den ich gefunden habe und
> auch eig. alle Anforderungen erfüllt wäre dieser hier:


> Für den Microcontroller hätte ich mir den Atmega128A ausgesucht, welcher
> mehr als genügend I/Os hat.

BTDT mit 30 DC-Motoren (24V/1A) für eine Klanginstallation:

Weil verteilte Motoren (also nix mit einem uC für mehrere Motoren) hat 
jeder einen eigenen Controller bekommen (ATTiny43U) und ein L6219 hat 
die Ansteuerung der Motoren übernommen. Platine: ca. 50x40mm...

Protokoll war DMX, wir haben zur Ansteuerung ein normales Lichtmischpult 
verwendet...

Kostenpunkt pro Platine: so um die 16€, ohne Software...

Stromversorgung kam aus mehreren 18V/12A Trafos, die - nur 
gleichgerichtet mit ein paar 1000uF gesiebt und abgesichert - jeweils 
5-7 Motoren versorgt haben. Ströme waren dadurch relativ gering, 10A pk 
wenn alle 7 gleichzeitig angefahren sind (Lange Zuleitung und vor allem 
SW-Begrenzung haben zusammengearbeitet)

klingt jedenfalls nach einem netten Projekterl...

Grüße

MiWi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.