MMB
MMB copied to clipboard
Sensorless not working over Canbus and USB
Trying to run sensorless and keep getting this error:
Receive: 91 342.421202 342.416261 18: seq: 14, tmcuart_response oid=8 read=b'\n\xfaO \x80\x00\x02(\xa3\xc6'
Receive: 92 342.426574 342.423793 8: seq: 17, tmcuart_response oid=8 read=b''
Receive: 93 342.432084 342.427886 18: seq: 18, tmcuart_response oid=8 read=b'\n\xfaO \x80\x00\x02H\xa3\xe1'
Receive: 94 342.437047 342.434404 8: seq: 19, tmcuart_response oid=8 read=b''
Receive: 95 342.442549 342.438327 18: seq: 1a, tmcuart_response oid=8 read=b'\n\xfaO \x80\x00\x02h#\xa5'
Receive: 96 342.447348 342.444747 8: seq: 1b, tmcuart_response oid=8 read=b''
Receive: 97 342.452841 342.448602 18: seq: 1c, tmcuart_response oid=8 read=b'\n\xfaO \x80\x00\x02\x88#\xf2'
Receive: 98 342.460414 342.457717 8: seq: 1d, tmcuart_response oid=8 read=b''
Receive: 99 342.461170 342.460420 12: seq: 1e, shutdown clock=1857677883 static_string_id=Command request
Traceback (most recent call last):
File "/home/pi/klipper/klippy/mcu.py", line 74, in _do_send
return xh.get_response(cmds, self._cmd_queue, minclock, reqclock)
File "/home/pi/klipper/klippy/mcu.py", line 50, in get_response
raise serialhdl.error("Timeout on wait for '%s' response"
serialhdl.error: Timeout on wait for 'tmcuart_response' response
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/klipper/klippy/extras/homing.py", line 235, in manual_home
hmove.homing_move(pos, speed, triggered=triggered,
File "/home/pi/klipper/klippy/extras/homing.py", line 71, in homing_move
self.printer.send_event("homing:homing_move_begin", self)
File "/home/pi/klipper/klippy/klippy.py", line 263, in send_event
return [cb(*params) for cb in self.event_handlers.get(event, [])]
File "/home/pi/klipper/klippy/klippy.py", line 263, in <listcomp>
return [cb(*params) for cb in self.event_handlers.get(event, [])]
File "/home/pi/klipper/klippy/extras/tmc.py", line 524, in handle_homing_move_begin
self.mcu_tmc.set_register("TCOOLTHRS", tc_val)
File "/home/pi/klipper/klippy/extras/tmc_uart.py", line 249, in set_register
self.ifcnt = self._do_get_register("IFCNT")
File "/home/pi/klipper/klippy/extras/tmc_uart.py", line 230, in _do_get_register
val = self.mcu_uart.reg_read(self.instance_id, self.addr, reg)
File "/home/pi/klipper/klippy/extras/tmc_uart.py", line 177, in reg_read
params = self.tmcuart_send_cmd.send([self.oid, msg, 10])
File "/home/pi/klipper/klippy/mcu.py", line 78, in send
return self._do_send([self._cmd.encode(data)], minclock, reqclock)
File "/home/pi/klipper/klippy/mcu.py", line 76, in _do_send
raise self._error(str(e))
gcode.CommandError: Timeout on wait for 'tmcuart_response' response
Configuration
[mcu kms_mcu_1]
serial: /dev/serial/by-id/usb-Klipper_stm32g0b1xx_200030001850425539393020-if00
#canbus_uuid: 35537efca352
[duplicate_pin_override]
pins: kms_mcu_1:PB2,kms_mcu_1:PC15
[tmc2209 manual_extruder_stepper kms_mmu_feeder_T0]
uart_pin: kms_mcu_1:PA10
interpolate: True
run_current: 0.90
#hold_current: 0.1
sense_resistor: 0.110
#stealthchop_threshold: 999999
diag_pin: ^kms_mcu_1:PA3
driver_SGTHRS: 75
[manual_extruder_stepper kms_mmu_feeder_T0]
step_pin: kms_mcu_1:PB15
dir_pin: !kms_mcu_1:PB14
enable_pin: !kms_mcu_1:PA8
rotation_distance: 22.6789511
microsteps: 16
full_steps_per_rotation: 200 #200 for 1.8 degree, 400 for 0.9 degree
velocity: 35
accel: 150
endstop_pin: tmc2209_kms_mmu_feeder_T0:virtual_endstop
endstop_name: kms_sensorless_endstop_1
# Uncomment two lines below to give option of selector "touch" movement and homing
#extra_endstop_pins: tmc2209_kms_mmu_feeder_T0:virtual_endstop,kms_mcu_1:PB2
#extra_endstop_names: kms_virtual_endstop_T0,kms_splitter_endstop_1
Just a random thought cause I'm also going to be using sensorless on this board. I assume you have a jumper on the diag pins for driver 1 and I see that is linked to the PA3 pin of stop-1 on the schematic. Maybe try manually with a jumper wire going to a different stop pin like PA4 or PB8 and define in config. Maybe just maybe the trace on the board connecting diag1 to PA3 is faulty is what I'm getting at.
@Collapsednut I have tried all that and also checked for continuity between all diag pins
for ERCF / happy hare v23 ... I think sensorless is for gate selector , not for extruder ? ( in above config the stepper motor is for extruder ?)
Also , hope this can help a little bit maybe https://github.com/ntchris/voron_mod_super_diy/tree/main/for_enraged_rabbit/btt_ERCF_Canbus