(Solved-ish, Thanks!) No trigger on x after full movement

e: I have zipped and attached the klippy.log file to hopefully help. I think that this is what is needed. Please let me know if there is more that I can do. (I didn’t know its okay to attach zips. sry.)

I will humbly be the first to say this but I am pretty dumb when it comes to understanding klipper on my I3 mega S with BL Touch and tmc2208 drivers.
I really hope that this isn’t a bothersome thing to have to ask but I am at a complete loss for ideas. :frowning:

So when I am homing my X axis I keep getting “!! No trigger on x after full movement.” Its happened for me intermittently in the past but seemed to magically go away for long periods of time. This last time that started today it is sticking.

  • Troubleshooting Preformed:
  • I replaced the endstop trigger
  • Checked the wires
  • Tried homing many times resulting in either it not homing in the right direction or bashing into the sensor and travel back in the wrong direction again.
  • ran STEPPER_BUZZ STEPPER=stepper_x and it preformed as I believe is proper moving a short amount left and right several times. (I guess that’s what should happen?)
  • Powered everything off and on several times.
  • I also ran the command to test and check if the sensors are endstops are opening and closing as they should. They all reported properly.

I really don’t know what I should do next. I am so sorry for the bother but yeah… I am just not smart with this stuff and am totally lost. :frowning:

Could anyone point me in a direction that I can start looking in for a resolution?

ps. I think based on other posts I have read that my klippy.log file might be needed so I am blockquote it here. Is this right? Should I share a google drive with other files? I will do whatever it takes. <3

Starting Klippy…
Args: [‘/home/pi/klipper/klippy/klippy.py’, ‘/home/pi/klipper_config/printer.cfg’, ‘-l’, ‘/home/pi/klipper_logs/klippy.log’, ‘-a’, ‘/tmp/klippy_uds’]
Git version: ‘v0.10.0-408-g2c441b45’
CPU: 4 core ARMv7 Processor rev 3 (v7l)
Python: ‘2.7.18 (default, Jul 14 2021, 08:11:37) \n[GCC 10.2.1 20210110]’
Start printer at Mon Aug 22 03:42:30 2022 (1661136150.2 9.5)
===== Config file =====
[stepper_x]
step_pin = PF0
dir_pin = PF1
enable_pin = !PD7
microsteps = 16
rotation_distance = 40
endstop_pin = ^!PE5
position_min = -7
position_endstop = -5
position_max = 234.0
homing_speed = 200.0

[stepper_y]
step_pin = PF6
dir_pin = !PF7
enable_pin = !PF2
microsteps = 16
rotation_distance = 40
endstop_pin = ^!PL7
position_endstop = 0
position_max = 234.0
homing_speed = 200.0

[stepper_z]
step_pin = PL3
dir_pin = !PL1
enable_pin = !PK0
microsteps = 16
rotation_distance = 8
endstop_pin = ^!PD3
position_min = -2
position_max = 190
homing_speed = 5.0
position_endstop = -0.995

[stepper_z1]
step_pin = PC1
dir_pin = !PC3
enable_pin = !PC7
microsteps = 16
rotation_distance = 8
endstop_pin = ^!PL6

[extruder]
step_pin = PA4
dir_pin = !PA6
enable_pin = !PA2
microsteps = 16
rotation_distance = 7.60
nozzle_diameter = 0.600
filament_diameter = 1.750
max_extrude_only_distance = 120.0
heater_pin = PB4
sensor_type = ATC Semitec 104GT-2
sensor_pin = PK5
control = pid
pid_kp = 15.717
pid_ki = 0.569
pid_kd = 108.451
min_temp = 0
max_temp = 260
max_extrude_cross_section = 100.0

[heater_fan extruder_fan]
pin = PL5

[heater_bed]
heater_pin = PH5
sensor_type = EPCOS 100K B57560G104F
sensor_pin = PK6
control = pid
pid_kp = 74.883
pid_ki = 1.809
pid_kd = 775.038
min_temp = 0
max_temp = 110

[fan]
pin = PH6

[mcu rpi]
serial = /tmp/klipper_host_mcu

[adxl345]
cs_pin = rpi:None

[resonance_tester]
accel_chip = adxl345
probe_points =
100, 100, 20

[mcu]
serial = /dev/ttyUSB0

[input_shaper]
shaper_freq_x = 45
shaper_freq_y = 40
shaper_type = mzv

[printer]
kinematics = cartesian
max_velocity = 300
max_accel = 10000
max_accel_to_decel = 10000
max_z_velocity = 100
max_z_accel = 1000
square_corner_velocity = 5.0

[heater_fan stepstick_fan]
pin = PH4

[virtual_sdcard]
path = ~/gcode_files

[display_status]

[pause_resume]
recover_velocity = 60.

