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

    Duet3 6HC not deploying BL touch for mesh bed leveling

    Scheduled Pinned Locked Moved Solved
    Tuning and tweaking
    5
    79
    3.7k
    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.
    • autopilot.exeundefined
      autopilot.exe
      last edited by

      Hey fellow duet 3 users. I've run into an issue and I think I'm driving myself insane trying to solve it. My team and I recycled an old GigaBot frame to build a printer that can use E3D's new tool change system. We are using a Duet 3 6HC and a 3HC expansion board to drive everything.
      Everything works as intended except for the following:

      1. Mesh bed leveling via G28 does not deploy the BLTouch (v3.1). The BLTouch works great as a Z endstop and is recognized by the board. Homing Z, the printer moves to the correct X and Y location and deploys the probe. The bed comes up and touches off and the probe retracts. My macros for pin up, pin down, and self test all work as intended. When I try to mesh bed level the toolhead moves to the correct X and Y location and the BLTouch does not deploy. The bed moves up and I have to hit the estop in order to avoid a collision.
      2. Home all does not work as intended. My "c" axis (the toolhead coupler), X axis, and Y axis home correctly. When it reaches the Z axis stage the toolhead moves to the correct X and Y location and the BLTouch does not deploy. The bed moves up and I have to hit the estop in order to avoid a collision. Just homing Z with the button on the web control dashboard does not create any issues. I can home every axis individually without any problems, using the button for home all on the dashboard is what breaks it.

      If anyone has any time to look at it, here is my code:

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Mar 05 2021 11:02:45 GMT-0600 (Central Standard Time)
      
      ; General preferences
      G90                                                                    ; send absolute coordinates...
      M83                                                                    ; ...but relative extruder moves
      M550 P"GigaBot Nue 2"                                                  ; set printer name
      
      ; Network
      M552 P10.0.0.84 S1                                                      ; enable network and acquire dynamic address via DHCP
      M586 P0 S1                                                            ; enable HTTP
      M586 P1 S0                                                            ; disable FTP
      M586 P2 S0                                                            ; disable Telnet
      
      ; Drives
      M569 P0.1 S0                                                          ; physical drive 0.1 goes backwards
      M569 P0.2 S1                                                          ; physical drive 0.2 goes forwards
      M569 P0.4 S0                                                          ; physical drive 0.4 goes backwards
      M569 P0.0 S0                                                          ; physical drive 0.0 goes backwards
      M569 P0.3 S0                                                          ; physical drive 0.3 goes backwards
      M569 P0.5 S0                                                          ; physical drive 0.5 goes backwards
      M569 P1.0 S1                                                          ; physical drive 1.0 goes forwards
      M569 P1.1 S1                                                          ; physical drive 1.1 goes forwards
      M584 X0.1 Y0.2:0.3 Z0.4:0.5 C0.0 E1.0:1.1                             ; set drive mapping
      M350 X16 Y16 Z16 E16:16:16:16:16 I1                                   ; configure microstepping with interpolation
      M350 C8 I0							      ; configure microstepping without interpolation
      M92 X59.162 Y59.25 Z2019.11 C100 E834.00:834.00                       ; set steps per mm
      M566 X900.00 Y900.00 Z120.00 C2 E2.00:2.00                            ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z360.00 C5000 E1200.00:1200.00                 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 C400.00 E250.00:250.00                    ; set accelerations (mm/s^2)
      M906 X2300 Y2300 Z2300 C400 E1680:1680 I30                            ; set motor currents (mA) and motor idle factor in per cent
      M84 S120                                                              ; Set idle timeout
      
      ; Axis Limits
      M208 X50 Y0 Z0 C0 S1                                                  ; set axis minima
      M208 X550 Y550 Z550 C260 S0                                           ; set axis maxima
      
      ; Endstops
      M574 X1 S1 P"!io1.in"                                                  ; configure active-high endstop for low end on X via pin !io1.in
      M574 Y1 S1 P"!io0.in"                                                  ; configure active-high endstop for low end on Y via pin !io0.in
      M574 Z1 S2 P"!io7.in"                                                            ; configure Z-probe endstop for low end on Z
      
      ; Stall detection for tool coupler
      M915 C S5 F0 H200
      
      ; Z-Probe
      M950 S0 C"io7.out"                                                     ; create servo pin 0 for BLTouch
      M558 P9 C"^io7.in" H5 F120 T6000                                       ; set Z probe type to bltouch and the dive height + speeds
      M557 X100:400 Y100:400 S25:25                                          ; define mesh grid
      G31 P50 X-63 Y-61 Z2.5                                                 ; set Z probe trigger value, offset and trigger height
      
      ; Heaters
      M308 S0 P"spi.cs0" Y"thermocouple-max31856"                            ; configure sensor 0 as thermocouple via CS pin spi.cs0
      M950 H0 C"out1" T0                                                     ; create bed heater output on out1 and map it to sensor 0
      M307 H0 A84.5 C971.6 D2.8 S1.00 V0.0 B1 S1.00                          ; enable bang-bang mode for the bed heater and set PWM limit
      M140 H0                                                                ; map heated bed to heater 0
      M143 H0 S120                                                           ; set temperature limit for heater 0 to 120C
      M308 S1 P"temp3" Y"thermistor" T100000 B4138                           ; configure sensor 1 as thermistor on pin temp3
      M950 H1 C"out3" T1                                                     ; create nozzle heater output on out3 and map it to sensor 1
      M307 H1 B0 S1.00                                                       ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S275                                                           ; set temperature limit for heater 1 to 275C
      M308 S2 P"temp2" Y"thermistor" T100000 B4138                           ; configure sensor 2 as thermistor on pin temp2
      M950 H2 C"out2" T2                                                     ; create nozzle heater output on out2 and map it to sensor 2
      M307 H2 B0 S1.00                                                       ; disable bang-bang mode for heater  and set PWM limit
      M143 H2 S275                                                           ; set temperature limit for heater 2 to 275C
      
      ; Fans
      M950 F0 C"out8" Q500                                                   ; create fan 0 on pin out8 and set its frequency
      M106 P0 S1 H1 T45                                                      ; set fan 0 value. Thermostatic control is turned on
      M950 F1 C"out7" Q500                                                   ; create fan 1 on pin out7 and set its frequency
      M106 P1 S1 H2 T45                                                      ; set fan 1 value. Thermostatic control is turned on
      M950 F2 C"1.out8" Q500                                                 ; create fan 2 on pin 1.out8 and set its frequency
      M106 P2 S0 H-1                                                         ; set fan 2 value. Thermostatic control is turned off
      M950 F3 C"1.out7" Q500                                                 ; create fan 3 on pin 1.out7 and set its frequency
      M106 P3 S0 H-1                                                         ; set fan 3 value. Thermostatic control is turned off
      
      ; Tools
      M563 P1 S"FDM1" D0 H1 F0:2                                             ; define tool 1
      G10 P1 X0 Y0 Z0                                                        ; set tool 1 axis offsets
      G10 P1 R0 S0                                                           ; set initial tool 1 active and standby temperatures to 0C
      M563 P2 S"FDM2" D1 H2 F0:3                                             ; define tool 2
      G10 P2 X0 Y0 Z0                                                        ; set tool 2 axis offsets
      G10 P2 R0 S0                                                           ; set initial tool 2 active and standby temperatures to 0C
      
      ; Custom settings are not defined
      
      ; Miscellaneous
      M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"                     ; set voltage thresholds and actions to run on power loss
      
      
      
      ; bed.g
      ; called to perform automatic bed compensation via G32
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Mar 06 2021 11:26:02 GMT-0600 (Central Standard Time)
      M561 ; clear any bed transform
      M280 P0 S10
      G29 ; probe the bed and enable compensation
      
      ; deployprobe.g
      ; called to deploy a physical Z probe
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Mar 06 2021 11:26:03 GMT-0600 (Central Standard Time)
      M280 P0 S10 ; deploy BLTouch
      
      
      ; retractprobe.g
      ; called to retract a physical Z probe
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Mar 06 2021 11:26:03 GMT-0600 (Central Standard Time)
      M280 P0 S90 ; retract BLTouch
      
      
      
      ; homeall.g
      ; called to home all axes
      ;
      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Mar 05 2021 11:02:45 GMT-0600 (Central Standard Time)
      M98 P"homec.g"		; Home C (ToolHead)
      M98 P"homex.g"      ; Home X
      M98 P"homey.g"      ; Home Y
      M98 P"homez.g"      ; Home Z
      
      ;G91                     ; relative positioning
      ;G1 H2 Z5 F6000          ; lift Z relative to current position
      ;G1 H1 X-505 Y-505 F1800 ; move quickly to X and Y axis endstops and stop there (first pass)
      ;G1 H2 X5 Y5 F6000       ; go back a few mm
      ;G1 H1 X-505 Y-505 F360  ; move slowly to X and Y axis endstops once more (second pass)
      ;G90                     ; absolute positioning
      ;G1 X163 Y161 F6000      ; go to first bed probe point and home Z
      ;G30                     ; home Z by probing the bed
      
      ; Uncomment the following lines to lift Z after probing
      ;G91                    ; relative positioning
      ;G1 Z5 F100             ; lift Z relative to current position
      ;G90                    ; absolute positioning
      
      

      The reason my home all script is kind of a mess is due to me trying things over and over. I'm out of ideas.

      Thanks!

      Phaedruxundefined 1 Reply Last reply Reply Quote 0
      • fcwiltundefined
        fcwilt
        last edited by

        Hi,

        Regards the command M574 Z1 S2 P"!io7.in"

        From the docs for M574:

        Snnn 1 = switch-type (eg microswitch) endstop input, 2 = Z probe (when used to home an axis other than Z), 3 = single motor load detection, 4 = multiple motor load detection (see Notes).

        Given that you try to use io7.in twice I would not be surprised if the configuration of the Z probe is failing.

        Do this for us please:

        From the console execute M98 P"config.g" and check for any error messages.

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

        1 Reply Last reply Reply Quote 0
        • autopilot.exeundefined
          autopilot.exe
          last edited by

          Screenshot 2021-03-09 135242.jpg

          So before adding the P"io7.in" after the M574 command the bltouch would work for the initial home z but if I tried to home z again the probe would not deploy. The toolhead would go the the correct X and Y location and the bed would move without deploying the probe. The only way to "release" the probe would be to power cycle the machine. For some reason adding that P parameter fixed this issue. I agree it is unusual since it should just be M574 Z1 S2.

          fcwiltundefined 1 Reply Last reply Reply Quote 0
          • fcwiltundefined
            fcwilt @autopilot.exe
            last edited by

            @autopilot-exe said in Duet3 6HC not deploying BL touch for mesh bed leveling:

            For some reason adding that P parameter fixed this issue. I agree it is unusual since it should just be M574 Z1 S2.

            Please read the docs again where it says:

            2 = Z probe (when used to home an axis other than Z)

            You should not have that command at all unless it is specifying a normal endstop sensor for Z.

            Frederick

            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

            autopilot.exeundefined 1 Reply Last reply Reply Quote 0
            • Phaedruxundefined
              Phaedrux Moderator @autopilot.exe
              last edited by

              @autopilot-exe said in Duet3 6HC not deploying BL touch for mesh bed leveling:

              M98 P"homec.g" ; Home C (ToolHead) M98 P"homex.g" ; Home X M98 P"homey.g" ; Home Y M98 P"homez.g" ; Home Z

              Post these macros please.

              Z-Bot CoreXY Build | Thingiverse Profile

              autopilot.exeundefined 1 Reply Last reply Reply Quote 0
              • autopilot.exeundefined
                autopilot.exe @fcwilt
                last edited by

                @fcwilt wait...? are you saying it should just read M574 Z1? no s parameter or P parameter?

                fcwiltundefined 1 Reply Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @autopilot.exe
                  last edited by fcwilt

                  @autopilot-exe said in Duet3 6HC not deploying BL touch for mesh bed leveling:

                  @fcwilt wait...? are you saying it should just read M574 Z1? no s parameter or P parameter?

                  Hi,

                  A M574 is not needed for configuring a Z probe.

                  If you don't have a Z endstop sensor you would have M574 Z0.

                  If you do have a Z endstop sensor then you use M574 Z(1 or 2) S1 and specify the input pin name.

                  In your case your were trying to use the same input twice - which you cannot do.

                  Frederick

                  Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                  autopilot.exeundefined 1 Reply Last reply Reply Quote 0
                  • autopilot.exeundefined
                    autopilot.exe @fcwilt
                    last edited by

                    @fcwilt so I commented it out to test.
                    good news: the probe still deploys for homing Z.
                    Bad news: the probe macros are all non responsive now and the mesh bed leveling still fails to deploy the probe

                    Screenshot 2021-03-10 103035.jpg

                    fcwiltundefined 1 Reply Last reply Reply Quote 0
                    • fcwiltundefined
                      fcwilt @autopilot.exe
                      last edited by

                      @autopilot-exe said in Duet3 6HC not deploying BL touch for mesh bed leveling:

                      @fcwilt so I commented it out to test.
                      good news: the probe still deploys for homing Z.
                      Bad news: the probe macros are all non responsive now and the mesh bed leveling still fails to deploy the probe

                      Screenshot 2021-03-10 103035.jpg

                      Just FYI you don't have to post screen shots - you can copy and paste code right into a </> tag.

                      If the probe deploys for homing it should deploy everywhere - unless something is configured wrong.

                      Do M401 and M402 always work?

                      Frederick

                      Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                      autopilot.exeundefined 1 Reply Last reply Reply Quote 0
                      • autopilot.exeundefined
                        autopilot.exe @Phaedrux
                        last edited by

                        @Phaedrux

                        ; homex.g
                        ; called to home the X axis
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Mar 05 2021 11:02:45 GMT-0600 (Central Standard Time)
                        G91               ; relative positioning
                        G1 H2 Z5 F6000    ; lift Z relative to current position
                        G1 H1 X-605 F1800 ; move quickly to X axis endstop and stop there (first pass)
                        G1 H2 X5 F6000    ; go back a few mm
                        G1 H1 X-605 F360  ; move slowly to X axis endstop once more (second pass)
                        G1 H2 Z-5 F6000   ; lower Z again
                        G90               ; absolute positioning
                        
                        
                        
                        ; homey.g
                        ; called to home the Y axis
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.2.3 on Fri Mar 05 2021 11:02:46 GMT-0600 (Central Standard Time)
                        G91               ; relative positioning
                        G1 H2 Z15 F6000    ; lift Z relative to current position
                        G1 H1 Y-555 F1800 ; move quickly to Y axis endstop and stop there (first pass)
                        G1 H2 Y5 F6000    ; go back a few mm
                        G1 H1 Y-555 F360  ; move slowly to Y axis endstop once more (second pass)
                        G1 H2 Z-10 F6000   ; lower Z again
                        G90               ; absolute positioning
                        
                        
                        
                        ; homez.g
                        ; called to home the Z axis
                        ;
                        ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Mar 06 2021 11:26:03 GMT-0600 (Central Standard Time)
                        G91                ; relative positioning
                        G1 H2 Z5 F6000     ; lift Z relative to current position
                        G90                ; absolute positioning
                        G1 X163 Y161 F6000 ; go to first probe point
                        G30                ; home Z by probing the bed
                        
                        ; Uncomment the following lines to lift Z after probing
                        ;G91               ; relative positioning
                        ;G1 Z5 F100        ; lift Z relative to current position
                        ;G90               ; absolute positioning
                        
                        
                        
                        ; homec.g
                        ; called to home the C axis (coupler)
                        
                        ;crashc
                        G92 C260
                        M913 C40			; C MOTOR TO 40% CURRENT
                        G1 C-260 F2400  ; drive the C-axis to the stop
                        M913 C100			; C MOTOR TO 100% CURRENT
                        G1 C1 F50000
                        G92 C0
                        
                        ;Open Coupler
                        M98 P/macros/Coupler - Unlock
                        
                        

                        note: the homec.g file was directly copied from e3d's documentation.

                        fcwiltundefined 1 Reply Last reply Reply Quote 0
                        • fcwiltundefined
                          fcwilt @autopilot.exe
                          last edited by

                          @autopilot-exe

                          According to the docs M98 requires double quotes around the file name in v3 firmware.

                          Frederick

                          Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                          autopilot.exeundefined 1 Reply Last reply Reply Quote 0
                          • autopilot.exeundefined
                            autopilot.exe @fcwilt
                            last edited by

                            @fcwilt the duet doesn't spit out any errors. I typed "m401" and I get a green notification, but nothing moves on the machine. I type "m402", same thing happens.

                            fcwiltundefined 1 Reply Last reply Reply Quote 0
                            • Phaedruxundefined
                              Phaedrux Moderator
                              last edited by

                              Can you confirm that your deploy and retract probe macros are in the /sys folder?

                              Z-Bot CoreXY Build | Thingiverse Profile

                              autopilot.exeundefined 1 Reply Last reply Reply Quote 0
                              • autopilot.exeundefined
                                autopilot.exe @fcwilt
                                last edited by

                                @fcwilt in my homeall.g there are quotes around the file names. Home C,X, and Y are all executed correctly. when it gets to home z, the probe still doesn't deploy. I just tried it after removing the M574 command earlier.

                                1 Reply Last reply Reply Quote 0
                                • autopilot.exeundefined
                                  autopilot.exe @Phaedrux
                                  last edited by

                                  @Phaedrux Screenshot 2021-03-10 105107.jpg

                                  Can confirm.

                                  1 Reply Last reply Reply Quote 0
                                  • fcwiltundefined
                                    fcwilt @autopilot.exe
                                    last edited by

                                    @autopilot-exe said in Duet3 6HC not deploying BL touch for mesh bed leveling:

                                    @fcwilt the duet doesn't spit out any errors. I typed "m401" and I get a green notification, but nothing moves on the machine. I type "m402", same thing happens.

                                    Hmm...

                                    At this point I suppose we should verify the contents of deployprobe.g and retractprobe.g.

                                    Frederick

                                    Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                    autopilot.exeundefined 1 Reply Last reply Reply Quote 0
                                    • autopilot.exeundefined
                                      autopilot.exe @fcwilt
                                      last edited by

                                      @fcwilt

                                      ; deployprobe.g
                                      ; called to deploy a physical Z probe
                                      ;
                                      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Mar 06 2021 11:26:03 GMT-0600 (Central Standard Time)
                                      M280 P0 S10 ; deploy BLTouch
                                      
                                      
                                      
                                      ; retractprobe.g
                                      ; called to retract a physical Z probe
                                      ;
                                      ; generated by RepRapFirmware Configuration Tool v3.2.3 on Sat Mar 06 2021 11:26:03 GMT-0600 (Central Standard Time)
                                      M280 P0 S90 ; retract BLTouch
                                      
                                      
                                      

                                      aceb09ad-be7e-493a-b438-a2b1120527a9-image.png

                                      1 Reply Last reply Reply Quote 0
                                      • fcwiltundefined
                                        fcwilt
                                        last edited by

                                        Thanks.

                                        Does the probe run it's self-test routine when you power on the printer?

                                        Did you verify that it is connected to the correct input and output pins?

                                        Frederick

                                        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

                                        autopilot.exeundefined 1 Reply Last reply Reply Quote 0
                                        • autopilot.exeundefined
                                          autopilot.exe @fcwilt
                                          last edited by

                                          @fcwilt the self test is working, I have it wired correctly according to the documentation. (3.3v: nothing, io7.in: white, GND: black and brown soldered together going to a single pin, io7.out: orange, 5 volt: red)

                                          fcwiltundefined 1 Reply Last reply Reply Quote 0
                                          • fcwiltundefined
                                            fcwilt @autopilot.exe
                                            last edited by

                                            @autopilot-exe said in Duet3 6HC not deploying BL touch for mesh bed leveling:

                                            @fcwilt the self test is working, I have it wired correctly according to the documentation. (3.3v: nothing, io7.in: white, GND: black and brown soldered together going to a single pin, io7.out: orange, 5 volt: red)

                                            Running out of ideas.

                                            I have a Duet 3 setup on my workbench and BLTouch units in inventory.

                                            All boards (6HC, 3HC, 1LC) are running 3.2.2.

                                            I will get a BLTouch out and connect and configure as you have.

                                            Frederick

                                            Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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