Z probe

  • I have a problem. The 3d duo does not remember the measurement. I have to do it, every time before printing.

    tfree1.g tpre1.g sleep.g stop.g tpost1.g pause.g resume.g homedelta.g config-override.g bed.g dwc.json config.json config.g

  • what do you mean it does not remember the measurements?

    you are putting the new measurements into your config.g and after a reboot the config.g is reverted?

  • My probe script

    M558 I1 T6000 F1200 P3 H300;
    G31 Z24;

    When I did it, no change in config-override.

  • config-override only gets changed when M500 is issued and then, only a small subset of information is saved. The type of information can be found here https://duet3d.dozuki.com/Wiki/Gcode#Section_M500_Store_parameters
    Looking at the Gcode page, the P31 parameter would have to be used with G31

  • M558 I1 T6000 F1200 P3 H300;
    G31 Z24;

    Will it be good?
    Sorry, it's printing now and I can't check it.

  • Sorry, I was slightly wrong in my explanation there.
    You should have the following

    M558 I1 T6000 F1200 P3 H300;
    G31 Z24;
    M500 P31

  • thx,

    can't wait to check it out

  • Takes the measurement. Then it goes up and does not stop at the limit switches. He tries to keep going.

  • Moderator

    What exactly is the probe? And what exactly are you trying to do?

    M558 I1 T6000 F1200 P3 H300;
    G31 Z24;
    M500 P31

    This gcode will home the printer with homeall, set G31 Z trigger height for the probe to 24mm, save that value to config-override, and then try to probe the bed.

    What are you setting the trigger height to 24mm there? Why are you saving it to config-override again?

    Your config.g has only a probeless config in it.

    ; Z-Probe
    M558 P0 H500 F120 T6000 ; Disable Z probe but set dive height, probe speed and travel speed
    M557 R160 S20 ; Define mesh grid

    Your bed.g has an entirely different probe setup in it.

    M558 I1 T8000 F600 P3 H200;

    When are you running a delta calibration?

  • My switch is 24mm high.

    I want to take only one measurement.

    I change the head (height) every few prints.

    I have a switch of this kind:


    Now everything works, the only problem is that it doesn't remember and I have to take a measurement before every print.

  • @Jack_X I suspect it does not remeber because at the end of print gcode you have command like M84 or M0 which effectively disables holding position, and machine needs to be re-homed (and re-probed) after that.

  • @BoA
    no. It doesn't even save.

    If I turn it off and on after a measurement, I have to do it again even though I haven't turned on any gcode.

  • @Jack_X Turning off also makes machine state with lost track of the position tracking, and then it needs to be re homed, so the sw could say what is the position of each axis.

    What exactly is measured with this switch ??

  • I understand. As I wrote, I rarely change my head. I would like to measure immediately after the change and no more.

    Switches measure the height of the Z working field.

    I have heads with different nozzle lengths. I change them depending on the material I'm working on.

  • Do You use this switch for homing Z?

    Also if I understand tthis right, I would do it a way, that constant part of carriage is used to determine Z height, and then define tools with proper Z offsets.

    Also imagine that - You measured Z height, stored it anyhow, and then power off, and move Z manually and power on. Would this measurement be still correct? I think not. That is why everytime duet looses control over motors holding position it marks axes as not homed.

  • Home switch i have on top.

    After each reset, i go on home switch. On the end of config.g I have 'G28'.

  • homing at top, and then using switch to set Z again?

    As I wrote, I would do this by measuring each tool once, and define then with Z offset. Then, when selecting a tool proper offset would be applied.

    M500 P31 will store z probe offset which would be always 24mm in Your case (I guess)
    M500 P10 will store tool offset


    If You are using M500, then M501 should be at the end of config.g

  • In which file and what to change? I'm not proficient in duet3d.

  • @Jack_X config.g

    If You home Your printer on Z high, then Z has some known value.
    You can define tools by M563 in config.g and set their offset with G10:

    G10 P0 X0 Y0 Z-10 ; set tool 0 axis offsets
    G10 P1 X0 Y0 Z20 ; set tool 1 axis offsets
    G10 P2 X0 Y0 Z30 ; set tool 2 axis offsets

    with Z offset measured only once.
    For example... after homing and going to Z0
    carriage is at 50mm above the bed. Tool length is 45mm.

    So the offset from 0 would be 5mm (printger shows Z=0, but tool is 5mm above actual 0)

    Then using T0, T1, Tx to select tools offsets would be applied automatically

  • I'd rather take a measurement every time.

    I have a good and rigid connection between the stroller and the headstock. But not always the same amount.

  • @Jack_X Now I am confused. If You prefer to measure everytime what is the point of storing the result in any form?

  • Measure each time after changing the tool. And forget about the matter (don't think if I have a T1 or T2 tool on the machine).

  • @Jack_X OK then, I would add M501 at the end of config.g

    And try M500 P10 and M500 P31 in probe script.

  • thx,

    when printing is finished, I will check

Log in to reply