Echte Schrittgeschwindigkeit


9

Ich frage mich, welche Geschwindigkeit meine Stepper im regulären Betrieb erreichen sollten und welche bestimmenden Faktoren sie haben, von theoretischen Hardware-Fakten / Grenzen bis hin zu Software-Einschränkungen, die die Leistung beeinflussen können.

Ich kenne die grundlegenden Eigenschaften von Schrittmotoren wie das Drehmomentverhältnis zur Drehzahl, das ich vor einiger Zeit aus dieser Quelle gelesen habe (für jeden, der später auf diese Frage stößt): https://www.geckodrive.com/gecko/images /cms_files/Step%20Motor%20Basics%20Guide.pdf

Bisher hat Wikipedia ( https://en.wikipedia.org/wiki/Stepper_motor ) die folgenden Aussagen zu meiner Frage leicht gemacht:

Wenn also von einem L / R-Antrieb gesteuert wird, ist die maximale Drehzahl eines Schrittmotors durch seine Induktivität begrenzt, da sich bei einer bestimmten Drehzahl die Spannung U schneller ändert als der Strom, den ich aufrechterhalten kann.

und für Chopper-Treiber:

Dies erfordert zusätzliche Elektronik, um Wicklungsströme zu erfassen und das Schalten zu steuern, ermöglicht jedoch den Antrieb von Schrittmotoren mit höherem Drehmoment bei höheren Drehzahlen als L / R-Antriebe

Offensichtlich wird die Anzahl der Schritte / Offenbarungen auch die Geschwindigkeit ändern

All dies hilft mir jedoch nicht zu bestimmen, wie hoch die tatsächliche Geschwindigkeit meines Steppers sein sollte. Zusätzliche Firmware-Parameter überladen mein (Anfänger-) Gehirn noch mehr (und ich habe mich noch nicht zu sehr damit befasst). Im Allgemeinen verstehe ich, dass die Frequenz, mit der wir die Schritte an den Stepper senden, der Hauptbestimmungsfaktor ist, der bei Anwendung ebenfalls durch Mikroschritt "reduziert" wird. Aufgrund der zeitlichen / induktiven / elektronischen Eigenschaften der Motoren können wir den Strom nicht so stark wie nötig aufrechterhalten, sodass wir das Drehmoment verlieren oder schließlich Schritte ausführen. Eine höhere Spannung hilft, den Strom schneller anzuheben, so dass die Steilheit des Stromanstiegs auch die maximal anwendbare Frequenz begrenzen kann. Die Frequenz selbst wird von der Steuerplatine an den Motortreiber weitergegeben und daher in der Firmware eingestellt.

Alles in allem, abgesehen davon, was in einem 3D-Drucker-Setup sinnvoll ist, was sind die bestimmenden Faktoren für die realisierbaren Schrittgeschwindigkeiten und wie können sie für unsere Drucker in reale Werte umgewandelt werden? Ich würde mich auch dafür interessieren, wie die bestimmenden Faktoren die Zuverlässigkeit und Druckqualität unabhängig von den mechanischen Schwierigkeiten beeinflussen, die bei der Druckgeschwindigkeit auftreten.

/ edit:
Ich habe festgestellt, dass diese auf Electroncs SE vorhanden sind:
/electronics/71270/maximum-speed-of-stepper-motor
/electronics/129064/slow -down-Schrittmotoren-Geschwindigkeit-mit-Schritt-Treiber-drv-8825

Ich denke jedoch, dass die Frage hier relevant und spezifisch genug ist, damit hier nebenbei auch 3D-Druck existiert.

Antworten:


11

Die vier wichtigsten Motordrehzahlbegrenzungen in einem 3D-Drucker sind:

  • Frequenzgrenzen für die Generierung von Firmware-Schritten
  • Firmware-Bewegungsplaner-Effekte
  • Drehmoment- und Präzisionsverlust durch Induktivität der Motorspule und Gegen-EMK-Effekte
  • Mittelbandresonanz

Die Grenzwerte für die Schrittgenerierungsrate hängen von der verwendeten Firmware und Controller-Karte ab. Es gibt eine erhebliche Reichweite, insbesondere wenn 32-Bit-Firmwares und RTOS-basierte Plattformen wie MachineKit mit 8-Bit-Firmwares verglichen werden, die auf Atmega-AVRs ausgeführt werden. Einige Beispiele:

  • Marlin auf einem 16-MHz-8-Bit-Atmega kann den Stepper-Interrupt nur mit 10.000 Hz ausführen, ohne den Prozessor zu blockieren und andere kritische Algorithmen (wie die Bewegungsplanung) zu blockieren. Es kann Schrittraten von bis zu 40.000 Hz auslösen, indem die Schrittleitung zwei- oder viermal pro Interrupt gepulst wird, wodurch der Mikroschrittpegel in der Software effektiv gesenkt wird und die Motoren rauer / lauter laufen.
  • Repetier auf demselben Atmega kann den Stepper-Interrupt mit 12.000 Hz ausführen, da er stärker für die Ausführungsgeschwindigkeit optimiert ist als Marlin.
  • Repetier auf einem 84-MHz-32-Bit-ARM Cortex-M3 kann den Schrittinterrupt mit 80.000 Hz ausführen.

Diese Grenzwerte wirken sich normalerweise nur dann auf die tatsächliche Schrittgeschwindigkeit aus, wenn ein relativ feiner Mikroschritt verwendet wird.Betrachten Sie ein Beispiel, das auf einer sehr typischen Marlin-Druckerkonfiguration basiert. Ein Mikroschritt von mindestens 1/4 wird dringend empfohlen, um Resonanzprobleme zu vermeiden. Beginnen wir also mit 1/16 Schritt. Dies ermöglicht Quad-Stepping, um effektiv 1/4-Schritte auszugeben. Wenn Sie mit einem feineren Mikroschritt beginnen, sinkt unsere Höchstgeschwindigkeit, und ein gröberer Mikroschritt wird lauter und kann auf Resonanz stoßen. Dies ist also ein guter Ausgangspunkt. Nehmen Sie dann eine typische Riemenscheibe mit 32 mm pro Umdrehung an einem Schrittmotor mit 1,8 Grad (200 Schritte / Umdrehung) an. Dieses System hat eine Auflösung von 200 * 16/32 = 100 Schritte / mm. Bei einer Gesamtschrittrate von 40.000 Hz (Vierfachschritt bei 10.000 Hz) können wir theoretisch mit 400 mm / s fahren, bevor wir Marlins harte Kappe treffen. Das wird wahrscheinlich eine höhere Drehzahl sein, als wir den Motor sowieso laufen lassen wollen, also ist es keine sehr wirkungsvolle Grenze.

Im Vergleich dazu würde unsere Höchstgeschwindigkeit mit 8-Bit-Marlin 50 mm / s betragen, wenn wir mit 1/128 Schritten beginnen würden (wie beim THB6128-Treiberchip). Das ist ziemlich langsam.

Firmware-Bewegungsplaner können die Motordrehzahl weiter begrenzen, indem sie auf und ab fahren, um Kurven und Kurven zu überqueren. Wenn die Modellgeometrie viele scharfe Kurven aufweist, werden die vom gcode vorgegebenen Zielgeschwindigkeiten wahrscheinlich nie erreicht. Nur lange, gerade Pfade haben genügend Rampenzeit, um das Geschwindigkeitsziel zu erreichen. Sie können dies selbst sehen, indem Sie ein sehr kleines Modell mit verschiedenen Vorschubgeschwindigkeiten drucken und die tatsächliche Druckdauer zeitlich festlegen: Ab einem bestimmten Punkt hat eine Erhöhung der befohlenen Geschwindigkeit keinen Einfluss auf die tatsächlichen Druckzeiten.

Eine weitere Einschränkung, die einige Firmwares erzwingen, ist die Fähigkeit, innerhalb der Länge aller Bewegungsbefehle in der Planerwarteschlange sicher bis zum Stillstand abzubremsen. Auf diese Weise kann der Drucker einen plötzlichen Eingabeverlust ordnungsgemäß verarbeiten, z. B. wenn der Host-Computer keine USB-Befehle mehr sendet oder wenn auf der SD-Karte eine Reihe von Lesefehlern auftritt. Wenn der Drucker nur plötzlich aus der vollen Geschwindigkeit stoppt, wenn ihm die Befehle ausgehen, verliert er wahrscheinlich seine Position und ruiniert den Druck. Wenn es auf eine sichere Stoppgeschwindigkeit abgebremst werden kann, kann es möglicherweise fortgesetzt werden, nachdem der Befehlsstrom wieder aufgenommen wurde.

In Bezug auf das tatsächliche Motorverhalten führen die Induktivität und die Gegen-EMK zu erheblichen Grenzwerten, da sie das Motordrehmoment bei höheren Drehzahlen verringern. Dies erzeugt eine Drehmoment / Drehzahl-Kurve, die bei höheren Geschwindigkeiten abfällt:

Geben Sie hier die Bildbeschreibung ein http://www.geckodrive.com/support/step-motor-basics.html

Beachten Sie im Bild, dass sich bei niedrigen Geschwindigkeiten auf der linken Seite ein flacher "Konstantstrom" -Bereich befindet. Dies ist der Bereich, in dem der Zerhackertreiber den Spulenstrom begrenzt. Auf der rechten Seite der Kurve kann der Strom das Ziel nicht erreichen, bevor er für den nächsten Schritt wieder ausgeschaltet werden muss. Das reduziert die Feldstärke und damit das Drehmoment.

Hier sind zwei verschiedene Effekte zu berücksichtigen:

  • Motorspulen sind Induktivitäten, was bedeutet, dass zwischen der angelegten Spannung und dem Spulenstrom eine Verzögerung erster Ordnung besteht. Ein standardmäßiger bipolarer Schrittmotor mit einem Mikroschritt-Treiber muss den Spulenstrom bei jedem vollen Schritt (z. B. alle 16 1/16 Mikroschritte) von Null auf Max oder von Max auf Null erhöhen. Bei hohen Schrittgeschwindigkeiten bleibt nicht genügend Zeit, um die Spule vollständig auf ihren maximalen Strom aufzuladen, bevor der nächste Schritt das Zurückfallen des Stroms erfordert. Ohne bei jedem Schritt den vollen Spulenstrom zu entwickeln, geht das Drehmoment verloren.
  • Jeder Motor ist auch ein Generator, und das Drehen des Rotors erzeugt eine Gegen-EMK-Spannung innerhalb der Motorspulen. Diese Spannungswellenform wird der Antriebsspannungswellenform mit einer Phasenverschiebung überlagert, die von der Rotorposition relativ zur Spulenerregungsposition abhängt. In einfachen Worten, diese Spannung versucht, den Motor zu bremsen: Sie macht immer alles, was den Motor verlangsamt. Dies bedeutet, dass es der angelegten Antriebsspannung entgegenwirkt, wenn der Motor ein Vorwärtsdrehmoment anlegt, oder die angelegte Antriebsspannung unterstützt, wenn der Motor ein Bremsmoment anlegt.

Für eine praktische Diskussion der Geschwindigkeitsbegrenzungen können wir die Situation vereinfachen, indem wir annehmen, dass die Gegen-EMK-Spannung der an die Spulen angelegten Ansteuerspannung entgegengesetzt ist. Dies bedeutet, dass der Spulenstrom weniger effektiv erhöht / abgesenkt wird und es länger dauert, bis sich der Strom ändert, und dass weniger Spulenstrom entwickelt wird, als dies ohne Gegen-EMK der Fall wäre. Dies drückt die Drehmoment / Drehzahl-Kurve des Motors weiter herab. Und wenn die Gegen-EMK-Spannung ungefähr gleich groß wie die Antriebsspannung ist, kann aufgrund komplexer Rückkopplungseffekte zwischen Rotorposition und effektiver Spulenspannung eine erhebliche Motorinstabilität auftreten.

Mit meinem Schritttreibersimulator können Sie mit diesen Effekten mit verschiedenen Motorkonfigurationen und -geschwindigkeiten für einige gängige 3D-Drucker-Schritttreiber spielen: https://github.com/rcarlyle/StepperSim

In Anwendungen mit geschlossenem Regelkreis mit Positionsrückmeldung und High-End-Treibern, die verschiedene Instabilitätsmodi dämpfen können, kann es in Ordnung sein, den Stepper mit sehr hohen Drehzahlen bis zum Anschlag über die Drehmomentkurve zu fahren. In typischen 3D-Druckeranwendungen mit offenem Regelkreis ist es im Allgemeinen am besten, sich an den Teil der Drehmomentkurve mit niedriger Drehzahl zu halten, bevor Induktivität und Gegen-EMK das Motorverhalten wirklich übernehmen. Zu viel Drehmoment zu verlieren kann leicht bedeuten, Schritte zu überspringen und die Position zu verlieren, was den Druck ruiniert.

Ein weiterer wichtiger Effekt für Stepper ist die Mittelbandresonanz . Dies ist keine normale mechanische Resonanz, sondern ein elektromechanischer Resonanzeffekt. Es ist ziemlich kompliziert, aber die kurze Erklärung ist, dass ein Stepper eine intrinsische 90-Grad-Phasenverschiebung zwischen Position und Drehmoment aufweist und wenn die Drehzahl bis zu einem Punkt ansteigt, an dem die Spuleninduktivität eine zusätzliche 90-Grad-Phasenverschiebung zwischen Spulenstrom und angelegter Spannung einführt. Das elektromechanische System weist eine sehr instabile Phasenverzögerung von 180 Grad auf und erzeugt somit eine negative Rückkopplungsschleife. Dies kann das Motordrehmoment schnell senken, bis der Motor die Synchronität mit der vom Fahrer angelegten Spannung verliert und blockiert.

Mittelbandresonanz tritt nur auf, wenn der Spulenstrom durch die Induktivität begrenzt ist. Sie kann im Konstantstrom-Antriebsbereich nicht auftreten, da zwischen angelegter Spannung und Spulenstrom nicht genügend Phasenverzögerung besteht.

Geben Sie hier die Bildbeschreibung ein http://www.geckodrive.com/support/step-motor-basics.html

Leider zeigen die vom Hersteller erhältlichen gemessenen Drehmomentkurven fast nie Resonanzzonen, da die Kurven durch Belastung von Motoren mit Reibungsbremsen erzeugt werden, die jegliche Art von Resonanzeffekt vom Gebäude dämpfen. Während die Antriebsstranglast eines 3D-Druckers fast vollständig träge ist (Beschleunigung einer Masse), ist sie viel anfälliger für Resonanzen.

High-End-Treiber können Mittelbandresonanzen automatisch erkennen und dämpfen, typische kostengünstige 3D-Druckertreiber verfügen jedoch nicht über diese Funktion.

Es ist im Allgemeinen ratsam, den Eintritt in einen Drehzahlbereich zu vermeiden, in dem eine Mittelbandresonanz auftreten kann. Dies wird leicht erreicht, indem im Konstantstrom-Betriebsbereich an der linken Seite der Drehmomentkurve festgehalten wird. Dies gewährleistet ein hohes Drehmoment und eine gute Stabilität.

Betrachten Sie als konkretes Beispiel den beliebten Stepper Kysan 1124090 mit einer 24-V-Stromversorgung.

Geben Sie hier die Bildbeschreibung ein https://ultimachine.com/content/kysan-1124090-nema-17-stepper-motor

Um ein hohes Drehmoment aufrechtzuerhalten und eine Mittelbandresonanz zu vermeiden, sollten wir die Drehzahl auf etwa 400 oder weniger halten. Bei derselben oben erwähnten Riemenscheibe mit 32 mm pro Umdrehung würde dies die Geschwindigkeit auf etwa 200 bis 240 mm / s begrenzen. Höhere Geschwindigkeiten sind möglich, können jedoch auf Zuverlässigkeitsprobleme stoßen.

Bei dieser Drehzahl wird natürlich davon ausgegangen, dass ein 24-V-Netzteil verwendet wird, um der gemessenen Drehmomentkurve zu entsprechen: Ein 12-V-Netzteil hätte eine deutlich niedrigere Höchstgeschwindigkeit, bevor die Induktivität beginnt, den Spulenstrom zu begrenzen, etwa halb so schnell. Eine höhere Versorgungsspannung erhöht die maximale effektive Drehzahl für den Motor erheblich .

Auch hier können Sie diesen Effekt einfach simulieren (mithilfe von https://github.com/rcarlyle/StepperSim ). Diese Simulator-Ausgangstabelle zeigt, wie Induktivität und Gegen-EMK verhindern, dass der Spulenstrom das Ziel erreicht:

Geben Sie hier die Bildbeschreibung ein

Für die praktische Konstruktion des Antriebsstrangs ist ein Motor- / Fahrersimulator das beste Werkzeug in der Toolbox, um den Punkt zu finden, an dem die Leistung aufgrund der Unfähigkeit, aktuelle Ziele zu erreichen, abnimmt. Es ist einfach zu komplex, um einfache Gleichungen oder Faustregeln mit beliebiger Genauigkeit anzuwenden. Diese elektrischen Effekte und die Grenzwerte für die Firmware-Schrittgenerierung sind wahrscheinlich die beiden Hauptbeschränkungen für die Motordrehzahl der meisten Drucker.

Wie schnell Sie Kunststoff schmelzen können, führt natürlich dazu, dass die Druckgeschwindigkeiten deutlich unter den tatsächlichen Motordrehzahlgrenzen liegen, aber das ist eine andere Diskussion. Im Moment können wir einfach sagen, dass die maximale Motordrehzahl für Druckbewegungen in typischen kartesischen Druckern eher unwichtig ist. Es gibt jedoch einige Fälle, in denen die Druckerleistung wahrscheinlich beeinträchtigt wird:

  • Lineare Deltas, bei denen Wagen für bestimmte Bewegungsrichtungen möglicherweise mehrmals schneller als der Effektor fahren müssen
  • Getriebeextruder mit hohem Untersetzungsverhältnis (z. B. viel mehr als 5: 1) für hohe Rückzugsgeschwindigkeiten
  • Gewindespindeln mit kurzer Steigung (oder Vollgewinde), die hohe Drehzahlen benötigen, um moderate lineare Geschwindigkeiten zu erreichen

++ Danke, das hat mir geholfen zu verstehen, was viel besser läuft als vorher!
TextGeek

Diese Antwort ist episch. Der Link zum XLSX-Rechner auch! Ich wollte eine Frage zur Umnutzung meines alten Steppers stellen, nachdem ich die Werte in die XLSX eingegeben hatte, bekam ich bereits meine Antwort.
FarO
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.