Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    BLTouch working

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    50
    266
    80.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • redcurseundefined
      redcurse
      last edited by

      Hi Everyone,

      I've been attempting to get my bltouch working on my duet wifi for a couple days now. I've gotten to the point where if I deploy the pin and manually push it up I can see in the web interface that its being triggered. I usually see something like 68 or 180 and the colour of the field is red. This will happen maybe once or twice every 30 or so times I push the pin.

      My issue is that it doesn't trigger when running auto calibration, the head just crashes into the bed every time. I'm new to reprapfirmware, coming from marlin, so I'm not sure if there is some configuration that I might be missing. I've tried following this thread as best as I can but nothing seems to be solving this issue.

      Any help is appreciated. Thanks!

      1 Reply Last reply Reply Quote 0
      • InSanityundefined
        InSanity
        last edited by

        Sounds like you have the same problem I did. Make sure your config-override.g file doesn't have G31 .. P500 … It should have P25 or lower. I use P1. P500 will crash it into the bed and behave as you describe. If you don't have a config-override.g file make sure your config file has the G31 P1 (or P25).

        What is happening is the pulse from the BLTouch isn't being seen most of the time because of P500

        Jeff

        Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

        1 Reply Last reply Reply Quote 0
        • redcurseundefined
          redcurse
          last edited by

          Thanks for the response!

          This is something I actually looked into. Originally I didn't have a config-override.g file so I used M500 to create it and noticed that there were some extra G31 commands in there so I commented them out and copied the G31 line in my config.g file into the config-override.g. Unfortunately this didn't solve my problem.

          I'll double check this though when I get home from work.

          1 Reply Last reply Reply Quote 0
          • InSanityundefined
            InSanity
            last edited by

            Not sure which endstop you connected to , Try G31 T1 or G31 T3 at the console and see what it spits out. Should have P25 or P1 (whichever you used). T1 would be the normal z-probe and T3 should be the E1 endstop I believe. Might be off the that one. In any event this will help you verify your settings are making it end to end. If you still seeing P500 then issue G31 T1 (or T3) P25 and then do M500.

            Also make sure you are loading the config.override in the config.g toward the very bottom of the file.

            M501 ; Load saved values

            Duet WiFi Powered FFCP with E3D legends hotend system. BLTouch grid leveling.

            1 Reply Last reply Reply Quote 0
            • redcurseundefined
              redcurse
              last edited by

              So it turns out what I thought was the first probe of the bed was actually just the head positioning itself to begin the auto leveling process. I had my height set a little too high and that was causing the crash. I fixed that issue and its working!

              Thanks again (In)Sanity. I was at least able to confirm a couple things were set up correctly with your help. I was able to focus on other things because of it to solve the issue. 🙂

              1 Reply Last reply Reply Quote 0
              • FrankNPrinterundefined
                FrankNPrinter
                last edited by

                Can someone please clarify the pin out below?duet wifi bl touch

                BLTouch endstop leads are paralleled with a 240ohm resistor as documented by Antclabs to make it safe for 3.3v logic and connected to E0 endstop header
                E0 end stop header? which pins? 3.3 v and (bltouch Orange?)
                E0 end stop (groud to E0 ground black, white to E0 Stop?)
                so close yet so confused lol

                1 Reply Last reply Reply Quote 0
                • dc42undefined
                  dc42 administrators
                  last edited by

                  I suggest you use the GND and IN pins on the Z probe connector, not the E0 endstop.

                  Duet WiFi hardware designer and firmware engineer
                  Please do not ask me for Duet support via PM or email, use the forum
                  http://www.escher3d.com, https://miscsolutions.wordpress.com

                  1 Reply Last reply Reply Quote 0
                  • FrankNPrinterundefined
                    FrankNPrinter
                    last edited by

                    Thank you very much! Been scratching my head on this so long, i starting getting things mixed up. It took me forever to figure out I was looking at a different model board. the difference between the duet and duet wifi pin out was killing me LOL For those that follow, BL Touch pins 1=brown to Duetwifi expansion pin 2, Pin 2= red +5 v to Duetwifi expansion pin 1, Pin 3 Orange control to expansion pin 8 AKA Heater 3, pin 4 = Black to ground z probe 5=white to Z Probe IN. and don't forget the 240 ohm resistor between the z probe min and ground.

                    1 Reply Last reply Reply Quote 0
                    • FrankNPrinterundefined
                      FrankNPrinter
                      last edited by

                      This is what i have so far. I think the pin assignments may be off right? Since this is the duet wifi expansion pin 8 is heater 3 and pins 1 and 2 are +5 vdc and ground. is it pin# or sam pin that i am looking for z probe pin? Also, the config files for retract and deploy, do they go in the config folder or macro folder?

                      ; BLTouch
                      M307 H3 A-1 C-1 D-1
                      M558 P4 X0 Y0 Z1 H3 F200 T5000
                      G31 P200 X-4 Y40 Z2

                      ##BLTouch Servo Settings thermistor ADC correction
                      switch.servo.enable true
                      switch.servo.input_on_command M280 S3.0 # M280 S7.5 Would be midway
                      switch.servo.input_off_command M280 S7.0 # Same as M280 S0 0% duty cycle, effectivley off
                      switch.servo.output_pin 1.23 # Must be a PWM capable pin
                      switch.servo.output_type hwpwm # H/W PWM output settable
                      switch.servo.pwm_period_ms 20 # Set Period to 20ms (50Hz) - Default is 50Hz

                      ;gamma_min_endstop nc # normally 1.28. Change to nc to prevent conflict, not needed on Azteeg X5

                      ;zprobe.enable true # set to true to enable a zprobe
                      ;zprobe.probe_pin 1.28!^ # pin probe is attached to if NC remove the !, Azteeg X5 this is 1.29
                      ;zprobe.slow_feedrate 5 # mm/sec probe feed rate
                      ;#zprobe.debounce_ms 1 # set if noisy
                      ;zprobe.fast_feedrate 100 # move feedrate
                      ;zprobe.probe_height 5 # how much above bed to start probe NB only needed for G32 on delta
                      ;zprobe.return_feedrate 0 # feedrate after a probe, default 0 is double of slow_feedrate (mm/s)

                      1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators
                        last edited by

                        The Z probe input pin is the one marked IN on the 4-pin Z-probe connector. You need to use P5 in the M558 command, not P4.

                        Duet WiFi hardware designer and firmware engineer
                        Please do not ask me for Duet support via PM or email, use the forum
                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                        1 Reply Last reply Reply Quote 0
                        • FrankNPrinterundefined
                          FrankNPrinter
                          last edited by

                          thanks again, I cant read that pin out diagram to save my life!

                          1 Reply Last reply Reply Quote 0
                          • claustroundefined
                            claustro
                            last edited by

                            Are this connections right?
                            Can someone make a step by step description of the firmware modifications required?

                            1 Reply Last reply Reply Quote 0
                            • dintidundefined
                              dintid
                              last edited by

                              Anyone know how to hook up BLTouch when using Duet WiFi + Duex5? meaning I do not have access to the expansion board pins?

                              I have read this and guess I should use mode 4 or 5? Aside from that, it links back to this post, which doesn't answer my questions (I have read all, but might obviously have missed something - sometimes unclear wheter we talk about WiFi or not)
                              https://duet3d.com/wiki/Connecting_a_Z_probe

                              and

                              https://duet3d.com/wiki/Setting_up_automatic_probing_of_the_print_bed which links to above page and talk about setting up in firmware, but I need to hook it up before I get here 🙂

                              RepRapFirmware supported G-codes: https://duet3d.com/wiki/G-code

                              1 Reply Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators
                                last edited by

                                Instead of using the heater 3 pin on the expansion bus, you will need to use the servo output pins on the DuetX5 that corresponding to an unused heater channel. So disable that heater channel with M307 instead of heater 3, use that heater channel in the M280 commands instead of 3, and don't use I1 in the M280 command.

                                You can get the 5V power from that servo connector as well.

                                Duet WiFi hardware designer and firmware engineer
                                Please do not ask me for Duet support via PM or email, use the forum
                                http://www.escher3d.com, https://miscsolutions.wordpress.com

                                1 Reply Last reply Reply Quote 0
                                • claustroundefined
                                  claustro
                                  last edited by

                                  Can someone confirm me the connections as shown 2 posts above?

                                  1 Reply Last reply Reply Quote 0
                                  • Fickertundefined
                                    Fickert
                                    last edited by

                                    Hi guys I am very new to the Duet WiFi and a bit lost by all the bits and pieces of info in this thread.

                                    Can someone with a working set try to cobble together the correct code and put it under a single post? The Config.g and bed.g code? I see a lot of P4's or P5's in the m558 command some say its right or wrong. Which is it? I am also a bit confused in terms of wiring and where did the m307 code go to reserve a pin for the servo input?

                                    Lastly a wiring diagram would be wonderful to help really see where this all gets wired in (for the 5v variant of bltouch)

                                    Thanks!

                                    1 Reply Last reply Reply Quote 0
                                    • Sniffleundefined
                                      Sniffle
                                      last edited by

                                      from the middle of page 2, I currently have a working BLTouch config that is used without issue.

                                      additional notes, check the documentation on the website any PWM pin on the expansion header can be used you will just need to reference the correct pin name in the M307 gcode that is added to the config, and due to the extremely fast trigger pulse sent to the board, a value under 100 is recomended(as noted i used 25 and the highest value i ever witnessed on the web interface for the probe trigger value was 181)

                                      @Sniffle:

                                      This is pretty much what I did. Bur I also made macro's for the deploy, retract, reset and self test functions of the probe.

                                      @W3DRK:

                                      • BLTouch 5V leads are connected to expansion header pins 1-2, and the servo lead is connected to pin 21 (PWM for heater 3)

                                      • BLTouch endstop leads are paralleled with a 240ohm resistor as documented by Antclabs to make it safe for 3.3v logic and connected to E0 endstop header

                                      • [c]M307 H3 A-1 C-1 D-1[/c] is added to config.g to reserve pin 21 for M42 or servo use

                                      • M558 is set to probe type 4 and G31 is set for a very low trigger value since the BLTouch only triggers the endstop for 5ms(Sniffle used 25)

                                      • Deployprobe.g macro contains the line [c]M280 P3 S10 I1[/c] to deploy the BLTouch probe

                                      • Retractprobe.g macro contains the line [c]M280 P3 S90 I1[/c] to retract the BLTouch probe

                                      • Deploy and Retract macros are added to bed.g and homing macros

                                      And I think that's about it…

                                      Also as far as commissioning the probe, and notes of interest from experience

                                      the probe should be deployed and manually triggered until a value is seen in the web interface(the web interface doesnt update fast enough to always show a triggered state so it may take a few/several triggers until you see the value in the web interface to know that it works)

                                      you should know or confirm your offsets for X and Y in G31 move the probe to the first probe position and deploy the probe, if it is off the bed and the bed is too high it WILL destroy the probe(ask me how i know…) when probing, and adjustments must be made.

                                      to finally verify that the probe is working properly using the machine itself use the following macro(replace xxx on X and Y to a safe value to be on the bed on your printer)

                                      G28 X Y ;home x&y
                                      G91 ;relative mode
                                      G1 Z10 ;move Z up 10 mm to ensure clearance
                                      G90 ;absolute mode
                                      G1 Xxxx Yxxx ;move to a safe probing point on the bed modify xxx to your liking
                                      M98 Pdeployprobe.g ;deploy the probe
                                      G30 S-1 ;probe Z until the probe triggers
                                      M98 Pretractprobe.g ;retract the probe after triggering and stop.
                                      
                                      

                                      Other Useful Macros


                                      Deploy Probe


                                      M280 P3 S10 I1
                                      

                                      Restract Probe


                                      M280 P3 S90 I1
                                      

                                      Self Test Probe


                                      M280 P3 S120 I1
                                      

                                      Reset Probe Error State


                                      M280 P3 S160 I1
                                      

                                      G29 - Mesh Leveling


                                      G28
                                      G91
                                      G1 Z4 F200
                                      G90
                                      M98 Pdeployprobe.g
                                      G29 S2
                                      G29
                                      M98 Pretractprobe.g
                                      G1 X10 Y10 F5000 
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • dc42undefined
                                        dc42 administrators
                                        last edited by

                                        @3dprinting:

                                        this might be a really stupid question, but is what was written all the commands for each macro, or just added on to what's already there? for example, my current deploy macro reads:
                                        ; Probe deployment routine for Mini Kossel
                                        M564 S0 ; don't apply limits
                                        G1 X25 Y93 Z40 F10000 ; put probe arm next to belt
                                        G1 X-5 F500 ; move probe arm across belt
                                        G1 X12 F1000 ; move probe back
                                        G1 X0 Y0 F10000 ; move to somewhere sensible
                                        M564 S1 ; apply limits again

                                        Do I just delete all that stuff and replace it with:
                                        M280 P3 S10 I1

                                        or add it on to the bottom of all that's already there? No I do not have a mini kossell, not even sure why it says that.
                                        read the handle, I know just enough to be dangerous at this point. It's a new board and I've never set it up before, but I need to nail this because I have no mechanical endstop.
                                        Thanks for your help!

                                        Yes you should replace what's already in deployprobe.g and retractprobe.g by the M280 commands that deploy and retract the probe. Then make sure that your bed.g file calls those macro files using M98.

                                        Please can someone who has bltouch working update the wiki page at https://duet3d.com/wiki/Connecting_a_Z_probe.

                                        Duet WiFi hardware designer and firmware engineer
                                        Please do not ask me for Duet support via PM or email, use the forum
                                        http://www.escher3d.com, https://miscsolutions.wordpress.com

                                        1 Reply Last reply Reply Quote 0
                                        • Fickertundefined
                                          Fickert
                                          last edited by

                                          @Sniffle:

                                          from the middle of page 2, I currently have a working BLTouch config that is used without issue.

                                          additional notes, check the documentation on the website any PWM pin on the expansion header can be used you will just need to reference the correct pin name in the M307 gcode that is added to the config, and due to the extremely fast trigger pulse sent to the board, a value under 100 is recomended(as noted i used 25 and the highest value i ever witnessed on the web interface for the probe trigger value was 181)

                                          @Sniffle:

                                          This is pretty much what I did. Bur I also made macro's for the deploy, retract, reset and self test functions of the probe.

                                          @W3DRK:

                                          • BLTouch 5V leads are connected to expansion header pins 1-2, and the servo lead is connected to pin 21 (PWM for heater 3)

                                          • BLTouch endstop leads are paralleled with a 240ohm resistor as documented by Antclabs to make it safe for 3.3v logic and connected to E0 endstop header

                                          • [c]M307 H3 A-1 C-1 D-1[/c] is added to config.g to reserve pin 21 for M42 or servo use

                                          • M558 is set to probe type 4 and G31 is set for a very low trigger value since the BLTouch only triggers the endstop for 5ms(Sniffle used 25)

                                          • Deployprobe.g macro contains the line [c]M280 P3 S10 I1[/c] to deploy the BLTouch probe

                                          • Retractprobe.g macro contains the line [c]M280 P3 S90 I1[/c] to retract the BLTouch probe

                                          • Deploy and Retract macros are added to bed.g and homing macros

                                          And I think that's about it…

                                          Also as far as commissioning the probe, and notes of interest from experience

                                          the probe should be deployed and manually triggered until a value is seen in the web interface(the web interface doesnt update fast enough to always show a triggered state so it may take a few/several triggers until you see the value in the web interface to know that it works)

                                          you should know or confirm your offsets for X and Y in G31 move the probe to the first probe position and deploy the probe, if it is off the bed and the bed is too high it WILL destroy the probe(ask me how i know…) when probing, and adjustments must be made.

                                          to finally verify that the probe is working properly using the machine itself use the following macro(replace xxx on X and Y to a safe value to be on the bed on your printer)

                                          G28 X Y ;home x&y
                                          G91 ;relative mode
                                          G1 Z10 ;move Z up 10 mm to ensure clearance
                                          G90 ;absolute mode
                                          G1 Xxxx Yxxx ;move to a safe probing point on the bed modify xxx to your liking
                                          M98 Pdeployprobe.g ;deploy the probe
                                          G30 S-1 ;probe Z until the probe triggers
                                          M98 Pretractprobe.g ;retract the probe after triggering and stop.
                                          
                                          

                                          Other Useful Macros


                                          Deploy Probe


                                          M280 P3 S10 I1
                                          

                                          Restract Probe


                                          M280 P3 S90 I1
                                          

                                          Self Test Probe


                                          M280 P3 S120 I1
                                          

                                          Reset Probe Error State


                                          M280 P3 S160 I1
                                          

                                          G29 - Mesh Leveling


                                          G28
                                          G91
                                          G1 Z4 F200
                                          G90
                                          M98 Pdeployprobe.g
                                          G29 S2
                                          G29
                                          M98 Pretractprobe.g
                                          G1 X10 Y10 F5000 
                                          
                                          

                                          Sniffy,

                                          First I want to thank you for all the help thus far. I suppose I am still just extremely confused by this new folder structure as well as the pinouts do not make sense to me currently.

                                          The P3 in the retract and deploy commands, what is this referencing?

                                          I have the bltouch to the in an gnd on the probe headers on the duet, as well as the servo wire on pin 21 of the expansion header (is this right?) but there is no deployment or retraction of the bltouch. I also have the 307 command as you have written in your post, but I am completely in the dark on how to link this code to the pin 21 on the expansion headers.

                                          I am just very confused still. Nothing is making sense to me currently and I keep blindly adding, and modifying spurts of code I see throughout this thread. Is it possible for you to copy in whatever files are relevant into this thread? Any macros, config.g, etc? I understand some people find this insulting so if this is a problem I understand.

                                          1 Reply Last reply Reply Quote 0
                                          • Sniffleundefined
                                            Sniffle
                                            last edited by

                                            @dc42:

                                            @3dprinting:

                                            this might be a really stupid question, but is what was written all the commands for each macro, or just added on to what's already there? for example, my current deploy macro reads:
                                            ; Probe deployment routine for Mini Kossel
                                            M564 S0 ; don't apply limits
                                            G1 X25 Y93 Z40 F10000 ; put probe arm next to belt
                                            G1 X-5 F500 ; move probe arm across belt
                                            G1 X12 F1000 ; move probe back
                                            G1 X0 Y0 F10000 ; move to somewhere sensible
                                            M564 S1 ; apply limits again

                                            Do I just delete all that stuff and replace it with:
                                            M280 P3 S10 I1

                                            or add it on to the bottom of all that's already there? No I do not have a mini kossell, not even sure why it says that.
                                            read the handle, I know just enough to be dangerous at this point. It's a new board and I've never set it up before, but I need to nail this because I have no mechanical endstop.
                                            Thanks for your help!

                                            Yes you should replace what's already in deployprobe.g and retractprobe.g by the M280 commands that deploy and retract the probe. Then make sure that your bed.g file calls those macro files using M98.

                                            Please can someone who has bltouch working update the wiki page at https://duet3d.com/wiki/Connecting_a_Z_probe.

                                            I started to and then the kids got in the way, I'll start working on it when i get a chance.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA