1. Got a question or need help troubleshooting? Post to the troubleshooting forum or Search the forums!

Unanswered Proper g code to pause print, raise extruded and change filament?

Discussion in 'Troubleshooting' started by Jsn9955, Jun 15, 2015.

  1. Jsn9955

    Jsn9955 Member

    Joined:
    Dec 18, 2014
    Messages:
    31
    Likes Received:
    14
    MatterControl is pretty lacking in this department.

    A quick google search later, I found that someone suggested in the g code terminal once paused, simply type G1 z(x), where x is the height you want to raise...

    I should have known better. Did that, and z went to 25 mm off the build platform plunging the head into my print...

    I'm guessing, if this thing uses g code anything like my milk it's because it was in absolute coordinates mode (G90)... Assuming the firmware would even recognize a G91 to switch to relative coordinates, then the g1 z(x) would have worked fine.

    So if I'm right, I should have typed:
    g91
    G1 z25

    And it would have raised 25mm from where it currently was... I could have changed the filament, then typed g1 z-25 to return it to where the print was paused, then typed G90 so the machine didn't go crazy and hit resume with the new filament...

    Is this right? Does the machine know g90 vs g91? Or am I totally wrong?

    I just ruined a 9 hour done of 22hour print, and I'd like to not do that again.
     
  2. Marquis Johnson

    Marquis Johnson Active Member

    Joined:
    Feb 18, 2015
    Messages:
    204
    Likes Received:
    203
    The machine does, as long as it is put back into absolute positing after the change. MatterControl might have an issue with the filament changing. If you want to upgrade to Cura I know that I have successfully got a filament change during the print.

    If you want to know how to move over to Cura
    http://community.robo3d.com/index.php?threads/how-to-cura-setup.4169/
    If you want the fixed pause at Z for Cura's plug in. here's the post right here.
    http://community.robo3d.com/index.php?threads/cura-pause-at-z-fixed.5737/
     
    #2 Marquis Johnson, Jun 15, 2015
    Last edited: Jun 16, 2015
    Mike Kelly likes this.
  3. cusomancuso

    cusomancuso New Member

    Joined:
    Dec 14, 2015
    Messages:
    5
    Likes Received:
    1
    Copy your g-code to a file you can open/edit. I have Simplify3d so I saved to disk and then found the "simplify3d" file and right clicked to "open with" notepad. I measured my part previously printed in one color to find the height in Z and then looked at my layer height setting + my first layer height to determine the specific layer. For mine, it was specifically 2.78 (.1 layer height and first layer at 80%). Go into your g code and scroll all the way until you find something like this:

    G1 E-1.0000 F1800
    ; layer 28, Z = 2.78
    M105
    ; inner perimeter
    G1 X141.005 Y113.189 F4800
    G1 Z2.780 F1000

    I made a bunch of space right after the extruder retraction and added a Z move, a program pause, a disable motors, and then home X axis command to look like this:

    ; filament change bitches
    G1 Z3.780 F1000
    M84
    M25
    G28 X0.000
    ; back to pouring plastic

    Basically, the tool will raise 1.0, pause the program, and disable the motors. DO NOT BUMP THE TABLE. You can then move the extruder, by hand, out of the way of the part in X and then change the filament. Extrude the filament by hand and the click resume. The extruder will then home in X and then will pick up where it left off. DO NOT BUMP THE TABLE.

    I know this works for Simplify3D. It is not proven with Cura. If you are using Matter Control, punch yourself in the face and get Cura if you don't want to buy Simplify3D.
     
    mark tomlinson likes this.
  4. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    Video though... video...
     
    cusomancuso likes this.
  5. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Hey @cusomancuso If you want to avoid the possibility of bumping making the print shift, only shut off the Extruder Stepper not all of them. Another consequence of turning them off, let's say for giggles that your 1 mm move is at microstep 9 of 16, if you are super careful and did not move any axis even a microfraction, when you turn the motors back on they will be at the next full step. So that particular layer will be fractionally shifted in all axes.

    I am pretty sure Marlin still supports M18, so you can use M18 E0 in place of M84, this should only stop the Extruder and allow it to move freely.
     
    mark tomlinson likes this.
  6. cusomancuso

    cusomancuso New Member

    Joined:
    Dec 14, 2015
    Messages:
    5
    Likes Received:
    1
    I just tried to give a simple line of code for people out there trying to learn and get somewhere farther than then the rabbit hole of google. I believe you could either go: M18 E0 X0 or M84 E0 X0 to disable the extruder and x axis steppers. To the best of my knowledge, they do the same thing, I haven't proven it myself so I don't know for sure. If you are worried about fractional repeatability between steps, program an x move to clear the part and only disable the extruder. The repeatability of the limit switches when homing is not exactly precise, but good enough for the girls I know. The few times I have changed filament mid print have been a "let's make grandma a keychain with her name on it" sort of thing. My code listed above was just a simple way to get the job done. In reality, if I was going to go for gold, I would try this:

    ; filament change bitches
    G1 Z3.780 X10.000 Y200.000 F1000
    M84 E0
    M25
    ; back to pouring plastic

    This of course depends on the dimensions of your machine and assumes you always center your part to the bed. This is not proven. If it disables all the steppers, then I'd try M18 instead of M84. Just personal preference and what I spent a couple minutes proving out when I first got the Robo. I remember M71 did not pause the print like google told me. M72 will make a sound from the lcd to notify. I'm going off my notes from almost a year ago now. M18/M84, see what works for you and then write it down. I'm used to 8 axis cnc machines which require a G4 P60 or M0 or M1 with optional stop on.
     
  7. cusomancuso

    cusomancuso New Member

    Joined:
    Dec 14, 2015
    Messages:
    5
    Likes Received:
    1
    I've been meaning to make a couple of videos to demonstrate a couple things I picked up, but I've been so busy lately with cheap Christmas presents and the world of Raspberry Pi. I've been frequenting coffee shops with Python and Linux books in between codecademy lessons. Honestly, any video I make will look like crap compared to Novice Expert and his awesome editing skills (which I do not have time to learn yet). That damn Marquis Johnson taught me more than any other resource available. He better be crushing pussy in the dorms. Long story short, I am up to my ears with my quest for knowledge in my maker space/nerd haven.
     
  8. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    I am pretty sure M84 only accepts a time parameter, so you can specify a time limit for the powered off steppers, but cannot specify a stepper singly. But it may work anyway, despite the documentation, as Marlin has quite a few quirks that appear to work after a fashion with no documentation at all. Like Robo's use of M565, that specifically states on the reprap wiki that it doesn't work with Marlin, but somehow on the Robo it does.
     
  9. mark tomlinson

    mark tomlinson ༼ つ ◕_ ◕ ༽つ
    Staff Member

    Joined:
    Feb 21, 2013
    Messages:
    23,912
    Likes Received:
    7,338
    P.F.M. ;)
     
    #9 mark tomlinson, Dec 18, 2015
    Last edited: Dec 18, 2015
  10. cusomancuso

    cusomancuso New Member

    Joined:
    Dec 14, 2015
    Messages:
    5
    Likes Received:
    1
    M84 pauses fine for me and then picks back up if and only if I hit resume print. M71 needs a time parameter (P) in milliseconds. Wiki is only somewhat helpful. Firmware changes from stock may have something to with the differences between what is written and what is real. I'm still getting lost in the firmware sometimes while trying to figure out what is really going on. Currently, I am trying to dial in my pt100 rtd temp sensor. I'm not sure if a lot of things are different because the sensor is more accurate, or if there is something not quite right in the settings. I run PID autotune with and without fans and everything seems to be set right in my firmware, but I can no longer go from 0% fans (MK screwless design) to 100% without my temp falling to safety shut off. I have to creep it up to a max of 80%. I tried exhaust tape (which never stays on) and I really do not want to goop furnace cement all over my heater block. Common sense tells me PID autotune should be performed well above the heated bed with both active cooling fans running.
     
  11. cusomancuso

    cusomancuso New Member

    Joined:
    Dec 14, 2015
    Messages:
    5
    Likes Received:
    1
    P.F.M. ;)[/QUOTE]
    ? What is PFM?
     
  12. WheresWaldo

    WheresWaldo Volunteer ( ͠° ͟ʖ ͡°)
    Staff Member

    Joined:
    Feb 18, 2015
    Messages:
    5,905
    Likes Received:
    3,593
    Pure Freaking Magic
     
    mark tomlinson likes this.
  13. Marquis Johnson

    Marquis Johnson Active Member

    Joined:
    Feb 18, 2015
    Messages:
    204
    Likes Received:
    203
    Robert and I have been working on making the M600 work, of course you need an LCD controller. We just type M600 into the line we desire much like @cusomancuso did with the other G-Code commands. We changed the position in the firmware and took retraction off, the results were grand. Robert should be doing a video on it soon.
     

Share This Page