Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ender3S1 Stepper_Y limit #6360

Closed
wants to merge 1 commit into from
Closed

Conversation

ThomasNyk
Copy link

@ThomasNyk ThomasNyk commented Oct 3, 2023

Fixed the Ender3 S1 crashing on the high end of the Y Axis

This necessitated an update to the bed mesh limits as well

I also changed from a 4x4 bed mesh to 5x5 as that is what i believe the original Ender 3 S1 uses, but I am not sure

Signed-off-by: Thomas Nykjær [email protected]

@JamesH1978
Copy link
Collaborator

Thanks for submitting the PR, @Fisheiyy you originally submitted this, can you make comment? Otherwise i can see no reason not to make the change, i have seen a few people now on the discord having to adjust these values for a crash in Y.

thanks
James

@Fisheiyy
Copy link
Contributor

Fisheiyy commented Oct 3, 2023

Looks fine, I thought it was already set to a 5x5 mesh but I guess not.

Copy link
Collaborator

@JamesH1978 JamesH1978 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine to me

Thanks
James

@Luro02
Copy link

Luro02 commented Oct 8, 2023

The official marlin firmware uses the same values for position_min: https://github.com/CrealityOfficial/Ender-3S1/blob/b77d06db5a57a8b7743c7ccc76bdf714e244cf6a/Marlin/Configuration.h#L1370

How has the maximum position been chosen? The marlin config sets it to MAX_X = 230 and MAX_Y = 220

@JamesH1978
Copy link
Collaborator

All example configurations are community submitted by users, the klipper project itself does not have access to every known printer to do full and complete testing, we have to rely on the person submitting to commit a sane config that others can build from. This is why they are considered examples.

Thanks
James

@Luro02
Copy link

Luro02 commented Oct 9, 2023

The values look a bit arbitrary, so I measured the true physical limits of my printer. I measured them, by increasing the limits in the config, homing, then moving with G0 to the max/min positions.

This is the result:

Firmware Stock Firmware E3V2S1 FW Klipper Master Klipper PR Physical limits
Max Position (x, y, z) (230, 220, 270) (230, 220, 270) (235, 238, 270) (235, 223, 270) (252, 240, 278)
Min Position (x, y, z) (-10, -8, 0) (-10, -8, 0) (-15, -13, -4) (-15, -10, -4) (-10, -8, 0)

For the stock firmware there are comments for y_min = -10 and z_max = 250.

The min positions seem to be wrong. I was unable to move the printer farther than the endstops.
I do not understand why MIN_Z is set to -4.

The configuration reference does not mention why Z should go below zero:

#position_min: 0
#   Minimum valid distance (in mm) the user may command the stepper to
#   move to.  The default is 0mm.

The extruder fan is almost level with the nozzle, so even when moving outside of the bed (to prevent the nozzle from crashing into the bed), the fan would hit the bed at Z=-1.

At X = 230 Y = 230 the nozzle seems to be in the corner of the bed, but for Y ~2.8mm are used by the alignment screws of the bed, so the realistic maximum for printing would be X = 230 Y = 227.


I think the suggested values by this PR for MAX_X and MAX_Y are good default values. How about adding comments that mention the true physical limits?

