Marlin
Marlin copied to clipboard
Runout sensor swapping
Invert Sensors of a dual extruder machine
Why: To avoid to unload filament of a long 1meter bowden machine , and to load it ! Now , just push the filament on the other extruder , select ' Sensor inversion' , and start print. The filament runout sensor is functionnal !
- Add M412 I 0/1 to enable disable
- Add report
AMAZING !!!!!!!!!!!!!!!!!!!!!!!!!!
Ths
Is there a cause why the check is NUM_RUNOUT_SENSORS == 2 and not NUM_RUNOUT_SENSORS > 1? I could not test it anyway.
@studiodyne — Please clarify why "inverting" a sensor's behavior is needed, rather than simply disabling the sensor when it should be ignored. What kind of machine are you describing? Does it have a Y splitter in the Bowden tube? Where are the filament sensors located?
While "inverting" the sensor may "work" it is neither logical nor intuitive for the common user. It would be better to expand M412 to be able to enable/disable individual sensors rather than "invert" them when they are meant to be ignored.
After taking a moment to convert your concept into a proper feature, I get the idea why swapping (not "inverting") the sensor identities (or sensor indexes) in this manner works for that kind of situation. However, on the downside it obfuscates the true values of the sensors for things like LCD_ENDSTOP_TEST, and upon a filament runout it seems like it would report the wrong extruder index ran out. And what occurs if you pull the filament out of the inactive extruder during printing?
We should aim to implement this feature so that it maintains the true state of the assigned sensor pins, while also reporting the correct extruder index in the event of a filament runout.
So you mean #23899
Hello, thank you for keeping your attention on this PR. This option is easier to understand if you imagine a large printer, where the filament tubes approach one meter. Let's imagine a nozzle on the left of 0.8 and the one on the right of 0.4. You want to print with 0.4 but the red filament is already installed on the left. You must unload one meter on the left, unload one meter on the right, and reload one meter on the right with red. This option will delight users of huge machines. Concerning the code, and knowing this community, I preferred to send a primitive code, especially to make this PR a starting point, rather than a definitive code. And above all, this option, which is very easy with two extruders, becomes embarrassing with three, four, or more. Because 'swapping' becomes a complex matrix to put on the LCD...
The main thing was to retain attention, then you can adapt it according to your vision or your preferences. I love this feature, I use it very often, and I'm willing to bet that all owners of dual extruder machines will love it too, it's practical!
Thanks
My machine is a TRONXY 500mm. I threw everything in the trash except the chassis and installed a RUMBA32. I created a 'switching nozzle dual servo', completely buildable at home. A DIY project, which I will soon put online, for the moment I am testing it for endurance. It's the same system as the lulzbolt double servo, except that my system, anyone can do it at home, with a quality of repeatability equivalent to an industrial project! But for a much smaller price. Soon online !