Z-Probe Trigger Height - Adjust for different materials?



  • Hey folks,

    I've got something that has been bugging me for a while. I've got a CoreXY machine that is pretty well tuned (very clean benchy @ 100mm/sec in PLA).

    I've noticed something that is frustrating me: I have to change my Z-probe trigger height for different materials.

    For example, with ABS (235/105) I use this line:
    G31 X37 Y0 Z0.85 P25

    But for PLA (195/40), I use this line:
    G31 X37 Y0 Z1.1 P25

    If I leave it at 0.85, I get no bed adhesion. Push it closer by increasing to 1.1 or 1.15, and the bed adhesion is perfect (not too much, not too little).

    I've taken to just editing my config.g file when I switch materials. I've got this comment just above my G31 line in config.g:
    ; ABS (2019-03-20) - Z0.85
    ; PLA (2019-03-20) - Z1.10

    I thought about putting custom G31 commands in my slicer start profiles, but that just moves the manual maintenance somewhere else.

    Would love to hear if this is something anyone else deals with.

    Thanks!



  • I've dealt with this by using the baby stepping command for some filaments. I use Slic3r PE mostly, and I use the custom gcode section of the filament to add some baby stepping automatically. That way I don't have to edit config.g every time. If you use a different slicer that doesn't have custom gcode per filament you could try using the filament management functionality built into the DWC. It allows you to have a customized config.g that could include your modified G31 values. You'd then have to remember to use the DWC filament option when setting up your print.

    https://duet3d.dozuki.com/Wiki/Duet_Web_Control_Manual#Section_Filaments
    https://duet3d.dozuki.com/Wiki/Filaments



  • Here's a question... is it a problem to call G31 with a different Z-trigger height from the slicer's "start up" gcode block?

    I've also been thinking about using G92 to change the current Z position after homing. My thinking is to just offset the known current height (post home) with the delta between the two G31 calls in my original post.

    I was also thinking about using M206 with one of the material types to express the offset delta.

    If anyone else has ideas, I'd appreciate it. If it helps, I'm using S3D for my slicer.

    Thanks!



  • @pprovost Yes you can do that. In fact if for whatever reason, you need to use a different trigger height per filament, then it makes sense to do it in the slicer along with the temperatures that you set for each filament.



  • @deckingman said in Z-Probe Trigger Height - Adjust for different materials?:

    @pprovost Yes you can do that. In fact if for whatever reason, you need to use a different trigger height per filament, then it makes sense to do it in the slicer along with the temperatures that you set for each filament.

    Do you recommend G31 in the slicer start? Or leave G31 in config.g set to one of the values and then use G92 to make up the difference?

    Am I really the only one experiencing this challenge? It make me think I may be doing something else wrong (e.g. temps).



  • @pprovost I think your best bet is to leave G31 as is since it's a measure of the calibration of your z probe trigger height. Then use baby stepping via M290 in the slicer filament start gcode since baby stepping is intended to modify G31 anyway. It's just doing it for you automatically instead of using the baby stepping buttons as you normally would. You could then have a baby stepping reset in the slicer filament end gcode to return it to normal. That way you don't have to remember to return it to normal for future prints if you change filament.

    It's pretty rare that I need to adjust the Z offset for a filament. The only one that I use this on is carbon fiber PETG which is very sticky. Everything else I use works fine on PEI with a 0.2mm first layer and extrusion width equal to nozzle width.

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M290_Baby_stepping



  • @pprovost

    What @Phaedrux said.

    IMO, if you need to adjust the first layer height to suit different filaments, then the use of baby stepping would be a better approach. You can still do that in your slicer start gcode but if you do it that way, then I would recommend that your slicer end gcode applies the reverse baby stepping so that every print starts from the same datum point.


  • administrators

    @deckingman said in Z-Probe Trigger Height - Adjust for different materials?:

    @pprovost

    What @Phaedrux said.

    IMO, if you need to adjust the first layer height to suit different filaments, then the use of baby stepping would be a better approach. You can still do that in your slicer start gcode but if you do it that way, then I would recommend that your slicer end gcode applies the reverse baby stepping so that every print starts from the same datum point.

    I agree, IMO the M290 babystepping command with R0 to apply absolute babystepping is the best way to do this.


Log in to reply