BLTouch won't deploy.
-
I'm unable to do any further testing because when I issue a G30 command to do a test probe I get an error message
[c]G30
Error: Z probe already triggered at start of probing move[/c] -
Alright, now I've removed the I1 flag from M558 and it will let me do a G30 and will stop when triggered, but I'm leary to trust it since it seems to only deploy and retract half the time.
-
Half the time it fails on the G30 even with the I1 flag removed.
This is getting silly.
-
It seems to work about half the time, but I was able to get it to do a G29. Unfortunately a few of the probes failed.
It would head down to probe and bounce back up instantly as seen by those huge spikes.
At least it's accurate enough to verify what I've already suspected that my 6mm Mic-6 cast aluminum plate has a raised corner. Grrrr. Shipping damage maybe?
Here are the settings that got me here for those following along in the future.
Config.g[c]
; ############################
; 3 - ENDSTOPS AND ZPROBE
; ############################M574 X1 Y2 S0 ; Set active-low switches, low end endstop for X, high end endstop for Y, Use Z1 for endstop
M574 Z1 S2 ; Use zprobe and home to min
M307 H3 A-1 C-1 D-1 ; Unbind heater 3 pins for probe use.
M558 P9 X0 Y0 Z1 H5 F100 T2000 ;I1 ; probe type 9 for BLTouch, dive height 5mm, inverted signal, probe speed 100, travel speed 2000
G31 X-43 Y0 Z1.594 P25 ; probe offset from nozzle, p is trigger value, set low for bltouch, set Z=0 for testing
M557 X5:250 Y5:270 S20 ; Define mesh grid
[/c]homeall.g[c]
; homeall.g
; called to home all axes
;
G91 ; relative positioning
G1 Z5 F200 S2 ; raise head 2mm to ensure it is above the switch trigger height
M913 X50 Y50 ; set X Y motors to 50% of their normal current for homing
G1 S1 X-305 Y305 F4000 ; course home X or Y
G1 S1 X-305 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 X150 Y150 F4000 ; Move x and Y axis over to bed center so probe is on top of bed
M558 F400 ; Set faster probing feed rate
G30 ; Do a single fast probe to home our Z axis
M558 F100 ; Set slower probing feed rate
G30 ; Probe again to get a more accurate position
G28 XY ; Rehome X and Y[/c]homez.g[c]
; homez.g
; called to home the Z axis
;
G90 ; absolute positioning
G1 Z5 F200 S2 ; raise head 2mm to ensure it is above the switch trigger height
G1 X150 Y150 F4000 ; Move x and Y axis over to bed center so probe is on top of bed
M558 F400 ; Set faster probing feed rate
G30 ; Do a single fast probe to home our Z axis
M558 F100 ; Set slower probing feed rate
G30 ; Probe again to get a more accurate position[/c]Any suggestions on how to remove those spikes?
-
And sure enough, the next time I try and home it fails to deploy and goes to alarm.
-
Hi,
I use the BLtouch connected as you say , and I use this in config.g works perfectly everytime.
M558 P5 X0 Y0 Z1 H5 F500 T5000
I then use the deployprobe, retractprobe, resetprobe macros etc in the respective places in the homeall.g and homez.g.
If you need to see these I can post them.
Keith
-
I guess I could go back to trying probe type 5, but firmware 1.21 and probe type 9 have made it a little more streamlined to use the BLTouch.
The G30 command will deploy the probe properly now as long as the deployprobe.g and retractprobe.g files are set with the servo commands.
-
Here's a video of the probe failing to properly probe a point during the G29 leading to one of those huge spikes seen in the height map.
http://www.sensibleserver.com/probespike.mp4
Any idea what would cause this? Or how to resolve this? Dive height too low? Probe speed too high?
I guess I could manually save and edit the heightmap.csv to remove the erroneous entries.
-
Which probe type were you using when you made that video? After probing a point, I can see it retracting, deploying and retracting again; but that shouldn't happen when you use probe type 9.
-
Which probe type were you using when you made that video? After probing a point, I can see it retracting, deploying and retracting again; but that shouldn't happen when you use probe type 9.
Probe type 9.
The video shows two probe attempts that seem to work properly. Not sure why the pin pops back out like that or if that's supposed to happen. But the third time it tries to probe right before the end of the video you can see it try to probe and immediately fail and then move on. There is a corresponding spike in the height map at that location.
-
Try adding a recovery time using the R parameter in the M558 command, e.g. R0.5 will delay 0.5 seconds between deploying the probe and probing. If that works, you can reduce the R parameter to find the minimum that works reliably.
-
Try adding a recovery time using the R parameter in the M558 command, e.g. R0.5 will delay 0.5 seconds between deploying the probe and probing. If that works, you can reduce the R parameter to find the minimum that works reliably.
I'm quite sure I have a bad BLTouch. The pin seems to stick 75% of the time half the time, and 90% of the time it works half the time. >_<
But I've added R0.5 to introduce a pause and A2 to probe twice. I've been able to generate a new compensation map that doesn't have spikes. It still fails a few probes but the map is much smoother.
Now when I print a leveling test pattern it adapts for the raised corner. 0.3mm on the first layer is pretty brutal.
Question about using the A parameter to multi touch. Does it discard erroneous values or average them out? Is it possible to completely ignore values above a certain amount and reprobe as a means of error rejection? Repetier firmware that I come from has a function like that where probe values above 2mm by default are rejected.
-
Don't use A2, use either A1 or A3 or higher. A(n) for n>1 probes until 2 consecutive probes are within the allowed tolerance of each other up to a maximum of n, then takes the average of those two readings.
-
Alright, thanks. I understand how it works now. The Gcode wiki doesn't really specify.
Here's what I finally ended up with to get decent results with the BLTouch. My probe pin still gets stuck up most of the time, but when it does manage to work it seems to work alright.
Config.g
[c]; ############################
; 3 - ENDSTOPS AND ZPROBE
; ############################M574 X1 Y2 S0 ; Set active-low switches, low end endstop for X, high end endstop for Y, Add Z1 for endstop
M574 Z1 S2 ; Use zprobe and home to min
M307 H3 A-1 C-1 D-1 ; Unbind heater 3 pins for probe use.
M558 P9 X0 Y0 Z1 H5 F100 T2000 A4 R0.5 ;I1 ; P9 for BLTouch, dive height 5mm, probe speed 100, travel speed 2000, 4 taps, pause 0.5 sec
G31 X-43.87 Y0 Z1.582 P25 ; probe offset from nozzle, p is trigger value, set low for bltouch, set Z=0 for testing
M557 X0:280 Y0:280 S10 ; Define mesh grid
M376 H10 ; Taper off compensation over 10mm of height[/c]Homeall.g
[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
M402 ; Retract probe just in case it's down; 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-350 Y305 F4000 ; course home X or Y
G1 S1 X-350 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 X175 Y130 F4000 ; Move x and Y axis over to bed center so probe is on top of bed
M558 A1 F400 ; Set single probing at faster feed rate
G30 ; Do a single probe to home our Z axis
M558 A3 F100 ; Set tripple probing at slower feed rate
G30 ; Probe again to get a more accurate position; XY Homing follows
;
G91 ; relative positioning
M913 X50 Y50 ; set X Y motors to 50% of their normal current for homing
G1 S1 X-350 Y305 F4000 ; course home X or Y
G1 S1 X-350 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[/c]Homez is mostly the same.
Thanks for the help David.
Time to go shopping for another BLTouch or find a good mount for my piezo probe to use on my dbot.
-
I still wasn't satisfied with the repeatability of the probe and the pin would still get stuck in the body regularly meaning Z homing would fail far too often.
So I decided to take apart the BLTouch and check the pin.
There is a small H2.0 set screw in the top of the body which acts as the magnetic core for the coil. Unscrewing it lets the pin fall out the top. The pin appeared to be in good condition but it did feel a bit tacky and the top of the pin that makes contact with the core appeared to have a bit of oily residue on it.
I lightly sanded the pin with 2000 grit paper and cleaned it with alcohol. I also scuffed off the residue from the end of the pin and the core. Then I used a small cotton pad and rolled up a corner tightly and used alcohol to clean out the small hole for the pin and the threaded hole for the core as there seemed to be a bit of residue in there too.
Put it all back together and adjusted the core to be about where it was before.
Redid the zprobe trigger height calibration and the repeatability went from this
1.819
1.819
1.826
1.824
1.816
1.825
1.827
1.819
1.824
1.825
1.822 averageto this
1.802
1.805
1.804
1.806
1.803
1.8
1.793
1.798
1.803
1.792
1.8006 averageFar better. And so far the pin has not gotten stuck in the body causing it to go into alarm.
-
I'm glad you managed to fix it. Is it a genuine bltouch or a clone?
-
I'm glad you managed to fix it. Is it a genuine bltouch or a clone?
It's supposedly the real deal. I contacted Antclabs but got no reply. I guess I could try the Google+ group. They might be active there.