when will the new Z-height actually be saved?



  • Hi,

    I'm having a hard time getting a new Z-height saved.

    I have changed the Z-height several times by making adjustments to my hotend setup, but each time I struggle to get it done because in the dozuki it is not clear to me what the way of saving is for the new height , the adjustment itself works fine for me, but it often happens to me that after a reset the old Z-heigt is still there 😞

    So the question is, when/how will the new Z-height actually be saved?

    Btw, why is setting a new Z-height so complicated at all?
    I understand that the probe must have a certain distance from the nozzle, but that can also refer to the nozzle calibration, so for example you set the nozzle to 0mm in relation to the bed and save that height and you're done right away, the rest of the settings that reflect the nozzle height just go with the new value, or do I see it too simple?

    Printer: Anycubic Predator
    Controller: Duet 2 wifi + Paneldue + Duet Smart effector



  • @holco62

    Hi,

    To "save" the new behavior you have to update the Z trigger height parameter in your G31 command.

    When you are setting the nozzle to 0mm in relation to the bed what steps are you performing that you think should be saving the setting?

    Frederick



  • I do exactly these steps, but when I do the last step (11) the old height is back again 😧

    https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Calibrate_the_Z_probe_trigger_height

    Calibrate the Z probe trigger height
    Make sure the dynamic test is successful (Z probe stops when it senses the bed) before doing this.
    Cancel any currently active mesh compensation with M561
    Use the X and Y jog buttons to position the nozzle over the centre of the bed
    Jog the nozzle down until it is just touching the bed or just gripping a sheet of paper. If the firmware doesn't let you jog it down far enough, send M564 S0 to disable axis limits.
    Once you have the nozzle touching the bed, send command G92 Z0 to tell the firmware that the head is at Z=0
    Jog the head up by 5 to 10mm
    Send command G30 S-1. The nozzle will descend or the bed rise until the probe triggers and the Z height at which the probe stopped will be reported. If you are using a nozzle-contact Z probe, the trigger height will be slightly negative. For any other type of Z probe where the probe triggers before the nozzle contacts the bed, it will be positive.
    Repeat from step 5 two or three times to make sure that the trigger height is consistent.
    In Duet Web Control, go to Settings -> System Editor and edit the config.g file. Set the Z parameter in the G31 command to the trigger height that was reported. Save the file.
    Open config-override.g and check that there are no G31 commands in it. If you find any, delete those lines and save the file.
    To apply the new trigger height, restart the Duet by sending M999 or pressing Emergency Stop.



  • My config.g and config-override.g

    config.g config-override.g



  • What do you mean 'the old Z-height is still there'?

    You have a trigger height of -0.1mm. Is that not what you want?



  • @achrn
    When I do everything according to the dozuki description the height is always 4mm too high, ie the previous height is still there.



  • That instruction is to set the probe trigger height. You seem to be talking about something else.

    That set of commands only sets up the trigger height of the probe so that the machine knows where the nozzle is relative to the bed when the probe triggers.

    If what you mean is that you have changed where the nozzle is relative to the endstop switches (by changing the geometry of some or all of the endstops / carriages / rods / effector / nozzle / hotend) you need to re-run delta calibration (G32) not recalibrate the z probe trigger height.



  • This post is deleted!

  • Moderator

    Please post your homeall, homez, bed.g, start.g and your slicer start gcode section so we can see what is happening.

    The smart effector has a negative G31 Z offset because it contacts the bed and presses into it. So -0.1 sounds fine, but perhaps you have another command altering it after startup.



  • The G32 (achrn) dit the trick 👍 But what a hassle to sort everything out for a beginner🙃

    What is the way to setup Auto calibrating before each print?



  • add G32 to your start gcode



  • @jay_s_uk

    It looks that I don't have a start gcode in my System Directory, or I can't find it



  • @holco62 said in when will the new Z-height actually be saved?:

    @jay_s_uk

    It looks that I don't have a start gcode in my System Directory, or I can't find it

    Hi,

    They are talking (I think) about the place in S3D where you can enter gcode to be executed before the start of the print.

    You can also, if you wish, create "start.g" in your system directory and put gcode there - the firmware executes "start.g" at the start of the print.

    Frederick



  • @Phaedrux

    I don't know where to find the rest

    bed.g



  • Tomorrow is a new day, I have to go to bed now.

    But thanks for all the help 🙂


  • Moderator

    @holco62 said in when will the new Z-height actually be saved?:

    I don't know where to find the rest

    in the /sys folder along with config.g



  • This all I have in the System Directory

    System Directory.png



  • @fcwilt said in when will the new Z-height actually be saved?:

    @holco62 said in when will the new Z-height actually be saved?:

    @jay_s_uk

    It looks that I don't have a start gcode in my System Directory, or I can't find it

    Hi,

    They are talking (I think) about the place in S3D where you can enter gcode to be executed before the start of the print.

    You can also, if you wish, create "start.g" in your system directory and put gcode there - the firmware executes "start.g" at the start of the print.

    Frederick

    Made a start.g directory with a G32 file in it, but for the rest I am lost🤔 Start.G.png



  • @holco62 he meant create a file called start.g in your duet system directory (/sys folder). In that file, put the line:

    G32 
    

    To answer your other question on the files, please attach your bed.g and homedelta.g files from the system directory (i can see the file names in the screenshot)



  • @engikeneer said in when will the new Z-height actually be saved?:

    @holco62 he meant create a file called start.g in your duet system directory (/sys folder). In that file, put the line:

    G32 
    

    To answer your other question on the files, please attach your bed.g and homedelta.g files from the system directory (i can see the file names in the screenshot)

    Thanks 🙂

    start.g is working, one thing though, it das the calibration with a gold bed/hotend, is there a way to bring up the temps first?

    The bed.g and the homedelta.g files

    bed.g.png homedelta.g.png


  • Moderator

    @holco62 said in when will the new Z-height actually be saved?:

    is there a way to bring up the temps first?

    You could add a bed heat up command to the start of your bed.g. something like.

    M140 S60 ; set bed to 60 and continue
    G28 ; home towers
    M116 ; for for tempts to be reached
    G30.... etc ; probe for calibration



  • @holco62 said in when will the new Z-height actually be saved?:

    ...is there a way to bring up the temps first?

    Short answer - yes - @Phaedrux has shown a simple approach.

    Long answer - there are several different ways to do all that is needed to start a print.

    For example, instead of putting everything in bed.g you leave just the essential commands there (the commands you already have) and put everything else (setting temps, waiting for temps, etc) in start.g including the G32 to invoke bed.g.

    As you become more comfortable with the firmware there are lots of things possible.

    I'm including my equivalent of "start.g" just to give you an idea of the possibilities BUT I am NOT suggesting that you try to adopt anything I have done at this time.

    There are lots of extra ; characters there that I added because {1} appeared at the start of empty lines when I pasted the code

    ; select tool and configure based on filament selected
    
    T0							; select tool 0 so extruder commands below will work
    M703							; configure selected filament (sets bed/extruder temps, extrusion multiplier)
    
    ; check for selected filament
    
    if move.extruders[0].filament = ""
      M291 R"No Filament Selected" P"Cannot Continue" S2 T0
      abort
    
    ; check bed heater active temp setting
    
    if heat.heaters[0].active = 0 
      M291 R"Bed Heater Active Temp = 0" P"Cannot Continue" S2 T0
      abort
    
    ; check extruder heater active temp setting
    
    if heat.heaters[1].active = 0 
      M291 R"Extruder Heater Active Temp = 0" P"Cannot Continue S2 T0
      abort
    ;
    ; check if homed - allows homing (OK button) or canceling (CLOSE button)
    ;
    if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
      M291 R"Printer has not been homed" P"Home and Continue?" S3 T0
      G28
    ;
    ; setup to print
    ;
    M291 R"Preparing to print" P"Please wait..." T0
    ;
    M106 P2 S255					; lights on
    M106 P3 S255					; lights on
    M106 P4 S255					; lights on
    ;
    G90						; absolute moves
    G1 Z100     F1200				; position for cleaning
    G1 X0 Y-145 F6000				; position for cleaning
    ;
    M291 R"Heating Extruder/Bed" P"Please wait..." T0
    ;
    M116							; wait for temps to reach set points
    ;
    M291 R"Priming Extruder" P"Please wait..." T0
    ;
    G92 E0							; reset the extruder logical position
    M83							; extruder relative mode
    G1  E10 F120					        ; prime the extruder
    M400							; wait for extruding to finish
    G92 E0							; reset the extruder logical position
    ;
    M98 P"beep_alert_1.g"                                   ; beep paneldue
    ;
    M291 R"Clean Nozzle and Bed" P"Click OK to begin printing" S3 T0
    ;
    M98 P"mesh_comp_map_load.g"		                ; load height map as needed
    ;
    M118 L0 P4 S"FT5|Print begun"
    


  • @fcwilt said in when will the new Z-height actually be saved?:

    @holco62 said in when will the new Z-height actually be saved?:

    ...is there a way to bring up the temps first?

    Short answer - yes - @Phaedrux has shown a simple approach.

    Long answer - there are several different ways to do all that is needed to start a print.

    For example, instead of putting everything in bed.g you leave just the essential commands there (the commands you already have) and put everything else (setting temps, waiting for temps, etc) in start.g including the G32 to invoke bed.g.

    As you become more comfortable with the firmware there are lots of things possible.

    I'm including my equivalent of "start.g" just to give you an idea of the possibilities BUT I am NOT suggesting that you try to adopt anything I have done at this time.

    There are lots of extra ; characters there that I added because {1} appeared at the start of empty lines when I pasted the code

    ; select tool and configure based on filament selected
    
    T0							; select tool 0 so extruder commands below will work
    M703							; configure selected filament (sets bed/extruder temps, extrusion multiplier)
    
    ; check for selected filament
    
    if move.extruders[0].filament = ""
      M291 R"No Filament Selected" P"Cannot Continue" S2 T0
      abort
    
    ; check bed heater active temp setting
    
    if heat.heaters[0].active = 0 
      M291 R"Bed Heater Active Temp = 0" P"Cannot Continue" S2 T0
      abort
    
    ; check extruder heater active temp setting
    
    if heat.heaters[1].active = 0 
      M291 R"Extruder Heater Active Temp = 0" P"Cannot Continue S2 T0
      abort
    ;
    ; check if homed - allows homing (OK button) or canceling (CLOSE button)
    ;
    if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
      M291 R"Printer has not been homed" P"Home and Continue?" S3 T0
      G28
    ;
    ; setup to print
    ;
    M291 R"Preparing to print" P"Please wait..." T0
    ;
    M106 P2 S255					; lights on
    M106 P3 S255					; lights on
    M106 P4 S255					; lights on
    ;
    G90						; absolute moves
    G1 Z100     F1200				; position for cleaning
    G1 X0 Y-145 F6000				; position for cleaning
    ;
    M291 R"Heating Extruder/Bed" P"Please wait..." T0
    ;
    M116							; wait for temps to reach set points
    ;
    M291 R"Priming Extruder" P"Please wait..." T0
    ;
    G92 E0							; reset the extruder logical position
    M83							; extruder relative mode
    G1  E10 F120					        ; prime the extruder
    M400							; wait for extruding to finish
    G92 E0							; reset the extruder logical position
    ;
    M98 P"beep_alert_1.g"                                   ; beep paneldue
    ;
    M291 R"Clean Nozzle and Bed" P"Click OK to begin printing" S3 T0
    ;
    M98 P"mesh_comp_map_load.g"		                ; load height map as needed
    ;
    M118 L0 P4 S"FT5|Print begun"
    

    Thanks, I'll see if I can put something together myself.



  • I've tried

    M109 ; Set Extruder Temperature and Wait

    M116 ; Wait for tools

    in the start.g file with as last line

    G32 ; call bed.g

    but when I issue a print command generated by Cura the printer directly starts with G32 and after calibration the bed starts to warm up.

    What am I doing wrong?

    https://picturepush.com/public/16329875

    https://www1.picturepush.com/photo/a/16329875/1024/3D-printers/start-g.png



  • This post is deleted!

Log in to reply