Too short initial_height, G32 fails

Hello guys!

I’m new to the world of home 3D printing, after a few years going to the local FabLab. I’ve assembled a MicroDelta Rework from eMotionTech, wich comes with a Smoothie board. I managed to snap the provided z-probe part by crashing it into the bed, due to a connection problem. (Now I learnt to always try the z-probes by hand before calibrating…)
Logn story short, I digged around a bit, and elected to replace the broken z-probe, a clumsy thing that you had to manually attach and remove when you wanted to calibrate, by underbed piezo sensors to be able to do quick calibrations before prints with no extra hassle.

Everything is nice and all now, but my initial bed height is now too short.
Z-probing works, if I issue a G30, the nozzle goes down until it taps the bed and returns 205.32mm.
BUT when I issue a G32, the nozzle would go down, then stops short of the bed and gives up:

Recv: Calibrating Endstops: target 0.030000mm, radius 65.000000mm
Recv: set trim to X:0.000000 Y:0.000000 Z:0.000000
Recv: initial Bed ht is 175.000000 mm
Recv: center probe: 15.0000
Recv: Probe was not repeatable to 0.030000 mm, (15.000000)
Recv: Failed
Recv: Failed to complete Calibration, check the initial probe height and/or initial_height settings

It seems that the 175mm of initial bed height is a problem, but I can’t figure out how to fix it.

What I tried so far:

  • In my config, gamma_max is set to 205.
  • I tried issuing:
    • G30 Z0
    • M306 Z0
    • M500
      to override the height, but it seems I was mistaken about what these commands do.

Can someone point me in the correct direction?

It’s usually worth posting your entire configuration file. Use a “preformatted block” like this:

```
contents of your config file here
```

That makes it easier for folks to help.

Sure thing, thanks for the advice! Here is the config:

version_name             V1.7d

# NOTE Lines must not exceed 132 characters

## Robot module configurations : general handling of movement G-codes and slicing into moves
default_feed_rate                            4000             # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate                            4000             # Default rate ( mm/minute ) for G0 moves
mm_per_arc_segment                           0.0              # Arcs are cut into segments ( lines ), this is the length for
mm_max_arc_error                             0.01             # The maximum error for line segments that divide arcs 0 to 
                                                              # disable these segments.  Smaller values mean more resolution,
                                                              # higher values mean faster computation
#mm_per_line_segment                         5                # Lines can be cut into segments ( not usefull with cartesian
 
 
delta_segments_per_second                    100              # for deltas only same as in Marlin/Delta, set to 0 to disable
                                                              # coordinates robots ).

play_led_disable	true

alpha_steps_per_mm                           80               # Steps per mm for alpha stepper
beta_steps_per_mm                            80               # Steps per mm for beta stepper
gamma_steps_per_mm                           80			          # Steps per mm for gamma stepper

arm_solution                                 linear_delta
arm_length                                   170              # this is the length of an arm from hinge to hinge
arm_radius                                   80  

# Planner module configuration : Look-ahead and acceleration configuration
planner_queue_size                           32               # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
acceleration                                 3000             # Acceleration in mm/second/second.
junction_deviation                           0.05             # Similar to the old "max_jerk", in millimeters,
                                                              # see https://github.com/grbl/grbl/blob/master/planner.c
                                                              # and https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.8
                                                              # Lower values mean being more careful, higher values means being
                                                              # faster and have more jerk
#z_junction_deviation                        0.0              # for Z only moves, -1 uses junction_deviation, zero disables 
                                                              # junction_deviation on z moves DO NOT SET ON A DELTA
#minimum_planner_speed                       0.0              # sets the minimum planner speed in mm/sec

# Stepper module configuration
microseconds_per_step_pulse                  1                # Duration of step pulses to stepper drivers, in microseconds
base_stepping_frequency                      100000           # Base frequency for stepping

# Cartesian axis speed limits
x_axis_max_speed                             24000		        # mm/min
y_axis_max_speed                             24000            # mm/min
z_axis_max_speed                             24000            # mm/min

# Stepper module pins ( ports, and pin numbers, appending "!" to the number will invert a pin )
# ATTENTION : ALPHA ET GAMMA SONT INVERSES POUR LA MICRODELTA REWORK, pour une utilisation normale inversez le step/dir/en/max
alpha_step_pin                               2.2              # Pin for alpha stepper step signal
alpha_dir_pin                                4.28!            # Pin for alpha stepper direction
alpha_en_pin                                 4.29             # Pin for alpha enable
alpha_max_rate                               24000.0          # mm/min

