Nothing but trouble with Nozzle as Probe and Mesh Bed Comp
-
Hi Folks,
after reading for hours and trying several dozen configurations, i am at my wits end and am starting a thread here.
I upgraded my Anet A8 to a Duet 3 Mini 5+ Ethernet. Some other components like the extruder and heatbed have been upgraded from Stock too. So I am approaching from the perspective of mass produced consumer grade printers and am struggling a lot with getting RRF to work. The problem is the following:
I can't get Mesh Bed Compensation to work. I am using the Nozzle as a Probe (in Marlin i used Mesh Bed Leveling successfully). My bed is quite badly warped due to a mix of build quality and user stupidity. But it's all i have atm. Since my Endstops can not be surpassed by the axis before simply breaking off (like when accidently clicking on -25mm in the Mesh Comp Wizard). I leveled it to be slightly below the heatbed, so my probing points are around ~0.5 and 1.5mm from Z=0.
When starting the Mesh Compensation Wizard, the Nozzle is only raised by 0.7, thus crashing in to the bed. I found no way to start at a higher point.
I used RRF Configurator for building the config. I know that my physical setup without a probe is "unusual" in this community. I even HAVE a BLTouch ready, BUT i dont have a gantry yet where i can install it. That needs to be printed first. And I cant get a print running.
I've lowered the probe offset to 0 (M558 P0 H0 F1500 T6000), played around with G31 in config-override.g and all in all trying to understand the logic that is applied in the whole process.
elements in config.g:
; Axis Limits M208 X-7 Y-6 Z0 S1 ; set axis minima M208 X220 Y220 Z220 S0 ; set axis maxima ; Z-Probe M558 P0 H0 F1500 T6000 ; disable Z probe but set dive height, probe speed and travel speed M557 X20:200 Y20:200 S89 ; define mesh grid
config-override.g only contains the M307 PID Values. I enabled the Z-raise in homeall.g and homez.g. G29 S1 was added to config-override.g to load the mesh at start. The mesh was deleted between different tries.
The strange thing is, in between different configurations i had it working at some point, but I didn't write the solution down (doh!). Then, with a new upload of the config.zip from RFF Configurator, the solution got lost and now i have spent the whole day trying to fix this without any success. Please elaborate on the propably simple solution (i remember it being just one line, propably G31, but i couldnt replicate it yet) and help a duet noob out
Thanks in Advance
edit: e-steps are set correctly
edit2: this is the output after Positioning the Nozzle slightly above the bed center and sending G92 Z0, then starting Mesh Bed Compensation:Warning: the height map has a substantial Z offset. Suggest use Z-probe to establish Z=0 datum, then re-probe the mesh. 9 points probed, min error -1.200, max error -0.100, mean -0.911, deviation 0.311 Height map saved to file 0:/sys/heightmap.csv
you can also see how badly warped this bed is... pringl'd
-
Well the H parameter in the M558 determines the Z starting position when probing.
From the docs:
The H parameter defines the Z probe dive height, which is the height above the trigger height from which probing starts. The default is 3mm or 5mm depending on firmware version. You may wish to increase it during initial calibration.
But notice the reference to the trigger height which is a parameter of G31 but does G31 even apply with probe type 0?
I suppose it wouldn't hurt to add G31 P0 X0 Y0 Z0.
Frederick
-
@klotz420 as @fcwilt has said the start point is to get your Z probe offset set correctly.
have you followed the steps here:
https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe#Section_Calibrate_the_Z_probe_trigger_height -
I wanted to give a little update: putting "G31 X0 Y0 Z-0.3" in bed.g (after G29) did the trick. It does not really seem like an elegant solution but as long as it works I'm content. I tried to Prelevel as good as possible, so that my deviations are around -0.4 and 0.4 max. this does not seem to affect my endstop. but its not exactly an elegant solution either. I'd prefer to have the Z-Switch below the bed so the axis doesn't have go below Z=0 during movements.
I'm still trying to understand the relationship between
-M208 / Axis Limits
-M558 / "Dive Height"
-G31 / Set Probe StatusA negative value would have different effects in any of those cases, no? If there is a solution that doesn't bully my endstop i'd be very grateful.
Another question: Is there a G-Code for the starting height during the Mesh Bed compensation Wizard? It changes with the M558 Value, but i would like to set it independently. And can the numbers be edited/customized? I once clicked on Z=-25mm by mistake and that wasn't good for either the motors nor the gantry/endstop.
-
@klotz420 said in Nothing but trouble with Nozzle as Probe and Mesh Bed Comp:
I wanted to give a little update: putting "G31 X0 Y0 Z-0.3" in bed.g (after G29) did the trick. It does not really seem like an elegant solution but as long as it works I'm content.
Where did the value of -0.3 come from? I was under the impression that you were using probe type 0 and having to jog the nozzle until it just touched the bed.
That should equal a trigger height of 0, not -0.3.
I'd prefer to have the Z-Switch below the bed so the axis doesn't have go below Z=0 during movements.
What do you mean? Where is your Z-Switch (I assume you mean endstop) mounted?
I'm still trying to understand the relationship between
-M208 / Axis Limits
-M558 / "Dive Height"
-G31 / Set Probe StatusM208 is not directly related to either M558 or G31 but it can limit the Z travel of the probe. M558 and G31 are related in that they both are part of configuring the Z probe.
A negative value would have different effects in any of those cases, no? If there is a solution that doesn't bully my endstop i'd be very grateful.
I don't know what you mean. What negative value? What does "bully my endstop" mean?
Another question: Is there a G-Code for the starting height during the Mesh Bed compensation Wizard? It changes with the M558 Value, but i would like to set it independently. And can the numbers be edited/customized? I once clicked on Z=-25mm by mistake and that wasn't good for either the motors nor the gantry/endstop.
Are you talking about the process of probing the bed to create the height map? There is no specific code but you can use a normal G1 Znnn to move to any desired Z position. Of course with an actual Z probe the distance it will travel during a probing move is twice the dive height (the H parameter is M558). If you start too far away from the bed the probing will fail and generate an error.
Frederick
-
@fcwilt said in Nothing but trouble with Nozzle as Probe and Mesh Bed Comp:
Where did the value of -0.3 come from? I was under the impression that you were using probe type 0 and having to jog the nozzle until it just touched the bed.
That should equal a trigger height of 0, not -0.3.
I may've been just stupid tbph. After the first successfull test print i realized my e steps were not set correctly for Z. This happened as i used RRF Configurator about 30-40 times untill all values were good. Somewhere in the way my calibrated values got lost (at least for Z)
It was a reaction to the nozzle starting at literally 0 or even slightly below. I'm lucky to have a hardpaper printbed because otherwise that nozzle would've been dead many times already. It started so low that the extruder couldn't push out filament at all and started skipping/grinding. Setting the -0.3 made it so a print could even be started at all.
What do you mean? Where is your Z-Switch (I assume you mean endstop) mounted?
What does "bully my endstop" mean?The adjustment screw is on the gantry and the endstop switch is mounted to the frame. This way, its not practical to ever go below the endstop trigger point, because then the motors press the screw down on the switch, breaking it off from the frame in the process. Thats why it is adjusted so the nozzle is lower than the bed and why i hence want to compensate via positive values in the mesh bed comp (i.e. using Z Values of ~+1mm. I used Mesh Bed Leveling in Marlin before to achieve this, it's a kind of dirty technique, but it worked. Remember my bed is sadly warped beyond saving (and will be replaced when the money allows it)
M208 is not directly related to either M558 or G31 but it can limit the Z travel of the probe. M558 and G31 are related in that they both are part of configuring the Z probe.
My question would be, what consequence a negative value has. Like with X and Y i tell it where the nozzle is.
Does that mean setting a negative Z value with M208 would result in printing in thin air? And a positive value that the nozzle is lowered below Z=0? Or is that only possible when using M564 S0 H0?Are you talking about the process of probing the bed to create the height map? There is no specific code but you can use a normal G1 Znnn to move to any desired Z position. Of course with an actual Z probe the distance it will travel during a probing move is twice the dive height (the H parameter is M558). If you start too far away from the bed the probing will fail and generate an error.
I was talking about the DWC Mesh Bed Compensation Wizard.
The thing i dont get about it is this: The default in RRF Configurator is 5mm. This starts probing at a Z-height of 5.7mm (these were my first attempts). When i set it to 0, which i thought is logical since i level without a probe anyway, the Z height is at 0.7 when starting the mesh bed comp. wizard. I just would like to be able to define at which height the wizard puts the Z-Axis when starting the process. I couldn't logically grasp it. In Marlin, you just set a value (like 2mm), then you lower the nozzle manually to get the mesh points. With the process being optimized for working with a proper probe, the Z=0 "problem" is confusing to me. I had about 15 prints that "fused" with the hard paper bed, because the nozzle was too low (assuming it took the endstop Z=0 value and not the first probed point (that would be around 0.5-1.5mm height from that position.
I hope my rookie way of writing down my problems is decypherable ^^ I am glad for the help already. Am now starting a print with correct e steps and G31 X0 Y0 Z0 in bed.g
- edited out some words -
edit2: Another thing i noticed, after confirming the last probe point in the wizard, the nozzle lowers to Z=0, i.e. digging in to the bed.
This means the only way to go i see here is establishing Z=0 at the center of the bed manually, then do Mesh Bed Comp. without homing again in between. Not a great way to do things imo.
- edited out some words -
-
Well that is a lot to take in.
First let me get on my "soap box":
I don't use the configuration tools and I don't favor their use because, based on my experiences, it shields folks from learning what they really need to know to efficiently configure and maintain the printer.
You mentioned using the configurator 30-40 times which suggests it may have been more of a trial-and-error effort rather than a learning experience.
OK I've put my soap box back away.
M208 simply states what the limits are of each axis. When moves are limited to the min/max values you cannot move beyond them with "normal" moves. But that limit can be disabled and there are moves, G1 H1 for example, that ignore the limits.
The min/max values play one other role when it comes to G1 H1 moves and endstops. Assuming your endstop is configured correctly when a G1 H1 move finally reaches and triggers the endstop, the movement ends and the current axis position is set to the axis min/max value depending on where the endstop is configured to be located (low end or high end).
Of course there is nothing that insures that the value you put in M208 actually matches the trigger position of the endstop.
So if your M208 Zmin was 0 but your Z endstop actually triggered at Z=1 then the G1 H1 move will result in Z=0 being 1mm away from the bed.
That much make sense?
Frederick
-
@fcwilt
https://www.youtube.com/watch?v=ufOgTllmr1E...being the lazy bastard that I am, I kept using the RRF Configurator instead of changing the .g files directly. Not anymore so.
When uploading the RFF-Configurer-generated config.zip, values that I had changed in DWC were overwritten with previous, incorrect ones without me noticing. I had marked that part (e-steps) as solved in my brain. All I saw were inconsistencies in behaviour, inexplainable to me. Sorry I've wasted your time. I will come back though when installing the BLTouch
I get what you're saying, I'd still say Learning Experience and Trial and Error can go Side by Side. I sure learned a lot (!). But like me, not everyone starting using the Duet is going to fully understand the whole G-Code necessary right from the beginning. For me that was a steep learning curve, took me a few days now. The documentation is great but has some gaps and hurdles for non-advanced or expert users. I switched to the Duet initially because 2 "chinese" boards died on me in the last 12 months (one at least printed maybe a few thousand hours in total).
topic can be marked as solved (or deleted)
-
@klotz420 said in Nothing but trouble with Nozzle as Probe and Mesh Bed Comp:
@fcwilt
https://www.youtube.com/watch?v=ufOgTllmr1E...being the lazy bastard that I am, I kept using the RRF Configurator instead of changing the .g files directly. Not anymore so.
When uploading the RFF-Configurer-generated config.zip, values that I had changed in DWC were overwritten with previous, incorrect ones without me noticing. I had marked that part (e-steps) as solved in my brain. All I saw were inconsistencies in behaviour, inexplainable to me. Sorry I've wasted your time. I will come back though when installing the BLTouch
I get what you're saying, I'd still say Learning Experience and Trial and Error can go Side by Side. I sure learned a lot (!). But like me, not everyone starting using the Duet is going to fully understand the whole G-Code necessary right from the beginning. For me that was a steep learning curve, took me a few days now. The documentation is great but has some gaps and hurdles for non-advanced or expert users. I switched to the Duet initially because 2 "chinese" boards died on me in the last 12 months (one at least printed maybe a few thousand hours in total).
topic can be marked as solved (or deleted)
So you got it all working?
Frederick
-
@klotz420 said in Nothing but trouble with Nozzle as Probe and Mesh Bed Comp:
I kept using the RRF Configurator instead of changing the .g files directly. Not anymore so.
You got it correct. The configurator is good for a baseline configuration on a new machine/board, but you need to tweak it later manually.
One way to manage the gcode changes is to use a version system such as github and backing up the /sys and /macros directories periodically. This way you can track changes and go back in time when needed and the rfm utility makes it much easier https://github.com/wilriker/rfm/releases