[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: !PA5
position_endstop: -10
+ # Physical Limit: ~252
position_max: 235
- position_min: -15
+ position_min: -10
homing_speed: 50

[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: !PA6
position_endstop: -8
+ # Physical Limit: ~240
position_max: 223
- position_min: -13
+ position_min: -8
homing_speed: 50

[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
endstop_pin: probe:z_virtual_endstop
+ # Physical Limit: ~278
position_max: 270
- position_min: -4
+ position_min: 0

Should I create a separate PR for this (and for fixing the min positions)?

@Sineos
Copy link
Collaborator

Sineos commented Oct 9, 2023

I do not understand why MIN_Z is set to -4.
The configuration reference does not mention why Z should go below zero:

See https://www.klipper3d.org/Bed_Level.html?h=negative#choose-the-appropriate-calibration-mechanism

@JamesH1978
Copy link
Collaborator

This is not marlin, never was. The min position is set to allow the endstop position which is at a minus value, therefore needs to be allowed, so that 0,0 is set correctly. As default 0 in klipper the nozzle is not at perfect front left position.

This PR is to change a setting in an existing config, if you would like to propose your own changes, then please open a new PR.

Thanks
James

@KevinOConnor
Copy link
Collaborator

Thanks. I'm fine with making this change of course. However, it seems we just changed the bed mesh range in #6219 - can @Auxx confirm this change here also looks good?

-Kevin

@Auxx
Copy link
Contributor

Auxx commented Oct 9, 2023

I have never had any issues after my changes, so I'm not sure if these limits are needed. Will they change any positioning maths/calculations?

@ThomasNyk
Copy link
Author

I have never had any issues after my changes, so I'm not sure if these limits are needed. Will they change any positioning maths/calculations?

I don't know about the calculations, all i know is that my printer along with at least two other people from the klipper discord had the same issue as me. When calibrating the bed mesh, the y axis would ram the end of the rail.

I don't know why it seems some have this issue and some don't. Is it possible there's a new hardware version of the printer?

@Auxx
Copy link
Contributor

Auxx commented Oct 16, 2023

I don't know about the calculations, all i know is that my printer along with at least two other people from the klipper discord had the same issue as me. When calibrating the bed mesh, the y axis would ram the end of the rail.

Can you double check that you have my changes in your config and still have axis crashing issue? Mesh settings should be:

mesh_min: 10, 10
mesh_max: 200, 194

Instead of

mesh_min: 20, 20
mesh_max: 200, 197

@MrSpoocy
Copy link

MrSpoocy commented Oct 21, 2023

I can agree with @ThomasNyk, I update my Ender3S1 (F4) and also crash on the y axis.

My stetting is:

[bed_mesh]
speed: 120
mesh_min: 10, 10
mesh_max: 200, 194
probe_count: 4,4
algorithm: bicubic

For stepper_y I also checked the limits, I can confirm that position_max: 123 is ok (my was able to use 124) and position_min: -10 failed. On my its was -9.

Copy link

github-actions bot commented Nov 5, 2023

Thank you for your contribution to Klipper. Unfortunately, a reviewer has not assigned themselves to this GitHub Pull Request. All Pull Requests are reviewed before merging, and a reviewer will need to volunteer. Further information is available at: https://www.klipper3d.org/CONTRIBUTING.html

There are some steps that you can take now:

  1. Perform a self-review of your Pull Request by following the steps at: https://www.klipper3d.org/CONTRIBUTING.html#what-to-expect-in-a-review
    If you have completed a self-review, be sure to state the results of that self-review explicitly in the Pull Request comments. A reviewer is more likely to participate if the bulk of a review has already been completed.
  2. Consider opening a topic on the Klipper Discourse server to discuss this work. The Discourse server is a good place to discuss development ideas and to engage users interested in testing. Reviewers are more likely to prioritize Pull Requests with an active community of users.
  3. Consider helping out reviewers by reviewing other Klipper Pull Requests. Taking the time to perform a careful and detailed review of others work is appreciated. Regular contributors are more likely to prioritize the contributions of other regular contributors.

Unfortunately, if a reviewer does not assign themselves to this GitHub Pull Request then it will be automatically closed. If this happens, then it is a good idea to move further discussion to the Klipper Discourse server. Reviewers can reach out on that forum to let you know if they are interested and when they are available.

Best regards,
~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

Copy link

Unfortunately a reviewer has not assigned themselves to this GitHub Pull Request and it is therefore being closed. It is a good idea to move further discussion to the Klipper Discourse server. Reviewers can reach out on that forum to let you know if they are interested and when they are available.

Best regards,
~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

@github-actions github-actions bot closed this Nov 19, 2023
@zackbcom
Copy link

zackbcom commented Jan 20, 2024

Used these to stop my bed from crashing when doing a mesh. Thanks.
s1 pro - F4 version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants