Duet Maestro in MakerGear M3
-
So, I've gotten the Maestro installed, firmware V2.05 installed and utilized the online configurator to get some basic things going. The M3 has a Bltouch installed as it's stock configuration which i have working.
The first couple of issues i'm working on in regards to the Z axis and Bltouch is that I need the Z axis to both set zero via the BLtouch but also need the Z axis to read the endstop switch for when the Z axis goes to it's max position. This is of course mostly just for the initial homing before it uses the Bltouch to find zero.
Second question is for the best method to go about setting the Z offset for the Bltouch.
-
@DC42, can you shed some light?
-
@guycobb2
You don't need the endstop for homing.Standard procedure for homing Z (eg. script in homez.g):
Z-Axis is lifted 5mm to current position
Pin of Bltouch deploys
Z-Axis is lowered till probe touches the build plate
Position will be storedG28 (first 25s)
https://www.youtube.com/watch?v=3bPx5PDBLzc -
@DIY-O-Sphere that is currently what it does. However if the bed is lowered close to maximum position and it goes to raise Z (lower bed) any further it will bottom out. I want that end stop to prevent that. The endstop should only be needed, potentially, during the homing procedure. Hope that makes sense.
-
Limit you z-axis a little bit, then you are on the save side
-
@DIY-O-Sphere I’d rather not if I could instead utilize the endstop already there. Is it not a possibility?
-
@guycobb2
Doesn't make sense to me.Edit:
Reasons:
- You also have to limit the working area.
- Time needed for moving from min position to max position and back.
-
I’m not following what you’re getting at.
The current available Z is 210mm. If I print something that is 205mm and then shut off the printer I only have 5 mm of down travel left. The next time I turn the printer on and go to home all the axis the bed is set to lower 10mm before making any X or Y movements. Obviously I only have 5mm to work with, so I want it to trigger the end stop and know that it can go no further. This will only happen on the rare occasion that I print something that is fairly tall, relatively speaking, prior to an initial how homing taking place.
In stock form this was being carried out via a RAMBo board and a raspberry pi running octoprint. Surely a duet board can make this happen.
-
If you really want to use Z max and the probe, you can check out this guide
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+5:+Upgrades/54#s212
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+5:+Upgrades/54#s229
In the guide the homez macro is used to home to zmax, and homeall uses the probe to home to zmin. It also includes a way of using the probe to find Z0 and then homing to zmax to set the actual height of the z axis.
Please note that the Zmax endstop is only active during a homing move (G1 H1) it's not active all the time.
@guycobb2 said in Duet Maestro in MakerGear M3:
This will only happen on the rare occasion that I print something that is fairly tall, relatively speaking, prior to an initial how homing taking place
The problem is that you'd have to home to Z max every time in homeall or manually use homez before moving the axis back up.
The endstop won't be active during that 10mm raise movement to stop it from going past.
-
Thanks. I’ll look into it. I guess I can live with the extra 15 seconds for Z travel during the initial homing. G28 wouldn’t trigger this sequence would it? Because it’s obviously in the starting gcode and I wouldn’t want this entire procedure to run before every print. Would just want to have XY homed and Z height zeroed then a bed mesh ran.
-
10mm for the BLtouch raise is probably more than necessary. I use 3mm for instance. And I have left just enough travel at the zmax height to allow for this movement even if I have used the full 300mm.
You can also drop the Z axis motor current so that if it's at the max of travel it will simply stall the motor rather than cause damage. Then you can use the probe to home as normal.
-
Thanks again. Will probably do as you said and see about dropping the current during the homing procedure on the Z axis.
The more I think about it I’m betting they actually didn’t use the Z endstop in stock configuration. Originally the M3 did not come with a BLtouch. I’m betting that endstop was never removed from the design. I could be wrong. But I’ll probably just remove it and make my life easier.
-
Well the Zmax endstop has it's uses, mainly for homing the Z axis to resume a print after a powerloss.
-
@guycobb2 said in Duet Maestro in MakerGear M3:
But I’ll probably just remove it and make my life easier.
-
@Phaedrux Dang it. I didn’t think about resuming a print. How well would that work though if zero was set with the bltouch and not the endstop?
-
@guycobb2 said in Duet Maestro in MakerGear M3:
How well would that work though if zero was set with the bltouch and not the endstop?
See the guide I linked for exactly that solution.
-
Gotten a little further in the set up process. The next thing I’m looking to do is set up manual bed level assistance. After that I plan on setting up the bed mesh compensation but was curious, do both of those call on the bed.g file?
-
manual bed level assistance and bed mesh compensation are two different things and you can use them together.
Bed.g is just a macro file that happens to get called by G32. You can put whatever you want into bed.g. It's up to you how you use it.
Manual bed level assistance as laid out in the documentation would make sense to put into bed.g so that you can run it with G32.
Mesh compensation is different. G29 will run a probe routine and map the bed surface and save the results. G29 S1 can then be used later to load that saved result.
So your bed.g file could be setup to home the printer, clear any bed adjustments, probe the points nead the screws for manual leveling assistance, and then load the saved heightmap if you wish, or probe the entire bed. It's entirely up to you.
I would suggest visualizing how you want things to proceed when you start a print and write that out step by step, and then trying to work through how that would look with Gcode. Ask yourself if something needs to be done before each print, or only occasionally. Do you want it to happen automatically, or only by request? What state does the machine need to be in before each step? What state will it be in afterwards?
-
So what’s the m671 stuff in the config.g for?
I’ll just be looking to do the manual adjustment on occasion, of course. It seems to hold its position quite well. However, before each print I plan on a somewhat quick 9 point mesh compensation as that’s what it used in stock form and I had zero complaints. The print area is only 202 x 233
-
M671 is where you define the position of the screws.
https://duet3d.dozuki.com/Wiki/Gcode#Section_M671_Define_positions_of_Z_leadscrews_or_bed_levelling_screws