Ich denke auch, das das wahrscheinlich der Grund ist.
Wenn du etwas mehr code veröffentlichen würdest, könnten wir konkreter werden, so sind wir leider auf Mutmaßungen angewiesen.
Der punkt in der EMC doku heisst ja sinngemäß:
Die pulserzeugung kann nicht mit der gewünschten Geschwindigkeit mithalten.
Es gilt also zwei Dinge ins Verhältnis zu setzen: Pulsrate und Geschwindigkeit.
Die für eine bestimmte Geschwingkeit
erforderliche Pulsrate wird durch den Schrittmotor, dessen Ansteuerung (zB 1/2 Schritt) und eventuelle Getriebe, Mechanik etc bestimmt.
Die gwünschte Geschwindigkeit für G1 Befehle wird im g-code festgelegt.
Die Geschwindigkeit für G0 Befehle wird im INI durch verschiedene MAX_VELOCITY Einträge festgelegt.
Die
maximale Pulsrate (in kHz) ist durch die BASE_PERIOD (im ini, Einheit nsec) bestimmt.
Sie kann entweder 1000000 / BASE_PERIOD oder 1000000 / (BASE_PERIOD*2) sein, je nachdem ob die RESET Funktion des ppt-Treibers verwendet wird.
(Die 1000000 ergeben sich aus den Einheiten nsec u kHz)
Die sinnvolle BASE_PERIOD wird durch die Latenzzeit deines PC nach unten begrenzt. Die BASE_PERIOD stelle ich meist auf ca das doppelte der Latenzzeit ein.
Die Latenzeit wird wird mit dem tool latency-test gemessen.
So, jetzt haben wir alles beisammen und können anfangen:
Zunächst ermittelst du die Latenzzeit und daraus die BASE_PERIOD.
Daraus berechnest du die maximale Pulsrate. Die ist noch für alle Achsen gleich.
Nun musst du wissen wieviele pulse dein SM unter Berücksichtigung der Steurung pro Umdrehung benötigt und wie sich das in Bewegung umsetzt. Damit berechnest du für jede Achse separat, welche Geschwindigkeit jeweils der maximalen Pulsrate entspricht. Für Linearachsen zB in mm/sec, für Drehachsen zB in °/sec oder U/sec.
Somit kennst du die maximalen Geschwindigkeiten die das System theoretisch erreichen kann.
In der Praxis sollte man im ini file maximalwerte eintragen, die min 20 % darunter liegen.
Grüße, Gerd