Ender 3 RRF v1.1 setting up BLtouch
-
@gixxerfast
I have this in my config.g:; Z-Probe M950 S0 C"servo0" ; create servo pin 0 for BLTouch M558 P9 C"^probe" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X117.5 Y117.5 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; define mesh grid
deployprobe.g looks like this:
; deployprobe.g ; called to deploy a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v3.3.1-LPC-STM32+2 on Tue Dec 28 2021 01:07:55 GMT+0100 M280 P0 S10 ; deploy BLTouch
and retractprobe.g like this:
; retractprobe.g ; called to retract a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v3.3.1-LPC-STM32+2 on Tue Dec 28 2021 01:07:55 GMT+0100 M280 P0 S90 ; retract BLTouch
-
@re_tour So if you do a manual G30 it deploys and probes?
Or if you just try this: M280 P0 S10 manually
?
-
@gixxerfast well it ejected the probe and now its flashing red.
-
@re_tour When you did what?
-
@gixxerfast sent M280 P0 S10 in the console to the printer
-
@re_tour OK, should not flash. Did it have room (in z) to fully deploy without hitting the bed?
-
@gixxerfast Not really
-
@gixxerfast okay so I raised the head and tried again, now the probe is extended and the red led is not on at all.
Sent out the M280 P0 S90 command, now the pin went back to its place and the red LED glows constantly. -
@re_tour Good, then that works.
EDIT: Not needed as you did it above ^
Retract the probe withM280 P0 S90
Then when the probe is above the bed, do a
G30
-
@gixxerfast After doing a G30 the probe extended, the head started going down on the Z axis very slowly until the probe pin reached the bed, when that happened it retracted the probe and the whole rig went up a bit faster.
-
@re_tour Great. Then all works as it should and what you now want is to configure your homez.g and your homeall.g
Look here for examples of that:
https://teamgloomy.github.io/skr_rrf_e3_bltouch.htmlJust make sure to modify the x and y coordinates so that you probe wherever you want. (middle of the bed)
I am now assuming you have working homex.g and homey.g in your /sys directory
-
@gixxerfast Yeah, about that, I already did that.
Here's my homez.g:; ################# Home Z Preparation ################ G91 ; Relative mode G1 H2 Z5 F6000 ; Lower the bed G90 ; Back to absolute positioning G1 X117.5 Y117.5 F10000 ; Move to the center of the bed. Adjust to the co-ordinates required for the centre of your bed ; ################# Home Z Preparation ################ M558 F250 ; Set the probing speed G30 ; Probe a single point M558 F30 ; Set a slower probing speed G30 ; Probe a single point
and my homeall.g:
; homeall.g ; called to home all axes ; ; 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ő) G91 ; relative positioning G1 H2 Z5 F6000 ; lift Z relative to current position G1 H1 X-240 Y-240 F1800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F6000 ; go back a few mm G1 H1 X-240 Y-240 F360 ; move slowly to X and Y axis endstops once more (second pass) G1 H1 Z-265 F360 ; move Z down stopping at the endstop G90 ; Back to absolute positioning G1 X117.5 Y117.5 F10000 ; Move to the center of the bed. Adjust to the co-ordinates required for the centre of your bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
Problem is I don't know what I did wrong. It could be the order or something.
-
@re_tour
Your homeall.g is missing stuff but this is how I do it and it's not perfect and my Ender so modified now I don't really know what it is any longer but it should work fairly OK:homeall.g:
; homeall.g ; called to home all axes ; M98 P"/sys/homex.g" M98 P"/sys/homey.g" M98 P"/sys/homez.g"
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
and finally 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 X130 Y160 F6000 G30 K0 Z-99999 ; Probe the Z pin at the back G1 Z10 F9000
Also you cab define two speed probeing with this in your config.g:
M558 P9 C"io2.in" H5 F300:120 A3 T6000 ; See the F300:120 first speed 300 second 120
When all this is done do a, in order, to test:
g28 x g28 y g28 z g28
-
@gixxerfast Okay, after doing everything, during the testing all axises find their homes and the Z homing does 3 probing and then stays in place, in the middle. bltouch red led is on constantly.
-
@re_tour Good, then all works as expected.
What you want to do now is calibrate your Z offset.
I usually do the paper friction thing and just home z and then lower it slowly by G1 Z-0.2 (DON'T FORGET THE G91 before that) (or less) until it's right. Then I adjust the offset in the G31 in config.g
-
@gixxerfast said in Ender 3 RRF v1.1 setting up BLtouch:
by G1 Z-0.2 (DON'T FORGET THE G91 before that)
So like
G1 Z-0.2 *axis moves* G91 G1 Z-0.2 *axis moves* G91 G1 Z-0.2
this?
-
@re_tour G91 set's RRF in realtive coordinates mode so you only need to do that once AFAIK. G90 sets it back to absolute coordinates mode.
So it's like:
G91 G1 z-5 G1 z-.2 G1 Z-.1 ... until you're happy then look at the Z offset in DWC (or some gcode command I don't remember right now) and remember it G90
Take it down until the nozzle touches the paper and you can feel the friction some when moving the paper. You may need to correct this when printing later but then you can baby step it up and down until it looks fine.
I think you do almost the same in Marlin and Klipper. Maybe there's some automated method you can use in RRF but I don't know about it.
-
@gixxerfast Okay, I have a new problem: despite my Z being at 0, there's still about 50-60mm space between the bed and the extruder tip.
-
@re_tour Can you take a screen dump of DWC Dashboard.
and also add your latest config.g and homez.g
-
@gixxerfast
Dashboard:
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 ; 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 M574 Z1 S1 P"zstop" ; configure switch-type (e.g. microswitch) endstop for low end on Z via pin zstop ; 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 Z0 ; set Z probe trigger value, offset and trigger height M557 X15:215 Y15:195 S20 ; 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
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 X130 Y160 F6000 G30 K0 Z-99999 ; Probe the Z pin at the back G1 Z10 F9000