Rotary Delta, BLTouch configuration

Hello,

Im using a rotary Delta Printer with duet2 electronics. At the moment i am trying to set up a connected BLTouch Z-Probe.

BLTOUCH_DEBUG COMMAND=pin_down is working
BLTOUCH_DEBUG COMMAND=pin_up is working
QUERY_PROBE is working, when i pull up the Pin it says “triggered”

Because of the rotary Delta Kinematics the BLTouch is not used for homing
When i try to probe the bed with command “PROBE” the output says that i have to home the Printer first.
Then i run a G28 command → Printer homes.
When type again “PROBE” the output says again to home the Printer first.

Here is my BLTouch Section in Printer.cfg:

[bltouch]
sensor_pin: ^PC16
control_pin: PA15
pin_move_time: 0.680
stow_on_each_sample: True
probe_with_touch_mode: False
pin_up_reports_not_triggered: True
pin_up_touch_mode_reports_triggered: True
x_offset: -20.7
y_offset: 3.8
z_offset: 3.521
speed: 5.0
samples: 1
sample_retract_dist: 10
samples_result: average
samples_tolerance: 0.100
samples_tolerance_retries: 0

Did i miss something?

Thanks a lot for any help.

You’ll need to upload the Klipper log file from the event. See klipper | Klipper is a 3d-printer firmware for info on how to obtain the log, but attach it here on this Discourse server.

-Kevin

Hello Kevin, here is the Klipper Log-File-Export
didnt find a way to share the complete File.

