"IDEX active tilt correction" with multiple Z motors
-
Hello everyone, this is my first post to the forum. Had a love/hate relationship with Marlin for nearly 6 years and now I'll be starting a new IDEX printer build, and I want to use Duet WiFi and a Duex2 because of all the great work you have done with both the hardware and the firmware.
I was looking at the firmware documentation, realized I need to have perfectly level nozzles and bed for printing multiple copies with IDEX (aka Tandem printing). That is actually not required if you have multiple independent Z motors though.
It is already possible to do automatic tilt correction with independent z motors at the beginning of a print, well this feature is pretty much the same thing, only actively correcting the tilt during the print.
I guess we could call it "IDEX active tilt correction". Calculation is pretty straightforward. You only need to have a single bed height map (a single probe on the first carriage) and know the z-offset of the nozzles. With these information, given the seperation distance of the nozzles (usually half the length of x-axis) you can construct a tilt correction map, which actively compensates the tilt according to current X position.
Bed leveling and nozzle offsets should be within plus minus 1mm range to avoid excessive tilt correction, which would put strain on the z motors and joints, but that should already be the case even with a roughly level bed and roughly aligned nozzles.
I hope I managed to explain the idea, let me know if you want me to prepare some drawings to make it more clear. I wish I had the programming skill to convert the idea into a PR but I need your support on this one. I believe this is an important improvement for tandem printing, which will make it easy and reliable. Reprap Firmware already has the required components for tilt correction using multiple z motors, so should also be easy to implement here.
(Also, I like the fact that Duet + Duex2 has 7 motor drivers and IDEX with 2 independent z motors will need exactly 7)
-
That's an interesting idea. Let's see what other IDEX users think about it.
-
@compatibilizer Found this interesting approach, although you'd have to dig a little bit: https://openbuilds.com/builds/zidex.5259/
-
@titanone said in "IDEX active tilt correction" with multiple Z motors:
@compatibilizer Found this interesting approach, although you'd have to dig a little bit: https://openbuilds.com/builds/zidex.5259/
In that particular case, He uses the axis of each head to set the Z's for each head to be even. Then locks them together as one Z axis so they both move together.
I run an IDEX printer and I have printed in ditto mode many times successfully. For normal IDEX type printing I just use G10 to set the offsets of my hotend tips in XYand Z. Tool changing back and forth between hotends works great this way. I can run a volcano one one head and a regular nozzle on the other with no issues at all.
I only dial them in to the same height when I use ditto printing. I do not use a bed map at all as I built a flat and level bed with respect to my axis movements. Depending on how twisted you bed is then ditto printing with bed mesh turned on could result in one nozzle digging into your bed.
I understand the concept of what you are saying but for me it wouldn't be a necessary feature.
-
What I found out in my past years of printing is that, yes it is possible to perfectly tune a printer, but you will definitely need to recalibrate it every now and then, especially if you have a large build plate.
In case of a production printer though, it is nearly impossible to ship a perfectly calibrated machine, or convince your customers they will need to go through a painfully precise calibration process every 20 or so prints.
All in all, I believe in all the useful compensation features, and that they are the only way to put a 3d printer in every house.
-
@compatibilizer I have a converted e3d bigbox idex machine and i think the way to do this is to have a z probe on each nozzle (i have not done this yet). That way the Z offset can be determined accurately enough to make this method work.
-
@t3p3tony Both carriages run on the same gantry in the discussed setup so the "accuracy" of the Probe 0-Nozzle 1 offset should be the same as Probe 1-Nozzle 1 offset. Both will eventually be obtained using babystep and a magnifier(which gives me pretty accurate results btw), am I missing something?
-
@compatibilizer you were talking about automating it as people did not want to have to calibrate their machine. The only way to easily automate it is having the nozzle act as the probe... and have both nozzles able to probe (or have the touch off a fixed touch off sensor in the corner).
-
@t3p3tony Ok agreed on that one, let me share my thoughts on nozzle probing without drifting away from topic.
For me having the nozzle as the probe did not work so well, I had to scrape the build plate before every print, because of tiny drops of plastic left there by the nozzle during probing. Even after a hard retract, there is some amount of molten plastic left stagnant on the inner wall of the nozzle (boundary layer). That thin coat of plastic melts and runs down to the tip while heating for the next print job. So I gave up nozzle probing altogether.
Returning back to topic of active tilt correction, I think the important measurement is of the position of leadscrews with respect to bed coordinates. This data is also the input for M671. If you have that right, and already have both nozzles printing the first layer properly, you should be golden.