Ender 3 RRF v1.1 setting up BLtouch
-
@gixxerfast
I took out this line from config.g:M574 Z1 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstop
So to calibrate offset I need to extend the probe with the M280 P0 S10 and watch when the probe touches the bed and then write the value of Z into config?
Sorry, this offset thing is a bit unclear to me. -
@re_tour No, you home z and then you try to lower it to zero. If it's not at zero. you lower it some more manually until "the paper thing". Then you see what actual offset yo have by looking at the z coordinate in, for example, DWC. Then adjust your z offset value in G31 using this value.
Be careful here, it's the other way around the way many thinks of this. A large offset will try to move the nozzle closer to the bed and a small will keep it away.
Anyhow, I'm not very good at this so there is probably a write up about this in the duet documentation.
-
@gixxerfast Gotcha.
Okay so now I set the offset in config.g to this:
G31 P500 X117.5 Y117.5 Z5 ; set Z probe trigger value, offset and trigger height
Then I started lowering the nozzle to do the paper scraper test thingy. Right now I think that the height of the nozzle is optimal. On the dashboard the value of Z at this time is 1.45
So now I have to add that or subtract that from the offset which I wrote in config.g?
-
@re_tour Try adding it (I always mess upp here). Just be close to the breaker
-
@re_tour Then again my offset is Z4.370 and I think my probe is as close to the bed as it could really be
-
@gixxerfast Stupid question I know, but how will I know that my offset is correct?
-
@re_tour Same way, just lower slowly to zero and see if your paper feels right.
Then when printing you will probably see that you're to close and you will want to lift it a bit. But all do it differently I think. I just go for a lot of paper friction, it's easier to adjust every corner.
Also, on the Ender. Don't put too much work into this cause you will do the bed screws anyway with the paper method I guess. Then when it's fairly flat (ish) you'll do a bed mesh.
-
@gixxerfast Wait, so if I set up the offset correctly, how do I get from here to be able to do the bed mesh?
-
@re_tour
You have something like this in your config.g:;mesh_min: 30, 15 ;mesh_max: 190, 220 ;probe_count: 5 M557 X30:190 Y15:220 P5 ; define mesh grid
Then you have a file called mesh.g in your /sys directory with something like this in it:
G29 S2 ; move to the center of the mesh with the PROBE (mind affset in Y is 25 above noozle) G90 var xoffset = 37.1 var yoffset = 9.25 var xpos = {110 - var.xoffset} var ypos = {117.5 - var.yoffset} G1 X{var.xpos} Y{var.ypos} Z15 F6000 echo "Setting Probe Offset now" G30 K0 G1 Z15 F3000 G29 S0
The offsets of course depends on where you have your probe mounted.
-
@re_tour Home all, then mesh.
G28
G29or
G28
G32 ; call bed.gIn bedg.g I have:
; bed.g ; called to perform automatic bed compensation via G32 M561 ; clear any bed transform if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 M290 R0 S0 ; clear baby stepping G29 S1 ; load heightmap.csv if result > 1 ; if no heightmap.csv, make one G29 S0
-
@gixxerfast
Okay, looks like subtraction is the way to go when calibrating offset
Offset is now correct and set to Z3.55.the part you mentioned in config.g looks like this for me:
; Z-Probe M950 S0 C"servo0" ; create servo pin 0 for BLTouch M558 P9 C"^probe" H5 F300:120 A3 T6000 ; set Z probe type to bltouch and the dive height + speeds,the F300:120 first speed 300 second 120 G31 P500 X117.5 Y117.5 Z3.55 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid
But, I don't have a mesh.g in my sys. Do I have to make that for myself or it will autamatically be generated once I run the process?
-
@stephen6309 I have this in bed.g:
; bed.g ; called to perform automatic bed compensation via G32 ; ; generated by RepRapFirmware Configuration Tool v3.3.1-LPC-STM32+2 on Tue Dec 28 2021 01:07:55 GMT+0100 (közép-európai téli idő) M561 ; clear any bed transform G29 ; probe the bed and enable compensation
-
@re_tour Great!! I always get that the other way around.
If you're happy with your mesh grid go for it
You will have to make the file yourself.
-
@re_tour G32 and bed.g is for gantry/bed leveling. G29 and mesh.g is for the bed mesh.
In earlier vesrions of RRF I think mesh-g didn't exist so therefore a lot of people still uses bed.g with the G32.
Anyhow, the Ender can't level gantry or bed automatically since it only has one z-motor
-
@gixxerfast Oh right, so I can only use the bed mesh anyways.
Okay so I modified the config.g a little bit:
M557 X30:190 Y30:190 P5 ; define mesh grid
and copied your mesh.g, in which I presume I'll have to measure the distances with a ruler or something?
-
@re_tour That will work fine. I have the if statements make sure it's homed and load the height map. Also, I clear the baby stepping, since I update a macro I call to set the Z offset.
-
@re_tour Yes, if you don't already know them. Usually mounts have a them in the description/documentation. It's not very precise so ruler works.
As said above, it's probably wise to add this to the top of your mesh.g
if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 M290 R0 S0 ; clear baby stepping
But then you should be ready to go
-
@gixxerfast Thank you. Lastly, how do I measure these:
var xoffset = 37.1 var yoffset = 9.25 var xpos = {110 - var.xoffset} var ypos = {117.5 - var.yoffset}
I mean in relation to what from what?
Also, what kind of bltouch holder do you have? Maybe we have the same which would mean the numbers are mostly correct
-
@re_tour I have the Voron Afterburner, so probably not. But I have my probe to the right and behind the nozzle seen standing in fron of the printer.
Should be the same numbers you have in your G31 command
<-------- 37.1 -------> x ^ | 9.25 | o ---
-
@gixxerfast Okay, so measured up I now have the following mesh.g:
if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed G28 M290 R0 S0 ; clear baby stepping G29 S2 ; move to the center of the mesh with the PROBE (mind affset in Y is 25 above noozle) G90 var xoffset = 44 var yoffset = 18 var xpos = {117.5 - var.xoffset} var ypos = {117.5 - var.yoffset} G1 X{var.xpos} Y{var.ypos} Z15 F6000 echo "Setting Probe Offset now" G30 K0 G1 Z15 F3000 G29 S0
In which the xpos and ypos is the same as this line in the config.g file:
G31 P500 X117.5 Y117.5 Z3.55 ; set Z probe trigger value, offset and trigger height
What is the next step from here?