Hallo Andi,
Entschuldige die verspätete Antwort. Habe irgendwie den Post übersehen.
Wenn du mit
'immer in Richtung der Achse nach vorne' deinen Versatz ansprichst, dann ist das die Y Achse. (Damit meine ich, dass auch
kein seitlicher Versatz auftritt, also in der X Achse). Wenn wir den Fehlerbereich schon einmal auf eine Achse eingeengt haben, können wir ein wenig weiter tüfteln.
- Solange du in der Druckvorschau den Fehler nicht siehst, können wir den GCode (also einen Slicer-Fehler) ausschließen.
- Elektrisch gäbe es die Möglichkeit, dass der Schrittmotor Schritte 'verliert'. Ursachen können sein: zu geringer Motorstrom, mechanische Schwergängigkeit, zu hohe Beschleunigungswerte oder einen elektrischen 'Wackelkontakt'.
- Mechanisch könnte es an Schmutz im Zahnriemenantrieb (z.B. Filamentreste) oder ein lockeres Zahnriemenritzel liegen.
Einiges davon kann leicht überprüfen (Schwergängigkeit der Y-Achse, Schmutz im Zahnriemenantrieb, lockeres Ritzel). Ein lockeres Ritzel enttarnt man, indem man mit einem Faserschreiber einen Strich über Ritzel samt Motorachse macht. Stimmt der Strich nicht mehr, weist es auf ein lockeres Ritzel hin.
Noch relativ einfach ist es, die Beschleunigung als Fehlerursache auszuschließen. Hier nimmt man den GCode, der erwiesenermaßen zum Fehler führt, sucht den Befehl, der die Beschleunigung festlegt, halbiert den Wert und druckt das Objekt noch einmal. Ist der Fehler weg, ist das schon einmal ein guter Hinweis. Kommt der, oder ein anderer Fehler trotzdem, liegt es wahrscheinlich nicht am Beschleunigungswert. Der Befehl für das Setzen der Beschleunigungswerte heißt 'M201' für Bewegungen, wo Filament gefördert wird, und 'M202' für 'Leerfahrten'. Siehe die entsprechende Stelle in der Wiki,
hier. Da eine GCode-Datei eine reine Text-Datei ist, kann man jeden Editor einsetzen (z.B.
Notepad.exe), der eine Suchfunktion unterstützt. Die Beschleunigungswerte werden üblicherweise (wenn überhaupt) ziemlich am Anfang der GCode-Datei festgelegt. Falls du keine M201 oder M202 Befehle findest, heiß das, du benutzt den Default-Wert von 1000 für X und Y und 100 für Z. Dann solltest du eigentlich keine Probleme mit zu hohen Werten haben. Wenn du es trotzdem prüfen möchtest, müsstest du
M201 Y500
irgendwo zu Anfang des GCodes, als eigene Zeile, einfügen. (Dabei wird hier NUR der Wert für Y reduziert, da du scheinbar nur dort Probleme hast.) - Und - keine Sorge, die Änderung ist nur temporär, bis zum nächsten Einschalten.
Was den Motorstrom angeht, bin ich ein wenig überfordert. Ich bin mir nicht sicher, ob dieser in der Firmware spezifiziert wird oder nicht. Als EEPROM Wert wird es jedenfalls nicht ausgegeben. Wenn also dein Motorstrom zu gering sein sollte, und du in der Firmware nichts geändert hast, kann man das dahingehend ausschließen, als es ein 'USER-Error' wäre, und es wäre damit ein Problem in der Systemplatine. (Bloß weiß ich nicht, wie man den Motorstrom korrekt ermitteln sollte.)
Ein Wackelkontakt feststellen, ist ebenfalls mühselig. Da fällt mir keine gute Lösung ein, vielleicht weiß einer der Kollegen wie man so was am besten durchführt.
mjh11