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


Comments

  • Hab grad die Konfiguartion angesehen und frage mich warum es überhaupt so weit funktioniert. Beide Extruder haben keinen X offset, was aber zwingend nötig ist. Das ist jeweils der abstand park position - x=0. Beim linken Extruder ist das negativ beim anderen ein ziemlich großer Wert. Darüber werden die Park positionen und neue Positionen bestimmt. Wichtig ist das X=0 so gewählt wird das wen der Zweite aktiv ist, er den ersten nicht berührt.
  • der X-Offset steht im Eeprom welches sich nachträglich angehängt habe
    • 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ück

  • ext1 MUSS ein negativer wert sein. Das ist der linke extruder und die Park position ist ja links von X=0. Hier wird offset etwas anders interpretiert als bei normalen Druckern wo die offsets einen frei definierbaren Punkt entsprechen.

  • Danke für die Antwort.
    Jetzt 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

  • Ok, das ist schon mal ein Hinweis und erklärt warum es bisher nicht aufgefallen ist. Idealerweise sollte z offset 0 sein, weil nur dann der ditto modus zum Drucken von 2 Teilen gleichzeitig sinnvoll genutzt werden kann.

    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:
    #if DUAL_X_RESOLUTION
    Printer::updateDerivedParameter(); // adjust to new resolution
    // dualXPosSteps = Printer::lastCmdPos[X_AXIS] * Printer::axisStepsPerMM[X_AXIS] - Printer::xMinSteps; // correct to where we should be in new coordinates
    dualXPosSteps = cx * Printer::axisStepsPerMM[X_AXIS] - Printer::xMinSteps; // correct to where we should be in new coordinates
    #endif

    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.
  • Danke,
    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.
  • Super, dann werde ich das fürs update übernehmen.

    1.x ist nicht mehr in Entwicklung, nur noch bugfixes und ganz wichtige Sachen. 2.x ist die Hauptentwicklung.
Sign In or Register to comment.