Z offset can'tbe set low enough, baby stepping won't work



  • Hi folks,

    People here have really helped me out with my last problem, so hopefully youall can sort this one out:

    I've tried repeateadly to set the z offset. I have a Maestro with a BLTouch I just installed on a CR-10s.

    No matter what, I cannot get it to lower the nozzle more than about 1mm from the bed. Moving the nozzle to touch the bed Resetting Z to zero may appear to work, but after that, when you start a print, it moves up and will not allow you to babystep any lower. Setting the z offset according to instructions does nothing- It always start about 1mm up after homing.

    I'll post my config.g here:

    ; Configuration file for Duet Maestro (firmware version 2.03)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 23 2020 23:10:13 GMT-0600 (Central Standard Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"CR-10x" ; set printer name
    M918 P1 E4 ; brian- enabling lcd

    ; Network
    M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; physical drive 0 goes backwards
    M569 P1 S0 ; physical drive 1 goes backwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S0 ; physical drive 3 goes backwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E415.00 ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z1000 E500 I30 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y10 Z0 S1 ; set axis minima
    M208 X305 Y315 Z350 S0 ; set axis maxima

    ; Endstops
    ;M574 X1 Y1 Z1 S1 ; set active high endstops (original setting)
    M574 X1 Y1 S1 ; X home to min. Y home to min. NC limit switches
    M574 Z1 S2 ; Define Z to use Probe. Home to min

    ; Z-Probe
    ;M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed (original setting)
    ;M557 X15:300 Y25:300 S20 ; define mesh grid (original setting)

    M558 P9 H3 F100 T6000 ;Setting up BLTouch. F=speed of lift. T=speed of movement between points
    G31 X36 Y-4 Z.87 P25 ;BLTouch offset
    M557 X50:250 Y50:250 S50 ;Define mesh grid

    ; Heaters
    M305 P0 T100000 B4138 R2200 ; set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 R2200 ; set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H-1 ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned off

    ; Tools
    M563 P0 S"Main Extruder" D0 H1 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    ; Custom settings are not defined


    I've changed the G31 line repeatedly, and it makes no difference. Z baby stepping used to work, but now it simply will not lower the nozzle during a print. I've made no changes that would affect that, that I can tell.

    Many posts seem to mention a config-override.g file but I do not seem to have one.

    I have messed with my home all and home z files, so I will post those as well:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 23 2020 23:10:13 GMT-0600 (Central Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-310 Y-310 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-310 Y-310 F360 ; move slowly to X and Y axis endstops once more (second pass)

    G1 X50 Y50 F4000 ; make z home on bed, not off edge
    M280 P64 S10 ; drop pin

    G1 H1 Z-355 F360 ; move Z down stopping at the endstop
    G90 ; absolute positioning
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    M280 P64 S90 ; lift pin

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 23 2020 23:10:14 GMT-0600 (Central Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position

    G90 ; Absolute for z homing position
    G1 X50 Y50 ; make z home on bed, not off edge
    M280 P64 S10 ; drop pin

    G1 H1 Z-355 F1800 ; move Z down until the endstop is triggered
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    M280 P64 S90 ;lift pin

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    I'm sure i've goofed something up, I'm just not sure what!

    Many thanks for any help- I've spent hours and hours on this and the more i mess with it the worse it gets. . .


  • administrators

    The firmware won't allow you to babystep below the Z minimum value confoiguired in M208. So in this command:

    M208 X0 Y10 Z0 S1 ; set axis minima

    you can change Z0 to (for example) Z-1 to allow it to go lower. However, I think the real issue is that you haven't got Z homing working properly, because your Z=0 position after homing is obviously too high.

    Looking at your homez.g file, I see that you are homing Z the wrong way. You should use a G30 command to home Z with a Z probe, not a G1 H1 command. See https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_Homing_Z_using_a_Z_probe.



  • That worked, I was able to fix the z homing. I know you answer noob questions 1000s of times, but thanks for helping me anyway!


  • Moderator

    @bluecrayfish said in Z offset can'tbe set low enough, baby stepping won't work:

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 23 2020 23:10:13 GMT-0600 (Central Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-310 Y-310 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-310 Y-310 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G1 X50 Y50 F4000 ; make z home on bed, not off edge
    M280 P64 S10 ; drop pin
    G1 H1 Z-355 F360 ; move Z down stopping at the endstop
    G90 ; absolute positioning
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
    M280 P64 S90 ; lift pin

    Just to make sure it's absolutely clear, your homeall should look like this now

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 23 2020 23:10:13 GMT-0600 (Central Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-310 Y-310 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-310 Y-310 F360 ; move slowly to X and Y axis endstops once more (second pass)
    G90 ; absolute position
    G1 X150 Y150 F4000 ; move to bed center
    G30 ; probe the bed
    G1 X0 Y0 Z5 ; return to parked position
    

  • Moderator

    @bluecrayfish said in Z offset can'tbe set low enough, baby stepping won't work:

    G31 X36 Y-4 Z.87 P25 ;BLTouch offset

    Also that trigger height seems quite low. If it really is that low I think your BLTouch may be mounted too low.

    See here for a walkthrough of installing a BLTouch on a Maestro and Ender 3 (very similar to the CR10)

    https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+5:+Upgrades/54#s229



  • Phaedrux, thank you for your reply. i have modified my homeall to look more like what you suggest.

    I do still have one lingering issue- Z babystepping does not seem to function. I've got it so it starts low enough now, but even if I try to raise the Z height during printing, nothing happens.

    For example, when it homes, Z positoin reports as 3.97 and then when the print starts, it reports as .25, as expected.

    At that point, the print starts and the nozzle is basically touching the sheet- I use a very rough aftermarket PEI powedercoated sheet, so although the nozzle is just rubbing, the valleys give the plastic aplace to go. i would like to bump it up just a hair, so it's not actually touching, but when I use babystepping to try to raise the nozzle a bit, nothing happens. The head position still says .25

    I do happen to have my "normal" jog control set to 0.1 z movement, and if I press that, it will change, say from .50 to .60.

    But why won't z babystepping work?

    Thanks for your helop and replies. . . I really appreciate it!


  • Moderator

    @bluecrayfish said in Z offset can'tbe set low enough, baby stepping won't work:

    The head position still says .25

    Babystepping won't change the displayed height. It will still show as being 0.25 no matter how much babystepping you apply, because it's basically just a little nudge of the physical position. The firmware still keeps the recorded height the same. It's not updating the display because it's still just outputting the right amount of filament for a 0.25mm layer.

    Babystepping should result in a very small movement of your Z motors though. But even that can be hard to see (0.02mm per babystep by default).

    The normal jog controls will move the head and update the position. It's not meant as a slight nudge, it's actually moving to a new position. And 0.1 is much more noticeable than 0.02.

    so with that adjustment to expectation, are you still sure babystepping isn't working?



  • Phaedrux,

    Thanks for that insight. Based on your description, it seems to be functioning as normal. Thank you for explaining it.


Log in to reply