beta_step_pin                                2.1              # Pin for beta stepper step signal
beta_dir_pin                                 0.22!            # Pin for beta stepper direction
beta_en_pin                                  0.21             # Pin for beta enable pin
beta_max_rate                                24000.0          # mm/min

gamma_step_pin                               2.0              # Pin for gamma stepper step signal
gamma_dir_pin                                3.26!            # Pin for gamma stepper direction
gamma_en_pin                                 3.25             # Pin for gamma enable
gamma_max_rate                               24000.0          # mm/min


## System configuration
# Serial communications configuration ( baud rate defaults to 9600 if undefined )
uart0.baud_rate                              115200           # Baud rate for the default hardware serial port
second_usb_serial_enable                     false            # This enables a second usb serial port (to have both pronterface

## Extruder module configuration
extruder.hotend.enable                       true             # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend.steps_per_mm                 163              # Steps per mm for extruder stepper
extruder.hotend.default_feed_rate            600              # Default rate ( mm/minute ) for moves where only the extruder moves
extruder.hotend.acceleration                 500              # Acceleration for the stepper motor mm/sec²
extruder.hotend.max_speed                    40               # mm/s

extruder.hotend.step_pin                     2.3              # Pin for extruder step signal
extruder.hotend.dir_pin                      0.4              # Pin for extruder dir signal
extruder.hotend.en_pin                       0.5              # Pin for extruder enable signal

extruder.hotend2.enable                      true             # Whether to activate the extruder module at all. All configuration is ignored if false
extruder.hotend2.steps_per_mm                163              # Steps per mm for extruder stepper
extruder.hotend2.default_feed_rate           600              # Default rate ( mm/minute ) for moves where only the extruder moves
extruder.hotend2.acceleration                500              # Acceleration for the stepper motor mm/sec²
extruder.hotend2.max_speed                   40               # mm/s

extruder.hotend2.step_pin                    2.8              # Pin for extruder step signal
extruder.hotend2.dir_pin                     0.20             # Pin for extruder dir signal
extruder.hotend2.en_pin                      0.19             # Pin for extruder enable signal

extruder.hotend2.x_offset                    0                # x offset from origin in mm
extruder.hotend2.y_offset                    0                # y offset from origin in mm
extruder.hotend2.z_offset 		               0

## Temperature control configuration
# First hotend configuration
temperature_control.hotend.enable            true             # Whether to activate this ( "hotend" ) module at all.
                                                              # All configuration is ignored if false.
temperature_control.hotend.thermistor_pin    0.24             # Pin for the thermistor to read
temperature_control.hotend.heater_pin        2.6              # Pin that controls the heater, set to nc if a readonly thermistor is being defined
temperature_control.hotend.thermistor        RRRF100K         # see http://smoothieware.org/temperaturecontrol#toc5
temperature_control.hotend.set_m_code        104              #
temperature_control.hotend.set_and_wait_m_code 109            #
temperature_control.hotend.designator        T                #
temperature_control.hotend.p_factor          41.2             # permanently set the PID values after an auto pid
temperature_control.hotend.i_factor          2.903            #
temperature_control.hotend.d_factor          146              #
#temperature_control.hotend.runaway_range     5               # Safety temperature gap between target and result
temperature_control.hotend.runaway_heating_timeout 0

temperature_control.bed.enable               true             # Enable heatBedActiver le lit chauffant
temperature_control.bed.thermistor_pin       0.25             #
temperature_control.bed.heater_pin           2.5              #
temperature_control.bed.thermistor           RRRF100K         # see http://smoothieware.org/temperaturecontrol#toc5
temperature_control.bed.set_m_code           140              #
temperature_control.bed.set_and_wait_m_code  190              #
temperature_control.bed.designator           B                #
temperature_control.bed.p_factor             300              # permanently set the PID values after an auto pid
temperature_control.bed.i_factor             14.4             #
temperature_control.bed.d_factor             300              #
#temperature_control.bed.runaway_range       10               # Safety temperature gap between target and result
temperature_control.bed.runaway_heating_timeout 0

## Switch module for fan control
switch.fan.enable                            true             #
switch.fan.input_on_command                  M106             #
switch.fan.input_off_command                 M107             #
switch.fan.output_pin                        2.11             #
switch.fan.output_type                       pwm              # pwm output settable with S parameter in the input_on_comand
#switch.fan.max_pwm                          128              # && set max pwm for the pin default is 255

