M567 mixing ratio limit/check
-
@deckingman There is no sensible use in normal operation, but I do make use of this to test 5 laser filament monitors at once (create a tool with all 5 micing rations at one, and drag filment thorugh 5 sensors with one extruder).
So a switch to override a default restriction that they should add up to 1 makes sense.
-
@t3p3tony said in M567 mixing ratio limit/check:
@deckingman There is no sensible use in normal operation, but I do make use of this to test 5 laser filament monitors at once (create a tool with all 5 micing rations at one, and drag filment thorugh 5 sensors with one extruder).
So a switch to override a default restriction that they should add up to 1 makes sense.
Tony. Not sure what you mean. Currently there is no default restriction - you can set mixing ratios that would give 400% over extrusion or more but it would be a big mistake to try and print at that. What I'm suggesting is that there should be a restriction by default.
Without giving anything away, I know of a case where someone set 4 extruders to run at 100% feeding into a common nozzle, and I'm reliably informed that the resultant pressure in the hot end was in the region of 3,000 psi and it blew apart. Hard to believe but plausible IMO. If true, it's downright dangerous and only common sense stands in the way of anyone making such a mistake.
-
@deckingman sorry I was not clear - I meant that a default restriction should be added to limit tha total to 100%, but that if that was done then I would like a way to override it.
-
@t3p3tony said in M567 mixing ratio limit/check:
@deckingman sorry I was not clear - I meant that a default restriction should be added to limit tha total to 100%, but that if that was done then I would like a way to override it.
Ahh OK. That's cool - I always like to be able to disable things myself. As long as we are agreed that the default behaviour should be safe, so that mixing ratios can't just accidentally be set to potentially dangerous levels.
-
IDEX machines need a mix ratio of 1:1 when doing ditto printing or mirror printing. So there is a need for the total to be greater than 1.
-
@dc42 said in M567 mixing ratio limit/check:
IDEX machines need a mix ratio of 1:1 when doing ditto printing or mirror printing. So there is a need for the total to be greater than 1.
Hmm. OK but isn't that two separate hot ends, each with their own extruders? So not really mixing?
Anyway, I didn't expect to start an argument - I was just pointing out a potentially dangerous scenario. Personally, I'll continue to use common sense and hope that other users do likewise and don't accidentally enter values that make their hot ends blow apart (as has already happened apparently).
-
@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".