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.
    • dc42undefined
      dc42 administrators
      last edited by

      There are two sorts of bed compensation you can do:

      1. Mesh levelling, using M557 to define the grid and G29 S0 (or just G29) to probe it. The height map is saved to a file, the default filename is heightmap.csv. You can also load a previously-generated height map using G29 S1.

      2. Bed probing using a sequence of G30 commands. On Delta printers this does auto calibration. On Cartesian printers it is an older way of doing bed compensation, provided for backwards compatibility with older firmware that didn't support mesh levelling.

      The G32 command simply runs the bed.g file.

      On a Cartesian printer, you can use either mesh levelling (G29) or G30 probing, not both. I recommend mesh levelling. So I suggest you put your mesh levelling script in bed.g.

      I'll leave it for someone who has a BLTouch to help you with your BLTouch issue.

      HTH David

      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

        Thank you very much for your assistance , I am really happy with your board!

        1 Reply Last reply Reply Quote 0
        • patterson6undefined
          patterson6
          last edited by

          How does this look? I have a delta with a 300mm bed.

          In my system editor i have

          config.g
          ;**************** Z probe and compensation definition****************
          M558 P5 X0 Y0 Z1 H5 F100 T2000
          M307 H3 A-1 C-1 D-1
          M557 R125 S15
          G31 X19 Y-11 Z1.5 P1 ; Set the zprobe offset and threshold (determine your printer's Z offset value). For a delta, use zero X and Y offset.

          bed.g
          ;Bed*****
          G28 ;Home the printer
          G91 ;Set to Relative Positioning
          G0 Z5 F3500 ;Move to center 5mm from bed
          G90 ;Set to Absolute Positioning
          M561 ;Clear any bed transform, otherwise homing may be at the wrong height
          M557 R115 S15 ;Mesh leveling
          M98 Presetprobe.g ;Call macro reset prob
          M98 Pdeployprobe.g ;Call macro deploy probe
          G4 P50 ;Pause
          G29 S2 ;Clear height map
          G29 S0 ;Generate bed height map
          M98 Pretractprobe.g ;Call macro retract probe
          G1 X0 Y0 Z150 F15000 ;Get the head out of the way of the bed

          Prefix code


          M141 S45 ; Heat the chamber
          M140 S <bed>; ;Heat the bed
          M190 ; Wait for bed to reach temp
          G28 ; Home
          M104 ; Set extruder temperature
          M109 ; Set extruder temperature and wait
          G21 ; Set Units to Millimeters
          G90 ; Set to Absolute Positioning
          M82 ; Set extruder to absolute mode
          G92 E0; Set Position for extruder
          G29 S1 ; Load bed height map</bed>

          1 Reply Last reply Reply Quote 0
          • AaronGreenundefined
            AaronGreen
            last edited by

            Hi everyone.

            I've read through this entire thread 3 or 4 times now and I still can't get my DuetWiFi-BLTouch deploying, let alone retracting or bed levelling.

            I've followed the BLTouch Wiki through and have the exact wiring connections.

            What happens when I run a Home All, or even a Deploy Command, M401 or M280 P3 S10 I1, it homes X and Y successfully, then throws this error: INVALID M CODE: M401, or INVALID M CODE M280 P3 S10 I1, if I have changed all the deploy commands to the latter. I haven't been able to find this error code anywhere on the Duet forum or the internet.

            When I start the Tevo Black Widow printer, the BLTouch lights up and deploys and retracts twice, before defaulting to the constantly lit state with the pin up. I had been using it perfectly fine with the MKS board, before switching to the Duet. I also don't have any macros set up yet, so I don't know if that's an issue for testing the BLTouch or running a home command.

            I've been working on it for 4 days straight now and I have no idea what to do, please help.

            Here's my config.g, which was set up by someone in my FB group:

            ; Configuration file for Duet WiFi (firmware version 1.17)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool on Sat Mar 04 2017 15:46:00 GMT+0100 (W. Europe Standard Time)

            ; General preferences
            M111 S0 ; Debugging off
            G21 ; Work in millimetres
            G90 ; Send absolute coordinates…
            M83 ; ...but relative extruder moves
            M555 P2 ; Set firmware compatibility to look like Marlin
            M208 X0 Y0 Z0 S1 ; Set axis minima
            M208 X340 Y250 Z280 S0 ; Set axis maxima

            ; Endstops
            M574 X1 Y1 Z1 S0 ; Define active low and unused microswitches
            M558 P5 X0 Y0 Z1 H5 F200 T6000 ; Set Z probe type to modulated, the axes for which it is used and the probe + travel speeds
            G31 X-40 Y7 Z0.9 P50 ; Set Z probe trigger value, offset and trigger height

            ;Z-offset (Z0.9). Higher value LOWER nozzle height
            ; Lower value RAISE nozzle height

            M557 X10:340 Y10:240 S68 ; Define mesh grid

            M307 H3 A-1 C-1 D-1 ; disable heater 3, which makes it available for use to control the BLTouch

            ; Drives
            M569 P0 S1 ; 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 - Extruder

            M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation 16
            M92 X160 Y160 Z1600 E800 ; Set steps per mm 16

            M566 X600 Y420 Z12 E120 ; Set maximum instantaneous speed changes (mm/min) - (JERK)

            M203 X6000 Y6000 Z500 E400 ; Set maximum speeds (mm/min)

            M201 X1000 Y1000 Z1000 E250 ; Set accelerations (mm/s^2)

            M204 P1000 T1000 ; Set Max acceleration for P=printing moves and T=travel moves
            M906 X1600 Y1600 Z900 E1000 I30 ; Set motor currents (mA) and motor idle factor in per cent
            M84 S30 ; Set idle timeout

            ; Heaters
            M143 S285 ; Set maximum heater temperature to 285C
            ;M305 P1 X101

            M305 P1 T107000 B10832 C4.891620e-7 R4700 ; Set thermistor + ADC parameters for heater 0 - BED
            M305 P0 T99600 B4388 C0 R4700 ; Set thermistor + ADC parameters for heater 1 - HOTEND E3d

            M307 H0 P96.0, I3.285, D603.9 ;Bed
            ;M307 H1 P1.1, I0.011, D51.5 ;Hotend pid

            M307 H1 P17.8, I0.055, D74.9 ;Hotend E3d pid

            ; 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
            M550 Black Widow ; Set machine name
            M552 P0.0.0.0 S1 ; Enable network and acquire dynamic address via DHCP

            ; Fans
            M106 P0 S0.3 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

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

              What version of RepRapFirmware are you running? It must be quite old if it doesn't support M280 or M401.

              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
              • Sabagmnundefined
                Sabagmn
                last edited by

                I don't have access to my BW config file at work here, but one thing I would try, is to leave off the I1 (invert polarity) in the M280 command. When I used the BLTouch, it would not work with that parameter set.

                So basically just try this to deploy:
                M280 P3 S10

                @AaronGreen:

                Hi everyone.

                I've read through this entire thread 3 or 4 times now and I still can't get my DuetWiFi-BLTouch deploying, let alone retracting or bed levelling.

                I've followed the BLTouch Wiki through and have the exact wiring connections.

                What happens when I run a Home All, or even a Deploy Command, M401 or M280 P3 S10 I1, it homes X and Y successfully, then throws this error: INVALID M CODE: M401, or INVALID M CODE M280 P3 S10 I1, if I have changed all the deploy commands to the latter. I haven't been able to find this error code anywhere on the Duet forum or the internet.

                When I start the Tevo Black Widow printer, the BLTouch lights up and deploys and retracts twice, before defaulting to the constantly lit state with the pin up. I had been using it perfectly fine with the MKS board, before switching to the Duet. I also don't have any macros set up yet, so I don't know if that's an issue for testing the BLTouch or running a home command.

                I've been working on it for 4 days straight now and I have no idea what to do, please help.

                1 Reply Last reply Reply Quote 0
                • AaronGreenundefined
                  AaronGreen
                  last edited by

                  @dc42:

                  What version of RepRapFirmware are you running? It must be quite old if it doesn't support M280 or M401.

                  I'm using RepRapFirmware: 1.15b (2016-08-25)

                  1 Reply Last reply Reply Quote 0
                  • AaronGreenundefined
                    AaronGreen
                    last edited by

                    @Sabagmn:

                    I don't have access to my BW config file at work here, but one thing I would try, is to leave off the I1 (invert polarity) in the M280 command. When I used the BLTouch, it would not work with that parameter set.

                    So basically just try this to deploy:
                    M280 P3 S10

                    I saw your post and tried this solution immediately, but it didn't fix the error.

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

                      You will need the I1 parameter on the M280 command if you have the BLTouch connected to the Heater 3 pin on the expansion connector. If you have a DueX2 or DueX5 connected and you connect the BLTouch to one of the servo outputs on the DueX instead, then you don't need the I1 parameter.

                      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
                      • tomasroundefined
                        tomasro
                        last edited by

                        If there was a wiring diagram to show that the connections for the BLTouch was to the 4pin Z-probe input, and not the 3pin Z-endstop input, this would have been helpful 2 days ago. To the laymen and on other control boards, there is no differentiation between these items. It would not be conceivable to have an z endstop and a z probe existing at the same time.

                        @dc42

                        1 Reply Last reply Reply Quote 0
                        • AaronGreenundefined
                          AaronGreen
                          last edited by

                          @dc42:

                          You will need the I1 parameter on the M280 command if you have the BLTouch connected to the Heater 3 pin on the expansion connector. If you have a DueX2 or DueX5 connected and you connect the BLTouch to one of the servo outputs on the DueX instead, then you don't need the I1 parameter.

                          It's just the Duet WiFi by itself. I have tried the M280 command with the I1 parameter, and it doesn't work. It just says Invalid M Code still.

                          What do I do now?

                          1 Reply Last reply Reply Quote 0
                          • T3P3Tonyundefined
                            T3P3Tony administrators
                            last edited by

                            Start by upgrading to version. 1.18

                            www.duet3d.com

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

                              @AaronGreen:

                              @T3P3Tony:

                              Start by upgrading to version. 1.18

                              I can't figure out how to upgrade the firmware. I have the Arduino program, which I used to update the MKS board with Marlin. Pretty easy.

                              What's the latest process for doing this for RepRap?

                              It's all on the wiki, https://duet3d.com/wiki/Duet_Wiki#Updating_Duet_WiFi_firmware.

                              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
                              • AaronGreenundefined
                                AaronGreen
                                last edited by

                                @dc42:

                                @AaronGreen:

                                @T3P3Tony:

                                Start by upgrading to version. 1.18

                                I can't figure out how to upgrade the firmware. I have the Arduino program, which I used to update the MKS board with Marlin. Pretty easy.

                                What's the latest process for doing this for RepRap?

                                It's all on the wiki, https://duet3d.com/wiki/Duet_Wiki#Updating_Duet_WiFi_firmware.

                                Thanks, I just happened to see it at the same time I received your response.

                                It's now homing X, Y, and Z.

                                The next issue I have to work through is that it's not stopping on Z, and rams the bed. I double-checked the config update I was using, and used my finger to test the BLT, but it still rams.

                                I'll go back through the thread, but you have an immediate fix then please let me know.

                                Thanks for your help.

                                1 Reply Last reply Reply Quote 0
                                • Jareryundefined
                                  Jarery
                                  last edited by

                                  Im using a BLTouch, a fairly new 'smart' version.

                                  It seems to be working correctly, but i've never cut the trace to change it from 5v to 3.3v.

                                  Since its hooked to the 5v output on the duet, whats correct?
                                  A) - Cut it to work at 3.3v
                                  B) - leave it at 5v
                                  C) - if its working don't f$*k with it regardless of settings,
                                  D) - Its gonna blow up, fry the duet, and burn down the house by running at 5v…..

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

                                    It's safest to cut the trace.

                                    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
                                    • Nylkosundefined
                                      Nylkos
                                      last edited by

                                      Been trying to setup my BLTouch for a couple of days…
                                      I can't seem to find out how to do it properly... I do not get the flashing red, the probe retract, deploys a few times and remain red.

                                      I keep getting the Z-Probe field in red

                                      I tried wired has the image below. I also tried with the White wired in the Probe In instead of the E1.

                                      Since the field is red from connecting, I do not believe my issue to be from elsewhere then the Config.g

                                      I am using the 1.19.2 version. On a Duet 0.8.5

                                      I added the required code and .g files

                                      • I moved all the requested codes to the bottom for convenience.

                                      ; Configuration file for Duet 0.8.5 (firmware version 1.17)
                                      ; executed by the firmware on start-up
                                      ;
                                      ; generated by RepRapFirmware Configuration Tool on Fri Sep 01 2017 23:00:38 GMT-0400 (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

                                      M667 S1 ; Select CoreXY mode
                                      M208 X0 Y0 Z0 S1 ; Set axis minima
                                      M208 X300 Y300 Z300 S0 ; Set axis maxima

                                      ; Endstops
                                      M574 Z0 S0 ; Define active low and unused microswitches
                                      M574 X2 Y2 S0 ; Define active high microswitches
                                      G31 P600 X1.8 Y3 Z2.5 ; Set Z probe trigger value, offset and trigger height
                                      M557 X15:285 Y15:285 S20 ; 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 S1 ; Drive 3 goes forwards
                                      M92 X160 Y160 Z800 E100 ; Set steps per mm
                                      M566 X900 Y900 Z12 E120 ; Set maximum instantaneous speed changes (mm/min)
                                      M203 X6000 Y6000 Z180 E1200 ; Set maximum speeds (mm/min)
                                      M201 X500 Y20 Z250 E250 ; Set accelerations (mm/s^2)
                                      M906 X800 Y800 Z800 E800 I30 ; Set motor currents (mA) and motor idle factor in per cent
                                      M84 S30 ; Set idle timeout

                                      ; Heaters
                                      M143 S300 ; Set maximum heater temperature to 300C
                                      M305 P0 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 0
                                      M305 P1 T100000 B4138 C0 R4700 ; Set thermistor + ADC parameters for heater 1

                                      ; 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
                                      M550 PMy printer ; Set machine name
                                      M540 PBE:EF:DE:AD:FE:ED ; Set MAC address
                                      M552 P192.168.2.50 S1 ; Enable network and set IP address
                                      M553 P255.255.255.0 ; Set netmask
                                      M554 P192.168.2.254 ; Set gateway
                                      M586 P0 S1 ; Enable HTTP
                                      M586 P1 S0 ; Disable FTP
                                      M586 P2 S0 ; Disable Telnet

                                      ; Fans
                                      M106 P0 S0.3 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

                                      ; Custom settings
                                      M307 H1 A506.7 C200.3 D6.0 B0 ; Save hotend PID

                                      M307 H3 A-1 C-1 D-1 ; reserve pin 21 for M42 or servo use
                                      M558 P5 X0 Y0 Z1 H5 F100 T2000
                                      G31 X3 Y-1.8 Z0 P25
                                      T0

                                      deployprobe.g

                                      M280 P3 S10 I1

                                      retractprobe.g

                                      M280 P3 S90 I1

                                      I am seriously stuck…

                                      Thanks you for your help.

                                      1 Reply Last reply Reply Quote 0
                                      • davidbittonundefined
                                        davidbitton
                                        last edited by

                                        @Jdn-za:

                                        Seems I just had the wrong value in my retract macro… awkward 😛

                                        What/which value and what/which macro?

                                        1 Reply Last reply Reply Quote 0
                                        • Biggsisundefined
                                          Biggsis
                                          last edited by

                                          Alright, I have a BLTouch mostly working with my Duet Wifi, G29 is working, map is created and used so far, but I somehow dont get the maths right.
                                          I am using the BLTouch as the Z-Min Endstop and it works so far, bed touches the pin, stops. etc.
                                          But how do I get the right value for the Z-Offset of the probe right?

                                          I have this line:

                                          G31 X40 Y5 Z1.00 P25

                                          the X and Y offset was measured by me, but the Z offset is not the right value, I was more or less just guessing and when I start printing the nozzle is far too close to the bed and I have to BabyStep lift the nozzle by 0.55 mm up in order to print usable on the bed.

                                          Now I am aware that I should change that offset value but where to? Add .55 to the G31 Z Value? Or subtract? I dont get it since I guess I did not completely understand, what the Z offset in the G31 line really is. The distance between the trigger height of the probe and the tip of the nozzle?

                                          Maybe someone can enlighten me about the correct procedure / maths.

                                          Thanks a lot.

                                          Hypercube Evolution User Group : https://www.facebook.com/groups/Hypercubeevolution/
                                          Kossel Delta XL / XXL User Group : [https://www.facebook.com/groups/KosselXXL/]

                                          1 Reply Last reply Reply Quote 0
                                          • Sabagmnundefined
                                            Sabagmn
                                            last edited by

                                            Correct. The Z offset is the difference between the trigger height of the probe and the height of the nozzle tip. So in your case that would be around 0.45, which would be what you put as your Z value.

                                            It basically just means that when your probe triggers, it will know that the nozzle is still 0.45mm above the bed.
                                            Here are good instructions for finding the correct value:
                                            https://duet3d.com/wiki/Using_mesh_bed_compensation

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