Dual Z motor - different questions
-
Thank you, that was kind of the answer I was expecting.
I have a Duex5 coming in today's mail .... Christmas will come early
-
I am using 2 z motors for my corexy. Maybe I can help a little. Lets start with the last question about the auto correction. It is possible to change the default value so it can auto correct a large variation. For my setup I use the G32 auto correct to to make sure the motors haven't gone out of sync when the printer is powered off. A corexy has to raise and lower the bed instead of the gantry and with no power it is possible to bump the bed out of sync. The first thing I did is start off getting the bed as level as I could by hand. With the machine off and motors unpluged I tried my best by eye to get the bed as level as I could front to back less worried about left to right. After I was happy with it I ran the G32 command to have the printer self adjust left to right. Then I used the G29 mesh correction to probe the bed to see how far out the corners were. Adjusted and tested again. Once I was happy with the results I added G32 to my start code in the slicer. The idea is to double check the z motors are in sync before each print. Every few prints I will run the G29 to make sure the bed is still level and to save a new mesh map. I think you can get away with not having raise the gantry to check level. It is probably best to just use the bed to check for level. I hope this helps at least a little. If you think a setup like this would work for you, I can share my files and we can modify them to work with your printer.
-
@jens55 Your fears are more than justified. Tried exactly the same thing with my CR-10 when I got my Duet - no chance: caused by the central Y-rail guidance, the bed likes to tilt over Z. And it likes to tilt a lot, you can’t rely on it as a reference at all. I installed a mechanical Z probe and, since then, use the assisted manual bed levelling feature of the Duet. In fact, I have to run it several times before each and every print. Currently, I look to re-construct the whole mess: two linear rails will help a lot. Next I will try to fix the springs, they are way too weak.
-
Thanks for all the suggestions. I have installed the new Duex5 board and moved the two Z motors to it, leaving the original Z connections empty. It blew my mind when I powered it up and had no errors and Z worked (how is something like that even possible).
Anyway, I ran across something that I had not contemplated at all. I ass-u-me-d that in operation the printer would move close to one Z axis, measure the height, move close to the other Z axis and again measure the height and then adjust the two Z motors to give an equal height.
For some reason I thought a G32 would do this but instead it does a full bed scan. This is not a workable solution for me. When I do a full bed scan I do it with 441 points and multi-probing for each point and a full bed scan takes somewhere between 2 and 3 hours. Needless to say, it is only done occasionally. Using G32 involves doing a bed scan (in my case at a much lower resolution) and destroys the detailed surface map I have created.
I must be able to use a command that ONLY measures the difference between the two Z heights and equalizes it. It must be independent of setting Z zero or of doing a bed scan. How can I achieve this result ?
To put it another way, what I need to do after turning on the printer is to tram the gantry, then set z=0 then load the surface map at which point I am then ready to proceed with printing. -
@infiniteloop , fortunately I am using a CR-10 S5 and it has two rails to guide the bed but I have run into issues with the bed adjusting nuts coming loose (I have now installed nylock nuts to hopefully fix the issue). I still don't trust it as a reference, the structure is entirely too flimsy.
With the nylock nuts, I think the bed is likeyl to be more stable then the gantry because literally the slightest pressure (especially downwards) on the gantry, with the motors turned off, and the whole thing moves down (and not necessarily evenly). I have to be careful that I only touch the gantry with the motors locking it (for things like changing filament etc) -
G32 will run the macro bed.g which contains whatever commands you want. Sounds like it has 29 in it right now? You'll have to modify it to do what you want.
-
Ok, I think I have it. I will run some more tests - Thank You!
-
This is an example of my bed.g setup to probe near each z-lead.
M561 ; clear any bed transform
M98 Pdeployprobe.g ; deploy mechanical Z probe
G28 ; home
M98 Pdeployprobe.g ; deploy mechanical Z probe
G30 P0 X30 Y150 Z-99999 ; probe near a leadscrew, half way along Y axis
M98 Pdeployprobe.g ; deploy mechanical Z probe
G30 P1 X270 Y150 Z-99999 S2 ; probe near a leadscrew and calibrate 2 motors
M98 Pdeployprobe.g ; deploy mechanical Z probe
G28 Z ; re-home Z
M98 Pretractprobe.g ; retract mechanical Z probe -
@antlestxp Thank You! That is what I have as well now (minus the probe deploy code).
It seems to be working except for an oddity in the reporting of the result. On some probing runs it reports the pre and post adjustments and on other runs it does not. I was writing it off as 'if it hasn't got anything to report it will not report anything' but I have since noticed similar intermittent behaviour on other things, for example when doing an auto heater calibration. About 50% of the time it reports properly and the other 50% it prints out only some of the progress reports and only some of the final outcome.
This seems to be a completely different issue though.
As an example, I did a heater auto calibrate, it reported the heater turning on but did not say anything about the heater turning off, nothing about maximum temperature reached and nothing about the auto tune completing (this is in the G console). -
@jens55 You lucky one. With two rails, you could try to fix the height of the bed’s rear side, giving you a chance to use that as a good-enough reference for Z tramming. You will however still have to level the front side by hand.