SOLVED Head Crashing when Docked

Discussion in 'Calibration, Help, and Troubleshooting' started by Paul Begley, Dec 7, 2016.

  1. Paul Begley

    Paul Begley Well-Known Member

    Joined:
    Mar 24, 2016
    Messages:
    82
    Likes Received:
    19
    Hi, looking for some guidance. For a few weeks now, prior to printing, the head has been crashing into the left side of the Dock. Prints have continued ok, so really been a minor annoyance, but wanted to sort this out.
    Machine: BB v1.1 Dual Hybrid Titan. Running RC7, compiled with tohara octoprint plugin.

    Initially i thought it was something i had done to the start scripts in S3D (based on Alex’s) but when i ran previous gcode files, ones that had no previous issue, same issue. Investigating tonight, i noticed i only had the issue when using the right extruder. Further investigation shows it seems to be related to RC7, or at least my configuration. If i downgrade to RC6, no crash.

    I’ve traced the issue in part to the steps in the Start script, which moves the head to the dock, heats the appropriate extruder, then selects the extruder prior to extruding. This causes the head to move left crashing into the side.

    Simplifying the issue, I’m able to replicate the it with the following gcode

    G28 ;home
    M218 T1 X38.6 Y0.7; set offsets

    T0 ;select extruder 0
    T1 ; Select extruder 1
    T0 ;Select extruder 0

    Each time a different extruders is selected, the head moves, presumably by the amount configured in the Offset above. If i don’t set the offset, no movement. I suppose thats a workaround, but i don’t like it. I like to set those settings early.. Or select the extruder prior to moving tot eh dock, but then i would need to use a different dock coordinate depending on extruder.

    I can understand whats happening and why, the active extruder is always in the same location relative to the bed. if you change extruder, it moves to be in the same position in 3d space as the previous one. This behaviour is not the same in previous RC6 firmware, or at least in the configuration that i’ve made. It's quite possible i’ve missed something one the config.

    Is this behaviour changeable, or have i missed an option in the configuration, if so what?

    Taking a quick look at the release nots for RC7, I’m wondering if its related to
    • Better handling of toolchange, multiple tools
    Paul
     
    #1 Paul Begley, Dec 7, 2016
    Last edited: Dec 7, 2016
  2. Alex9779

    Alex9779 Moderator
    Staff Member

    Joined:
    Sep 4, 2015
    Messages:
    2,405
    Likes Received:
    731
    You have to change all your tool change commands to "T0 S1" or "T1 S1".
    The Marlin devs told me initially they "fixed" an issue and the print head should have always move to correct a possible offset between tools but it was not working.
    I told them about the BB and that I need a way to keep the head in place when switching but unfortunately they didn't implement it backward compatible.
    The default action on a tool change is to move the head, with "S1" you can tell it to stay and just adjust the coordinates...

    Or you change the logic, that is what I did because slicers just use "Tx" to change tools and you cannot change the slicer so easily...
    Have a look at this commit: https://github.com/Alex9779/Marlin/commit/803543328bd20b0e0b2bd10a07c18edf26ca9094
    That's how I change the logic so that "Tx" commands do NOT move the head and "Tx S1" moves the head...
     
    Paul Begley likes this.
  3. Paul Begley

    Paul Begley Well-Known Member

    Joined:
    Mar 24, 2016
    Messages:
    82
    Likes Received:
    19
    Thank Alex, I'll check this out later and try making the changes myself
     
  4. Paul Begley

    Paul Begley Well-Known Member

    Joined:
    Mar 24, 2016
    Messages:
    82
    Likes Received:
    19
    Thanks Alex, tried that last night, and works perfectly.
     
    Alex9779 likes this.
  5. fpex

    fpex Well-Known Member

    Joined:
    Oct 18, 2015
    Messages:
    621
    Likes Received:
    58
    You mean that in the slicer script we need to add S1 next to Tx?
    I have this problem always if I let it dock after a print (or kill a print and start a new one)
     
  6. Paul Begley

    Paul Begley Well-Known Member

    Joined:
    Mar 24, 2016
    Messages:
    82
    Likes Received:
    19
    From my understanding,testing and information from Alex, standard firmware will move the tool by the offset amount when a tool change occurs. This is by design, if you don't want that behaviour, you need to add 'S1' to every 'T0' / 'T1' etc. However you should really do this to the entire gcode, i.e. the entire output produced by your slicer. Not just the scripts. You could modify how the slicer works (not really practical with S3d), or do as Alex had previously and I last night, switch the behaviour by modifying the firmware so that a simple T0 will not cause the head to move, thus crash etc, and a T0 S1 will.

    Not sure if this is the cause of your issue though
     

Share This Page