Double-Stepping: Unterschied zwischen den Versionen

Aus RF1000 Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
Double-Stepping ist '''der "schmutzige" Hack''', der für mehr Maximalgeschwindigkeit bei begrenzter Rechenleistung die zeitliche Präzision mancher Einzel-Steps vernachlässigt.
Double-Stepping ist '''der "schmutzige" Hack''', der für mehr Maximalgeschwindigkeit bei begrenzter Rechenleistung die zeitliche Präzision mancher Einzel-Steps vernachlässigt.
Siehe auch Thread [[http://www.rf1000.de/viewtopic.php?f=70&t=1986&p=19901&hilit=double+stepping#p19901 Drucken mit 3-Gang-Schaltung :: STEP_DOUBLER_FREQUENCY]]
Siehe auch Thread [[http://www.rf1000.de/viewtopic.php?f=70&t=1986&p=19901&hilit=double+stepping#p19901 Drucken mit 3-Gang-Schaltung :: STEP_DOUBLER_FREQUENCY]]
[[Datei:Doublestepfrequency.jpg|400px]]
Durch erhöhen der Microsteps vervielfacht sich der Step-Aufwand um eine Geschwindigkeit zu erreichen. Mit 32Microsteps in XY würde Double-Stepping bei einer Grenze von 7000 (Siehe Bild) erst ab 44mm/s starten.


==Technik==
==Technik==
Anstatt pro Interrupt genau einen zeitlich festgelegten Step auszugeben, wird bei Double- Quad- und Octastepping gleich ein Paket an Steps ausgegeben.
Anstatt pro Interrupt genau einen zeitlich festgelegten Step auszugeben, wird bei Double- Quad- und Octastepping gleich ein Paket an Steps ausgegeben.
Der Motordriver-IC bekommt dann nicht einzeln die Information, dass er "jetzt einen Schritt" weiter muss, sondern gleich ein Paket an Änderungswünschen.
Der Motordriver-IC bekommt dann nicht einzeln die Information, dass er "jetzt einen Schritt" weiter muss, sondern gleich ein Paket an "Positions-Änderungswünschen".
Der Trick spart viel Rechenleistung, da der Overhead für einen Interrupt gegenüber dem Ausgeben eines Steps enorm ist.  
Der Trick spart viel Rechenleistung, da der Overhead für einen Interrupt gegenüber dem Ausgeben eines Steps enorm ist.  
Ein AT-Mega 2560 mit der Mod-Firmware schafft in etwa 7000 - 9000 Interrupts/s flüssig. Durch z.B. Quad-Stepping nähern wir uns Faktor 4 dieser Zahl als "flüssige" stockelfrei ausgebbare Maximal-Step-Rate [Steps/Sekunde]
Ein AT-Mega 2560 mit der Mod-Firmware schafft in etwa 7000 - 9000 Interrupts/s flüssig. Durch z.B. Quad-Stepping nähern wir uns Faktor 4 dieser Zahl als "flüssige" stockelfrei ausgebbare Maximal-Step-Rate [Steps/Sekunde]

Aktuelle Version vom 27. Juli 2018, 20:16 Uhr

Beschreibung

Double-Stepping ist der "schmutzige" Hack, der für mehr Maximalgeschwindigkeit bei begrenzter Rechenleistung die zeitliche Präzision mancher Einzel-Steps vernachlässigt. Siehe auch Thread [Drucken mit 3-Gang-Schaltung :: STEP_DOUBLER_FREQUENCY]

Fehler beim Erstellen des Vorschaubildes: Datei fehlt

Durch erhöhen der Microsteps vervielfacht sich der Step-Aufwand um eine Geschwindigkeit zu erreichen. Mit 32Microsteps in XY würde Double-Stepping bei einer Grenze von 7000 (Siehe Bild) erst ab 44mm/s starten.

Technik

Anstatt pro Interrupt genau einen zeitlich festgelegten Step auszugeben, wird bei Double- Quad- und Octastepping gleich ein Paket an Steps ausgegeben. Der Motordriver-IC bekommt dann nicht einzeln die Information, dass er "jetzt einen Schritt" weiter muss, sondern gleich ein Paket an "Positions-Änderungswünschen". Der Trick spart viel Rechenleistung, da der Overhead für einen Interrupt gegenüber dem Ausgeben eines Steps enorm ist. Ein AT-Mega 2560 mit der Mod-Firmware schafft in etwa 7000 - 9000 Interrupts/s flüssig. Durch z.B. Quad-Stepping nähern wir uns Faktor 4 dieser Zahl als "flüssige" stockelfrei ausgebbare Maximal-Step-Rate [Steps/Sekunde]

Vorteil

Das wirkt sich sehr positiv auf die flüssige Bedienung des Druckers und interne Bearbeitung des Datenflusses / Com / Move-Cache / Watchdog aus.

Kritik

Aktuell ist im Forum nicht bekannt bzw. belegt, dass dieses Multi-Stepping eine negative Auswirkung auf die Druck-Qualität hat.

In der Makroperspektive ist die zeitliche Präzision der Steps gewährleistet.