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

    3.4rc1 Mini 5+ bltouch not retracting

    Scheduled Pinned Locked Moved Solved
    Beta Firmware
    3
    11
    537
    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.
    • Serbitarundefined
      Serbitar
      last edited by Phaedrux

      Since update from 3.4b6 to 3.4b7 (and eventually b7+5 and b7+7) on my Mini5+, bltouch pin does not deploy for homing.

      M98 P"config.g" does not present any errors in any of the tested firmware versions.

      Setting servo values directly with M280 correctly controls the probe in b6 but doesn't in later versions. Looks like a PWM issue to me. I haven't checked duty cycle with my meter or scope yet, let me know if that would be useful.

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

        For good measure can you share your config.g, and the results of M122?

        Z-Bot CoreXY Build | Thingiverse Profile

        1 Reply Last reply Reply Quote 0
        • Serbitarundefined
          Serbitar
          last edited by

          I downgraded to 3.4b6 to get a print done but here is config.g

          ; General preferences
          G90                                                ; send absolute coordinates...
          M83                                                ; ...but relative extruder moves
          M550 P"Ender 3"                                    ; set printer name
          M918 P1 E4 F2000000                                ; configure direct-connect display
          M929 P"log.txt" S1                                 ; Enable logging
          ;M552 S1                                            ; Enable network
          
          ; Drives
          M569 P0.0 S1 D3 V0 F4                              ; physical drive 0.0 goes backwards, stealthchop enabled
          M569 P0.1 S0 D3 V0 F4                              ; physical drive 0.1 goes backwards, stealthchop enabled
          M569 P0.2 S1 D3 V0 F4                              ; physical drive 0.2 goes backwards, stealthchop enabled
          M569 P0.3 S0 D3 V0 F4                              ; physical drive 0.3 goes forwards,  stealthchop enabled 
          M569 P0.4 S0 D3 V0 F4                              ; physical drive 0.4 goes forwards,  stealthchop enabled 
          M569 P0.5 S1 D3 V0 F4                              ; physical drive 0.5 goes backwards, stealthchop enabled 
          M569 P0.6 S1 D3 V0 F4                              ; physical drive 0.6 goes backwards, stealthchop enabled 
          M584 U0.0 X0.3 Y0.4 Z0.5:0.6 E0.1:0.2              ; set drive mapping
          M350 U16 X16 Y16 Z16 E16:16 I1                        ; configure microstepping with interpolation
          M92 U80.00 X80.00 Y80.00 Z400.00 E413.4:413.4      ; set steps per mm
          M566 U450 X450 Y450 Z60.00 E120.00                 ; set maximum instantaneous speed changes (mm/min)
          M203 U9000.00 X9000.00 Y9000.00 Z480.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
          M201 U2500.00 X2500.00 Y2500.00 Z20.00 E500.00:500.00  ; set accelerations (mm/s^2)
          M906 U1000 X1000 Y1000 Z1000 E1200:1200 I50          ; set motor currents (mA) and motor idle factor in per cent
          M84 S30                                            ; Set idle timeout
          M915 X Y S5 F1 R0 H150                             ; Stall detection XY log on stall
          M915 Z   S3 F1 R2 H200                             ; Stall detection Z pause on stall
          M915 P0.1:0.2 S5 F1 R0                             ; Stall detection E0,E1 do nothing
          
          
          ; Axis Limits
          M208 U-80.8 X-212 Y-150.6 Z0 S1                     ; set axis minima
          M208 U213.8 X95 Y100 Z230 S0                        ; set axis maxima
          
          ; Endstops
          M574 U2 S1 P"io0.in"                               ; configure active-high endstop for high end on Y via pin io0.in
          M574 X1 S1 P"io5.in"                               ; configure active-high endstop for low end on X via pin io6.in
          M574 Y1 S1 P"io6.in"                               ; configure active-high endstop for low end on Y via pin io5.in
          M574 Z1 S2                                         ; configure Z-probe endstop for low end on Z
          
          ; Filament runout sensors
          M591 D0 P1 C"^io3.in" S0                           ; Left extruder runout
          ;M591 D1 P1 C"^io2.in" S0                           ; Right extruder runout
          
          ; Z-Probe
          M950 S0 C"io1.out"                                 ; create servo pin 0 for BLTouch
          M558 P9 C"^io1.in" B1 H5 F480 T6000                ; set Z probe type to bltouch and the dive height + speeds disable heaters when probing
          G31 P500 X66 Y12 Z1.8
          M557 X-110:110 Y-110:110 S20                       ; define mesh grid
          
          ; Heaters
          M308 S0 P"temp0" Y"thermistor" T100000 B3950       ; configure sensor 0 as thermistor on pin temp0
          M950 H0 C"out0" T0                                 ; create bed heater output on out0 and map it to sensor 0
          M140 H0                                            ; map heated bed to heater 0
          M143 H0 S120                                       ; set temperature limit for heater 0 to 120C
          
          M308 S1 P"temp1" Y"pt1000"                         ; configure sensor 1 as thermistor on pin temp1
          M950 H1 C"out1" T1                                 ; create nozzle heater output on out1 and map it to sensor 1
          M307 H1 B0 S1.00                                   ; disable bang-bang mode for heater  and set PWM limit
          M143 H1 S300                                       ; set temperature limit for heater 1 to 280C
          
          M308 S2 P"temp2" Y"pt1000"                         ; 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 S300                                       ; set temperature limit for heater 2 to 280C
          
          ; Fans
          M950 F0 C"out5" Q1000                              ; create fan 0 on pin out5 and set its frequency
          M106 P0 C"Part Coling T0" S0 H-1                   ; set fan 0 name and value. Thermostatic control is turned on
          M950 F1 C"!out3+out3.tach" Q1000
          M106 P1 C"Hotend Fan T0" S64 X64 H1 T45
          
          M950 F2 C"out6" Q1000                              ; create fan 2 on pin out6 and set its frequency
          M106 P2 C"Part Cooling T1" S0 H-1                  ; set fan 2 name and value. Thermostatic control is turned off
          M950 F3 C"!out4+out4.tach" Q1000
          M106 P3 C"Hotend Fan T1" S64 X64 H2 T45
          
          
          ; Tools
          M563 P0 S"Left Tool" D0 H1 F0                      ; 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
          
          M563 P1 S"Right Tool" D1 H2 F2 X3                  ; define tool 1 using U axes for X
          G10 P1 X0 Y2 Z0                                    ; set tool 1 axis offsets
          G10 P1 R0 S0                                       ; set initial tool 1 active and standby temperatures to 0C
          
          ; Custom settings are not defined
          M307 H0 R0.281 C428.8 D4.28 S1.00 V23.9
           
          ; Miscellaneous
          ;M911 S21 R23 P"M913 X0 Y0 G10 P0 R0 S0 G91 M83 G1 Z3 E-5 F10000" ; set voltage thresholds and actions to run on power loss
          M572 D0 S0.05                                    ; Guestimate pressure advance setting
          M207 S0.5   F2400                                  ; Retraction 0.5mm @40mm/s
          M671 X-145:145 Y0:0 S3 F1                          ; leadscrew co-ordinates
          M81 C"ps_on"                                       ; Turn off power supply (makes power switch show in webui)
          
          ; Load from config-override.g
          M501 
          

          deployprobe.g:

          M280 P0 S10 ; deploy BLTouch
          
          1 Reply Last reply Reply Quote 0
          • Serbitarundefined
            Serbitar
            last edited by

            In 3.4rc1 the probe now deploys but doesn't retract after probing.

            Machine was completely powered off after the update.

            M122
            === Diagnostics ===
            RepRapFirmware for Duet 3 Mini 5+ version 3.4.0rc1 (2022-02-09 10:27:22) running on Duet 3 Mini5plus WiFi (SBC mode)
            Board ID: W4ZW4-V296U-D65J0-40KM0-LR03Z-H6928
            Used output buffers: 1 of 40 (14 max)
            === RTOS ===
            Static ram: 103652
            Dynamic ram: 102128 of which 0 recycled
            Never used RAM 35788, free system stack 134 words
            Tasks: SBC(ready,3.9%,504) HEAT(notifyWait,0.0%,356) Move(notifyWait,0.0%,292) CanReceiv(notifyWait,0.0%,942) CanSender(notifyWait,0.0%,356) CanClock(delaying,0.0%,339) TMC(notifyWait,1.1%,114) MAIN(running,93.8%,558) IDLE(ready,0.4%,29) AIN(delaying,0.8%,264), total 100.0%
            Owned mutexes: HTTP(MAIN)
            === Platform ===
            Last reset 00:08:35 ago, cause: software
            Last software reset at 2022-02-09 18:36, reason: User, GCodes spinning, available RAM 36076, slot 0
            Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a
            Error status: 0x00
            MCU revision 3, ADC conversions started 515901, completed 515899, timed out 0, errs 0
            Step timer max interval 1489
            MCU temperature: min 27.5, current 37.5, max 37.8
            Supply voltage: min 0.5, current 24.3, max 24.3, under voltage events: 1, over voltage events: 0, power good: yes
            Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
            Events: 0 queued, 0 completed
            Driver 0: pos 3760, standstill, SG min 0, read errors 0, write errors 2, ifcnt 13, reads 44146, writes 25, timeouts 0, DMA errors 0, CC errors 0
            Driver 1: pos -1280, standstill, SG min 0, read errors 0, write errors 2, ifcnt 10, reads 44148, writes 23, timeouts 0, DMA errors 0, CC errors 0
            Driver 2: pos 3560, standstill, SG min 0, read errors 0, write errors 2, ifcnt 10, reads 44147, writes 23, timeouts 0, DMA errors 0, CC errors 0
            Driver 3: pos 17104, standstill, SG min 0, read errors 0, write errors 2, ifcnt 15, reads 44140, writes 29, timeouts 0, DMA errors 0, CC errors 0
            Driver 4: pos 0, standstill, SG min 0, read errors 0, write errors 2, ifcnt 15, reads 44142, writes 29, timeouts 0, DMA errors 0, CC errors 0
            Driver 5: pos 0, standstill, SG min 0, read errors 0, write errors 2, ifcnt 15, reads 44142, writes 29, timeouts 0, DMA errors 0, CC errors 0
            Driver 6: pos 0, standstill, SG min 0, read errors 0, write errors 2, ifcnt 15, reads 44140, writes 29, timeouts 0, DMA errors 0, CC errors 0
            Date/time: 2022-02-09 18:46:07
            Cache data hit count 1160425780
            Slowest loop: 60.47ms; fastest: 0.08ms
            === Storage ===
            Free file entries: 10
            SD card 0 not detected, interface speed: 0.0MBytes/sec
            SD card longest read time 0.0ms, write time 0.0ms, max retries 0
            === Move ===
            DMs created 83, segments created 6, maxWait 48307ms, bed compensation in use: none, comp offset 0.000
            === MainDDARing ===
            Scheduled moves 39, completed 39, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 1], CDDA state -1
            === AuxDDARing ===
            Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
            === Heat ===
            Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
            === GCodes ===
            Segments left: 0
            Movement lock held by null
            HTTP* is doing "M122" in state(s) 0
            Telnet is idle in state(s) 0
            File is idle in state(s) 0
            USB is idle in state(s) 0
            Aux is idle in state(s) 0
            Trigger* is idle in state(s) 0
            Queue is idle in state(s) 0
            LCD is idle in state(s) 0
            SBC is idle in state(s) 0
            Daemon is idle in state(s) 0
            Aux2 is idle in state(s) 0
            Autopause is idle in state(s) 0
            Code queue is empty
            === Filament sensors ===
            Extruder 0 sensor: ok
            === CAN ===
            Messages queued 4633, received 0, lost 0, boc 0
            Longest wait 0ms for reply type 0, peak Tx sync delay 0, free buffers 18 (min 18), ts 2578/0/0
            Tx timeouts 0,0,2577,0,0,2054 last cancelled message type 4514 dest 127
            === SBC interface ===
            Transfer state: 4, failed transfers: 0, checksum errors: 0
            RX/TX seq numbers: 20857/20857
            SPI underruns 0, overruns 0
            State: 5, disconnects: 0, timeouts: 0, IAP RAM available 0x0f624
            Buffer RX/TX: 0/0-0, open files: 0
            === Duet Control Server ===
            Duet Control Server v3.4-rc1
            Code buffer space: 4096
            Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
            Full transfers per second: 40.50, max time between full transfers: 47.1ms, max pin wait times: 46.5ms/6.9ms
            Codes per second: 0.45
            Maximum length of RX/TX data transfers: 3592/1136
            
            1 Reply Last reply Reply Quote 0
            • Serbitarundefined
              Serbitar
              last edited by

              Further debug...

              I replaced my bltouch with a multimeter set to measure frequency and duty cycle.

              Reset the board by pressing the reset button

              Measured 0% duty

              Sent M280 P0 S90

              Measured 7.35% duty at 50Hz

              Send M280 P0 S180

              no change in measurement

              sent m280 P0 s270

              no change in measurement.

              reset board.

              sent m280 p0 s270

              measured 12% duty at 50Hz

              sent m280 p0 s90

              no change in measurement

              Thus i think my issue is the same as this thread:

              https://forum.duet3d.com/topic/27139/rrf-3-4-0beta7-5-sbc-servo-only-responding-once-after-reset

              1 Reply Last reply Reply Quote 1
              • Serbitarundefined
                Serbitar
                last edited by

                With 3.4b6
                Reset the board by pressing the reset button

                Measured 0% duty

                Sent M280 P0 S90

                Measured 7.35% duty at 50Hz

                Sent M280 P0 S180

                measured 12% duty at 50Hz

                Send M280 P0 S270

                measured 12% duty at 50Hz

                Sent M280 P0 S90

                Measured 7.35% duty at 50Hz

                So updating servo positions multiple times in 3.4b6 works

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

                  @serbitar I can confirm that this is a bug in 3.4.0rc1. It affects the use of port IO1 on the Duet 3 Mini to connect a servo or BLTouch, but not IO2 or IO3. Are you able to use either of those ports for now? Note that IO3 is shared with the 12864 backlight control.

                  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 1
                  • Serbitarundefined
                    Serbitar
                    last edited by

                    Ah! I will sacrifice one of the runout sensors to put it on io3 and give it a go, thanks.

                    1 Reply Last reply Reply Quote 0
                    • Serbitarundefined
                      Serbitar
                      last edited by

                      Works great on io3 thanks again.

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

                        @serbitar I've put corrected firmware for the Mini5+ at https://www.dropbox.com/sh/hx23neagiljflv2/AADxC8_URWgoU_NYcYP8b7XCa?dl=0.

                        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
                        • Serbitarundefined
                          Serbitar
                          last edited by

                          bltouch back on io1 with your updated build works. fantastic! thanks!

                          1 Reply Last reply Reply Quote 1
                          • Phaedruxundefined Phaedrux marked this topic as a question
                          • Phaedruxundefined Phaedrux has marked this topic as solved
                          • First post
                            Last post
                          Unless otherwise noted, all forum content is licensed under CC-BY-SA