BL Touch Help Needed Please



  • Hi guys,

    I've setup the BL touch to the specs outlined on the wiki to the best of my ability but I cant quite get it to work on my duet wifi. Any help would be greatly appreciated as I've spent all night trying to get this working 😞
    I've wired it up to to the z probe and pin 1,2,8 and put a 240ohm resistor across the black and white lines (signal and ground it should be)

    Currently:

    • When I power on the machine, it looks like it is self testing by extending and retracting a couple times with the internal light flashing while doing so before settling into the retracted stage.
    • I can manually extend it with 'M280 P3 S10 I1'
    • I can manually retract it with 'M280 P3 S90 I1'
    • But when I do the testing with 'M280 P3 S60 I1' I cant get the values to change on the web interface even after trying 20 odd times as it says sometimes it wont show correctly.
    • When I try to home z, it lowers, extends the pin , then just keeps raising the bed (corexy) and ignores when the pin gets pushed up and would crash into the nozzle if I allowed it.

    my config file is : (Updated from the help below but still not working 😞 )

    [[language]]
    ; Configuration file for Duet WiFi (firmware version 1.20 or newer)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Tue Jan 16 2018 19:48:58 GMT+0000 (GMT Standard Time)
    
    ; General preferences
    M552 S1
    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
    M307 H3 A-1 C-1 D-1 			;
    ; Automatic saving after power loss is not enabled
    
    M667 S1                                   ; Select CoreXY mode
    M208 X5 Y15 Z0 S1                         ; Set axis minima
    M208 X295 Y300 Z200 S0                    ; Set axis maxima
    
    ; Endstops
    M574 X1 Y2 S0                             ; Set active low endstops
    M574 Z0 S2                                ; Set endstops controlled by probe
    M558 P5 X0 Y0 Z0 H5 F100 T2000		;
    G31 X0 Y0 Z0 P1			;
    M557 X15:280 Y15:285 S50                  ; Define mesh grid
    
    ; Drives
    M569 P0 S1                                ; Drive 0 goes forwards
    M569 P1 S1                                ; Drive 1 goes forwards
    M569 P2 S1                                ; Drive 2 goes forwards
    M569 P3 S0                                ; Drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1                    ; Configure microstepping with interpolation (I1)
    M92 X80 Y80 Z1500 E424                    ; Set steps per mm
    M566 X900 Y900 Z50 E120                   ; Set maximum instantaneous speed changes (mm/min)
    M203 X20000 Y20000 Z120 E1200             ; Set maximum speeds (mm/min)
    M201 X1500 Y1500 Z10 E250                ; Set accelerations (mm/s^2)
    M906 X800 Y800 Z750 E800 I30              ; Set motor currents (mA) and motor idle factor in per cent
    M84 S120                                  ; Set idle timeout
    
    ; Heaters
    M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning)
    M305 P0 T100000 B4138 C0 R4700            ; Set thermistor + ADC parameters for heater 0
    M143 H0 S120                              ; Set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4138 C0 R4700            ; Set thermistor + ADC parameters for heater 1
    M143 H1 S280                              ; Set temperature limit for heater 1 to 280C
    
    ; Tools
    M563 P0 D0 H1                             ; 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
    
    ; Network
    
    ; Fans
    M106 P0 S1 I0 F500 H-1                    ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45                 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1 T45                 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Custom settings are not configured
    
    ;M280 P3 S90 I1
    
    

    My homez.g file is :

    [[language]]
    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Fri Jan 19 2018 18:24:18 GMT+0800 (China Normalzeit)
    G1 x150 y150 f7000
    G91                 ; relative positioning
    G1 Z5 F6000         ; lift Z relative to current position
    M98 Pdeployprobe.g  ;deploy the probe
    G30            ; move Z down until the switch triggers
    G92 Z2              ; set Z position to trigger height
    M98 Pretractprobe.g ;retract the probe after triggering and stop.
    
    ; Uncomment the following lines to lift Z after probing
    ;G91              ; relative positioning
    ;G1 Z5 F100       ; lift Z relative to current position
    ;G90              ; absolute positioning
    
    

    My deployprobe.g file is :

    [[language]]
    M280 P3 S10 I1
    
    

    My retractprobe.g file is :

    [[language]]
    M280 P3 S90 I1
    
    

    Please could someone knowledgeable take a look over this and see if they can work out where I've gone wrong, it would be greatly appreciated!!

    Many thanks!



  • Hi,

    • But when I do the testing with 'M280 P3 S60 I1' I cant get the values to change on the web interface even after trying 20 odd times as it says sometimes it wont show correctly.

    I also "Fight" with the BLTouch in the last Days, and now it´s working.
    But i also have the same issue as you wrote: I Never seen a change of the Value in the Web Interface….Always 0....
    All Tests are okay. It works on Homing for Z-Axis and also reports this "Bed-Level-Picture" afer a G29 Command.
    Everything fine.
    So i ignore that it doesn´t change the Value 🙂

    To your Issue, that it don´t stop for the Homing:
    I´m in the Office now, and could not check my Files for config.g and homez.g. I send some additional Info to you, when i´m back home.
    In my Memories: Change in homez.g the "G1 S1 Z-205 F3000" to G30



  • Hi Juergen,

    Thanks for the advice! I'll ignore the web-interface section for now when testing and just focus on whether I can get it to home or not.

    I wont be able to test it for another 10 or so hours as I'm about to head off to work, but I'll definitely try swapping that line to G30 like you mentioned.

    I'll update this with how it goes,

    Thanks



  • Hi,
    as i mentioned above, here my homez.g :

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Fri Jan 19 2018 18:24:18 GMT+0800 (China Normalzeit)
    G91 ; relative positioning
    G1 Z5 F6000 ; lift Z relative to current position
    M98 Pdeployprobe.g ;deploy the probe
    G30 S-1 ; move Z down until the switch triggers
    G92 Z2 ; set Z position to trigger height
    M98 Pretractprobe.g ;retract the probe after triggering and stop.

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    I hope it helps to you.

    Here´s what in my config.g for the Endstops:

    ; Endstops
    M574 Y0 X0 S0 ; Set active high endstops
    M574 Z1 S2 ; Set endstops controlled by probe
    M307 H3 A-1 C-1 D-1 ;
    M558 P5 X0 Y0 Z1 H5 F100 T2000
    G31 X0 Y20 Z2 P25
    M557 X30:270 Y30:270 S60 ; Define mesh grid

    And don´t forget to change also the homeall.g for the Z-Axis !!!
    Simply copy the lines from homez.g, when it works.



  • Thank you very much,
    I though I might have to change the homez.g but the wiki instructions mentioned nothing about it (or I missed them, but I read them like 10 times).

    I completely missed the homeall.g file though, I'll be sure to correct it once I get this thing homing correctly.

    EDIT:

    I've realised now that I need to at least change M574 Z0 S0 to M574 Z0 S2. I already had that from the wiki but I must have left it as 0 when I started messing about with it yesterday.

    Fingers crossed with that change and the change to the homing files you have submitted (G30 code) I'll be able to get it working again later!



  • Nope, still not working sadly 😞
    I've updated the main post to show my current configs but I just cant get it to register when its triggered.

    I'm clueless now lol, please help!

    If its worth mentioning, I'm fairly sure the signal wire is fine as I had it working fine on my arduino/ramps setup beforehand.


  • administrators

    @Asdasd1234:

    I've realised now that I need to at least change M574 Z0 S0 to M574 Z0 S2. I already had that from the wiki but I must have left it as 0 when I started messing about with it yesterday.

    That doesn't actually matter, because using G30 for Z homing tells it to use the Z probe anyway.

    Suggestions:

    1. Read https://duet3d.com/wiki/Test_and_calibrate_the_Z_probe.

    2. Are you sure you needed the 240 ohm resistor? More recent versions of BLTouch have a trace to cut instead.

    3. Check that you have the black and white wires connected to the correct pins on the Z probe connector.

    4. Confirm you are using a Duet WiFi, not a Duet 085.



  • To not ever seeing a non-0 P value:

    While holding your finger against the bltouch probe (so it can't deploy properly), send a M401 command to deploy the probe. Because the probe can't deploy (due to your finger being in the way), the bltouch should go into an error state (flashing red.) At this point, does the web interface (or paneldue) show a P of 1000 (or anything other than 0?)

    While I doubt this relates to your specific problem, I noticed that you use "G92 Z2" after G30. Once you get your G31 command set up to reflect the Z trigger height, remember to remove the G92 command that sets "Z".

    G30 – sets Z to the trigger height specified in G31 when the probe triggers
    G92 Z2 -- overwrites the Z value to 2.0



  • Hi,

    1. I tried that link before, but I get stuck on "If the Z movement doesn't stop, turn off power to the printer before the head crashes into the bed.". It just wont register the pin being lifted

    2. Honestly, not entirely sure. But the box came with one in it (it's a chinesium knockoff that I've already had working on the ramps setup without the resistor). I assumed since it came with the resistor that this was its purpose. It's installed in a bit of an awkward place to see if it has the trace to cut instead. Would it harm the duet if I took off the resistor for one or two test runs?

    3. This pic () shows the black and white cables, this pic ( ) shows the orange,red,brown ones. I think they are correct?

    4. I'm 90% certain thats the one I ordered. The picture seems to match up and I do connect to it through wifi although I'm not sure if the duet 085 has wifi also?

    @garyd9:

    To not ever seeing a non-0 P value:

    While holding your finger against the bltouch probe (so it can't deploy properly), send a M401 command to deploy the probe. Because the probe can't deploy (due to your finger being in the way), the bltouch should go into an error state (flashing red.) At this point, does the web interface (or paneldue) show a P of 1000 (or anything other than 0?)

    I've just done that and the P value ( I assume you mean the z-probe box in this link ?) still shows 0. Maybe the signal wire is to blame? maybe I do need to bust out an oscilloscope then



  • On mine, while it's in an error state, the z-probe shows "1000." So, it seems like the signal isn't getting to the duet.



  • ah, In that case, I need to find out if its safe to take off the resistor for a couple runs.
    I dont suppose @dc42 could chime in on that one?


  • administrators

    Yes you have a Duet WiFi.

    The first thing to check is that with the BLTouch connector disconnected from the Z probe connector, you get a Z probe reading of 1000. If you don't then there is probably an error in the configuration.

    It should be safe to remove the 240 ohm resistor because the Z probe input is quite well protected.



  • Woooo!!!!!!
    removing the 240 ohm resistor seems to have done it. (along with changing all those settings above that people mentioned )

    That'll teach me to buy cheap I suppose. I measured the voltage across the black and white leads and only read 1.3v on the multimeter while it was in the error state flashing at me . But that may have been due to it pulsing like a pwm signal and the multimeter just averaging it. Who knows.

    What i do know is that it seems to be working now!

    I'll still bust out the oscilacope tomorrow to see what on earth is actually going on with that signal.

    Many thanks to everyones input, its been a great help!, we kinda dived into the deep-end on this build and went all on building a printer from having never owned one before and although the building part was pretty straight forward, I massively underestimated the software side of things.



  • Hi garyd9,
    @garyd9:

    While I doubt this relates to your specific problem, I noticed that you use "G92 Z2" after G30. Once you get your G31 command set up to reflect the Z trigger height, remember to remove the G92 command that sets "Z".

    G30 – sets Z to the trigger height specified in G31 when the probe triggers
    G92 Z2 -- overwrites the Z value to 2.0

    Oups….
    Thanks a lot for this Reminder ! You are right !
    I also forget to remove it. In my Case, it doesn´t matter, because it is the same Value in there.
    But it makes sense to remove.



  • and some additional Thing to Asdad1234, but maybe you already know:
    If you want to use the "Mesh-Grid" and Auto-leveling Function, please remind that you don´t start with an G28 in your Slicer-Program !
    Most generate automatically a Start-Code, that Contains only the G28.
    You need to replace it with an G29 Command (or later with an G29 S-1 if you already created the File and has no Changement)

    I was stucked on this funny small Issue, and wondering why i don´t get an Automatic Leveling when i start a Test-Print…..

    After i found this, it runs pretty well.
    Also when i change my Print-Platform to another, lightly deformed Glass Plate, i directly have a perfect First Layer 🙂



  • Thanks for the info Jeurgen,

    I only use the "load mesh bed from file" command in the slicing setup so hopefully that's not an issue for now.

    I don't think I can get away with using the z-probe for the actual mesh levelling due to :

    • The sensor is about 5cm away from the nozzle
    • I'm using the mesh to combat carriage sag rather than a warped bed so the readings will be off in one direction to the left of the bed and the other direction to the right of the bed.

    On a slightly un-related note. Is there any way to change the increments I can move the z-axis in when doing the manual mesh bed levelling?
    Currently the pop-up window only lets you move in 0.1mm increments, which is potentially a full layer high later on. I have a feeler guage 0.01mm thick so it would be nice to actually level the bed down to the correct level rather than "give or take half a layer"



  • Hi Guys,
    yesterday evening i found out that i also need some more Help…..

    What happend:
    After the Reminder from Gary (Thanks!) i remove the "G92 Z2" from my homez.g , after it Probes with G30.
    Unfortunately then it DON`T set the Value for the Z-Axis to 2
    And it also don´t switch the Z-Axis "Home-Button" to Blue and still says that Z is not Homed
    BUT: it stopped the Axis from Moving, when the BL-Touch is triggered.

    Now i´m a little bit lost..... What could be wrong ??
    WITH additional G92 everything works well. I could home the Axis, could do the Mesh-Bed-Leveling, and also the Print_Layers are perfect....
    This is in my Config.g

    ; Endstops
    M574 Y0 X0 S0 ; Set active high endstops
    M574 Z1 S2 ; Set endstops controlled by probe
    M307 H3 A-1 C-1 D-1 ;
    M558 P5 X0 Y0 Z1 H5 F100 T2000
    G31 X0 Y20 Z2 P25

    Why it ignore´s the Z-Value from the G31 Command when i run that G30 ??

    Here´s my homez.g again (that works with G92, but not without it….)

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Fri Jan 19 2018 18:24:18 GMT+0800 (China Normalzeit)
    G91 ; relative positioning
    G1 Z5 F6000 ; lift Z relative to current position
    M98 Pdeployprobe.g ;deploy the probe
    G30 S-1 ; move Z down until the switch triggers
    G92 Z2 ; set Z position to trigger height
    M98 Pretractprobe.g ;retract the probe after triggering and stop.

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    Any recommendations or Tips, what i should check or try, are welcome 🙂

    I also try yesterday to get the BlTouch in Error-Mode. THEN the Value in Web-Interface change to 1000 and is red.
    All other Times, i only see a Value of 0



  • @Juergen110:

    Any recommendations or Tips, what i should check or try, are welcome 🙂

    Remove the "S-1" from the G30 command. Just a plain old "G30" is what you want.

    Just to put it out there, I'll post my config and homing stuff. I'm using what used to be a flashforge creator pro and I like the center of my build plate to be 0,0 (so anything to the left or front of center is negative.) Don't let that confuse you. 🙂

    The related part of my config.g:

    [[language]]
    M574 Z1 S2                                    ; this allow me to use the z-probe as if it were an endstop (which comes in handy for doing G1 S1)
    M307 H3 A-1 C-1 D-1			; ensure the servo pin is used for the probe * warning: overrides might override this **
    M558 P5 X0 Y0 Z1 H5 F100 T4000		; set z-probe type to 5, dive height and speeds
    G31 X-73.2 Y-0.8 Z0.83 P25		; configure the z-probe trigger value, offset, and threshold
    M557 X-111:75 Y-70:70 S20                            ; Define mesh grid
    M671 X1.1:-50:49 Y-69.2:65.5:65.5 P0.5   ; level screw locations and screw pitch type
    
    

    And part of my homeall.g script (at the point where I'm posting, X and Y are already homed, there's at least 5mm separation between my nozzles and build plate, and the printer is in absolute positioning (G90)

    [[language]]
    ; now home z - still in absolute positioning, z is still at least 5mm from the plate, and T1 is selected
    ;
    ; front/center adjustment screw is at X1.1 Y-69.2 and the probe is offset from T1 by X-73.2 Y-0.8
    ;
    G1 X74.3 Y-68.4 F6000  ; position the probe over the front/center screw adjustment point (offsetting from T1)
    G91			; relative positioning
    M401			; deploy the probe
    G1 S1 Z-155 F6000	; quickly move Z down, stopping at the probe (possible because of M574 Z1 S2 in config.g)
    G1 Z5 F1200		; immediately move the nozzle 5mm away from the build plate
    M401			; make sure the probe is deployed still
    G30			; slowly probe at the current position and set Z to the trigger height (this sets Z to 0.83 when the trigger happens)
    M402			; retract the probe
    
    


  • Hi Gary,

    Just a plain old "G30" is what you want.

    after i´m back Home, i will directly try !
    Thanks a lot !!!!
    crazy, what a misplaced and simple S-1 would do….

    And a short Feedback:
    Gary, you were absolutely Right !!!!
    After i delete the S-1, everything works without the additional "G92"

    THANKS A LOT !!!



  • Hi all,

    Just a thing to mention for everyone else in case you do something stupid like me…

    Make the deploy pin the FIRST command in your homez, or at least make the first command to move the bed out the way...
    I'm sure you can all guess what happens if you don't as I found out yesterday when I snapped the pin off the bl-touch 😞


Locked
 

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