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

Compatible with EBB36/42 #37

Open
Pingbo opened this issue Feb 19, 2024 · 12 comments
Open

Compatible with EBB36/42 #37

Pingbo opened this issue Feb 19, 2024 · 12 comments

Comments

@Pingbo
Copy link

Pingbo commented Feb 19, 2024

Hey,

Is it possible to configure a seperate Stepper for the Extruder?

I want to use an ebb42 with usb.

Regards!

@kozross
Copy link
Contributor

kozross commented Feb 19, 2024

It should be possible. Just declare a second mcu section, and change the pins for the E motor and stepper to match the ones on the EBB42.

@Pingbo
Copy link
Author

Pingbo commented Feb 19, 2024

Yeah, Just Like in "original" klipper.
Wanted to be sure, as the x_stepper section will also Count for the Extruder, right?

At least both needs the Same microstep value.

@kozross
Copy link
Contributor

kozross commented Feb 19, 2024

This is actually a very good question: @Jookia would know better. I would guess in this case, since you have a dedicated E stepper, it wouldn't matter as much?

@Jookia
Copy link
Collaborator

Jookia commented Feb 19, 2024

That's a great question! The answer to this is 'kind of'- currently the tmctrigorilla driver is needed as long as you're using the board's X or extruder steppers as they are kind of glued together electrically. Using just one of them should be absolutely fine and I'm happy to help troubleshoot this if you can't get it working.

That said, the code doesn't currently handle the case of only one stepper being used and will try to ensure that microsteps are the same. This check could actually be removed for cases like this where you want to use only one of the steppers, I just didn't think about it when writing the code. If you want to run two different microsteps feel free to remove this code in klippy/extras/tmctrigorilla.py:

        if x_microsteps != extruder_microsteps:
            raise config.error(
                "%s and extruder microsteps must be the same for tmctrigorilla"
                 % (x_name))

It is not needed if you are only using the X or E stepper from the board.

@Pingbo
Copy link
Author

Pingbo commented Feb 19, 2024

Probably something like this would allow us to use another extruder stepper:

    extruder_microsteps = extruder_config.get('microsteps')
    extruder_step_pin = extruder_config.get('step_pin')
    if x_microsteps != extruder_microsteps and extruder_step_pin == 'PC14':

This could work for the kobra but i'm not that deep in klipper, so there might be a more generic or smarter solution 😅

@kozross
Copy link
Contributor

kozross commented Feb 19, 2024

Whichever approach we take, it's probably worth documenting this once we have something working.

@Jookia
Copy link
Collaborator

Jookia commented Feb 20, 2024 via email

@Jookia
Copy link
Collaborator

Jookia commented Feb 20, 2024

I thought more about this and I think that's the best approach. If you want to use the extruder but no X you can use the tmc2208 driver, if you want to use the stepper X but no extruder you can use tmctrigorilla as long as you're not using the on-board extruder.

I think I need to write some documentation explaining how to use the tmctrigorilla driver in some more detail for cases like this.

@Pingbo
Copy link
Author

Pingbo commented Feb 20, 2024

Honestly because this is such a board-specific hack I'm fine with that change.
Did you want to test it and make a PR?

On Mon, Feb 19, 2024 at 12:23:14PM -0800, Pingbo wrote:

Probably something like this would allow us to use another extruder stepper:

    extruder_microsteps = extruder_config.get('microsteps')
    extruder_step_pin = extruder_config.get('step_pin')
    if x_microsteps != extruder_microsteps and extruder_step_pin == 'PC14':

This could work for the kobra but i'm not that deep in klipper, so there might be a more generic or smarter solution 😅

--
Reply to this email directly or view it on GitHub:
#37 (comment)
You are receiving this because you were mentioned.

Message ID: @.***>

I can and will try in the next days and open a PR for this, but this solution will only work on the Standard Kobra, right?

It will probably break the error for any other, like Kobra plus?
Im not aware If the pinout on all Kobras are the same, thats why i asking

@Jookia
Copy link
Collaborator

Jookia commented Feb 20, 2024 via email

@Jookia
Copy link
Collaborator

Jookia commented Feb 20, 2024

I had more of a think about this and I think you're right, it would be better to add a new option in [tmctrigorilla], something along the lines of 'linked_axis' which is set to the other axis (extruder by default), or nothing. While I feel like just checking the pin would work, I really don't want to mess that up and have to implement this option anyway.

@Jookia
Copy link
Collaborator

Jookia commented Oct 23, 2024

Any update on this? I'm curious if this is still wanted.

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

No branches or pull requests

3 participants