My take on Installing a BL Touch Probe



  • Deleted



  • My feelings absolutely! Somewhat confusing and scattered all over the place pretty much sums it up. I'm finishing up my delta implementation of the BLTouch with the Duet WiFi and I'm going to put something together for others here. Thanks for doing this!


  • administrators

    Calvinx, please feel free to update the wiki section at https://duet3d.com/wiki/Connecting_a_Z_probe#BLTouch.



    • 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?



  • @CaLviNx:

    @Cinpro:

    • 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 Z1

    M584 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 - Y

    M350 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


  • administrators

    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?
    G28

    M557 X40:220 Y40:220 S25 ; Define grid

    M280 P3 S10 I1 ;deploy probe

    G4 P200 ; delay 200ms

    G29 ; Start mesh level


  • administrators

    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 G32

    G28 ; 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 probe

    Deployprobe.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


  • administrators

    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.


Locked
 

Looks like your connection to Duet3D was lost, please wait while we try to reconnect.