switch.fan_extruder.enable                   true             #
switch.fan_extruder.output_pin               2.13             #
switch.fan_extruder.output_type              pwm              # just an on or off pin
#switch.fan_extruder.max_pwm                 180              #
switch.fan_extruder.startup_value	           255              #
switch.fan_extruder.startup_state	           true             #
switch.fan_extruder.ignore_on_halt           true             #


## Endstops
endstops_enable                              true             # the endstop module is enabled by default and can be disabled here
delta_homing 				                 true

alpha_min_endstop                            nc               # add a ! to invert if endstop is NO connected to ground
alpha_max_endstop                            1.22!            # NOTE set to nc if this is not installed
alpha_homing_direction                       home_to_max      # or set to home_to_max and set alpha_max
alpha_max                                    0                # this gets loaded after homing when home_to_max is set
beta_min_endstop                             nc               #
beta_max_endstop                             1.23!^           #
beta_homing_direction                        home_to_max      #
beta_max                                     0                #
gamma_min_endstop                            nc               #
gamma_max_endstop                            1.24!^           #
gamma_homing_direction                       home_to_max      #
gamma_max                                    205              #
endstop_debounce_count	                     100

alpha_fast_homing_rate_mm_s                  50               # feedrates in mm/second
beta_fast_homing_rate_mm_s                   50               # "
gamma_fast_homing_rate_mm_s                  50               # "
alpha_slow_homing_rate_mm_s                  25               # "
beta_slow_homing_rate_mm_s                   25               # "
gamma_slow_homing_rate_mm_s                  25               # "

alpha_homing_retract_mm                      5                # distance in mm
beta_homing_retract_mm                       5                # "
gamma_homing_retract_mm                      5                # "

## Z-probe
zprobe.enable                                true             # set to true to enable a zprobe
zprobe.probe_pin                             1.25!^           # pin probe is attached to if NC remove the !
zprobe.slow_feedrate                         10               # mm/sec probe feed rate
zprobe.debounce_count                        1              # set if noisy
zprobe.fast_feedrate                         50             # move feedrate mm/sec
zprobe.probe_height                          15               # how much above bed to start probe

# associated with zprobe the leveling strategy to use
leveling-strategy.delta-calibration.enable          true      # basic delta calibration
leveling-strategy.delta-calibration.radius          65        # the probe radius
leveling-strategy.delta-calibration.tolerance       0.04
leveling-strategy.delta-calibration.initial_height  15        # height above bed to stop initial move

#grid
leveling-strategy.delta-grid.enable                 true
leveling-strategy.delta-grid.radius                 65
leveling-strategy.delta-grid.size                   7
leveling-strategy.delta-grid.do_home                true
leveling-strategy.delta-grid.probe_offsets          0,0,0     # probe offsets x,y,z  (Z should always be 0)
leveling-strategy.delta-grid.save                   true
leveling-strategy.delta-grid.initial_height         25

## Panel

###########
# DISPLAY #
###########

panel.enable                true                              # set to true to enable the panel code
panel.lcd                   viki2                             # set type of panel. AZSMZ 12864 LCD is similar viki2, also set to viki2.
panel.spi_channel           0                                 # set spi channel to use P0_18,P0_15 MOSI,SCLK
panel.spi_cs_pin            0.1                               # set spi chip select
panel.encoder_a_pin         1.26!^                            # encoder pin
panel.encoder_b_pin         1.28!^                            # encoder pin
panel.click_button_pin      0.11!^                            # click button
panel.a0_pin                1.29                              # st7565 needs an a0
panel.contrast              38                                # some panels need contrast set, 38 for eMotronic LCD 19 AZSMZ 12864 LCD
panel.encoder_resolution    4                                 # number of clicks to move 1 item
panel.buzz_pin              0.10                              # pin for buzzer (use red led OR buzzer not both)
panel.menu_offset           0                                 # some panels will need 1 here
panel.reverse               1
kill_button_enable			    false	                            # Enable the "kill" button
kill_button_pin			        0.0^!	                            # Pin for the "kill" button


# setup for external sd card on the LCD board
panel.external_sd                 true                        # set to true if there is an extrernal sdcard on the panel
panel.external_sd.spi_channel     0                           # set spi channel the sdcard is on
panel.external_sd.spi_cs_pin      0.16                        # set spi chip select for the sdcard
panel.external_sd.sdcd_pin        1.31!^                      # sd detect signal (set to nc if no sdcard detect)

ws2812b_module_enable            false
2 Likes

Ok, it works now. I’m sorry I can’t give any more precisions on what I did to fix it, I think somehow the G30 Z0 was not taken into account the first time, but this configuration works.

1 Like