BL Touch Not Going To the End of the Bed
-
Does anyone know why my BL Touch is not able to probe the end of the bed? I will attach photos of where it stops.
Thank you in advance!
-
share your config.g as well please, and mesh.g/bed.g if you have them. The meshing procedure will skip points that would move the print head beyond axis limits taking X/Y offsets of the probe into account. So you likely don't have the axis length to go to the points you want to or the offset is too large to reach them (whether the offset is configured correctly is another side quest).
-
@oliof I have attached it.
Config.g
; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Ender3Pro" ; set printer name ; Network M552 S0 M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 goes forwards using default driver timings M569 P1 S0 ; physical drive 1 goes forwards using default driver timings M569 P2 S1 ; physical drive 2 goes forwards using default driver timings M569 P3 S1 ; physical drive 3 goes forwards using default driver timings M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X80.20 Y80.15 Z400.50 E130 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X20000.00 Y20000 Z600.00 E1200.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z20.00 E500 ; set accelerations (mm/s^2) M906 X580 Y580 Z580 E760 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 X230 Y230 Z250 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Z via pin zstop ;M591 D0 P7 C"e0stop" S1 R50:130 L7.0 E10 ; BTT Smart Filament Sensor ;M591 D0 P1 S1 ; Filament runout Sensor ; Z-Probe Bltouch M558 P9 H6 F300 T8000 R0.3 C"^probe" ; set Z probe type to bltouch and the dive height + speeds M950 S0 C"Servo0" ; Setup Servo0 as servo port on SKR-RRF-E3 G31 P500 X-40 Y-12 Z1.60 ; set Z probe trigger value, offset and trigger height y was -12 x was -40 M557 X5:210 Y5:230 S68 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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 M301 P21.73 I1.54 D76.55 ; disable bang-bang mode for the bed heater and set PWM limit M307 H0 R0.325 K0.370:0.000 D3.66 E1.35 S1.00 B0 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S150 ; set temperature limit for heater 0 to 150C M143 H0 S150 ; set temperature limit for heater 0 to 150C M308 S1 P"e0temp" Y"thermistor" T100000 B3950 ; 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 R3.306 K0.598:0.000 D4.41 E1.35 S1.00 B0 V24.0 ; disable bang-bang mode for heater and set PWM limit M143 H1 S300 ; set temperature limit for heater 1 to 300C ; Fans M950 F0 C"fan0" Q1000 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q1000 ; create fan 1 on pin fan1 and set its frequency M106 P1 S0 H1 T60 ; set fan 1 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 M150 X1 Q3000000 M150 R255 B255 U255 P255 ; Custom settings are not defined ; Miscellaneous ;M575 P1 S1 B57600 ; enable support for PanelDue M575 P1 S2 B57600 M552 S1 ; enable network M150 X2 T0 P0 M918 P1 E4 F100000
; bed.g ; called to perform automatic bed compensation via G32 ; M561 ; clear any bed transform G29 ; probe the bed and enable compensation
-
It is exactly as Oliof says, your axis limits, probe offset, and mesh size mean that you cannot reach where you're asking it to reach.
M208 X230 Y230
G31 P500 X-40 Y-12 Z1.60
M557 X5:210 Y5:230 S68Reduce your M557 range and it will stop complaining about not being able to reach the edges.
-
@Phaedrux So I lowered my x to 205 and it is no longer giving me an error, but it isn't going all the way to the end of the bed? There is plenty of room, but it just keeps stopping short. Do I need to change a different value?
-
Can your probe actually physically reach those positions?
Is your probe offset correct?
Perhaps you have an incorrect value for the actual length of the axis?
Or your 0,0 position isn't at the right spot? -
@Phaedrux Is there a line of code that creates a boundary as a safegard? Maybe I have to increase it? It seems something else is preventing it from going all the way.
-
M208 defines the length of the axis.
Your 0,0 point should be the front left corner of the bed where the nozzle can actually print. The M208 maximum is the farthest point from 0,0 that the axis can safely move the nozzle tip.
According to your config,g your endstops are on the low end of travel, so they should be on the left and front side of the plate.
-x moves should move to the left, +x to the right
-y moves should move to the front, +y to the backIf this is not the case, you need to sort that out first as that may be the root of the problem.
If this is accurate for your setup, and you want to measure the M208 min and max accurately, try this:
Send
M564 H0 S0
to allow you to move the print head anywhere ignoring any limits. Be careful now as you can crash your print head.Jog your nozzle to where you want 0,0 to be.
SendG92 X0 Y0
to set that point as 0,0
SendG1 H3 X-50 F300
to set the endstop trigger point as the m208 x axis minimum
SendG1 H3 Y-50 F300
to set the Y minimumNow you can jog your print head to the maximum side of each axis until the nozzle is at the farthest usable point. Make note of the X and Y position.
Send
M208 X###
where ### is the position you noted for X
Do the same for Y withM208 Y###
Now send M208 by itself and the firmware will report the actual minimum and maximum positions of your bed size. Compare that to what you have in your config,g for M208.
; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X230 Y230 Z250 S0 ; set axis maxima
How does it compare?