Start printer at Mon Mar 29 18:41:26 2021 (1617039686.6 6752.1)
    ===== Config file =====
    [virtual_sdcard]
    path = ~/gcode_files

    [pause_resume]

    [display_status]

    [gcode_macro CANCEL_PRINT]
    rename_existing = BASE_CANCEL_PRINT
    gcode = 
    	TURN_OFF_HEATERS
    	CLEAR_PAUSE
    	SDCARD_RESET_FILE
    	BASE_CANCEL_PRINT

    [gcode_macro PAUSE]
    rename_existing = BASE_PAUSE
    variable_extrude = 1.0
    gcode = 
    	{% set E = printer["gcode_macro PAUSE"].extrude|float %}
    	{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
    	{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
    	{% set max_z = printer.toolhead.axis_maximum.z|float %}
    	{% set act_z = printer.toolhead.position.z|float %}
    	{% if act_z < (max_z - 2.0) %}
    	{% set z_safe = 2.0 %}
    	{% else %}
    	{% set z_safe = max_z - act_z %}
    	{% endif %}
    	SAVE_GCODE_STATE NAME=PAUSE_state
    	BASE_PAUSE
    	G91
    	G1 E-{E} F2100
    	G1 Z{z_safe} F900
    	G90
    	G1 X{x_park} Y{y_park} F6000

    [gcode_macro RESUME]
    rename_existing = BASE_RESUME
    gcode = 
    	{% set E = printer["gcode_macro PAUSE"].extrude|float %}
    	G91
    	G1 E{E} F2100
    	RESTORE_GCODE_STATE NAME=PAUSE_state
    	BASE_RESUME

    [stepper_a]
    step_pin = PD6
    dir_pin = PD11
    enable_pin = !PC6
    full_steps_per_rotation = 200
    microsteps = 128
    gear_ratio = 21.9375:1
    endstop_pin = ^PC14
    homing_speed = 20
    upper_arm_length = 190.000
    lower_arm_length = 393.000
    angle = 270.000000
    position_endstop = 205.748359

    [tmc2660 stepper_a]
    cs_pin = PD14
    spi_bus = usart1
    run_current = 1.000
    sense_resistor = 0.051

    [stepper_b]
    step_pin = PD7
    dir_pin = PD12
    enable_pin = !PC6
    full_steps_per_rotation = 200
    microsteps = 128
    gear_ratio = 21.9375:1
    endstop_pin = ^PA2
    homing_speed = 20
    upper_arm_length = 190.000
    lower_arm_length = 393.000
    angle = 30.000000
    position_endstop = 205.722473

    [tmc2660 stepper_b]
    cs_pin = PC9
    spi_bus = usart1
    run_current = 1.000
    sense_resistor = 0.051

    [stepper_c]
    step_pin = PD8
    dir_pin = !PD13
    enable_pin = !PC6
    full_steps_per_rotation = 200
    microsteps = 128
    gear_ratio = 21.9375:1
    endstop_pin = ^PD29
    homing_speed = 20
    upper_arm_length = 190.000
    lower_arm_length = 393.000
    angle = 150.000000
    position_endstop = 205.321719

    [tmc2660 stepper_c]
    cs_pin = PC10
    spi_bus = usart1
    run_current = 1.000
    sense_resistor = 0.051

    [extruder]
    step_pin = PD5
    dir_pin = !PA1
    enable_pin = !PC6
    full_steps_per_rotation = 400
    microsteps = 32
    rotation_distance = 7.646
    nozzle_diameter = 0.400
    filament_diameter = 1.750
    heater_pin = !PA20
    sensor_type = EPCOS 100K B57560G104F
    sensor_pin = PC15
    min_temp = 0
    max_temp = 250
    control = pid
    pid_kp = 22.581
    pid_ki = 1.244
    pid_kd = 102.462

    [tmc2660 extruder]
    cs_pin = PC17
    spi_bus = usart1
    run_current = 1.000
    sense_resistor = 0.051

    [heater_bed]
    heater_pin = !PA19
    sensor_type = EPCOS 100K B57560G104F
    sensor_pin = PC13
    min_temp = 0
    max_temp = 130
    control = pid
    pid_kp = 55.190
    pid_ki = 0.273
    pid_kd = 2787.764

    [mcu]
    serial = /dev/serial/by-id/usb-Klipper_sam4e8e_0031375359544E573134303536303039-if00

    [fan]
    pin = PC23

    [bltouch]
    sensor_pin = ^PC16
    control_pin = PA15
    pin_move_time = 0.680
    stow_on_each_sample = True
    probe_with_touch_mode = False
    pin_up_reports_not_triggered = True
    pin_up_touch_mode_reports_triggered = True
    x_offset = -20.7
    y_offset = 3.8
    z_offset = 3.521
    speed = 5.0
    samples = 1
    sample_retract_dist = 10
    samples_result = average
    samples_tolerance = 0.100
    samples_tolerance_retries = 0

    [input_shaper]
    shaper_freq_x = 25
    shaper_freq_y = 25
    shaper_type = ei

    [printer]
    kinematics = rotary_delta
    max_velocity = 300
    max_accel = 3000
    max_z_velocity = 300
    minimum_z_position = -5
    shoulder_radius = 48.663000
    shoulder_height = 418.095120

    [delta_calibrate]
    radius = 70
    speed = 50
    horizontal_move_z = 5
    height0 = 0.0
    height0_pos = 14487.000,14462.000,14400.000
    height1 = 0.0
    height1_pos = 16866.000,13697.000,13634.000
    height2 = 0.0
    height2_pos = 15775.000,15751.000,12577.000
    height3 = 0.0
    height3_pos = 13767.000,16568.000,13680.000
    height4 = 0.0
    height4_pos = 13025.000,15415.000,15352.000
    height5 = 0.0
    height5_pos = 13825.000,13800.000,16239.000
    height6 = 0.0
    height6_pos = 15608.000,12822.000,15521.000
    =======================
    Delta max build height 205.32mm (radius tapered above 160.85mm)
    Extruder max_extrude_ratio=0.266081
    Starting serial connect
    webhooks client 3045604168: New connection
    webhooks client 3045604168: Client info {'program': 'Moonraker', 'version': 'v0.4.1-86-gb1f8eaa'}
    Loaded MCU 'mcu' 91 commands (v0.9.1-377-gb88a0b80-20210326_195223-mainsailos / gcc: (15:7-2018-q2-6) 7.3.1 20180622 (release) [ARM/embedded-7-branch revision 261907] binutils: (2.31.1-11+rpi1+11) 2.31.1)
    MCU 'mcu' config: BUS_PINS_twi1=PB5,PB4 BUS_PINS_twi0=PA4,PA3 BUS_PINS_spi=PA12,PA13,PA14 STEP_DELAY=2 BUS_PINS_usart0=PB0,PB1,PB13 ADC_MAX=4095 BUS_PINS_usart1=PA21,PA22,PA23 PWM_MAX=255 CLOCK_FREQ=120000000 RESERVE_PINS_USB=PB10,PB11 MCU=sam4e8e STATS_SUMSQ_BASE=256
    Sending MCU 'mcu' printer configuration...
    Configured MCU 'mcu' (1024 moves)
    Enabling TMC virtual enable for 'stepper_a'
    Enabling TMC virtual enable for 'stepper_b'
    Enabling TMC virtual enable for 'stepper_c'
    Enabling TMC virtual enable for 'extruder'
    Starting heater checks for heater_bed
    Starting heater checks for extruder
    Write g-code response
    Traceback (most recent call last):
      File "/home/pi/klipper/klippy/gcode.py", line 426, in _respond_raw
        os.write(self.fd, msg+"\n")
    OSError: [Errno 11] Resource temporarily unavailable
    Stats 6753.8: gcodein=0 mcu: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1418 bytes_read=3988 bytes_retransmit=9 bytes_invalid=0 send_seq=154 receive_seq=154 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119993240  heater_bed: target=0 temp=0.0 pwm=0.000 print_time=0.001 buffer_time=0.000 print_stall=0 extruder: target=0 temp=0.0 pwm=0.000 sysload=0.17 cputime=217.199 memavail=7690980
    webhooks: registering remote method 'shutdown_machine' for connection id: 3045604168
    webhooks: registering remote method 'reboot_machine' for connection id: 3045604168
    Stats 6754.8: gcodein=0 mcu: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1424 bytes_read=4079 bytes_retransmit=9 bytes_invalid=0 send_seq=155 receive_seq=155 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992693  heater_bed: target=0 temp=60.0 pwm=0.000 print_time=0.001 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.5 pwm=0.000 sysload=0.17 cputime=217.227 memavail=7691108
    Stats 6755.8: gcodein=0 mcu: mcu_awake=0.000 mcu_task_avg=0.000000 mcu_task_stddev=0.000000 bytes_write=1430 bytes_read=4200 bytes_retransmit=9 bytes_invalid=0 send_seq=156 receive_seq=156 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992630  heater_bed: target=0 temp=60.0 pwm=0.000 print_time=0.001 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.5 pwm=0.000 sysload=0.17 cputime=217.239 memavail=7691380
    Stats 6756.8: gcodein=0 mcu: mcu_awake=0.004 mcu_task_avg=0.000009 mcu_task_stddev=0.000013 bytes_write=3003 bytes_read=4670 bytes_retransmit=9 bytes_invalid=0 send_seq=210 receive_seq=210 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992359  heater_bed: target=0 temp=60.0 pwm=0.000 print_time=5.951 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.5 pwm=0.000 sysload=0.17 cputime=217.311 memavail=7691380
    Stats 6757.8: gcodein=0 mcu: mcu_awake=0.004 mcu_task_avg=0.000009 mcu_task_stddev=0.000013 bytes_write=3594 bytes_read=4980 bytes_retransmit=9 bytes_invalid=0 send_seq=232 receive_seq=232 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992556  heater_bed: target=0 temp=60.0 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 sysload=0.17 cputime=217.357 memavail=7691408
    Stats 6758.8: gcodein=0 mcu: mcu_awake=0.004 mcu_task_avg=0.000009 mcu_task_stddev=0.000013 bytes_write=3633 bytes_read=5149 bytes_retransmit=9 bytes_invalid=0 send_seq=236 receive_seq=236 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992605  heater_bed: target=0 temp=60.0 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.15 cputime=217.372 memavail=7691408
    Stats 6759.8: gcodein=0 mcu: mcu_awake=0.004 mcu_task_avg=0.000009 mcu_task_stddev=0.000013 bytes_write=3672 bytes_read=5303 bytes_retransmit=9 bytes_invalid=0 send_seq=240 receive_seq=240 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992558  heater_bed: target=0 temp=60.0 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.5 pwm=0.000 sysload=0.15 cputime=217.387 memavail=7691408
    Stats 6760.8: gcodein=0 mcu: mcu_awake=0.004 mcu_task_avg=0.000009 mcu_task_stddev=0.000013 bytes_write=3701 bytes_read=5462 bytes_retransmit=9 bytes_invalid=0 send_seq=242 receive_seq=242 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992546  heater_bed: target=0 temp=59.9 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.15 cputime=217.401 memavail=7691408
    Stats 6761.8: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=3730 bytes_read=5636 bytes_retransmit=9 bytes_invalid=0 send_seq=244 receive_seq=244 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992512  heater_bed: target=0 temp=59.9 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.15 cputime=217.415 memavail=7691408
    Must home before probe
    Stats 6762.8: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=3769 bytes_read=5790 bytes_retransmit=9 bytes_invalid=0 send_seq=248 receive_seq=248 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992719  heater_bed: target=0 temp=59.9 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.15 cputime=217.433 memavail=7691416
    Stats 6763.8: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=3808 bytes_read=5959 bytes_retransmit=9 bytes_invalid=0 send_seq=252 receive_seq=252 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992743  heater_bed: target=0 temp=59.9 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.14 cputime=217.448 memavail=7691416
    Stats 6764.8: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=3847 bytes_read=6128 bytes_retransmit=9 bytes_invalid=0 send_seq=256 receive_seq=256 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992729  heater_bed: target=0 temp=59.9 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.14 cputime=217.464 memavail=7691416
    Stats 6765.8: gcodein=0 mcu: mcu_awake=0.003 mcu_task_avg=0.000010 mcu_task_stddev=0.000012 bytes_write=3886 bytes_read=6282 bytes_retransmit=9 bytes_invalid=0 send_seq=260 receive_seq=260 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992646  heater_bed: target=0 temp=59.9 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.14 cputime=217.479 memavail=7691416
    Stats 6766.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000007 bytes_write=3925 bytes_read=6465 bytes_retransmit=9 bytes_invalid=0 send_seq=264 receive_seq=264 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992641  heater_bed: target=0 temp=59.8 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.14 cputime=217.495 memavail=7691416
    Stats 6767.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000007 bytes_write=3964 bytes_read=6634 bytes_retransmit=9 bytes_invalid=0 send_seq=268 receive_seq=268 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992598  heater_bed: target=0 temp=59.8 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.4 pwm=0.000 sysload=0.14 cputime=217.507 memavail=7690496
    Stats 6768.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000007 bytes_write=4003 bytes_read=6788 bytes_retransmit=9 bytes_invalid=0 send_seq=272 receive_seq=272 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992552  heater_bed: target=0 temp=59.8 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 sysload=0.13 cputime=217.521 memavail=7690664
    Stats 6769.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000007 bytes_write=4042 bytes_read=6957 bytes_retransmit=9 bytes_invalid=0 send_seq=276 receive_seq=276 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992553  heater_bed: target=0 temp=59.8 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 sysload=0.13 cputime=217.536 memavail=7690664
    Stats 6770.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000007 bytes_write=4081 bytes_read=7126 bytes_retransmit=9 bytes_invalid=0 send_seq=280 receive_seq=280 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992522  heater_bed: target=0 temp=59.7 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 sysload=0.13 cputime=217.552 memavail=7690664
    Stats 6771.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000007 bytes_write=4120 bytes_read=7294 bytes_retransmit=9 bytes_invalid=0 send_seq=284 receive_seq=284 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992491  heater_bed: target=0 temp=59.7 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.2 pwm=0.000 sysload=0.13 cputime=217.575 memavail=7690808
    Stats 6772.8: gcodein=0 mcu: mcu_awake=0.001 mcu_task_avg=0.000007 mcu_task_stddev=0.000007 bytes_write=4159 bytes_read=7463 bytes_retransmit=9 bytes_invalid=0 send_seq=288 receive_seq=288 retransmit_seq=2 srtt=0.000 rttvar=0.000 rto=0.025 ready_bytes=0 stalled_bytes=0 freq=119992471  heater_bed: target=0 temp=59.7 pwm=0.000 print_time=6.524 buffer_time=0.000 print_stall=0 extruder: target=0 temp=22.3 pwm=0.000 sysload=0.13 cputime=217.591 memavail=7690808

By the way, with PID on my heated bed the result is now very nice. Thx for that advice :slight_smile:

-Dominik

Unfortunately, it looks like you’ve hit a bug in Klipper. I think it should be fixed now (commit 20245d2e). I recommend pulling the latest code and retrying.

-Kevin

hello Kevin,
thanks alot for looking into it.
It is working now very nice.

-Dominik