Step rates/de

From RepRap
Revision as of 13:20, 1 May 2018 by Gatherer (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Eins vorweg: bei 300 mm/s sind Genauigkeiten im Mikrometerbereich völlig unrealistisch, also machen 0,9°-Motoren und 1/32 Microstepping so gut wie keinen Sinn. Für die dabei auftretenden Kräfte sind die aktuellen Druckkerrahmen und -antriebe nicht annähernd genau genug. Für derartige Präzision muss man mit geringeren Geschwindigkeiten leben.

Erreichbare Schrittraten

Schrittrate bezeichnet die höchste Geschwindigkeit, mit der eine bestimmte Elektronik-Firmware-Kombination Impulse an den Schrittmotor-Treiber abgeben kann. Sie hängt vor Allem von der auf dem Controller verwendeten CPU, dessen Taktfrequenz und dem in der Firmware verwendeten Algorithmus zur Berechnung der Motorbewegungen ab. Da dies bei RepRap-typischen Anwendungen mehrere tausend Impulse pro Sekunde sind, wird sie meist in Kilohertz (kHz) angegeben.

Die ATmega-basierten Elektroniken sind, abgesehen von der Taktfrequenz, alle gleich schnell. Egal ob der grosse ATmega2560, der kleine ATmega168, oder irgendwas dazwischen. Bei ARM-basierten Elektroniken ist die Sache etwas komplexer.

Der bisherige Streit Die bisherige Diskussion (Stand Juli 2014) um die erreichbaren Schrittraten geht wie folgt:

  • Marlin/Repetier auf ATmega 16 MHz (z.B. RAMPS) im Single Step: <10.000 Schritte/Sekunde (10 kHz).
  • Teacup Firmware auf ATmega 20 MHz (z.B. Gen7): 53 kHz.
  • Marlin/Repetier auf ATmega 16 MHz im Quadstep-Modus (ungleichmässige Schrittverteilung): <40kHz für Marlin (Repetier ?!?).
  • Repetier auf RADDS: 96 kHz.
  • Marlin4Due auf RADDS: min. 107.7 kHz (Stand 26.April 2015), Quadstepping 293kHz. (Aktuell sollte dieser höher liegen)

Schrittrate messen

  1. Motor (ohne Drucker) an den Controller anschliessen.
  2. Höchstes Microstepping am Controller jumpern, um die Motordrehzahl gering zu halten.
  3. Geschwindigkeitbegrenzung in der Firmware sehr hoch einstellen (65000 mm/min oder 1000 mm/s).
  4. Eine mässige Beschleunigung, z.B. 100 mm/s2 einstellen (die Beschleunigungsphase ist die kritische Phase).

Dann Verfahrbefehle mit steigender Geschwindigkeit schicken:

G1 X1000 F20000
G1 X0 F22000
G1 X1000 F24000
...

Immer schneller, bis der Controller anfängt, sich zu verschlucken (kurze, hörbare Aussetzer oder das Motorgeräusch hört ganz auf). Aus der erreichten Geschwindigkeit kann man dann die dafür notwendige Schrittrate errechnen.

Die Drehzahlgrenze des Motors ist inzwischen auch eine Grenze. Bleibt der Motor stehen, obwohl das Geräusch weiter gleichmässig ist, kommt der Controller immer noch hinterher.

Eine Messung mit Messgeräten, z.B. einem Oszilloskop, ist unzuverlässiger, da dort kurze Unterbrechungen nicht erfasst werden. Eine schlecht programmierte Firmware kann zum Beispiel kurze Unterbrechungen produzieren, die zu Motorstillstand führen, wenn gerade etwas über die serielle Schnittstelle herein kommt.

Durch Schrittrate erreichbare Verfahrgeschwindigkeiten

Jeder Schrittimpuls bewegt den Schrittmotor einen Schritt weiter. Wird Microstepping verwendet, bewegt jeder Impuls den Motor um einen Mikroschritt weiter. Die erreichbare Geschwindigkeit des Motors hängt also nicht nur von der erreichbaren Schrittrate, sondern auch stark vom eingestellten Microstepping ab.

Berechnung:

  1. Steps/mm berechnen. Dabei wird das Microstepping und auch der Druckeraufbau, z.B. die Zähnezahl des verwendeten Pulleys, berücksichtigt.
  2. Erreichbare Verfahrgeschwindigkeit = (Erreichbare Schrittrate) / (Steps/mm)

Bemerkung: in vielen Fällen ist die Verfahrgeschwindigkeit durch andere Umstände als die mögliche Schrittrate des Controllers begrenzt, zum Beispiel durch die Grenzdrehzahl einer Spindel. In diesen Fällen bringt ein Wechsel von einem ausreichend schnellen zu einem noch schnelleren Controller keine Vorteile in Bezug auf die Verfahrgeschwindigkeiten.

Steps/mm
Theoretische Genauigkeit
Marlin/Repetier auf ATmega 16 MHz
Teacup Firmware auf ATmega 20 MHz
Marlin/Repetier auf ATmega 16 MHz im Quadstep Modus
Repetier auf RADDS im Singlestep Modus
0,9°-Stepper, 14-Zähne-GT2-Pulley, 1/16 Microstepping 228,57 4,38 μm 70 mm/s 234 mm/s 293 mm/s 420 mm/s
0,9°-Stepper, 14-Zähne-GT2-Pulley, 1/32 Microstepping 457,14 2,19 μm 35 mm/s 117 mm/s 146 mm/s 210 mm/s
0,9°-Stepper, 14-Zähne-GT2-Pulley, 1/128 Microstepping 1828,6 0,547 μm 8,7 mm/s 29 mm/s 37 mm/s 52 mm/s
0,9°-Stepper, 16-Zähne-GT2-Pulley, 1/16 Microstepping 200 5 μm 80 mm/s 268 mm/s 335 mm/s 480 mm/s
0,9°-Stepper, 16-Zähne-GT2-Pulley, 1/32 Microstepping 400 2,5 μm 40 mm/s 134 mm/s 168 mm/s 240 mm/s
0,9°-Stepper, 16-Zähne-GT2-Pulley, 1/64 Microstepping 800 1,25 μm 20 mm/s 67 mm/s 84 mm/s 120 mm/s
0,9°-Stepper, 16-Zähne-GT2-Pulley, 1/128 Microstepping 1600 0,625 μm 10 mm/s 33 mm/s 42 mm/s 60 mm/s
0,9°-Stepper, 36-Zähne-GT2-Pulley, 1/32 Microstepping 177,78 5,625 μm 90 mm/s 301 mm/s 377 mm/s 540 mm/s
0,9°-Stepper, 36-Zähne-GT2-Pulley, 1/64 Microstepping 355,56 2,8125 μm 45 mm/s 150 mm/s 188,5 mm/s 270 mm/s
0,9°-Stepper, 36-Zähne-GT2-Pulley, 1/128 Microstepping 711,12 1,4063 μm 22,5 mm/s 75 mm/s 94 mm/s 135 mm/s
1,8°-Stepper, 14-Zähne-GT2-Pulley, 1/16 Microstepping 114,29 8,75 μm 140 mm/s 467 mm/s 586 mm/s 840 mm/s
1,8°-Stepper, 14-Zähne-GT2-Pulley, 1/32 Microstepping 228,57 4,38 μm 70 mm/s 234 mm/s 293 mm/s 420 mm/s
1,8°-Stepper, 14-Zähne-GT2-Pulley, 1/128 Microstepping 914,29 1,09 μm 17 mm/s 58 mm/s 73 mm/s 105 mm/s
1,8°-Stepper, 16-Zähne-GT2-Pulley, 1/16 Microstepping 100 10 μm 160 mm/s 536 mm/s 670 mm/s 960 mm/s
1,8°-Stepper, 16-Zähne-GT2-Pulley, 1/32 Microstepping 200 5 μm 80 mm/s 268 mm/s 335 mm/s 480 mm/s
1,8°-Stepper, 16-Zähne-GT2-Pulley, 1/64 Microstepping 400 2,5 μm 40 mm/s 134 mm/s 168 mm/s 240 mm/s
1,8°-Stepper, 16-Zähne-GT2-Pulley, 1/128 Microstepping 800 1,25 μm 20 mm/s 67 mm/s 84 mm/s 120 mm/s
1,8°-Stepper, 36-Zähne-GT2-Pulley, 1/32 Microstepping 88,89 11,25 μm 180 mm/s 603 mm/s 754 mm/s 1080 mm/s
1,8°-Stepper, 36-Zähne-GT2-Pulley, 1/64 Microstepping 177,78 5,625 μm 90 mm/s 301 mm/s 377 mm/s 540 mm/s
1,8°-Stepper, 36-Zähne-GT2-Pulley, 1/128 Microstepping 355,56 2,8125 μm 45 mm/s 150 mm/s 188,5 mm/s 270 mm/s
1,8°-Stepper, M8 Gewindestange, 1/8 Microstepping 1280 0,781 μm 12 mm/s 41 mm/s 52 mm/s 75 mm/s
1,8°-Stepper, M8 Gewindestange, 1/32 Microstepping 5120 0,195 μm 3,1 mm/s 10 mm/s 13 mm/s 19 mm/s
1,8°-Stepper, M8 Gewindestange, 1/128 Microstepping 20480 0,0488 μm 0,78 mm/s 2,6 mm/s 3,3 mm/s 4,7 mm/s
1,8°-Stepper, Tr10x3 Spindel, 1/8 Microstepping 533,33 1,875 μm 30 mm/s 100 mm/s 126 mm/s 180 mm/s
1,8°-Stepper, Tr10x3 Spindel, 1/32 Microstepping 2133,3 0,469 μm 7,5 mm/s 50 mm/s 31 mm/s 45 mm/s
1,8°-Stepper, Tr10x3 Spindel, 1/128 Microstepping 8533,3 0,117 μm 1,9 mm/s 6,3 mm/s 7,8 mm/s 11 mm/s
0.9°-Stepper, M5 Gewindestange, 1/128 Microstepping 64000 0,0156 μm 0,25 mm/s 0,83 mm/s 1,0 mm/s 1,5 mm/s