M567 mixing ratio limit/check
-
@deckingman said in M567 mixing ratio limit/check:
Hmm. OK but isn't that two separate hot ends, each with their own extruders? So not really mixing?
It isn't mixing, but it uses M567 to drive 2 extruders according to the value of a single E parameter in the G1 commands.
-
So some sort of safety limit checking could be implemented for mixing hot ends but not applied to IDEX kinematics?
As I said, personally, I don't care - just trying to help someone else out. -
@deckingman @dc42 I think Ian's proposal has merit. For the Idex case (or any form of "ditto" printing) the user would have to use a switch on the M567 command could override the check.
-
Personally, I think this is very low priority compared to other items in the wish list. But if one of you would like to specify what the limitation should be, what should happen if it is exceeded, and how users should be able to override it for IDEX and similar machines, then I will consider implementing it.
-
It's not really for me to say but personally, I'd put it in the category as the recent implementation of not being able to move axes unless they have been homed. Presumably that was done for safety reasons and this is also for safety reasons. So by default, don't allow mixing ratios that don't add up to unity but have a command that people can use in their config g or elsewhere that will override that behaviour.
At the very least, I would suggest that the documentation be updated with a big warning in bold letters stating the dangers of setting non unity mixing ratios. That might be a reasonable defence in the event of any action bought about by some sharp American lawyer acting for a client who's hot end exploded. -
@deckingman I added a warning to M567.
I will have a look on implementing a check (and override parameter) for a maximum sum of 1.
As the Gcode documentation states that it does not have to add up to 1 I would leave it at that but implement a default upper limit. -
Created a Pull Request at GitHub that implements a check whether the sum exceeds 1. including a new parameter
M567 Pnnn S0
to disable this check on a per-tool-basis. -
@wilriker thanks
@deckingman do you think a warning by default if its <1 is a good idea? (the warning would alos be disabled if the all ratios that do not add up to 1 switch is set.
-
Ratios that add up to less than 1 will lead to under extrusion. So possibly ruined prints but otherwise safe. I leave it for the community to decide if a warning would be appropriate.
As I've said before, I personally don't really care because I know the risks and implications of getting it wrong.
I'm only trying to help others - especially you Duet guys who are the ones who would ultimately take the flak in a worse case scenario. -
@wilriker Fancy doing another spread sheet? What I have in mind in something that people can input the number of extruders. Then for each extruder, they input the mixing amount as a number. Initially, extruder 1 will accept values up to 100. Then extruder 2 would only accept values of 100 minus the extruder 1 value. And so on for the other extruders. Any unused extruders would default to zero. The output would be a cell containing the string (M567 I think - not sure as I'm just using my phone) followed by the extruder values separated by colons. The user could then copy and paste this string into config.g or the DWC console. It might help mitigate "fat finger syndrome".
-
@deckingman said in M567 mixing ratio limit/check:
It's not really for me to say but personally, I'd put it in the category as the recent implementation of not being able to move axes unless they have been homed. Presumably that was done for safety reasons and this is also for safety reasons. So by default, don't allow mixing ratios that don't add up to unity but have a command that people can use in their config g or elsewhere that will override that behaviour.
I don't see it as a safety feature. It's no different from setting the extruder steps/mm to high, or using M221 to turn the extrusion factor up to 300%. Whereas not allowing motion before homing is a safety feature for CNC machines in particular, where incorrect motion can do a lot of damage.
I can see some point in having an option to normalise the mixing ratio so that it totals 1 when a mixing extruder is being used.
At the very least, I would suggest that the documentation be updated with a big warning in bold letters stating the dangers of setting non unity mixing ratios. That might be a reasonable defence in the event of any action bought about by some sharp American lawyer acting for a client who's hot end exploded.
I think it's much more likely that the extruder will grind through the filament. But I'll add a warning to the documentation. [Edit: somebody else already did.]
-
@dc42 It's a lot different because on a normal hot end, there is only one extruder pushing the filament in, whereas on a mixing hot end, there could be 5, so 5 times the pressure. Ref your last paragraph, it has already happened. A hot nozzle was reportedly blown out when a reported pressure of 3000 psi suddenly let go. Fortunately no one was injured.
I really don't understand why I've ended up having this argument. I was just trying to help you guys out as ever. It's bad enough getting flak and verbal abuse from other users when I support you guys.
So as of now, it ends here. -
Ian, I have so many requests for new features that I have to be selective about which ones I implement. Even when somebody else implements it and submits a pull request, I have to consider the feature carefully in case it has unforeseen consequences. It's very easy to say "such and such shouldn't be allowed", but all too easily users hit a new limitation; then some of them won't notice the error message and will complain on the forum that the printer didn't do what they expected. Or they won't understand the error message and ask for support.
Did the incident of a nozzle being blown out happen on an ordinary FDM printer such as the types we build, or on an industrial type machine?
-
@deckingman said in M567 mixing ratio limit/check:
@wilriker Fancy doing another spread sheet? What I have in mind in something that people can input the number of extruders. Then for each extruder, they input the mixing amount as a number. Initially, extruder 1 will accept values up to 100. Then extruder 2 would only accept values of 100 minus the extruder 1 value. And so on for the other extruders. Any unused extruders would default to zero. The output would be a cell containing the string (M567 I think - not sure as I'm just using my phone) followed by the extruder values separated by colons. The user could then copy and paste this string into config.g or the DWC console. It might help mitigate "fat finger syndrome".
Nearly done. I will need to add the (optional but enabled by default) enforcing of a total of 100% tomorrow. Did it as a website again due to its ability to "auto-upgrade".
-
@dc42 said in M567 mixing ratio limit/check:
Even when somebody else implements it and submits a pull request [...]
I just want to say that I will occasionally be this somebody - just as I was in case of this thread - but please never hesitate to reject my pull requests of you don't feel like adding it to the source. I won't take it personal. I am happy to offer my coding abilities but in the end you decide what gets added to RRF.
On the other hand, if you need someone to outsource some implementation tasks I also offer my help hereby.
-
Given that mixing hotends running Duet electronics are about to become more widespread via M3D and the Crane printer and Quad Fusion head, perhaps this warrants further discussion with them? I think the feature has merit and would likely be better implemented before the hardware becomes widespread so that it doesn't become a jarring change at a later date. Just my 2 cents.
-
@phaedrux said in M567 mixing ratio limit/check:
Given that mixing hotends running Duet electronics are about to become more widespread via M3D and the Crane printer and Quad Fusion head, perhaps this warrants further discussion with them? I think the feature has merit and would likely be better implemented before the hardware becomes widespread so that it doesn't become a jarring change at a later date. Just my 2 cents.
Good idea!
-
I don't want to mention the name of the printer or extruder here on these forums as I consider it to be at the prototype stage and don't want want the makers to suffer bad press. Let's just say that the name of the printer that experienced the issue has been mentioned but I won't say what it is and you didn't hear it from me. I think you'll find that any discussion you have about this issue with makers of mixing hot ends will be met with approval.
-
@dc42 said in M567 mixing ratio limit/check:
Did the incident of a nozzle being blown out happen on an ordinary FDM printer such as the types we build, or on an industrial type machine?
Definitely consumer FDM.
-
OK, you've persuaded me that some sort of protection is worth having. What I'm not convinced about is that the right sort of protection is a global limit, because it raises the following issues:
-
What should the firmware do if the limit is exceeded? Refuse the command with/without stopping the print (which would be certain to lead to support posts)? Scale all the values down so that the total is equal to the limit? Something else?
-
This doesn't address the safety issue on IDEX machines, if it is necessary to disable the limit on those machines.
-
Does it make more sense to normalise the mixing ratio to a specified total? So that a mix of 1:1:1 with the default total of 1 would mean the same as 0.333:0.333:0.333.
My current thinking is that the firmware should always normalise the mixing sum to a specified total. That total should be tool-specific and therefore configured in the M563 command, with a default value of 1. Perhaps those of you who are lucky enough to have mixing extruders could give this some thought and reply with your comments.
-