[filament_switch_sensor filament_sensor]
pause_on_runout = True
runout_gcode =
M118 Filament Runout Detected
insert_gcode =
M118 Filament Load Detected
switch_pin = ^!PD2

[bltouch]
sensor_pin = ^PE4
control_pin = PB5
stow_on_each_sample = False
probe_with_touch_mode = True
pin_up_touch_mode_reports_triggered = False
x_offset = 19.5
y_offset = -14.2
z_offset = 3.500

[bed_mesh]
speed = 180
horizontal_move_z = 5
mesh_min = 15,17
mesh_max = 199,200
probe_count = 6,6

[gcode_macro PAUSE]
description = Pause the actual running print
rename_existing = PAUSE_BASE
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 %}
PAUSE_BASE
G91
{% if printer.extruder.can_extrude|lower == ‘true’ %}
G1 E-{E} F2100
{% else %}
{action_respond_info(“Extruder not hot enough”)}
{% endif %}
{% if “xyz” in printer.toolhead.homed_axes %}
G1 Z{z_safe} F900
G90
G1 X{x_park} Y{y_park} F6000
{% else %}
{action_respond_info(“Printer not homed”)}
{% endif %}

[gcode_macro RESUME]
description = Resume the actual running print
rename_existing = RESUME_BASE
gcode =
{% set E = printer[“gcode_macro PAUSE”].extrude|float %}
{% if ‘VELOCITY’ in params|upper %}
{% set get_params = (‘VELOCITY=’ + params.VELOCITY) %}
{%else %}
{% set get_params = “” %}
{% endif %}
{% if printer.extruder.can_extrude|lower == ‘true’ %}
G91
G1 E{E} F2100
{% else %}
{action_respond_info(“Extruder not hot enough”)}
{% endif %}
RESUME_BASE {get_params}

[gcode_macro CANCEL_PRINT]
description = Cancel the actual running print
rename_existing = CANCEL_PRINT_BASE
gcode =
TURN_OFF_HEATERS
CANCEL_PRINT_BASE

[bed_mesh default]
version = 1
points =
-1.332500, -0.962500, -0.597500, -0.195000, 0.212500, 0.607500
-1.282500, -0.872500, -0.502500, -0.112500, 0.285000, 0.710000
-1.330000, -0.947500, -0.557500, -0.110000, 0.282500, 0.710000
-1.515000, -1.055000, -0.650000, -0.202500, 0.212500, 0.640000
-1.717500, -1.272500, -0.857500, -0.407500, 0.055000, 0.512500
-1.960000, -1.537500, -1.110000, -0.637500, -0.165000, 0.275000
tension = 0.2
min_x = 15.0
algo = lagrange
y_count = 6
mesh_y_pps = 2
min_y = 17.0
x_count = 6
max_y = 200.0
mesh_x_pps = 2
max_x = 198.95

