-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
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
Dual Nozzles, Dual Steppers, Servo actuated T1 #5921
Comments
Hi! Intersting, I have almost the same problem. My extruder does not move up and down but the extruder is tilted by 18° via a servo so there is only one of them in contact to the printed material. I am still not totally happy with my configuration so I am interested in your solution. Can I find your extruder on thingiverse? For now my printer works with manual turning the servo and using both extruders. I wanted to have a look at the configuration next weekend and always assumed it would be no problem to do a configuration to support this setting. But you are right it does not seem to be as easy as I thoguht. To answer your question:
the #if ENABLED... statement to e.g.
define SWITCHING_EXTRUDER in config.h. This should bring back both extruder steppers. Unfortunately I will not be at home till Friday so I cannot test it. If it works I would try to do a PR, it is always nicer to be close to the original. But of course this is a lot more work... PS: Edit - In my first version I suggested to comment the lines out but this woul not work. |
Great, thanks for the tip! I'll test & experiment and let you know... Unfortunately I do not have this print head on thingiverse. I can offer you a brief description though if that helps? Along the power and control cable channel housing to the print head, also have a bike brake cable in bike cable housing, so a servo (mounted on the housing) can pull the cable and lower/raise the secondary extruder as required. (The secondary extruder is spring-mounted). Feel free to pm me with any questions. Cheers. |
Reposting from the other topic… This would be in every way just like the standard To get the The same goes for extruders with servos. As that is becoming more common, we should add a standard option to include a servo move on tool-change, and, again, automatically set it for those models that we know have one. |
Thanks Scott, understand more now, greatly appreciate the pointers. Agreed, going forward having the ability to set a servo (and thus also a Z Offset) for each extruder sounds great, and extensible. As my printer is currently of this configuration, but looking to extend to 4 extruders in the next few months, I will see what I can do here as my understanding of the code improves. (Marlin appears "not small", is taking me a little time to grok). I note (on many occasions) and appreciate the way you invite people to contribute. -- Additionally, as I see it at present,
The only difference being: So, as I am currently viewing it, there are two cases of
If my understanding above is correct, does that mean I should be able to, for now, given time constraints, simply use Does that seem like a reasonable immediate solution? |
Thanks very much for the help gents. With you pointers, I got it up and running today pretty fast. @christianh17 I'll provide what I did for refererence, it isn't pretty or ideal, but it works for now. (no manual servo turning, z_offset etc) Summary: Configuration.h:
At the bottom of ConditionalsLCD.h (strange place for this code? why not conditionalspost.h?)
Note: I realise the above is not efficient, but it provided an effective quick and fast way for me to "just add code to the end" for testing, rather than interspersing my testing code within Marlin code - I would save that work for a PR) indirection.h (changed just the one line you suggested, thanks!)
Thats it! Works like a charm. Obv. I wouldn't do it this way for a PR, I'm not a great coder, but it works for now. For anyone else looking at this: You can tune the X/Y/Z offsets on the fly with: M218. E.g for E1: "M218 T1 X50 Z-2 |
One caveat: (noting that, when in use, E1 is of course lower than E0) When switching from E0 to E1, the sequence currently is:
Likewise the opposite (E1/T1 to E0/T0) is:
This would seem to be a non-ideal ordering? That is to say, because the X/Y move is done last, this increases the chances of a print head collision into the material. It would seem to make more sense to: raise the Z axis (lower the build plate), then move into the correct XY position, and then, as a final step, move the Z axis back into position? |
Today I had time to do the changes MrJulz suggested: It works in my setting, too! Perfect! Only problem: I have some problems getting the height correct. I tested so much but in the meantime I think the printer has its own ideas, sometimes it works and sometimes not. The z-probe is highly reliable, I tested it with M48. I am still trying to investigate the problem. |
The printing height of either/both nozzles is giving your problems, or just the printing height of the second nozzle E1? |
Hi! I just spent severl hours with this issue and I think I know the problem now. As it has not much to do with SWITCHING_EXTRUDER_WITH_MULTIPLE_STEPPERS I will open a new issue (just now). BTW: I am still interested in knowing more about your extruder but unfortunately there is no pm at github. |
That is great news, gratitude to you. |
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
(have searched thoroughly but can not yet find how to do this)
This printer is custom, One printhead/carriage, Dual Extruders/Hotends, Dual Bowden Stepper Motors (one for each filament). E1 (second) extruder is servo-actuated, to raise/lower it above/below the height of E0, so a Z-Offset will also be required.
I am seeking guidance on how to implement Dual Hotends/Dual Drivers/E1 Servo Actuated in Marlin - is this configuration already supported?
I note this configuration is almost, but not quite, the same as SWITCHING_EXTRUDER - in that a servo must be actuated to switch the hotend in both, but SWITCHING_EXTRUDER assumes a single direct-drive stepper motor - not two independent Bowden stepper motors. So it appears SWITCHING_EXTRUDER is very close to what I need, but not quite?
I also see that
#definine EXTRUDERS 2
allows only for X & Y offsets only. AFAICT I need to enable SWITCHING_EXTRUDER to enableHOTEND_OFFSET_Z
, but then I lose my second extruder stepper by doing so? Seems a catch 22?Question: How to implement a dual extruder/dual bowden with servo-actuation?
The following is a best guess at my options. Any pointers/confirmation of direction appreciated...
a) It is already supported in Marlin, to implement it, I need to...
OR
b) Use SWITCHING_EXTRUDER, as it already supports servo control & Z-Offset, and I will need to change to make it support dual stepper bowden drivers
OR
c) just
#define EXTRUDERS 2
, and alter in Marlin_main.cpp to add servo activation and Z-offset support.OR
d) Something else entirely.
Appreciate any pointers/guidance.
The text was updated successfully, but these errors were encountered: