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

    BLTouch - Deploy/Retract Issues

    Scheduled Pinned Locked Moved Solved
    Duet Hardware and wiring
    2
    10
    1.5k
    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.
    • rmgriffinundefined
      rmgriffin
      last edited by

      Hello All - Any help would be greatly appreicated.!!

      I am using a BLTouch from a prior application that was working when it was removed. It is the Version2 on the most recent firmware. I've been setting up a Duet3 + Expansion Board and I have most things working but I cannot get the BLTouch to deploy. When I power up the system the BLTouch successfully completes its self-test and then remains in a state of pin retracted and a solid red light. On the Duet3 board I have the BLTouch wired to IO_7 per the instructions on the Duet Website.

      Pin 1 - 3.3v - Empty
      Pin 2 - In - White
      Pin 3 - Ground (Combined Black & Brown)
      Pin 4 - Control - Yellow
      Pin 5 - 5v - Red

      *I have wired and rewired everything a number of times to ensure the connectors/connections were not the issue. I guess there is some chance that wiring connections could be the issue but it is highly unlikely.

      *Pictures attached at bottom

      As far as my configuration - I have tried a number of combinations to no avail. I am using the RRF Config tool as my starting point to generate the baseline code. I've included the code sections below but as far as the BLTouch here is what I have tried. For each the initial result varies - but the consistency between all of the combinations is that none of them react to the manual deploy/retract statements.

      Input Pin - IO_7_IN / PWM Control Channel - IO_7_OUT - BLTouch self test is successful and then this gives the initial value of 1000 and on the machine specific settings the endstop shows as triggered. If I manually pull the pin on the BLTouch the red light goes off - but there is no change in the interface and no commands change the state of the BLTouch.

      Input Pin - IO_7_IN (Inverted) / PWM Control Channel - IO_7_OUT - BLTouch self test is successful and then this gives the initial value of NA/0 and on the machine specific settings the endstop shows as 'not' triggered. If I manually pull the pin on the BLTouch the red light goes off - but there is no change in the interface and no commands change the state of the BLTouch.

      Input Pin - IO_7_IN (Inverted) / PWM Control Channel - IO_7_OUT (Inverted) - BLTouch self test is successful and then this gives the initial value of NA/0 and on the machine specific settings the endstop shows as 'not' triggered. If I manually pull the pin on the BLTouch the red light goes off - but there is no change in the interface and no commands change the state of the BLTouch.

      The only other thing I would note is that I am running to drivers for my two Z axis and the extruder driver off of the main board and then I have the x/y drivers and their endstops on the expansion board. I do not think this should matter - but who knows.

      Of course the G-Code is slightly different for each of these options but I'm only providing one version below - just to give a general idea of the overall setup.

      config.g

      ; Configuration file for Duet 3 (firmware version 3)
      ; executed by the firmware on start-up
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Apr 18 2020 16:04:42 GMT-0400 (Eastern Daylight Time)
      
      
      ; General preferences
      G90                                                ; send absolute coordinates...
      M83                                                ; ...but relative extruder moves
      M550 P"Duet 3"                                     ; set printer name.
      
      
      ; Drives
      M569 P1.0 S0                                       ; physical drive 1.0 goes backwards
      M569 P1.1 S0                                       ; physical drive 1.1 goes backwards
      M569 P0.0 S1                                       ; physical drive 0.0 goes forwards
      M569 P0.1 S1                                       ; physical drive 0.1 goes forwards
      M569 P0.2 S1                                       ; physical drive 0.2 goes forwards
      M584 X1.0 Y1.1 Z0.0 E0.2                           ; set drive mapping
      M350 X16 Y16 Z16 E16 I1                            ; configure microstepping with interpolation
      M92 X80.00 Y80.00 Z4000.00 E420.00                 ; set steps per mm
      M566 X900.00 Y900.00 Z12.00 E120.00                ; set maximum instantaneous speed changes (mm/min)
      M203 X6000.00 Y6000.00 Z180.00 E1200.00            ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z20.00 E250.00                ; 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
      
      
      ; Axis Limits
      M208 X0 Y0 Z0 S1                                   ; set axis minima
      M208 X300 Y300 Z400 S0                             ; set axis maxima
      
      
      ; Endstops
      M574 X2 S1 P"!1.io0.in"                            ; configure active-high endstop for high end on X via pin !1.io0.in
      M574 Y2 S1 P"!1.io1.in"                            ; configure active-high endstop for high end on Y via pin !1.io1.in
      M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
      
      
      ; 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
      G31 P500 X0 Y0 Z2.5                                ; set Z probe trigger value, offset and trigger height
      M557 X15:215 Y15:195 S20                           ; define mesh grid
      
      
      ; Heaters
      M308 S0 P"spi.cs0" Y"rtd-max31865" A"PT-100"       ; configure sensor 0 as thermocouple via CS pin spi.cs0
      M950 H0 C"out1" T0                                 ; create nozzle heater output on out1 and map it to sensor 0
      M143 H0 S280                                       ; set temperature limit for heater 0 to 280C
      M307 H0 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
      
      
      ; Fans
      M950 F0 C"out4" Q500                               ; create fan 0 on pin out4 and set its frequency
      M106 P0 S0 H 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 S0 H-1                                     ; set fan 1 value. Thermostatic control is turned off
      
      
      ; Tools
      M563 P0 S"Volcano Extruder" D0 H1 F0:1             ; 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
      
      
      ; Custom settings are not defined
      
      
      ; Miscellaneous
      M501                                               ; load saved parameters from non-volatile memory
      M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
      

      deployprobe.g

      ; deployprobe.g
      ; called to deploy a physical Z probe
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Apr 18 2020 16:04:42 GMT-0400 (Eastern Daylight Time)
      M280 P0 S10 ; deploy BLTouch
      

      retractprobe.g

      ![; retractprobe.g
      ; called to retract a physical Z probe
      ;
      ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sat Apr 18 2020 16:04:42 GMT-0400 (Eastern Daylight Time)
      M280 P0 S90 ; retract BLTouch](image url)
      

      2020-04-19_18-15-06.jpg 2020-04-19_18-15-16.jpg

      1 Reply Last reply Reply Quote 0
      • rmgriffinundefined
        rmgriffin
        last edited by

        PS. - I have tried both the M401/M402 commands as well as the commands deploy/retract commands (M280 P0 S10/M280 P0 S90)

        Thanks again

        1 Reply Last reply Reply Quote 0
        • PaulHewundefined
          PaulHew
          last edited by

          @rmgriffin said in BLTouch - Deploy/Retract Issues:

          M950 S0 C"io7.out" ; create servo pin 0 for BLTouch

          Try swapping the 2 lines around, ie change their order.
          M558 ....
          M950 ....

          RailCore II - Duet Mini + 1LC, Voron V0.1 - Duet Mini
          Voron 2.4 disassembled..... Waiting for the RailCore Mini....

          rmgriffinundefined 1 Reply Last reply Reply Quote 0
          • rmgriffinundefined
            rmgriffin @PaulHew
            last edited by

            @PaulHew thank you for the suggestion, I just tried it and still no reaction from either the deploy or retract commands.

            1 Reply Last reply Reply Quote 0
            • rmgriffinundefined
              rmgriffin
              last edited by

              More information - I'm not sure if it is helpful or not but I thought I'd also include the diag (M122) that I just ran in case it provides any clues/info.

              M122
              === Diagnostics ===
              RepRapFirmware for Duet 3 MB6HC v0.6 or 1.0 version 3.0 running on Duet 3 MB6HC
              Board ID: 08DJM-956L2-G43S8-6JTDJ-3SN6M-9S0LG
              Used output buffers: 1 of 32 (5 max)
              === RTOS ===
              Static ram: 152720
              Dynamic ram: 149620 of which 0 recycled
              Exception stack ram used: 216
              Never used ram: 90660
              Tasks: NETWORK(ready,1984) HEAT(blocked,1204) CanReceiv(suspended,3808) CanSender(suspended,1476) CanClock(blocked,1424) TMC(blocked,212) MAIN(running,4452) IDLE(ready,160)
              Owned mutexes:
              === Platform ===
              Last reset 00:03:27 ago, cause: software
              Last software reset at 2020-04-19 23:41, reason: User, spinning module LinuxInterface, available RAM 90660 bytes (slot 0)
              Software reset code 0x0010 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0444a000 BFAR 0x00000000 SP 0xffffffff Task 0x4e49414d
              Error status: 0
              Free file entries: 10
              SD card 0 not detected, interface speed: 37.5MBytes/sec
              SD card longest block write time: 0.0ms, max retries 0
              MCU temperature: min 39.7, current 42.7, max 42.7
              Supply voltage: min 23.7, current 23.7, max 23.8, under voltage events: 0, over voltage events: 0, power good: yes
              12V rail voltage: min 12.0, current 12.0, max 12.1, under voltage events: 0
              Driver 0: standstill, reads 39631, writes 14 timeouts 0, SG min/max 0/0
              Driver 1: standstill, reads 39635, writes 11 timeouts 0, SG min/max 0/0
              Driver 2: standstill, reads 39632, writes 14 timeouts 0, SG min/max 0/0
              Driver 3: standstill, reads 39636, writes 11 timeouts 0, SG min/max 0/0
              Driver 4: standstill, reads 39636, writes 11 timeouts 0, SG min/max 0/0
              Driver 5: standstill, reads 39637, writes 11 timeouts 0, SG min/max 0/0
              Date/time: 2020-04-19 23:44:29
              Slowest loop: 2.11ms; fastest: 0.08ms
              === Move ===
              Hiccups: 0(0), FreeDm: 375, MinFreeDm: 375, MaxWait: 0ms
              Bed compensation in use: none, comp offset 0.000
              === MainDDARing ===
              Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
              === AuxDDARing ===
              Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0
              === Heat ===
              Bed heaters = -1 -1 -1 -1 -1 -1 -1 -1 -1, chamberHeaters = -1 -1 -1 -1
              === GCodes ===
              Segments left: 0
              Stack records: 2 allocated, 0 in use
              Movement lock held by null
              http* is ready with "M122" in state(s) 0
              telnet is idle in state(s) 0
              file is idle in state(s) 0
              serial is idle in state(s) 0
              aux is idle in state(s) 0
              daemon* is idle in state(s) 0
              queue is idle in state(s) 0
              lcd is idle in state(s) 0
              spi is idle in state(s) 0
              autopause is idle in state(s) 0
              Code queue is empty.
              === Network ===
              Slowest loop: 0.49ms; fastest: 0.01ms
              Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0)
              HTTP sessions: 0 of 8
              - Ethernet -
              State: 0
              Error counts: 0 0 0 0 0
              Socket states: 0 0 0 0 0 0 0 0
              === CAN ===
              Messages sent 836, longest wait 1ms for type 6018
              === Linux interface ===
              State: 0, failed transfers: 0
              Last transfer: 13ms ago
              RX/TX seq numbers: 8150/6264
              SPI underruns 0, overruns 0
              Number of disconnects: 0
              Buffer RX/TX: 0/0-0
              === Duet Control Server ===
              Duet Control Server v1.2.4.0
              Code buffer space: 4096
              Configured SPI speed: 2000000 Hz
              Full transfers per second: 4.96
              
              1 Reply Last reply Reply Quote 0
              • PaulHewundefined
                PaulHew
                last edited by

                Are you manually entering the commands?

                Do you have an I1 at the end of the M280?
                AFAIK it should be this to deploy and retract

                M280 P0 S10 ; Deploy
                M280 P0 S90 ; Retract
                

                RailCore II - Duet Mini + 1LC, Voron V0.1 - Duet Mini
                Voron 2.4 disassembled..... Waiting for the RailCore Mini....

                rmgriffinundefined 1 Reply Last reply Reply Quote 1
                • rmgriffinundefined
                  rmgriffin @PaulHew
                  last edited by

                  @PaulHew no I am not using I1 as my understanding was this was no longer needed. I agree with your assessment of the deploy/retract commands and I also read that as of RRF3 the M401/402 could also be used. For all of them I am entering them manually bc I don’t want to home when I cannot get the BLTouch to deploy manually.

                  1 Reply Last reply Reply Quote 0
                  • PaulHewundefined
                    PaulHew
                    last edited by

                    @PaulHew said in BLTouch - Deploy/Retract Issues:

                    M280 P0 S10

                    Looking at the wiring diagram and the picture of your board, I think you are in io8 not io7.

                    P.

                    RailCore II - Duet Mini + 1LC, Voron V0.1 - Duet Mini
                    Voron 2.4 disassembled..... Waiting for the RailCore Mini....

                    1 Reply Last reply Reply Quote 1
                    • rmgriffinundefined
                      rmgriffin
                      last edited by

                      Bloody hell, I know I was in the right place when I started but I've pulled it out so many times rewiring I must have inadvertently put it back in the wrong place. With the lines switched up (per your earlier comment) and the plug in the right place - we're working now! Thank you, thank you for your help!

                      1 Reply Last reply Reply Quote 0
                      • PaulHewundefined
                        PaulHew
                        last edited by

                        @rmgriffin Glad its working.
                        Enjoy.

                        Regards,
                        Paul.

                        RailCore II - Duet Mini + 1LC, Voron V0.1 - Duet Mini
                        Voron 2.4 disassembled..... Waiting for the RailCore Mini....

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