My take on Installing a BL Touch Probe
-
@CaLviNx:
- In the G31 command the X and Y are the offset of the sensor in relation to the nozzle (so input your own) the number for Y is the trigger height (read on for this). This is the height that is obtained from reading the height the nozzle is from the bed when the sensor pin contacts the bed and retracts, P is the signal threshold.
Did you mean the Z is the trigger?
Yes Thanks for pointing out my Brain fart
The older I get , the more of them I have. I thought it was me the first couple of times I read it, lol.
-
Thank you for posting this, it would have been useful when I started! Everyone points to that other huge thread, which is great but the actual information is scattered all over. There seemed to be some resistance to me updating the Wiki so I didn't do it.
Kudos for using the BLTouch test mode for validating the Z probe signal, this is the part everyone forgets. Without this the trigger signal is too short to be visible in DWC.
The only thing I can add is that if you use the servo ports on Duex2 or Duex5 to connect your BLTouch PWM, then you don't need the I1 at the end of the M280 commands.
Cheers,
Ben. -
The Classic BLTouch also has the logic trace. Do you still need the 240ohm resistor if you cut this on the Classic BLTouch?
-
the name BLTouch classic has nothing to do with the 240ohm resistor being on the board, it's dependent on MFG date. you just have to look and see if the trace is on the PCB of the BLtouch
-
Check the manual for the BLTouch-Classic Manual (March 2017) at https://www.antclabs.com/manual
It clearly say you do not need external resistors, just cut the trace. I have one of these and can confirm it works. -
They updated the website at some point. BLTouch Classics that have a serial number sticker do not require the resistor but need the logic jumper cut. The early ones without a serial number require the resistor.
The one in the picture above is one of the older Classics. On the newer Classics there is a serial number sticker and on the side a small jumper labeled LOGIC. It is different from the second picture above (Smart version)
Scroll down on this page and there are instructions https://www.indiegogo.com/projects/bltouch-auto-bed-leveling-sensor-for-3d-printers#/
-
Yup, the manual is where I found the reference to the jumper and mine has it.
-
I have been messing with my bltouch on FT5(cartasian duet wifi for a while now. I have a z home sensor so just using bltouch for bed leveling. I have gotten as far as being able to deploy and retract the probe and test. it does appear to work when triggered as per above. I think i am close but As soon as i start the mesh bed level(g29) the ph moves to 1st probe point and i get an error "Z probe already triggered before probing move started. I can see bltouch go into alarm state AFTER it moves to probe position and Z has started to raise up and make contact with bltouch so it is getting triggered by probing but errors out. Am i right in thinking my z offset is wrong or is this something else entirely? could i edit this to adjust trigger height? (M558 P5 X-22 Y-9 Z2.65 H3 F200 T5000 ) Config below and i have micro stepped them successfully to g29 then error.
; bed.g
; called to perform automatic bed compensation via G32; Clear any bed transform
M561; Home All
G28;Mesh Level
M557 X40:220 Y40:220 S25 ; Define grid
M401 ; Deploy probe
G29 ; Start mesh level
M374 ; Save results, but this might not be necessary
M402 ; Retract probe;G1 X20 Y20 Z10 F3000 ; Dock position
Deployprobe.g
M280 P3 S10 I1 ;deploy probe might need to try no I1
#Retractprobe.g
M280 P3 S90 I1 ; retract probe might need to try no I1#Config.g
; Configuration file for Duet WiFi (firmware version 1.17)
; generated by RepRapFirmware Configuration Tool on Thu Feb 23 2017 12:18:06 GMT-0500 (Eastern Standard Time); General preferences
M111 S0 ; Debugging off
G21 ; Work in millimetres
G90 ; Send absolute coordinates…
M83 ; ...but relative extruder moves
M555 P1 ; Set firmware compatibility to look like RepRapFirmare
M208 X0 Y0 Z0 S1 ; Set axis minima
M208 X296 Y280 Z450 S0 ; Set axis maxima; Endstops
M574 X1 Y2 Z1 S0 ; Define active low and unused microswitches; BLTouch
M307 H3 A-1 C-1 D-1
M558 P5 X-22 Y-9 Z2.65 H3 F200 T5000
G31 X-22 Y-9 Z1M584 X0 Y1:4 Z2 E3
; Drives
M569 P0 S0 ; Drive 0 goes forwards - X
M569 P1 S0 ; Drive 1 goes Backwards - Y
M569 P2 S0 ; Drive 2 goes Backwards - Z
M569 P3 S1 ; Drive 3 goes forwards - E0
M569 P4 S1 ; Drive 4 goes forwards - YM350 X32 Y32 Z32 E32 I1 ; Configure microstepping with interpolation
M92 X320 Y320 Z1610 E340.5 ; Set steps per mm
M566 X600 Y600 Z600 E120 ; Set maximum instantaneous speed changes (mm/min)
M203 X6000 Y6000 Z1000 E1200 ; Set maximum speeds (mm/min)
M201 X500 Y500 Z500 E500 ; Set accelerations (mm/s^2)
M906 X1500 Y1500 Z1500 E1500 I30 ; Set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout -
Just a guess: does it need a delay between deploying it and probing the first point? If so then I suggest a delay command at the end of deployprobe.g. For example, G4 P200 will delay 200ms.
-
hello again, I will take your guess over my "know" any day of the week. Thanks again but no luck so far. tried delay of 200 and 500 and same result and error. Probe deploys bed moves to 1st probe point bed comes up and it appears to trigger but bl touch goes into alarm (blinking)
Deployprobe.g
M280 P3 S10 I1 ;deploy probe might need to try no I1
G4 P200 ;will delay 200ms.
when i do this step by step from touch screen console, same result. maybe i am doing something wrong?
G28M557 X40:220 Y40:220 S25 ; Define grid
M280 P3 S10 I1 ;deploy probe
G4 P200 ; delay 200ms
G29 ; Start mesh level
-
Does anyone know what puts a BLTouch into alarm mode? Could it be incomplete deployment?
-
this is interesting. after i run g29 and probe errors out, i ran m280 p3 s60 i1 and alarm clears. ran g29 again and it runs successfully. i really dont get that but clearly it works right the 2nd time. anyone got a clue why? i tried delay command but no idea what max is (up to "g4 p2000")
-
i tried to print directly after (ft5 bed level test) and print head was over 5mm above bed at start. it did say height map was saved when g29 completed so how could it be so far off?
-
this is height map but i have no idea what it is telling me lol
RepRapFirmware height map file v1 mean error 0.10 deviation 0.68
xmin xmax ymin ymax radius spacing xnum ynum
10 260 10 240 -1 25 11 10
0.856 0.487 0.27 0.047 -0.176 -0.4 -0.612 -0.83 -1.036 -1.222 -1.458
0.811 0.599 0.373 0.139 -0.09 -0.298 -0.492 -0.706 -0.915 -1.12 -1.316
0.858 0.655 0.436 0.217 0.004 -0.201 -0.386 -0.593 -0.787 -0.965 -1.157
1.047 0.721 0.515 0.296 0.107 -0.096 -0.302 -0.472 -0.688 -0.876 -1.051
1.101 0.798 0.591 0.399 0.191 0.002 -0.183 -0.346 -0.547 -0.723 -0.908
1.1 0.888 0.694 0.489 0.292 0.125 -0.074 -0.259 -0.416 -0.583 -0.755
1.181 1.001 0.798 0.611 0.421 0.243 0.095 -0.099 -0.259 -0.437 -0.595
1.269 1.094 0.899 0.714 0.531 0.363 0.188 0.027 -0.13 -0.298 -0.458
1.36 1.186 1.006 0.823 0.65 0.483 0.307 0.155 -0.004 -0.155 -0.235
1.378 1.23 1.067 0.888 0.727 0.567 0.419 0.27 0.126 0.071 -0.038 -
this is my bed.g now odd i know but it does work as far as running probe and getting result.
; bed.g
; called to perform automatic bed compensation via G32G28 ; Home All
;–--------- Mesh Level ------------------
M561 ; Clear any bed transform
M557 X10:260 Y10:240 S25 ; Define grid
M401 ; Deploy probe
G29 ; Start mesh level (this is where it deploys probe, moves to 1st point and then alarms)
M280 P3 S60 I1 ; Clear Alarm
G29 ; Start mesh level
M402 ; Retract probeDeployprobe.g
M280 P3 S10 I1 ;deploy probe
G4 P200 ;will delay 200ms.
Config.g
; BLTouch
M307 H3 A-1 C-1 D-1
M558 P5 X-22 Y-9 Z2.65 H3 F200 T5000
G31 X-22 Y-9 Z1 -
The Z parameter in your G31 command is the nozzle height above the bed when the probe triggers. You need to set that correctly to get the nozzle at the correct height when you start printing. See https://duet3d.com/wiki/Using_mesh_bed_compensation#Checking_the_trigger_height.
-
i did a manual bed level last night and re ran mesh level. It still runs fine and the result appeared to be way better now but the nozzle is still way to high when it starts to print. I have z offset in slic3r set to 0 so not sure where this is coming from but z is off by close to 5mm after running routine. very odd.
Sorry, didn't see your g31 reply till just now, definitely going to play with that setting. Thanks much!
-
it appears the z probe error is caused when it deploys then moves. it starts moving to soon and drags a little at start of move to 1st home position. is there a way i can delay a command by a second or 2? that should fix the error and having to clear alarm. still playing with g31 to see if that fixes it.
-
Does anyone know what puts a BLTouch into alarm mode? Could it be incomplete deployment?
That is exactly it. Part of the problem is that G29 and G30 do not handle deployprobe.g and retractprobe.g, so you have to deploy the probe yourself before using them. This means 1) the probe is deployed during the moves and 2) the BLTouch can enter the error state if you do not rise Z fast enough to clear the pin re-extending after the trigger, because the servo signal still says the probe should be deployed.
Maybe this is the wrong place to suggest this (I don't mean to hijack the thread!) but it would help a lot if G29 and G30 could call the deploy and retract macros of the probe implicitly, so RRF would only deploy the pin before moving Z down for the actual Z test, and avoid the early redeploy of the pin during the Z up. It should also be possible for RRF to detect the error state of the BLTouch (I don't remember the details, I could look them up or just write the code), and fail the probe to avoid the inevitable head crashing that will occur. Much like it already does when you attempt to probe with the probe already triggered.
It would also mean you could then do G29 and G30 from the Gcode console without fear of crashing the head. Right now you cannot even do a manual G30 because even if you remember to deploy the BLTouch first, once G30 is done Z is unchanged from the trigger height, which will cause the BLTouch to go in its error state (as it cannot extend the pin further, it has already been triggered!). You can also see this on a G29 for the final point, the pin will extend one last time for no reason while Z is rising to its probe clearance height, before the M402 takes effect.
Cheers,
Ben. -
Thanks dc42, i think you are right on the money for my issue, probe is still deploying when it starts to move to 1st position. even a 1 or 2 second pause would do the trick. is the a g code for that by chance? Just did bed leveling again and adjusted my g31 z height. post mesh, i moved z to 0 and it appears spot on but when i print i am still 1 to 2 mm above bed. odd considering z is perfect after mesh level runs (paper just snug under ph when nozzle is z=0) verified slic3r has no z ofset so still have to figure out where gap is coming from.