Hallo zusammen, habe mich soeben neu hier angemeldet und habe so einige Fragen. Ich plane seit längerer Zeit ein Projekt, welches ich nun verwirklichen möchte. Zwischenzeitlich habe ich mir schon einige Programmierkenntnisse in Java und Assembler angeignet und möchte diese auch ein wenig vertiefen. Folgendes Problem, ich würde gerne mehrere Schrittmotoren ansteueren und habe bisher noch keine Idee, welche Hardware ich zusätzlich benötige. Auch über die Dimensionen der Schrittmotoren habe ich keine konkreten Vorstellungen. Soviel steht fest, es muss so gut wie keine Kraft aufgebracht werden, lediglich eine kleine gewindestange drehen. Gewindestangen und Schrittmotoren sollten dabei so klein wie möglich sein. Hier spielt auch der Preis eine Rolle, somit steht der Kostenfaktor im Vordergrund. Für alles andere steht großer Spielraum zu. Es werden zwischen 60 und 100 Schrittmotoren benötigt, welche unabhängig voneinander angesteuert werden müssen. Ist dies möglich?
Ich glaube bei 60 - 100 Schrittmotoren wird es schwierig. Es wird dafür wohl kaum etwas fertiges von der Stange geben. Auch das verwenden von einzelnen Schrittmotor-Karten dürfte schwierig werden, weil dir relativ schnell die Schnittstellen ausgehen. Wenn du Java erwähnst, dann vermute ich mal geht es um einen PC, der die Schrittmotoren ansteuern soll, oder? Ob Java allerdings die richtige Wahl ist? Eine Garbage Collection könnte dir je nach Anwendung an die du denkst einen Strich durch die Rechnung machen, weil in der Zeit keine Schritt-Impulse mehr rausgehen. Ich denke bevor hier gute Tipps kommen können musst du schon noch ein wenig mehr über die Anforderungen schreiben. Also wieviele Schrittmotoren laufen gleichzeitig, wie schnell, wie synchron müssen die laufen ...
MagIO schrieb: > weil in der Zeit keine Schritt-Impulse mehr rausgehen. Bei 60 Motoren ist eine Lösung mit PC-Software auf der Parallel-Schnittstelle u.ä. längst nicht mehr sinnvoll, das müssen 60 Motoren mit eigenem Kontroller sein, die nur Befehle ausführen und die Schritte selbst erzeugen*. Aber was technisch sinnvoll wäre, kann wohl nicht bezahlt werden. * 500 Schritte/Sek bei 60 Motoren sind 30000 Schritte/Sek. Gruss Reinhard
Die Frage ist doch: Wie gross ist die maximale Zahl der gleichzeitig anzusteuernden Motoren? Reichen einfach Verfahrbefehle, führt das zu einer sehr geringen Bandbeite, die der PC dreimal locker im Schlaf schafft. Wenn alle Motoren ständig ihren Mode ändern, würde ich fragen, woher die Infos dafür kommen (sollen.) Kann also nicht sein. Auch Modelbahnen fahren mit bis zu 100 Zügen gleichzeitig, werden aber mit nur einem PC gesteuert. Der sendet einfach an alle Signale, Weichen und Motoren ein ON/OFF und die Dinger laufen von selber. Du benötigst also eine Anzahl von Schrittmotorkarten mit Treibern, die von jeweils Mikrocontrollern angesteuert werden können und autakt laufen.
Jens Müller schrieb: > Ist dies möglich? Möglich auf alle Fälle, die Frage ist zu welchem Preis. Wenn ich mal von einem Schrittmotor ausgehe der beim 3 1/2" Floppylaufwerk per Trapezgewindespindeln den Kopf bewegt, dann wären zur Ansteuerung lediglich 30 bis 50 TPIC6B595 nötig, das sind unter 100EUR inklusive Netzteil von 3 bis 5A. Wären die Motoren grösser, müssen bipolar mit Stromregelung per Mikroschritt angesteuert werden und man will stall guard Blockierungserkennung, kann das schnell über 1000EUR kosten, will man es aus Fertigmodulen ohne Löten landet man eventuell bei 10000EUR.
Du könntest diesen Schrittmotortreiber nehmen: http://www.watterott.com/de/EasyDriver-v4-Schrittmotor-Treiber Mit einem Arduino kannst Du wahrscheinlich 15 dieser Treiber ansteuern.
Ich würde jeden Schrittmotor mit einem eigenen Mikrokontroller ausrichten z.B. ATtiny 45. Den kann man dann bequem und recht unkompliziert über den I2C Bus bzw. bei Atmel heißt er ja TWI ansprechen. Am I2C-Bus kannst Du locker 100 Kontroller mit seinem eigenen Schrittmotor anschließen. Jeder Schrittmotor muß natürlich ein Leistungstreiber haben, den man ebenfalls durch den Kontroller ansteuern kann.
Einige Ideen wurden schon genannt. Was mich jetzt hieran verwundert ist, dass weder bekannt zu sein scheint was der Schrittmotor bewegen muss noch was die Gewindestange treiben soll. Nur so ist zu erklären, dass nicht bekannt ist welche Größe der Schrittmotor und die Gewindestange haben muss. Für mich schaut es also so aus als seien die Randbedingungen nicht klar. Solange die aber nicht klar sind kann man schlichtweg keine Lösung präsentieren. Also, Jens, definiere erstmal die Randbedingungen. Dazu gehört: - was muss bewegt werden (Gewicht, Trägheitsmoment) - in welche Richtung muss es bewegt werden (kann die Schwerkraft ausgenutzt werden) - unter welchen Umweltbedingungen (in der Wüste oder an der Arktis, unter Hochdruck oder Hochvakuum) - wie schnell muss es bewegt werden (reichen 1 mm/h oder sollen es 1 m/s sein) - wie genau muss es bewegt werden (muss es auf den Nanometer genau sein oder genügt ein zehntel Millimeter) - mit welcher minimalsten Auflösung muss es bewegt werden (muss es kontinuierlich sein oder sind 1/2 Millimeter pro Step auch OK) Genau genommen ist die Frage: Was willst du mit 60-100 Schrittmotoren bewegen unter welchen Bedingungen.
Dem könnte man noch hinzufügen: - Ist bei den Bewegungen von vornherein klar, wie lang sie sein sollen oder gibt es plötzliche Eingriffe, wie z.B. Endschalter - Müssen die Motoren bestimmte Stellungen anfahren oder sich einfach nur drehen - Wird der Antrieb so ausgelegt, dass er selbsthemmend ist oder muss dauernd Haltestrom fließen - Brauchst du Mikroschrittbetrieb
Ich würde für jeden Motor einen uC für die Steuerung spendieren und dann die Ansteuerung über einen Bus realisieren. Falls du kein Feedback von den Motoren brauchst dann würde ich sogar UART<->RS485 benutzen und vom PC (whatever) die Daten an die Controller schicken ohne Daten zu empfangen. ---
Jens Müller schrieb: ... > Vorstellungen. Soviel steht fest, es muss so gut wie keine Kraft > aufgebracht werden, lediglich eine kleine gewindestange drehen. > Gewindestangen und Schrittmotoren sollten dabei so klein wie möglich > sein. Hier spielt auch der Preis eine Rolle, somit steht der > Kostenfaktor im Vordergrund. Für alles andere steht großer Spielraum zu. > > Es werden zwischen 60 und 100 Schrittmotoren benötigt, welche unabhängig > voneinander angesteuert werden müssen. > > Ist dies möglich? Das ist ohne Probleme möglich. An jeder der Motoren einen Controller und dann wie Werner geschrieben hat per RS485 Befehle senden. Werner schrieb: > Ich würde für jeden Motor einen uC für die Steuerung spendieren und dann > die Ansteuerung über einen Bus realisieren. Falls du kein Feedback von > den Motoren brauchst dann würde ich sogar UART<->RS485 benutzen und vom > PC (whatever) die Daten an die Controller schicken ohne Daten zu > empfangen. > > > --- Was hast du vor? Hört sich stark nach Áblenkspiegel für Lasershow an. Dann kannst du ne DMX Steuerung nehmen. Und hier auch wieder die Controller auf die Motoren und gut.
Steffen schrieb: > Das ist ohne Probleme möglich. An jeder der Motoren einen Controller und > dann wie Werner geschrieben hat per RS485 Befehle senden. Und als Controller mindestens einen ATtiny2313 bzw. ATmega48 nehmen, dessen USART im Halbduplex und Multiprozessor-Kommunikations-Modus betrieben wird. Bei RS485 muß man noch Repeater einplanen. Wenn 'schlappe' Schrittmotoren ausreichen, könnten es auch welche mit unipolarer Ansteuerung sein, oder alternativ bipolare mit l293 betrieben. Jens Müller schrieb: > Hier spielt auch der Preis eine Rolle, somit steht der > Kostenfaktor im Vordergrund. Es kostet das, was es kostet. Oder Du wartest auf Nikolaus oder den Weihnachtsmann :-)
m.n. schrieb: > Steffen schrieb: >> Das ist ohne Probleme möglich. An jeder der Motoren einen Controller und >> dann wie Werner geschrieben hat per RS485 Befehle senden. > > Und als Controller mindestens einen ATtiny2313 bzw. ATmega48 nehmen, > dessen USART im Halbduplex und Multiprozessor-Kommunikations-Modus > betrieben wird. Bei RS485 muß man noch Repeater einplanen. Quatsch keinen Blödsinn. Wofür Repeater? Ein Gateway (da RS485 nur 32 Teilnehmer zulässt) kann man sich sparen wenn man einen Controller nimmt der mehrere UART Module hat. Stinkeinfach wenn man nicht mit Scheuklappen auf den 8bit 0-8-15 Controllern rumreitet. Pro Schrittmotor ein Furzcontroller , ein RS485 Transceiver, ein Schaltregler für 3V3 / 5V je nach Transceiver & H-Brücke und natürlich die H-Brücke http://www.mikrocontroller.net/articles/H-Br%C3%BCcken_%C3%9Cbersicht Dafür muss man sein Handwerk natürlich beherrschen ... oder eben Arduino nehmen. Das hilft aber auch kaum bei der Hardware. H-Brücken-Beschaltung irgendwo klauen. Schrittmotor Modul: Konzept & Bauteilsuche 8h Schaltplan zeichnen 8h Platinenlayout 8h Review 1h Platine bestellen 1h Prototyp bestücken THT 2h Inbetriebnahme 1h Prototyp Korrektur 2h Platine bestellen 1h Inbetriebnahme PrototypII + Bestückung 2h Programmierung Konzept 10h Programmierung 30h Test 3h Platine Serie bestellen 1h Bestückung 70x 0,5h für das Sender wird es ähnlich aussehen. So als Hobbyentwicklung nebenbei würde ich dafür realistisch 1 Jahr ansetzen.
Bupf schrieb: > Quatsch keinen Blödsinn. Wofür Repeater? Ein Gateway (da RS485 nur 32 > Teilnehmer zulässt) kann man sich sparen wenn man einen Controller nimmt > der mehrere UART Module hat. Warum heute so bescheiden? Einfach IPV6-Protokoll und jeder Schritt des Motors bekommt seine eigene Adresse.
Vielen Dank für die zahlreichen Antworten! Habe nun etwas recherchiert und habe folgendes gefunden: http://www.robotshop.com/en/devantech-sd84-servo-controller.html Welches wohl alle Schrittmotoren ansteueren kann. Gibt es so etwas vergleichbares oder ist das der einzige Controller der zu diesem Preis so viele Schrittmotoren ansteuern kann? Ich benötige wohl zudem für jeden Schrittmotor einen Easydriver? Welcher wäre hier zu empfehlen? Wäre in Sachen Schrittmotoren, Floppy Schrittmotoren die günstigste Alternative? Wenn ja, wisst ihr wo ich soviele beziehen könnte? Was benötige ich zusätzlich, zu dem genannten Controller für Hardware? Natürlich von den Schrittmotoren und den Easydrivern abgesehen. Danke schonmal, Jens
Hi >Welches wohl alle Schrittmotoren ansteueren kann. Gibt es so etwas >vergleichbares oder ist das der einzige Controller der zu diesem Preis >so viele Schrittmotoren ansteuern kann? Und was hat das Teil mit Schrittmotoren zu tun? Das steht nur etwas von Servos. MfG Spess
> Welches wohl alle Schrittmotoren ansteueren kann. Keinen einzigen. Der steuert bloss Modellbauservos an. > Wäre in Sachen Schrittmotoren, Floppy Schrittmotoren die günstigste > Alternative? Da niemand weiss, das deine Schrittmotoren leisten müssen, an Kraft und Geschwindigkeit und Weg, und du auch auf jede Nachfrage diesbezüglich penetrant schweigst, wird das niemand beanwtorten können - und auch nicht wollen.
60-100 Motoren kannst du von mir bekommen, bei Bedarf auch passende Leistungsteile (von der Stange oder angepasst). Dafür müsstest du allerdings erst mal wissen, was du eigentlich genau benötigst. Mit freundlichen Grüßen Thorsten Ostermann
Die Frage konnte meine Meinung nach nicht richtig beantwortet werden weil die Anforderungen nicht genau geklärt wurden. Ich möchte bitte die Frage neu stellen. 1)100 Schrittmotoren 2) sie müssen ca.30 gram Gewicht auf und ab positionieren 3)gleichzeitig müssen 20 Motoren angesteuert werden also 5 Gruppen die hintereinander gesteuert werden müssen. 4) Distanz und Zeit für auf und ab max 2m in 1 sec. 5) start und stop gleitend Danke im voraus
:
Bearbeitet durch User
Nach über 10 Jahren, echt jetzt? Ist der fette rote Hinweis nicht zu verstehen?
Wegen der vielen pins wirste wohl einen FPGA nehmen müßen, die FPGA-Hersteller haben dazu use-cases unter dem Stichwort "robotic" oder "motor control" * https://www.latticesemi.com/en/Solutions/Solutions/SolutionsDetails02/Robotics * https://www.youtube.com/watch?v=_iYlNDAtErc * https://www.xilinx.com/products/boards-and-kits/1-rv9go9.html * https://www.hackster.io/adam-taylor/fpga-based-motor-control-cd47e7 * https://www.technik-emden.de/~rabe/veroeffentlichungen/StefanRabe_FpgaMotorregelung_Automatisierungstage_2012.pdf
:
Bearbeitet durch User
Shahriar A. schrieb: > Ich möchte bitte die Frage neu stellen. Gib (am besten in einem neuen Thread) auch gleich an, wofür du das Ganze brauchst. Und am besten auch, bis wann du es brauchst und auch, was es kosten darf. Denn sehr, sehr oft ist eine andere Lösung besser als die, die sich ein Fragesteller ausgedacht hat.
* https://unjo.com/sv/fpga-based-multi-motor-control-watch-our-video/ * Beitrag "LM629 Ersatz" * Beitrag "6 Maschinen gleichzeitig Messen / Steuern (FPGA und Multiplexer)"
:
Bearbeitet durch User
Jens M. schrieb: > Es werden zwischen 60 und 100 Schrittmotoren benötigt, welche unabhängig > voneinander angesteuert werden müssen. > Ist dies möglich? Möglich ist alles, willst du es bezahlen ? So was hier: https://de.aliexpress.com/item/4000712655800.html Sind bipolare Motoren, 5V 300mA. Wenn dauerhaft Strom verbraucht werden darf (bei 100 Stück immerhin 60A/300W), kann so was wie ein LB1836M pro Motor an 2 Ausgänge eine 74HC595, ist halt aufwändig. L293 wurde ich nicht benutzen, kostet zu viel Spannung, man müsste mit 7V statt 5V versorgen, Rest Verlust. Mit unipolaren Motoren könnte ich mir eine Matrixschaltung vorstellen.
:
Bearbeitet durch User
Michael B. schrieb: > Möglich ist alles, willst du es bezahlen ? So ist das, wenn jemand einen uralten Thread ausgräbt: man antwortet dem Falschen...
Bradward B. schrieb: > Wegen der vielen pins wirste wohl einen FPGA nehmen müssen, "Müssen" nicht - aber sinnvoll wäre es. Nun ist der thread ja schon uralt, aber es könnte ja sein, dass irgendwann irgendwer tatsächlich wieder Lust hat, hunderte Stepper zu kontrollieren, daher beamen wir uns mal knapp 20 Jahre zurück und finden ... (m)eine Schrittmotorsteuerung mit FPGAs: https://patents.google.com/patent/WO2009071267A3/no Der Prototyp lief 2006 und konnte mit einer gepipelineten FSM in einem Spartan 3 (auf 40 MHz, wenn ich mich richtig entsinne.) 32 Hybrid-Stepper-Motoren steuern und überwachen. Die Steuerung und die Erkennung des Schrittverlusts, sowie die Verhinderungdesselben sind seither stark ausgebaut und verbessert, aufgrund von Modifikationen nicht mehr durch das Patent behindert und wurde um eine weiche anticogging-Funktion erweitert. Wer mag, kann einen Core dafür erwerben.
Lothar M. schrieb: > So ist das, wenn jemand einen uralten Thread ausgräbt: man antwortet dem > Falschen... Wohl wahr, blöd, aber die Antwort kann auch fur Shahriar passen.
Jürgen S. schrieb: > Bradward B. schrieb: >> Wegen der vielen pins wirste wohl einen FPGA nehmen müssen, > "Müssen" nicht - aber sinnvoll wäre es. Die Alternative ist IMHO ein "Netzwerk" aus mehreren µC-Platinen. Nach kurzer Marktrecherche scheint es nur Evalboards mit einstellige Anzahl von Motoransteuerungen (H-bridges/Power-FET's) zu geben. https://www.infineon.com/cms/de/product/evaluation-boards/multi-motor-evalkit/ https://www.st.com/en/motor-drivers/l6460.html https://docs.rs-online.com/08a1/0900766b8142a964.pdf Selbst bei der vorgeschlagenen Gruppieung 5 a 20 müssten mehrere boards "echtzeitfähig" miteinander kommunizieren. OK, die Anforderungen an "Echtzeit" ist bei Schrittmotoren eher gering, da wird der Bereich einzelne Milisekunde ausreichend sein.
Bradward B. schrieb: > OK, die Anforderungen an "Echtzeit" ist bei der geheimen Anwendung vollkommen unbekannt.
Jens M. schrieb: > Soviel steht fest, es muss so gut wie keine Kraft > aufgebracht werden, lediglich eine kleine gewindestange drehen. > Gewindestangen und Schrittmotoren sollten dabei so klein wie möglich > sein. Hier spielt auch der Preis eine Rolle, somit steht der > Kostenfaktor im Vordergrund. https://www.amazon.de/dp/B0BVZ2K5L7?psc=1&ref=ppx_yo2ov_dt_b_product_details > Es werden zwischen 60 und 100 Schrittmotoren benötigt, welche unabhängig > voneinander angesteuert werden müssen. > Ist dies möglich? https://www.mouser.de/ProductDetail/Toshiba/TB6608FNGC8EL?qs=rsevcuukUAyuvsmecBkc6A%3D%3D&countryCode=DE¤cyCode=EUR&_gl=1*15csl0x*_ga*dW5kZWZpbmVk*_ga_15W4STQT4T*dW5kZWZpbmVk*_ga_1KQLCYKRX3*dW5kZWZpbmVk dazu jeweils ein kleiner Controller (ca. 1€/Stück)
Shahriar A. schrieb: > 4) Distanz und Zeit für auf und ab max 2m in 1 sec. Na dann fang mal mit einem an. Nebenbei: NE555 und ULN2803 sind die falschen Suchbegriffe. Hier fehlt ein Forum namens "Kunst". Da könnte man dann die grandiosen Ideen konzentrieren und wüßte gleich, was alles Unausgereiftes nicht funktioniert.
Bradward B. schrieb: > OK, die Anforderungen an > "Echtzeit" ist bei Schrittmotoren eher gering, da wird der Bereich > einzelne Milisekunde ausreichend sein. In der Regel ja, aber in einer von mir entwickelten App für Spiegelsteuerunge im Bereich Laser braucht es Mikrosekunden. Außerdem sehe ich den Grund nicht ein, warum man uC-Platinen verschalten soll, wenn man die gesamte Funktion in einem FPGA unterbringen kann. :-)
Jürgen S. schrieb: > Außerdem > sehe ich den Grund nicht ein, warum man uC-Platinen verschalten soll, > wenn man die gesamte Funktion in einem FPGA unterbringen kann. Stelle dir mal vor, die Kabel für 100 Motoren (mit jeweils ca 10 Drähten für die Spulen und Sensoren) laufen auf ein kleines zentrales Kästchen zusammen. Das sind 1000 Anschlüsse!
Jürgen S. schrieb: > in einem FPGA unterbringen kann Interessantes Thema, allerdings Single Point of Failure (kurz SPOF)? Wahrscheinlich sollte man die Aufgaben besser verteilen. Nebenbei würde mich bei Deinen 100 Schrittmotoren auch der momentane Stromverbrauch interessieren (je nach Ansteuerung).
:
Bearbeitet durch User
Lu schrieb: > Jürgen S. schrieb: >> in einem FPGA unterbringen kann > > Interessantes Thema, allerdings Single Point of Failure (kurz SPOF)? > Wahrscheinlich sollte man die Aufgaben besser verteilen. Also Multi Points of Failure schaffen? Die MTBF sinkt mit der Anzahl der Komponenten.
:
Bearbeitet durch User
Bradward B. schrieb: > Die MTBF sinkt mit der Anzahl der Komponenten. OT: Deswegen haben moderne Autos kein Ersatzrad mehr? Je nach Anwendung könnte es jedoch nützlich sein, wenn einige Motoren noch wunschgemäß funktionieren?
> Je nach Anwendung könnte es jedoch nützlich sein, wenn einige Motoren > noch wunschgemäß funktionieren? Je nach Anwendung könnte es jedoch schädlich sein, wenn nur einige Motoren funktionieren (Asymmetrischer Schub, Antrieb -> bspw. Ausbrechen des Fahrzeuges bei Reifenplatzer). Deshalb wurde ja bspw. das ESP eingeführt. "Nützlich" wäre lediglich, das es noch soweit funktioniert das das System in einen sicheren Zustand (Bspw. Abschaltung über Not-Aus) überführt werden kann. Aber dafür konstruiert man besser ein autonomes "Abschalt-system" (bspw. SCRAM) als das man mit den "halb-funktionierenden" System weitermacht. Siehe Tschernobyl. Oder diverse Flugzeugabstürze, die auf widersprüchliche Anzeige/Alarme (gleichzeitig "zu schnell" und "zu langsam" Alarm) zurückgeführt werden.
:
Bearbeitet durch User
Bradward B. schrieb: > Je nach Anwendung könnte es jedoch schädlich sein, wenn nur einige > Motoren funktionieren (Asymmetrischer Schub, Antrieb -> bspw. Ausbrechen > des Fahrzeuges bei Reifenplatzer). Wäre denn Deiner Meinung nach damit eine Mondlandung möglich? Das ist hier doch die Kernfrage.
Steve van de Grens schrieb: > Stelle dir mal vor, die Kabel für 100 Motoren (mit jeweils ca 10 Drähten > für die Spulen und Sensoren) laufen auf ein kleines zentrales Kästchen > zusammen. Das sind 1000 Anschlüsse! Eine gewisse Dezentralität wird sich ergeben, richtig - aber die Motoren werden nicht kilometerweise auseinander sitzen, sondern eine gemeinsame Funktion haben. So wird man die auch gruppieren. Wahrscheinlich werden es dann einige Haupteineinheiten sein. Sagen wir als Beispiel 4 für 100 Kanäle. Die Frage, wie man die aufteilt, wird man auch davon abhängig machen müssen, wie sehr die untereinander kommunizieren müssen. Wenn es um Lageregelungen geht - ich habe da eine ganz bestimmte Anwendung im Sinn - braucht man alle Infos aller Motoren praktisch zeitgleich verfügbar. Ohne zuviel zu verraten: Man kann an einen FPGA-Pin 2 sequenzielle SR mit z.B. 16MHz hängen und hat an jedem der Pins somit eine amtliche 500kHz-PDM verfügbar, die locker für eine Strombandführung mit 5kHz-SIN/COS-Microstep reicht. Und die Leitungen für die Sensoren kann man sich ja sparen, wie in der Patenschrift aufgeführt, weil man das nicht braucht :-) Bradward B. schrieb: > Die MTBF sinkt mit der Anzahl der Komponenten. Das ist auch noch so ein Argument fürs Zusammenfassen, ja.
Jürgen S. schrieb: > Ohne zuviel zu verraten: Man kann an einen FPGA-Pin 2 sequenzielle SR > mit z.B. 16MHz hängen und hat an jedem der Pins somit eine amtliche > 500kHz-PDM verfügbar, die locker für eine Strombandführung mit > 5kHz-SIN/COS-Microstep reicht. Auch wenn Du in FPGA-Wolken schwebst, ist das alles keine Lösung für die Anfrage vom 13.05.2024: 4) Distanz und Zeit für auf und ab max 2m in 1 sec. Das ist zunächst ein mechanisches anstatt ein elektronisches Problem. Aber der Nachfrager ist sich dessen nicht bewußt und wird sich wohl auch nicht wieder melden. Nimm gerne ein FPGA, wenn Du mir verrätst, wie die Bewegung in dieser Geschwindigkeit ausgeführt werden soll. Ein Ansatz wäre eine Gewindestange mit 1 mm Steigung und ein Schrittmotor mit 2000 Umdrehungen/s. Und das Ganze soll sicherlich noch 'schön' aussehen ;-)
Mi N. schrieb: > Ein Ansatz wäre eine Gewindestange mit 1 mm Steigung und ein > Schrittmotor mit 2000 Umdrehungen/s Zeigst du mir bitte einen Schrittmotor mit 120000U/min ? Alternativ auch jeden anderen Motor mit dieser Umdrehungszahl.
:
Bearbeitet durch User
Klaus schrieb: > Zeigst du mir bitte einen Schrittmotor mit 120000U/min ? Hier habe ich gelernt, daß es zwecklos ist, Ironie zusätzlich als solche zu kennzeichnen. Das wird - ob so oder so - immer gerne überlesen. Meine Frage bleibt aber: Wie soll die Bewegung mechanisch umgesetzt werden?
> Meine Frage bleibt aber: Wie soll die Bewegung mechanisch umgesetzt > werden? Das ist aber nicht das Thema des Threads, der sich mit Ansteuerung - und nicht mit der mechanischen Auslegung - befasst. Man kann ja verstehen, das sich ein (Möchtegern-)Diskussionsteilnehmer, dem es an KnowHow-Tiefe bzgl. Ansteuerelektronik (egal ob jetzt FPGA oder µC) mangelt, gern auf ein anderes Thema ausweicht, um sich im Gespräch zu halten; zielführend für die Lösung des Problems ist dies aber nicht.
Es macht aber doch keinen Sinn, über eine komplexe Ansteuerung der Schrittmotoren zu diskutieren, wenn das Projekt mit solchen Motoren nicht umsetzbar ist. Dazu kommt: > Auch über die Dimensionen der Schrittmotoren habe ich keine > konkreten Vorstellungen. So kann man keine sinnvolle Lösung vorschlagen. Eine Schaltung die hundert beliebige Schrittmotoren gut und günstig ansteuert gibt es vielleicht in Phantasien, aber nicht hier.
:
Bearbeitet durch User
> Es macht aber doch keinen Sinn, über eine komplexe Ansteuerung der > Schrittmotoren zu diskutieren, wenn das Projekt mit solchen Motoren > nicht umsetzbar ist. So ein Projekt ist wie in den oben verlinkten Video zu sehen schon umsetzbar, wenn wohl auch nicht mit der zwischenzeitlich genannten Maximal-Geschwindigkeit.
:
Bearbeitet durch User
Bradward B. schrieb: > wenn wohl auch nicht mit der zwischenzeitlich genannten > Maximal-Geschwindigkeit. Ach was?
Mi N. schrieb: > Auch wenn Du in FPGA-Wolken schwebst, ist das alles keine Lösung für die > Anfrage > Das ist zunächst ein mechanisches anstatt ein elektronisches Problem. Es ging zunächst schon nur um die Ansteuerelektronik. Daß die Mechanik gelöst werden muss, ist richig, aber durchaus machbar: Du hast bei einem "Schrittmotor" eventuell die typischen, kleinformatigen Spielzeuge im Hinterkopf, mit denen man mittelschwere Objekte auf Position bringen möchte, wegen der Baugröße einen Schneckentrieb benutzt und der Fokus der Genauigkeit ist. Ich darf dir aber vermitteln, dass es durchaus Bauformen gibt, mit denen man Schlagbohrmaschinen ersetzen und an die Wand nageln kann. > 4) Distanz und Zeit für auf und ab max 2m in 1 sec. Bei einem Grobgewinde mit ausreichendem Durchmesser und passender Steigung bekommt man durchaus einen 2m-Hub mit <50 Umdrehungen. Bei einer geführten S-Kurve braucht es damit maximal 3m/s = 75 U/s mit einer maximalen Beschleunigung von 10m/s2 wenn ich richtig rechne. D.h. man beschleunigt das Ding mit 1g + Reibung und schiebt ab Pos=1m nur noch mit der Reibung und lässt auslaufen. Wahrscheinlich kann man auch mit 0,7g bis 1,66 beschleunigen und dann damit gegenbremsen. > Nimm gerne ein FPGA, wenn Du mir verrätst, wie die Bewegung in dieser > Geschwindigkeit ausgeführt werden soll. BTDT. Die von mit entwickelte Steuerung dreht nochmal 3.5x schneller und bewegt einen Motor, wo sogar die Wellentrosion vorkompensiert wird, um die Schwinungen zu dämpfen, weil es den Nutzern sonst die Ohren weghaut. Und nein, man hätte es nicht mit einer CPU machen können.
:
Bearbeitet durch User
> Du hast bei einem "Schrittmotor" eventuell die typischen, > kleinformatigen Spielzeuge im Hinterkopf, mit denen man mittelschwere > Objekte auf Position bringen möchte, wegen der Baugröße einen > Schneckentrieb benutzt und der Fokus der Genauigkeit ist. Eben. Mal kurz mit "fastest stepper motor" gegoogelt und über die hits drübergeschaut findet sogar einen Extra-flinken unter den eher konservativ ausgelegten Motoren bei Faulhaber: https://www.faulhaber.com/en/motion/new-am3248-stepper-motor-with-10000-rpm/ Meines Erachtens gehören Diskussionen zu Mechanikdetails in das Unterforum: https://www.mikrocontroller.net/forum/mechanik > Stelle dir mal vor, die Kabel für 100 Motoren (mit jeweils ca 10 Drähten > für die Spulen und Sensoren) laufen auf ein kleines zentrales Kästchen > zusammen. Das sind 1000 Anschlüsse! Also eine Formulierung wie "ca 10 Drähte" klingt eher nach Einem, der nicht mal von eins bis zehn korrekt zählen kann als nach einer professionellen Schaltungsauslegung/Architekturdefinition. Es ist ein Leichtes, mal die Anschlüsse an einem Stepper Motor zu zählen und eine konkrete Anzahl zu nennen. An dieser Stelle könnte man das Verdrahtungs-Konzept auch (gedanklich) in Stromversorgung, Steuer- und Statusleitungen ausftrennen und dabei erkennen, das nur eine Teilmenge davon zur Steuerplatine reichen muß. Die Halbbrücken/Leistungs-FET zum Schalten der Motorspulen, könnte man ohnehin auf extra-Träger zusammen mit den Motoren platzieren und die "Hochstrom"-Kabel extra führen. Viele einzelne Leitungen in einem flexibelen Kabel zusammen zu fassen, ist auch kein Hexenwerk, vor ein paar Jahren hat man dafür gerne HDMI-Kabel zweckentfremdet (13 Datenleitungen an einem (geschirmten) Massenmarkt-Stecker/Buchse), heute würde man sich auch USB-C dazu anschauen. Wie gesagt, "zweckentfremdet, nur als "leitfähiges Kupfer" zum Strippenziehen, keine Implementierung des "USB-Protokolls" oder der HDMI-Spezifikation. Das wegen der Motoren-Halterung genügend Raum und Haltemechanik für die Kabel zu erwarten ist, zeigt das oben verlinkte Beispiel-Video einer runterskalierten Realisierung.
:
Bearbeitet durch User
Bradward B. schrieb: > Es ist ein Leichtes, mal die Anschlüsse an einem Stepper Motor > zu zählen und eine konkrete Anzahl zu nennen. 5 für den Motor 2 für den unteren Endschalter 2 für den oberen Endschalter Macht fast 10 Drähte. Vielleicht kommen noch Odometrie und Temperatursensoren dazu. Der Punkt war: So viele Leitungen (auch nicht halb so viele) möchte ich nicht zentral zu einem einzigen Kästchen zusammen führen müssen. Dein Beitrag klingt wie ein Widerspruch, als sei mein Gedankengang abwegig. Aber eigentlich sind wir auf der gleichen Seite. Wir empfehlen beide ein anderes Konzept mit mehreren Steuerplatinen und folglich weniger Kabelsalat. Dein Ansatz, dafür USB-C Kabel ohne USB Protokoll zu verwenden, lehne ich allerdings strikt ab. Nicht nur, weil man damit folgenschwere Missverständnisse provoziert, sondern auch, weil diese Kabel für den Anwendungsfall wahrscheinlich zu dünn sind und die Stecker zu empfindlich. Für die Wahl geeigneter Kabel und Stecker ist es noch zu früh. Deine Beleidigung mit dem "nicht bis 10 zählen können" lasse ich bewusst unkommentiert im Raum stehen. Das ist mir zu primitiv.
:
Bearbeitet durch User
Steve van de Grens schrieb: > Bradward B. schrieb: >> Es ist ein Leichtes, mal die Anschlüsse an einem Stepper Motor >> zu zählen und eine konkrete Anzahl zu nennen. > > 5 für den Motor > 2 für den unteren Endschalter > 2 für den oberen Endschalter > > Macht fast 10 Drähte. Vielleicht kommen noch Odometrie und > Temperatursensoren dazu. Man muss Leitungen gleicher Funktion nicht jedesmal extra führen, es genügt dann eine, die dann gern als "Common" bezeichnet wird. So reichen bspw. für die beiden Lageschalter auch drei Leitungen. > Dein Vorschlag mit mehreren Steuerplatinen ist sinnvoll, da bin ich ganz > bei dir. Ich würde eher sagen das es mehrere "Platinen" geben kann, auch bei eine Zentralisierten Steuerung. Das wäre dann eine Steuerungsplatine und mehrere "Leistungsschalt"-Platinen. Verteilung auf mehrere Steuerungsplatinen schafft halt neue Probleme wie eben Synchronisierung und "Message-Routing". µC mit jeweils eigenem Taktgenerator laufen über die Zeit auch "auseinander", deshalb braucht es dann den "Uhrenvergleich". > Deine Beleidigung mit dem "nicht bis 10 zählen können" lasse ich bewusst > unkommentiert im Raum stehen. Das ist mir zu primitiv. Das ist keine Beleidigung, das ist eben der Eindruck den man bei Verwendung einer solchen Formulierung hinterlässt. Fasse es besser als bewertungsfreien Hinweis auf.
:
Bearbeitet durch User
Leute, lasst es mal gut sein mit der Diskussion. Dieser Uralt Thread wurde von einem frisch angemeldeten Trollposter wiederbelebt und ist das Tippen der Buchstaben nicht wert.
Bradward B. schrieb: > Man muss Leitungen gleicher Funktion nicht jedesmal extra führen, es > genügt dann eine, die dann gern als "Common" bezeichnet wird. So reichen > bspw. für die beiden Lageschalter auch drei Leitungen. Du erklärst dann dem Jens (falls er noch lebt) oder dem Shahriar, wie er mit Spannungsabfall auf den Common Leitungen umgehen muss, nachdem sein Mikrocontroller zum 6. mal verreckt ist.
:
Bearbeitet durch User
> Dein Ansatz, dafür USB-C Kabel ohne USB Protokoll zu verwenden, lehne > ich allerdings strikt ab. Nicht nur, weil man damit folgenschwere > Missverständnisse provoziert, sondern auch, weil diese Kabel für den > Anwendungsfall wahrscheinlich zu dünn sind und die Stecker zu > empfindlich. Diese Einwände sind erst mal berechtigt, da muss man tatsächlich mal nachrechnen und nachrecherchieren. Ideal wäre natürlich eine kundenspezifische Kabelkonfektion, die dann aber oft teurer ist. Die Kabelquerschnitte reichen für die geringen Steuerströme aus, Ströme durch die Motor-Spulen sind da was anderes, da aber USB-Kabel auch fürs Handy-Laden verwendet werden ... . HDMI und USB Kabel sind auch eher robust statt empfindlich, dafür sorgt schon die Stabilität/Masse des "Kontaktmantels/-umfassung?". Natürlich gibt es auch "Industrieausführungen" dieser Kabel, die dann auch gegen herausrutschen gesichert sind (Arritierung/Verschraubung). Iritierend ist allerdings schon, wenn ein Kabel/-buchse die man aus dem Bereich A kennt im bereich B eingesetzt wird. Dem kan man mit Bechriftung/Label entgegen wirken. Und es ist nicht "mein" Ansatz, die Verwendung von Standardkabeln in Sonderanlagen kommt nicht selten vor.
Hallo "Mi N.", Mi N. schrieb: > 4) Distanz und Zeit für auf und ab max 2m in 1 sec. > > Das ist zunächst ein mechanisches anstatt ein elektronisches Problem. > Aber der Nachfrager ist sich dessen nicht bewußt und wird sich wohl auch > nicht wieder melden. > > Nimm gerne ein FPGA, wenn Du mir verrätst, wie die Bewegung in dieser > Geschwindigkeit ausgeführt werden soll. > Ein Ansatz wäre eine Gewindestange mit 1 mm Steigung und ein > Schrittmotor mit 2000 Umdrehungen/s. Und das Ganze soll sicherlich noch > 'schön' aussehen ;-) Eine Spindel mit 1mm Steigung ist dafür sicherlich kein vernünftiger Ansatz. Vor allem nicht, wenn damit eine Spindel mit metrischem Gewinde gemeint sein sollte. Da nimmt mal besser eine Kugelrollspindel mit einer Steigung von 20mm/U oder gar 40mm/U. Aber selbst das wird für die geforderten Geschwinidigkeite kaum sinnvoll sein. 2m auf und ab in 1s sind 4m/s ohne Beschleunigungs- und Bremsphasen zu berücksichtigen, die hier dominieren würden. Bei einer Steigung von 40mm/U wären dafür 100U/s bzw. 6.000U/min erforderlich. Das macht man nicht mit einer Spindel von 2m Länge. Bzw. wenn dann eher mit stehender Spindel und angetrieber Mutter. Aber da sind wir bei massiven Konstruktionen aus dem Werkzeugmaschinenbau, die mit größeren Servomotoren angetrieben werden. Wenn wenig Last bewegt werden soll sind Riemen- oder Seiltriebe besser geeignet. Aber auch das wird man mit Schrittmotoren nicht sinnvoll umsetzen können. Diese Diskussion zeigt mal wieder, wie unsinnig es ist, das Pferd von der falschen Seite her aufzäumen zu wollen. Man klärt erst die Anforderungen der Anwendung und wählt dann den passenden Antrieb aus, nicht andersrum. Mit freundlichen Grüßen Thorsten Ostermann
:
Bearbeitet durch User
Thorsten O. schrieb: > Eine Spindel mit 1mm Steigung ist dafür sicherlich kein vernünftiger > Ansatz. Auch noch einmal für Dich: Das war ein (ganz offenkundiger) Scherz! > Aber auch das wird man mit Schrittmotoren nicht sinnvoll > umsetzen können. So sieht es aus. Da es sicherlich noch künstlerischer Ästhetik entsprechen soll, gibt es erst recht keine Lösung. Pfingsten hilft da leider auch nicht weiter.
Steve van de Grens schrieb: > 5 für den Motor > 2 für den unteren Endschalter > 2 für den oberen Endschalter Mal abgesehen, dass die Schalter nur 2 benötigen sollten, weil sie einen gemeinsamen GND nutzen, kann man die Schalter wegfallen lassen, wenn man besagte Schrittverlusterkennung benutzt, die ja auch einen Anschlag erkennt - in meinem Fall sogar, einen sich anbahnenden, wenn es ein weicher Anschlag ist. Ich stimme dir völlig zu, dass man nicht beliebig viele Komponenten an ein Steuerelement klemmen sollte, wenn man hinterher wieder aufspalten muss. Die Leistungsteile benötigen ja Platz. Wenn es konkret um sehr leistungsfähige Motoren geht, wird man aber zu den Teilen hin nur eine Steuerinformation senden und nicht die Leistung selber. D.h. man schickt den Microstep SIN/COS als PDM und nimmt nur die Rückwirkung der Komparatorschaltung entgegen. Das sind 5 Leitungen, wenn man den GND mitgibt. Wenn man nun mit etwas Tricks arbeitet, kann man die Leitungen in beide Richtungen benutzen und braucht nur 2+GND. Damit gehen alle 100 Motoren mit einem FPGA. Vorort sitzen dann die H-Brücken und der Komparator für die selbstlaufende Strombandführung. Dort vorort wird dann auch die Power hingezogen, sodaß die hoch bestromten Leitungen kurz sind und nicht zuviel EMV-Probleme machen. Dort vorort wird das auch entsprechend geblockt, weil man sonst sehr fette Kabel von der FPGA-Platine bräuchte.
Beitrag #7669154 wurde vom Autor gelöscht.
Jürgen S. schrieb: > Steve van de Grens schrieb: >> 5 für den Motor >> 2 für den unteren Endschalter >> 2 für den oberen Endschalter > Mal abgesehen, dass die Schalter nur 2 benötigen sollten, weil sie einen > gemeinsamen GND nutzen, kann man die Schalter wegfallen lassen, wenn man > besagte Schrittverlusterkennung benutzt, IMHO sollte man schon eine Art der Rückkopplung (Signalleitungen für Status-Rückmeldung) für den Motor/Aktuator vorsehen. Sei es Endschalter, sei sein Glassmassstab ( Typ "digitaler Messschieber") o.ä.. Am Besten nicht nur über die Motor(-spulen) sondern über das Mechanische Gesamtsystem also inklusive Getriebe, Riemen etc.. -> dann hat man eine "closed Loop" und die Steuerung Information über den tatsächlichen Ist-Wert. In der Praxis findet man verschiedenste Realisierungen, beispielsweise ein µC der Schritte zählt und zum PowerUp eine "Messfahrt" zwischen den beiden Positionsschaltern macht - das funktionierte nicht 100% zuverlässig. Oder auch ein medizin/Lasergerät das mit redundanten Massstab (bspw. https://www.numerikjena.de/produkte/linear/absolut/lak-serie/ )ausgerüstet war und über einen FPGA gesteuert wurde. Teuer, aber wenn man 100,0 % Zuverlässigkeit plus Reservesystem braucht eher notwendig.
Bradward B. schrieb: > In der Praxis findet man verschiedenste Realisierungen, beispielsweise > ein µC der Schritte zählt und zum PowerUp eine "Messfahrt" zwischen den > beiden Positionsschaltern macht - das funktionierte nicht 100% > zuverlässig. Wenn man Schritte richtig zählt (ich meine damit sowohl technisch-mathematisch, als auch taktisch richtig), dann kann man das System durchaus mit Anschlagsanalysen automatisch vermessen und kalibrieren. BTDT Du brauchst natürlich eine kalibrierte Referenz. Was man das aber in der richtigen Weise macht, dann ist des erheblich genauer, als Messstäbe oder andere Rückmelder, die ja noch Einbautoleranzen haben, also nach der Installation erst einmal für jedes Gerät grundkalibriert werden müssen. Das geht schlauer und es geht auch und vor allem über die signalverarbeitungstechnich schlaue Auswertung der Motorsignale.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.