Dual X Crash
Getestet mit 1.03 und 1.0.4dev
Ablauf:
Extruder 1 fährt auf Position X0
ich wähle den 2. Extruder
Extruder 1 fährt nach links in Parkposition
Extruder 2 Fährt auf X0
Z-Achse fährt mit Vollspeed nach oben
ich wähle den 1. Extruder
Extruder 2 fährt nach rechts in die Parkposition
Z-Achse fährt mit langsamer Geschwindigkeit nach unten
Extruder 1 fährt ganz nach Rechts anstatt auf X0 zu fahren
Die 2 Probleme:
Unterschiedliche Geschwindigkeiten bei der Z-Achse
Crash das beim Wechsel der Extruder nach rechts fährt anstatt auf X0
Video: LINK
Configuration.h: LINK
Ablauf:
Extruder 1 fährt auf Position X0
ich wähle den 2. Extruder
Extruder 1 fährt nach links in Parkposition
Extruder 2 Fährt auf X0
Z-Achse fährt mit Vollspeed nach oben
ich wähle den 1. Extruder
Extruder 2 fährt nach rechts in die Parkposition
Z-Achse fährt mit langsamer Geschwindigkeit nach unten
Extruder 1 fährt ganz nach Rechts anstatt auf X0 zu fahren
Die 2 Probleme:
Unterschiedliche Geschwindigkeiten bei der Z-Achse
Crash das beim Wechsel der Extruder nach rechts fährt anstatt auf X0
Video: LINK
Configuration.h: LINK
Comments
- Ext1 xOffset: 0
- Ext2 xOffset: 225000
Aber ich habe herausgefunden das wenn ich Ext2 ZOffset auf 0 setze es funktioniert, sobald auf EXT2 ZOffset ein wert steht fährt der EXT1 ganz nach rechts und dann wieder zurückJetzt habe ich EXT1 xOffset auf -35200 gestellt und EXT2 xOffset auf 189800.
Jedoch besteht das Problem weiterhin:
Beim Wechsel von Ext2 auf Ext1 fährt Ext1 ganz nach rechts und dann wieder zurück nach links auf X0
Das Problem besteht aber nur wenn der Ext2 einen zOffset hat!
Neues Video: LINK
Dann gibt es noch all diejenigen die
#define LAZY_DUAL_X_AXIS 1
haben - das Fehlt bei dir komplett daher gilt default wert 0 was heist das die Positionen direkt angepasst werden. Im lazy modus bleibt der Extruder beim Wechsel daher geparkt und fährt erst bei der ersten Druckbewegung raus. Dadurch spart man etwas Zeit und reduziert die Wege über dem Objekt auf ein Minimum.
Jetzt zum eigentlichen Problem. Bei unterschiedlichem Z werden die höhen entweder am Anfang oder am ende angepasst. Je nachdem welcher Extruder höhe ist. Ich sehe daher folgende Moves:
Extr 1->2
E1 Parkt
E2 Fährt zur letzten Position
Z fährt hoch
Alles korrekt
Extr 2->1
E2 Parkt
Z fährt runter
E1 fährt nach rechts (falsch, trifft aber E2 nicht oder doch)
E1 fährt auf Position aber zu weit links wenn ich das richtig gesehen habe oder hast du ihn selber nach links bewegt und die erste Bewegung war schon die falsche.
Du hats noch eine Besonderheit nämlich dual x resolution. Wenn das aktiv ist geht er in Extruder.cpp zeile ca.830 in diesen code:
Wegen des Z wechsels davor wurde aber Printer::lastCmdPos[X_AXIS] geändert auf die neue park position des rechten Extruders. Ich hab die Zeile hie rauskommentiert und eine Alternativzeile eingefügt die statt dessen cx verwendet was die korrekte Position haben sollte. Bitte versuch das mal mit der Zeile ob es besser klappt. Das würde genau zu dem Fehlerbild passen. Hoffe nur das es der einizge Fehler ist der noch drin ist.
Erste Tests sehen gut aus. Jetzt muss ich ihn noch genau kalibrieren und werde dann berichten.
LAZY_DUAL_X_AXIS 1 hatte ich probiert, doch leider bewegte sich dann die Z-Achse sehr langsam, dachte das ist noch in der Entwicklung da es im Konfigurator noch nicht zur Verfügung steht.
1.x ist nicht mehr in Entwicklung, nur noch bugfixes und ganz wichtige Sachen. 2.x ist die Hauptentwicklung.