z-offset increasing 3mm on every subsequent calibration
-
Interesting!
Ok, so we have 2 separate issues: first is the offset of the bltouch with the hotend (which for some odd reason is increasing every time I re-run it, until cut the power, but I do run this one in the center of the bed, every time on the same location). I think it may be related to the bug (the thread I linked to) that was in earlier firmwares and possibly due to an incorrect selection in the reprap web configurator (where it was set to firmware 1.6 rather than the 2.03). I cannot test this now with the new setting, as my printer is printing.
Second issue is the error in the mesh grid. If you compare your mesh grid to mine (in the zip file), mine shows :
min error -3.076 max error -0.011 mean -1.625 deviation 0.790
Good point on the level, but if the bed would move unequally left/right with a difference of 3mm, the level should show some variation (3mm difference on 30cm is for sure visible) and printing would be for sure impossible. It would make more sense if it would be 0.3mm, but that is not what it outputs. So this mesh probing is doing something wrong as these readings don't match at all with reality. This is the output from another run today (so values may differ from the ones in the zip file):
Third aspect is the z-motors not being synced. I agree it is an issue which I will have to solve (probably will move one to E1 to allow for autoleveling, as that is the easiest), but does this alone explain the issues above?
-
Trying another print, and again the same issue: the z-offset is wrong (print head is too high). This time the configurator was set to the correct firmware. Unplugging the printer does not fix it, neither does running the calibration again (modifying config.g but putting the same old value) and rebooting.
-
There's something very wrong with that levelling map!
If you are running 2.03 and you created a config file for 1.6, it would have commands which are incorrect and probably wouldn't work at all.
Specifying the wrong version of firmware in the configurator can't change the firmware on your machine and bring back a bug which has been fixed in your firmware, it would only make a file which won't be understood properly.
Thinking back to my fun installing the BLTouch on my Anycubic, it was absolutely essential that the distance between the base of the BLTouch and the bottom of the nozzle was exactly 8mm. As per this diagram:
I remember that I found an alignment tool on Thingiverse which made getting this right quite easy. Instead of using the springs that they provide, I used M2 washers to get the distances right and then lock them in once they were correct. Until I got that right, I had no end of troubles.
-
Sorry about the multiple edits to my previous post. The fingers can't quite keep up with the brain!
Verify that you have the distances set as in the diagram. Then set your trigger height by following the procedure in the Duet Wiki
-
I have the BLTouch smart, which is less critical to the z-offset installation (according to the diagram here https://www.antclabs.com/bltouch-2 , between 2.3 and 4.3, so I'm nicely within range with my 3.84).
(see below)I will start rewiring everything, maybe there is some bad cable somewhere as now I cannot seem to get the correct z-trigger height. I know from my successful prints that it should be 3.84, and I have not changed anything to the hardware, but it keeps the head higher when it thinks Z=0. Previously, when I changed from 3.84 to a higher value, it cause a headcrash, which I want to avoid.
So I'll rewire everything and make order in the cabling: best is to first rule out some bad wire or something that may cause issues. Don't get me wrong, I will change the Z-motors as a next step, but as you see, there is something very wrong with the mesh map and the z-trigger height. So, starting to rewire everything, but I will only be able to get back to this in 2 weeks. Thanks for the help, for sure I will keep you posted.EDIT: I may have a BLTouch Smart v2.0, which has the range at 3mm+/- 0.3, but I'm out of range (my 3.84 is when it is deployed, but when it is not I for sure have less than 2.7mm). That my indeed explain the inconsistent readouts! Ok, so going to rewire and reattach the bltouch: If I put it at 3mm, I should be fine regardless of whether I have a v2 or a v3 (but I'm 99% sure I have a v2). THANKS!!!! Not sure if this is the cause, but it seems possible.
-
@vj said in z-offset increasing 3mm on every subsequent calibration:
EDIT: I may have a BLTouch Smart v2.0, which has the range at 3mm+/- 0.3, but I'm out of range (my 3.84 is when it is deployed, but when it is not I for sure have less than 2.7mm). That my indeed explain the inconsistent readouts! Ok, so going to rewire and reattach the bltouch: If I put it at 3mm, I should be fine regardless of whether I have a v2 or a v3 (but I'm 99% sure I have a v2). THANKS!!!! Not sure if this is the cause, but it seems possible.
Your words are very familiar to me. This is exactly the pain I went through with the BLTouch. There's a set of slightly different instructions and no simple way to tell exactly which version you have in your hand. Incredibly frustrating!
Once you get it set up properly, it's very repeatable and reliable though. Not as repeatable or accurate as my Precision Piezo, but that wouldn't have been a good option for a cartesian printer.
I just checked my other printer and the Z trigger height (or offset) for my BLTouch is 1.3mm. 3.84 doesn't sound right to me. Like I said, make sure that the base of the sensor (not the pin) is 8mm from the bottom of the nozzle.
Good luck and we'll hear from you in a couple of weeks!
-
Ok, finally getting back to this...
I've got it ... I think... If you do a mesh compensation, and afterwards determine the Z-offset with the mesh compensation in effect, it will affect the determination of the Z-offset... As I was doing the homing in the front left corner, but the Z-offset calibration in the center, it added the mesh offset calibration which I did before the print (but which was not used in the print) when the z-offset is calculated again afterwards. As I was using the mesh calculation to check how level everything is, it enabled it, giving me an increase equal to the amount it is compensating with the mesh (and that was a magnitude off due to other wrong settings)... Does this make sense?
I currently started repeating Z-offset calibration without mesh compensation in between, and it seems correct...
-
-
Thanks!
Perhaps a note on https://duet3d.dozuki.com/Wiki/Test_and_calibrate_the_Z_probe should be added that mesh calibration should be off, or that at least you should test at a point where the calibration has 0 effect...? -
@VJ Done.
-
-
Hi,
Perhaps the firmware could handle this automatically by ignoring any active mesh calibration when setting Z=0 using a Z probe?
Frederick
-
I'm not sure that that is so straightforward... Also, it is nice that the firmware just does what the command tells it to do, without performing additional steps behind the user's back. Sure you have to know more what you do, but at least it allows you to do what you want.
-
@VJ said in z-offset increasing 3mm on every subsequent calibration:
I'm not sure that that is so straightforward... Also, it is nice that the firmware just does what the command tells it to do, without performing additional steps behind the user's back. Sure you have to know more what you do, but at least it allows you to do what you want.
But when would you ever want to set Z=0 with mesh compensation active since it doesn't accomplish anything useful?
As it is you need to remember/know to use G92 S2 before G30 for it to work right.
And as we see that need can cause problems.
Frederick
-
Or you can just include a M561 in your homez.g and homeall.g files before your G30 ever gets called. This wipes out anything a G29 may have set.
Personally, I like the fact the machine doesn't make assumptions in the firmware. Assuming to ignore the G29 could be bad for certain applications but good for others. Making the user use the available Gcode commands to wipe or remember settings is a positive and makes RepRapFirmware very flexible for multiple platforms outside 3D printers.
-
Can you provide an example of when executing a G30 when mesh compensation is active makes sense?
As pointed out the result is not meaningful.
Frederick
-
A laser engraver would be one example where you might use G29 to measure your bed surface, and then perform a G30 to re-zero your Z axis against an object your going to engrave to set the proper z height for the correct focus length. You want the laser to move in a consistent plane, but will want a different Z position for laser focus against an object.
The same can be said for a 3D engraver or a small milling machines.