Ender 3 RRF v1.1 setting up BLtouch
-
@re_tour Which toolhead do you have, stock or custom?
-
@gixxerfast Stock, and my bltouch is to the left from the nozzle. Here is the link to it.
so, what do these numbers represent in G31 and how do I set them to be correct?
G31 P500 X117.5 Y117.5 Z3.55 ; set Z probe trigger value, offset and trigger height
-
@re_tour
Try this and see:G31 P500 X-44 Y-18 Z3.55
It should be the same you had in Marlin when it worked before the RRF was installed
-
@gixxerfast But I didn't have marlin It was full stock before.
-
@re_tour said in Ender 3 RRF v1.1 setting up BLtouch:
But I didn't have marlin It was full stock before.
Yes, but fully stock is with Marlin firmware. But maybe you didn't have the BLTouch then?
-
@gixxerfast Nope, just after I upgraded the board.
-
@gixxerfast What I'm having trouble understanding is the following:
var xoffset = *probe distance from nozzle on x axis* var yoffset = *probe distance from nozzle on y axis* var xpos = {*value at G31 X* - var.xoffset} var ypos = {*value at G31 Y* - var.yoffset}
How do I know what the correct "value at G31" for X and Y are?
-
@re_tour
Now, when all this is done. You just have to configure your slicer to output reprap firmware gcodeIn the easiest case you can home and mesh manually and then just load the gcode and print.
Later, you can add that either directly to custom start/end/layer change gcode in the slicer, but you don't need it to start printing.
I usually warm the bed a bit before I do a mesh just to make sure it has time deform and go into bowl shape mode before the print.
-
@re_tour
Well, that is not correct (maybe I have some faults in mine as well)var xpos = {middle of the bed which you can access - var.xoffset}
var ypos = {middle of the bed which you can access - var.yoffset}This gives you a position where the probe is in the middle of the bed.
I f you just move to the middle of the bed it's the nozzle that's in the middle not the probe...
There is where you want to probe with G30
BTW. Your xoffset and yoffset need to be negative here for it to work or you alter the add the values instead above.
-
@gixxerfast Well 117.5 on the X axis is the middle for me, on Y it isnt but then I just have to correct it like
G31 P500 X117.5 Y90 Z3.55
and then in mesh.g I presume it'll look like this:
var xoffset = -44 var yoffset = -18 var xpos = {117.5 - var.xoffset} var ypos = {90 - var.yoffset}
Right?
-
@re_tour said in Ender 3 RRF v1.1 setting up BLtouch:
G31 P500 X117.5 Y90 Z3.55
No, wait a minute here. Everything in G31 is relative to the nozzle, nothing else. You only tell where the probe is relative the nozzle. Nada mas.
Also, the middle of the bed for you should be 235/2 right? That you only use in the mesh-g file not in the G31 command.
-
@gixxerfast Oh alright, so its gonna be this in the config.g:
G31 P500 X-44 Y-18 Z3.55
this in the mesh.g:
var xoffset = -44 var yoffset = -18 var xpos = {117.5 - var.xoffset} var ypos = {117.5 - var.yoffset}
But for some strange reason my nozzle homes to X130 Y160
-
@re_tour That looks better.
Well, that's where you go in your homez.g
G1 X130 Y160 F6000
You can change it to the same as in the mesh.g
-
@gixxerfast Oh my god I'm starting to get really exhausted
-
@re_tour Yeah, take a break. Start again tomorrow
It will work now as it is. Maybe not perfectly but good enough to print PLA and stuff.
With PC, ABS and ASA it need to be pretty spot on but with PLA it should work fine.
You should not print those others anyway with your PTFE lined hotend.
-
@gixxerfast You're right, I'll leave it be for today. I can't thank you enough for all the help, I would be nowhere without your assistance.
-
@re_tour No problems, happy to help out when I can
-
@gixxerfast I'm bosting everythin here so that it won't get lost somehow and I can better check it tomorrow Maybe someone can find it helpful as well
homez.g:; homez.g ; called to home the Z axis ; do nothing if XY is not homed yet if !move.axes[0].homed || !move.axes[1].homed echo "XY are not homed yet. Aborting" abort ;end if G91 G1 H2 Z5 F6000 G90 G1 X117.5 Y117.5 F6000 G30 K0 Z-99999 ; Probe the Z pin at the back G1 Z10 F9000
homex.g:
; homex.g ; called to home the X axis ; G91 if !move.axes[1].homed ; raise Z a bit G1 H2 Z5 G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-240 F3000 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F6000 ; go back a few mm G1 H1 X-240 F240 ; move slowly to X axis endstop once more (second pass) G90 ; absolute positioning
homey.g:
; homey.g ; called to home the Y axis ; G91 if !move.axes[0].homed ; raise Z a bit G1 H2 Z5 G1 H1 Y-240 F3000 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y5 F6000 ; go back a few mm G1 H1 Y-240 F240 ; move slowly to Y axis endstop once more (second pass) G90 ; absolute positioning
homeall.g:
; homeall.g ; called to home all axes ; M98 P"/sys/homex.g" M98 P"/sys/homey.g" M98 P"/sys/homez.g"
config.g:
; Configuration file for SKR-RFF-E3-v1.1 (firmware version 3) ; executed by the firmware on start-up ; ; 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ő) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Ender3" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes backwards using TMC2209 driver timings M569 P1 S0 ; physical drive 1 goes backwards using TMC2209 driver timings M569 P2 S1 ; physical drive 2 goes forwards using TMC2209 driver timings M569 P3 S1 ; physical drive 3 goes forwards using TMC2209 driver timings M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 E93.00 ; set steps per mm M566 X1200.00 Y1200.00 Z60.00 E360.00 ; set maximum instantaneous speed changes (mm/min) M203 X9000.00 Y9000.00 Z1800.00 E6000.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z100.00 E5000.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E1000 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X235 Y235 Z260 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin ystop ; 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 X-45 Y-7 Z3.55 ; set Z probe trigger value, offset and trigger height M557 X30:190 Y30:190 P5 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bed" T0 ; create bed heater output on bed and map it to sensor 0 M307 H0 B0 R0.365 C296.6 D3.97 S1.00 V24.0 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"e0temp" Y"thermistor" T100000 B4092 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 B0 R2.845 C121.4:119.4 D5.71 S1.00 V24.0 ; disable bang-bang mode for heater and set PWM limit M143 H1 S245 ; set temperature limit for heater 1 to 245C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 C"Part Cooling Fan" S0 H-1 ; set fan 0 name and value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 C"Hotend Fan" S0.01 H1 T45 ; set fan 1 name and value. Thermostatic control is turned on ; Tools M563 P0 D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined M918 P1 E4 E1000000
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
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 = -45 var yoffset = -7 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
-
@gixxerfast Hey there! So today I've tried the mesh and it works! This is what I see after running it:
So now all is left is to slice the things I want in Cura and upload the gcode which I get? -
So I started the print, and the filament started to go in the opposite direction. I haven't the slightest clue why.