Extruder max_extrude_ratio=41.575169
mcu ‘mcu’: Starting serial connect
Loaded MCU ‘mcu’ 100 commands (v0.10.0-408-g2c441b45 / gcc: (GCC) 5.4.0 binutils: (GNU Binutils) 2.26.20160125)
MCU ‘mcu’ config: RECEIVE_WINDOW=192 BUS_PINS_spi=PB3,PB2,PB1 SERIAL_BAUD=250000 ADC_MAX=1023 PWM_MAX=255 RESERVE_PINS_serial=PE0,PE1 BUS_PINS_twi=PD0,PD1 MCU=atmega2560 STATS_SUMSQ_BASE=256 CLOCK_FREQ=16000000
mcu ‘rpi’: Starting connect
Loaded MCU ‘rpi’ 107 commands (v0.10.0-408-g2c441b45 / gcc: (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110 binutils: (GNU Binutils for Raspbian) 2.35.2)
MCU ‘rpi’ config: PCA9685_MAX=4096 ADC_MAX=4095 PWM_MAX=32768 CLOCK_FREQ=50000000 MCU=linux STATS_SUMSQ_BASE=256
Sending MCU ‘mcu’ printer configuration…
Configured MCU ‘mcu’ (584 moves)
Sending MCU ‘rpi’ printer configuration…
Configured MCU ‘rpi’ (1024 moves)
Starting heater checks for heater_bed
webhooks client 3003903312: New connection
webhooks client 3003903312: Client info {‘program’: ‘Moonraker’, ‘version’: ‘v0.7.1-567-g3d9f5dc’}
bed_mesh: generated points
Index | Tool Adjusted | Probe
0 | (-4.5, 31.2) | (15.0, 17.0)
1 | (32.3, 31.2) | (51.8, 17.0)
2 | (69.1, 31.2) | (88.6, 17.0)
3 | (105.9, 31.2) | (125.4, 17.0)
4 | (142.7, 31.2) | (162.2, 17.0)
5 | (179.4, 31.2) | (198.9, 17.0)
6 | (179.4, 67.8) | (198.9, 53.6)
7 | (142.7, 67.8) | (162.2, 53.6)
8 | (105.9, 67.8) | (125.4, 53.6)
9 | (69.1, 67.8) | (88.6, 53.6)
10 | (32.3, 67.8) | (51.8, 53.6)
11 | (-4.5, 67.8) | (15.0, 53.6)
12 | (-4.5, 104.4) | (15.0, 90.2)
13 | (32.3, 104.4) | (51.8, 90.2)
14 | (69.1, 104.4) | (88.6, 90.2)
15 | (105.9, 104.4) | (125.4, 90.2)
16 | (142.7, 104.4) | (162.2, 90.2)
17 | (179.4, 104.4) | (198.9, 90.2)
18 | (179.4, 141.0) | (198.9, 126.8)
19 | (142.7, 141.0) | (162.2, 126.8)
20 | (105.9, 141.0) | (125.4, 126.8)
21 | (69.1, 141.0) | (88.6, 126.8)
22 | (32.3, 141.0) | (51.8, 126.8)
23 | (-4.5, 141.0) | (15.0, 126.8)
24 | (-4.5, 177.6) | (15.0, 163.4)
25 | (32.3, 177.6) | (51.8, 163.4)
26 | (69.1, 177.6) | (88.6, 163.4)
27 | (105.9, 177.6) | (125.4, 163.4)
28 | (142.7, 177.6) | (162.2, 163.4)
29 | (179.4, 177.6) | (198.9, 163.4)
30 | (179.4, 214.2) | (198.9, 200.0)
31 | (142.7, 214.2) | (162.2, 200.0)
32 | (105.9, 214.2) | (125.4, 200.0)
33 | (69.1, 214.2) | (88.6, 200.0)
34 | (32.3, 214.2) | (51.8, 200.0)
35 | (-4.5, 214.2) | (15.0, 200.0)
Starting heater checks for extruder

klippy.zip (1.9 MB)

Simply attach your complete klippy.log file showing the error in a post. Either as .log or as .zip

1 Like

Thank you so much for the reply!
I have zipped and attached the klippy.log as directed.
Please let me know if there is anything else I can do to assist! :slightly_smiling_face:

  1. Verify that your endstops are actually working. Follow Configuration checks - Klipper documentation
  2. When you home (G28) does your print-head actually move TOWARDS the endstops? If not you might need to invert the direction of the respective stepper, e.g. change
[stepper_x]
...
dir_pin = PF1

to

[stepper_x]
...
dir_pin = !PF1
1 Like
  1. Verify that your endstops are actually working. Follow Configuration checks - Klipper documentation

Reply: I went through the page and did all the checks again. Everything came back just fine. Even the buzzer seemed to be proper. I believe. it moved back and forth a little itty bit a few times.

  1. When you home (G28) does your print-head actually move TOWARDS the endstops? If not you might need to invert the direction of the respective stepper, e.g. change

Reply: It literally does whatever it feels like. Sometimes right, sometimes left. Sometimes it goes right and plows into the side skipping teeth on the belt and sometimes it hits the right side and bounces back off. It does the same on the left (z endstop) side as often as it does the right. Its a 50/50 split which way it will move even adjusting the dir_pin. It just does whatever it wants.
I can’t explain it.

Note: when adjusting the dir_pin = PF1 to dir_pin = !PF1 it does what I just described. right, left, little movement, lot of movement, bounce, grind. It has a mind of its own.

Could this be a stepper issue or maybe a driver just randomly went bad on me?

e: Would it help if I made a video and posted it on youtube so y’all can see it? Let me know if need be. I will get it done.

Quite strange.

  • What kind of MCU board is this?
  • You mentioned TMC drivers. How are they connected? SPI, UART, standalone?
  • For this printer your speed and accel settings are way too optimistic
[printer]
kinematics = cartesian
max_velocity = 300
max_accel = 10000
max_accel_to_decel = 10000
max_z_velocity = 100
max_z_accel = 1000

to

[printer]
kinematics = cartesian
max_velocity = 300
max_accel = 3000
#max_accel_to_decel = 10000 #not needed
max_z_velocity = 8
max_z_accel = 120
  • Especially for testing purposes and to make sure not to damage the printer reduce homing_speed = 200.0 to 100 or even 50. This gives you time to react and shutdown the printer before it runs into a hard stop
1 Like
 e: adjusted notes.

Quite strange.

• What kind of MCU board is this?
-Reply:
Raspberry Pi 4 Model B - 2 GB RAM
w/ a Trigorilla V0.0.2 8-bit Atmel Meg2560 in the i3 mega s.

• You mentioned TMC drivers. How are they connected? SPI, UART, standalone?
-Reply: I… I am not sure. I don’t believe it is UART. Back when I put them in I just plugged them in and adjusted the vref per driver/motor and have not done anything else with them at all. There is no extra wiring that I had preformed so I am pretty certain that it is not UART.
Heck, I did their install and adjustment long before I configured the printer for klipper and however I set them at that time functioned properly up until 2-3 days ago when I had this issue.
I have been digging to find the old tutorial that I used when setting them up but cant find it as of now. I may have to update when I get off work. (I am at lunch right now)

• For this printer your speed and accel settings are way too optimistic

[printer]

kinematics = cartesian

max_velocity = 300

max_accel = 10000

max_accel_to_decel = 10000

max_z_velocity = 100

max_z_accel = 1000

to

[printer]

kinematics = cartesian

max_velocity = 300

max_accel = 3000

#max_accel_to_decel = 10000 #not needed

max_z_velocity = 8

max_z_accel = 120

-Reply: Adjustments made per your recommendation. Thanks!
Result: No change in movement however I noticed there is a “!! Endstop x still triggered after retract” message reporting as well.

• Especially for testing purposes and to make sure not to damage the printer reduce homing_speed = 200.0 to 100 or even 50. This gives you time to react and shutdown the printer before it runs into a hard stop

-Reply: Adjustments made per your recommendation. Thanks!

-Result: Now when trying to home the movement is super incremental, almost granular and loud. The movements are quite deliberate and sound…. Bumpy. Like: Bump. Bump. Bump. Bump. Bump. Many times to the right or the left

-Followup notes: after some time of testing with your slow homing recommendation: Man, I almost think that the driver is failing. After some repeted homing I did get it to home properly and could fire off a test print that looks good. Given my previous experience I would expect that its proper operation will be intermittent as it had been in the past. I am happy to have it functioning now but the underlying issue is still a mystery.

-Speculation as to issue: I speculate that the x axis driver may be failing Or with the previous faster homing speed may have been too fast and out of sync with the endstop trigger polling and thus would not register the contact? Is this a thing? Sounds like it could be a thing however I don’t know the intricacies of these systems well. :-/

-Arbitrary troubleshooting performed after the aforementioned:
I checked all the carriage for any type of loose components or resistance points however there are none. Everything is proper. No friction points. No hang points.

 e: adjusted notes.

I could not see stuff apparerently amiss in your cfg (but you can post a fresh klippy.log).
I would check all the motor connectors. Maybe you have some loose cables. For me looks like a hardware issue

1 Like

Yeah… I am really at a loss. I had it happen again twice last night but if I keep trying to home it eventually it will travel and trigger properly. Whenever it acts up it still does whatever it wants the way I previously described but eventually out of all the random movements it will register. The weird part is that there are times it hits the trigger and will and sometimes it wont. The next time there is a failure I will grab a fresh log and post it in case you want to have another gander.

I suppose we can call the issue solved at this point. Whatever is wrong is still in there someplace. I think the next steps for me are to just rebuild the harness for the x-axis. Also replace and reconfigure the vref for a new x-axis driver.
Outside of that I… I don’t know. lol

Hey, I want to really thank you from the bottom of my heart for getting me this far. You are the only person to give me troubleshooting steps to try and I feel Incredibly lucky to have had your help with this! Like, seriously, Thank you so much! I know whatever the problem is still seems to exist but you have given me steps and ideas to get me printing again even if it is intermittent.
I don’t know what I would have done without you because I don’t have a good grasp on understanding the configuration file and how it’s written. Being able to have that reviewed and eliminated as an issue is a huge help!
Thank you so very much!

e: Shortly after writing this I had several of the same failures back to back. I am attaching the klippy.log in case you would like to look.
note: I wonder if this issue is a function of the stepper missing steps in a weird way that makes it go in different directions… *shrugs

File attached.
(several failures) 8-25-22 klippy.log (340.7 KB)

Generally your cfg looks good as far as I can tell since I do not have this board.

First thing I’d do is to systematically check the hardware:

  • Use a pliers to pull carefully on each cable individually. Sometimes they are already loose / broken in their connectors
  • Use the debug command or endstop status function in fluidd or mainsail to verfify the endstops working repeatedly

Verify homing systemmatically:

  1. Start with the head roughly in the middle of the bead
  2. Issue G28 X
  3. Head must move towards the endstop, hit it, go back a bit and hit it again
  4. Repeat 1 to 3 with Y

If one direction works reliably but the other does not, switch the motor connectors and check if the error moves with the motor. If it does, check motor wiring again. If not maybe a borked stepper driver.

Will do!

Thanks again for everything! I really appreciate it!

Great news! I replaced the wire harness for that section and the problem is no longer happening. I suppose there was a break in a connector that I couldn’t see. Its all great now.

Thanks again for helping my troubleshoot!