True bed leveling , odd behavior

  • Hi,

    On my printer ( TronXY ) I've set bed.g up do do leveling at the lead screws ( Y position ). It all works perfect except if I run it again after a print completes. I might do this because a print was being pesky coming off the build table.

    On my printer, at the X home position the sensor is off the table, so there's an offset to get it where I want. When I do a bed level a second time, the sensor goes off the build table and I get a nozzle crash.

    On the second run of the level routine, everything does re-home as it did for the first run.

    If I turn off the printer and start fresh, it all works fine again.

    Any thoughts? is there something I missed?

    I've attached my bed.g and config.g


    config.g bed.g

  • Hi,

    Just FYI, when posting code you may find that using the </> icon is to your liking. This places the code in a section that can scroll if needed. See below.

    G1 X0 Y0
    G1 X10 Y10
    G1 X20 Y20

    Now as to your problem.

    Your bed.g runs leveling three times. Is that intentional?

    If so perhaps you could try starting each run with G28 and ending each with the G0 command.


  • Hi,

    Three runs is intentional, it seems to zero in closer each time.

    I "believe" it only needs the one G28 at the beginning of each run.

    Just to make sure I explained myself correctly,

    I run the leveling routine the first time after things are powered up and the bed is up to temperature. This works fine, it goes back and forth the three times and finishes. When that's done, I do the mesh level which also finishes fine. I bring the nozzle up to temperature and do the Z offset. When that's all done, I prime the nozzle and do the print.

    I got into the habit of re doing the above steps between prints. It's the second print that the leveling routine goes off the bed unless I power cycle the printer.

    The home position gets reset, so I'm not sure what went off the correct path.

  • Hi,

    I think the consecutive runs are fine as well, I just sometimes like to verify my assumptions.

    One thing that cycling the power does is rerun config.g.

    So perhaps something that is configured in config.g is being changed and affects the second print?

    You can execute config.g using M98 P"config.g" just to see if the actual power cycling is essential to clearing the problem.


  • Moderator

    Post your homeall as well as the slicer end gcode.

  • I use simplify3D, the end script is,
    G0 Z10
    G0 X0 Y0
    G4 S10
    G0 E -100
    M106 S0 ; turn off cooling fan
    M104 S0 ; turn off extruder
    M140 S0 ; turn off bed
    M84 ; disable motors

    Homeall.g attached


  • Moderator

    I think you might need to adjust your probe points in bed.g

    G30 P0 X10 Y165 Z-99999 ; probe near a leadscrew, half way along Y axis

    G31 P500 X-35 Y-0 Z1.15

    Or maybe your probe offset is incorrect? Is it to the left of the nozzle or to the right?

    Is your 0,0 point in the front left corner?

  • @Phaedrux Probe offset is correct I think. When I set M208 X-2, that puts the nozzle on the edge of the table when I move to X0. The center of the probe is 35mm to the left of that, so I set G31 X-35.

    These settings work fine for the first run, just after that is weird.

    My mesh level works without issue.

  • Moderator

    It is weird. I can't see anything in your config that would explain it. (not to say there's nothing, I just can't see it).

    Try removing the M84 from your end gcode so the motors don't power off.

    Also, you use G0 a lot instead of G1. They should be functionally the same, but... I'm grasping at straws.

    Also, what firmware version?

  • @Phaedrux I'm on 3.1.1. Fortunately this is not a huge issue, got into the habit of just cycling power between prints. Things are back up before the bed cools down much.

    I'll try the straws, I'm not sure what else either.

Log in to reply