BL Touch probe input not working
-
Ok, I homed X and Y individually and then attempted to home Z. I saw the probe descend and then retract with thisL
G28 Z
Error: Z probe already triggered at start of probing move
Error: G0/G1: insufficient axes homed -
I'm kind of stuck between a rock and a hard place. I can't test probing until I home and homing will kill my pristine new PEI if it fails on Z.
Test it from a few 100mm height and trigger it by hand before it gets close to the bed.
-
I notice you don't have inverted signal in your M558. Wiki says to invert.
-
What does your HomeZ.g look like?
-
Ok, it is working. Removed the invert on M558 and actually tested rather than watch the DWC display. A finger push triggers the probe, Z stops moving. Should be good to go from here, thank you!
-
I notice you don't have inverted signal in your M558. Wiki says to invert.
Technically it only talks about inverting. The example of the M558 command doesn't have it. The inversion they talk about refers to the servo command only. Though that's not made clear or explicit in the wiki. I ran into that at first too.
-
home.g
G91
G1 Z5 F800 S2
M401
G90
G1 X120 Y125 F2400
G30
M402
G1 Z2 F200 -
Your M558 command should look something like this to get decent repeatability out of the BLTouch.
[c]M558 P9 X0 Y0 Z1 H5 F100 T4000 A10 R0.5 S0.008 ; P9 for BLTouch, dive height 5mm, probe at 100mm/s, travel 4000mm/s, probe until 2 consecutive probe results are to within S up to 10 probes, pause 0.5s, Reprobe until 0.008 repeatability[/c]
Here's what I'm using for HomeZ on my CoreXY.
[c]
; homez.g
; called to home the Z axis
;; BLTouch prep so we don't catch the probe pin on the edge of the bed
;
M280 P3 S160 I1 ; Alarm Release and Push-Pin UP just in case it's in alarm and deployed
G4 S1
M402 ; Retract probe just in case it's down
G4 S0.5; Drop the bed for travel
;
G91 ; Relative positioning
G1 Z5 F200 S2 ; Lower bed 5mm to ensure it is below the switch trigger height; Move probe into position
;
G90 ; absolute positioning
G1 X200 Y140 F4000 ; Move x and Y axis over to bed center so probe is on top of bed; Set lower speeds for homing
M566 Z10 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
M203 Z400 ; Set maximum speeds (mm/min)
M201 Z100 ; Set maximum accelerations (mm/s^2); Probe the bed
;
M558 A1 F400 ; Set single probing at faster feed rate
G30 ; Do a single probe to home our Z axis
M558 A10 F100 ; Set more accurate probing at slower feed rate
G30 ; Probe again to get a more accurate position; Set normal speeds again
M566 Z15 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
M203 Z500 ; Set maximum speeds (mm/min)
M201 Z300 ; Set maximum accelerations (mm/s^2); Move X and Y back Home
;
G1 X0 Y285[/c]I also use this as a macro to calibrate the probe trigger height
[c]; Clear compensation map and Zprobe trigger height
;
M291 P"Grid bed compensation map and ZProbe trigger height will be cleared. Ok or Cancel?" R"WARNING" S3 ; User must click OK or cancel.
M561 ; Disable any current bed compensation
G29 S2 ; Clear mesh bed compensation perameters
G31 Z0 ; Reset zprobe trigger height; home all axis
;
G28 ; Home all axis
G90 ; Absolute positioning
T0 ; Activate first tool; Set lower speeds for Z homing and lower Z motor current
;
M566 Z10 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
M203 Z400 ; Set maximum speeds (mm/min)
M201 Z100 ; Set maximum accelerations (mm/s^2)
M906 Z900 ; Drop motor current to prevent damage in case of head crash; Preheat to probing temps
;
M291 P"Preheating to bed to 60 and nozzle to 210 for accurate probing"
M104 S210 ; Set nozzle to 210 and release
M190 S60 ; Set bed to 60 and wait
M109 S210 ; Set nozzle to 210 and wait; Move nozzle to center of bed at z10
;
M291 P"Nozzle will now move to center of bed to reset Z0 and calibrate probe" S3
G1 Z1 ; Drop bed for nozzle clearance
G1 X155 Y140 Z2 F4000 ; Move to bed center; Reset z to 5 to allow jogging up to touch bed to nozzle
;
G92 Z5; Dialog to allow user to jog z to touch nozzle to bed gently and then move Z down 10
;
M291 P"Jog the Z Axis until the bed and nozzle are touching and click OK" R"Setting Z=0" Z1 S3
G92 Z0 ; Set z = 0; Move probe to center of bed and get probe trigger heights
;
M291 P"Probe will now move to center of bed and measure trigger height 10 times" R"ZProbe Trigger Height Calibration" S3
G1 Z1 ; Drop bed for nozzle clearance
G1 X200 Y140 F4000 ; Move to bed centerM291 P"Heights will be found in gcode console if logging successful gcode is enabled" R"Did you remember to enabled gcode logging?" S3
; G30 S-1 10 times
;
; 1
G1 Z10
G30 S-1; 2
G1 Z10
G30 S-1; 3
G1 Z10
G30 S-1; 4
G1 Z10
G30 S-1; 5
G1 Z10
G30 S-1; 6
G1 Z10
G30 S-1; 7
G1 Z10
G30 S-1; 8
G1 Z10
G30 S-1; 9
G1 Z10
G30 S-1; 10
G1 Z10
G30 S-1M291 P"Probing complete. Turning off heaters and homing axis. Check log for trigger heights and enter into config.g" S2
; Turn off heaters
;
M104 S0 ; Set nozzle to 0 and release
M140 S0 ; Set bed to 0 and release
M906 Z1500 ; Return Z motor current to normal
G28 ; Home all; Tone to get user attention
;
M400 ; Clear movement buffer so tones play reliably
M300 S666 P500
G4 P501
M300 S1111 P300
G4 P301[/c] -
Ok, probing working and Z offset calibrated.
I'm a delta guy and this is my first Core XY and first BL Touch. I use FSRs on my 7 deltas and IR on a couple of other printers.
The whole "homing" thing is more complicated on the Core XY. I'll look over your home.g - thanks.
-
I'm pretty new to CoreXY as well coming from cartesian. I just finished commisioning, that's why it's all fresh.
Here's my home all and Home X and Y for completeness.
[c]
; homeall.g
; called to home all axes
;; BLTouch prep so we don't catch the probe pin on the edge of the bed
;
M280 P3 S160 I1 ; Alarm Release and Push-Pin UP just in case it's in alarm and deployed
G4 S1
M402 ; Retract probe just in case it's down
G4 S0.5; Home XY for Z homing
;
G91 ; relative positioning
G1 Z5 F200 S2 ; Lower bed 5mm to ensure it is below the switch trigger height
M913 X50 Y50 ; set X Y motors to 50% of their normal current for homing
G1 S1 X-375 Y305 F4000 ; course home X or Y
G1 S1 X-375 F4000 ; course home X
G1 S1 Y305 F4000 ; course home Y
G1 X2 Y-2 F1000 ; move away from the endstops
G1 S1 X-10 F200 ; fine home X
G1 S1 Y10 F200 ; fine home Y
M913 X100 Y100 ; set X Y motors to 100% of their normal current; Z homing section follows
;
G90 ; absolute positioning
G1 X200 Y140 F4000 ; Move x and Y axis over to bed center so probe is on top of bed; Set lower speeds for homing
M566 Z10 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
M203 Z400 ; Set maximum speeds (mm/min)
M201 Z100 ; Set maximum accelerations (mm/s^2); Probe the bed
;
M558 A1 F400 ; Set single probing at faster feed rate
G30 ; Do a single probe to home our Z axis
M558 A5 F100 ; Set tripple probing at slower feed rate
G30 ; Probe again to get a more accurate position; Set normal speeds again
M566 Z15 ; Set maximum instantaneous speed changes (mm/min) (Jerk)
M203 Z500 ; Set maximum speeds (mm/min)
M201 Z300 ; Set maximum accelerations (mm/s^2); Move X and Y back Home
;
G1 X0 Y285[/c][c]; homex.g
; called to home the X axis
;; BLTouch prep so we don't catch the probe pin on the edge of the bed
;
M280 P3 S160 I1 ; Alarm Release and Push-Pin UP just in case it's in alarm and deployed
M402 ; Retract probe just in case it's downG91 ; relative positioning
M913 X50 ; set X motors to 50% of their normal current for homing
G1 S1 X-375 F4000 ; move quickly to X axis endstop and stop there (first pass)
G1 X2 F1000 ; go back a few mm
G1 S1 X-10 F200 ; move slowly to X axis endstop once more (second pass)
G90 ; absolute positioning
M913 X100 ; set X motors to 100% of their normal current for homing[/c][c]; homey.g
; called to home the Y axis
;; BLTouch prep so we don't catch the probe pin on the edge of the bed
;
M280 P3 S160 I1 ; Alarm Release and Push-Pin UP just in case it's in alarm and deployed
M402 ; Retract probe just in case it's downG91 ; relative positioning
M913 Y50 ; set Y motors to 50% of their normal current for homing
G1 S1 Y305 F4000 ; move quickly to Y axis endstop and stop there (first pass)
G1 Y-2 F1000 ; go back a few mm
G1 S1 Y10 F200 ; move slowly to Y axis endstop once more (second pass)
G90 ; absolute positioning
M913 Y100 ; set Y motors to 100% of their normal current for homing[/c] -
Great thanks. I updated my homez. makes sense. I'll do the update to all, x and y too.
-
Ok, mesh grid compensation run complete with inexplicable results:
In 100s of probes on deltas I've never seen anything like this. How is this possible or what is the issue?
My z offset is dialed in pretty nicely. I tested it in 9 spots on the bed. But the mesh grid is completely off.
-
What does your M558, M557 and G31 command look like in config.g?
What did you get for your probe height and how did you calibrate it?
-
Michael, please post your homeall.g, homez.g and config.g files. If you are using either bed.g or a macro to do mesh probing instead of just G29, post that macro too.
-
I'm in the process of commissioning a new corexy using 1.21 and I'm getting the grid compensation results with a large shift in the z height also. I assumed it would have found some average zero itself.
I've corrected the offset using a single probe in the center of the bed prior to grid compensation.
[[language]] M561 ; clear any bed transform G1 X200 Y200 ; Move to center of the bed G30 ; Simple probe of the bed to set z=0 G29 ; Detailed probe of the bed
-
One cause of a large offset is that you are homing Z using an endstop switch, and the endstop position assumed when the switch is triggered is not accurate.
If the switch is a Z Max switch, the M208 S0 Z parameter should be set to the height at which it triggers. If the switch is a Z Min switch, use a G92 Znnn command in homez.g and homeall.g to define that position.