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

    v2.0 consistently increasing probe heights

    Scheduled Pinned Locked Moved Unsolved
    Smart effector for delta printers
    5
    20
    687
    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.
    • oarjjjundefined
      oarjjj @dc42
      last edited by

      @dc42 The problem goes away when connecting drives to the main board, bypassing the expansions boards and CAN bus. I'll be happy to test the update when it's ready!

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

        @oarjjj this is fixed in the forthcoming 3.6.0 beta 1 build.

        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

        oarjjjundefined 2 Replies Last reply Reply Quote 0
        • oarjjjundefined
          oarjjj @dc42
          last edited by

          @dc42 awesome I'll keep an eye on the beta forum for a link to download the new firmware

          1 Reply Last reply Reply Quote 0
          • oarjjjundefined
            oarjjj @dc42
            last edited by oarjjj

            @dc42 said in v2.0 consistently increasing probe heights:

            @oarjjj this is fixed in the forthcoming 3.6.0 beta 1 build.

            Looks I'm still facing the problem after updating to 3.6.0b1. For some reason it would not update the boards initially:

            There are 5 outdated boards:
            - Duet 3 MB6HC (3.6.0-alpha.5+1 -> 3.6.0-beta.1)
            - Duet 3 Expansion EXP1HCL (3.6.0-alpha.5 -> 3.6.0-beta.1) @ CAN address 121
            - Duet 3 Expansion EXP1HCL (3.6.0-alpha.5 -> 3.6.0-beta.1) @ CAN address 122
            - Duet 3 Expansion EXP1HCL (3.6.0-alpha.5 -> 3.6.0-beta.1) @ CAN address 123
            - Duet 3 Expansion EXP1HCL (3.6.0-alpha.5 -> 3.6.0-beta.1) @ CAN address 124
            Would you like to update them all (Y/n)? y
            Updating firmware on board #121... Error: JsonTypeInfo metadata for type 'DuetControlServer.Commands.Code' was not provided by TypeInfoResolver of type 'DuetAPI.Commands.CommandContext'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
            Updating firmware on board #122... Error: JsonTypeInfo metadata for type 'DuetControlServer.Commands.Code' was not provided by TypeInfoResolver of type 'DuetAPI.Commands.CommandContext'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
            Updating firmware on board #123... Error: JsonTypeInfo metadata for type 'DuetControlServer.Commands.Code' was not provided by TypeInfoResolver of type 'DuetAPI.Commands.CommandContext'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
            Updating firmware on board #124... Error: JsonTypeInfo metadata for type 'DuetControlServer.Commands.Code' was not provided by TypeInfoResolver of type 'DuetAPI.Commands.CommandContext'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
            Updating firmware on mainboard... Error: JsonTypeInfo metadata for type 'DuetControlServer.Commands.Code' was not provided by TypeInfoResolver of type 'DuetAPI.Commands.CommandContext'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
            

            So I did the following:

            • Attempted to downgrade to stable via apt, and got the same error.
            • Reimaged the PI SD card with the latest lite image.
            • Attempted an update to unstable via apt, same errors.
            • Downgraded to stable duet packages.
            • I was now able to downgrade to stable firmware via deb package.
            • Updated to 3.6.0b1 using the deb package while on stable duet3d packages.
            • Updated to unstable duet3d packages.

            Upon reconnecting the steppers to the expansion boards I got a similar result as before:

            ** encoders disabled **
            G32 bed probe heights: 0.103 0.112 0.119 0.123 0.134 0.140 0.148 0.159 0.167 0.175 0.189 0.200 0.216 0.224 0.228 0.236 0.247 0.250 0.266 0.269, mean 0.185, deviation from mean 0.053
            
            ** encoders enabled **
            Driver 123.0 basic tuning succeeded, measured backlash 0.048 step
            Driver 122.0 basic tuning succeeded, measured backlash 0.060 step
            Driver 121.0 basic tuning succeeded, measured backlash 0.046 step
            G32 bed probe heights: 0.082 0.089 0.096 0.099 0.111 0.118 0.127 0.133 0.140 0.152 0.164 0.164 0.172 0.182 0.186 0.197 0.208 0.216 0.227 0.238, mean 0.155, deviation from mean 0.047
            

            I have also tried:

            • Replacing the smart effector v2 with a new v4.
            • Replacement also resulted in me repinning the connectors on the effector.

            I am starting to think it may be an issue with the E3d Lite6, possibly its spring is compressing? I'm not sure.

            I tried running the script a few more times:

            G32 bed probe heights: 0.082 0.089 0.096 0.099 0.111 0.118 0.127 0.133 0.140 0.152 0.164 0.164 0.172 0.182 0.186 0.197 0.208 0.216 0.227 0.238, mean 0.155, deviation from mean 0.047
            G32 bed probe heights: 0.242 0.250 0.253 0.266 0.277 0.284 0.291 0.299 0.309 0.307 0.317 0.325 0.328 0.343 0.344 0.359 0.359 0.365 0.371 0.377, mean 0.313, deviation from mean 0.041
            G32 bed probe heights: 0.399 0.408 0.419 0.426 0.437 0.442 0.456 0.459 0.472 0.479 0.487 0.490 0.497 0.508 0.512 0.519 0.528 0.538 0.549 0.554, mean 0.479, deviation from mean 0.046
            G32 bed probe heights: 0.562 0.569 0.577 0.584 0.594 0.599 0.610 0.618 0.622 0.636 0.636 0.651 0.654 0.666 0.674 0.684 0.688 0.703 0.711 0.715, mean 0.638, deviation from mean 0.047
            G32 bed probe heights: 0.883 0.891 0.898 0.902 0.913 0.917 0.926 0.933 0.943 0.951 0.959 0.962 0.974 0.978 0.986 0.993 1.001 1.003 1.012 1.018, mean 0.952, deviation from mean 0.042
            G32 bed probe heights: 1.023 1.033 1.037 1.044 1.056 1.059 1.071 1.079 1.086 1.098 1.104 1.109 1.119 1.124 1.127 1.136 1.149 1.154 1.162 1.173, mean 1.097, deviation from mean 0.045
            

            The end result of all this is mesh bed leveling is ever increasing in one direction.

            config.g

            ; Configuration file for Duet 3 MB 6HC (firmware version 3.3)
            ; executed by the firmware on start-up
            ;
            ; generated by RepRapFirmware Configuration Tool v3.4.1 on Sat Sep 14 2024 13:39:54 GMT-0600 (Mountain Daylight Time)
            
            ; General preferences
            G90                                                     ; send absolute coordinates...
            M83                                                     ; ...but relative extruder moves
            M550 P"Duet 3"                                          ; set printer name
            M665 L490.910:490.930:490.86 r230 B195 H714             ; Set delta radius, diagonal rod length, printable radius and homed height
            M666 X0 Y0 Z0                                           ; put your endstop adjustments here, or let auto calibration find them
            
            ; Drives
            M584 X122.0 Y123.0 Z121.0 E124.0                       ; set drive mapping
            M569 P122.0 S0                                         ; physical drive 122.0 goes backwards
            M569 P123.0 S0                                         ; physical drive 123.0 goes backwards
            M569 P121.0 S0                                         ; physical drive 121.0 goes backwards
            
            
            ;M584 Z0.0 X0.1 Y0.2 E124.0                              ; set drive mapping
            ;M569 P0 S0                                              ; Drive 0 (Z) goes backwards
            ;M569 P1 S0                                              ; Drive 1 (X) goes backwards
            ;M569 P2 S0                                              ; Drive 2 (Y) goes backwards
            
            M569 P124.0 S1                                          ; physical drive 124.0 goes forwards
            M350 E16 I0                                             ; configure microstepping without interpolation
            M350 X16 Y16 Z16 I1                                     ; configure microstepping with interpolation
            M92 X266.66 Y266.66 Z266.66 E572.00                     ; set steps per mm
            M566 X20 Y20 Z20                                        ; set maximum instantaneous speed changes (mm/min)
            M203 X7200 Y7200 Z7200 E3600                            ; set maximum speeds (mm/min)
            M201 X200.00 Y200.00 Z200.00 E800.00                    ; set accelerations (mm/s^2)
            M906 X2400 Y2400 Z2400 E500 I60                         ; set motor currents (mA) and motor idle factor in per cent
            M84 S900                                                ; Set idle timeout
            
            ; Axis Limits
            M208 Z0 S1                                              ; set minimum Z
            
            ; Endstops
            M574 X2 S1 P"122.io0.in"                               ; configure switch-type (e.g. microswitch) endstop for high end on X via pin 122.io0.in
            M574 Y2 S1 P"123.io0.in"                               ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin 123.io0.in
            M574 Z2 S1 P"121.io0.in"                               ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin 121.io0.in
            
            ;M574 Z2 S1 P"io0.in"                                   ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin 121.io0.in
            ;M574 X2 S1 P"io1.in"                                   ; configure switch-type (e.g. microswitch) endstop for high end on X via pin 122.io0.in
            ;M574 Y2 S1 P"io2.in"                                   ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin 123.io0.in
            
            ; Z-Probe
            M558 P8 R0.4 C"io3.in+io3.out" H8 F1200 T3000           ; set Z probe type to effector and the dive height + speeds 
            G31 P100 X0 Y0 Z-0.39                                   ; set Z probe trigger value, offset and trigger height
            
            ; Heaters
            M308 S0 P"temp0" Y"thermistor" T100000 B4267            ; 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
            M307 H0 B0 S1.00                                        ; disable 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"temp2" Y"thermistor" T100000 B4267            ; configure sensor 1 as thermistor on pin temp2
            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 S280                                            ; set temperature limit for heater 1 to 280C
            
            ; Fans
            M950 F0 C"out7" Q55                                     ; create fan 0 on pin out7 and set its frequency
            M106 P0 S0 H-1                                          ; set fan 0 value. Thermostatic control is turned off
            
            ; Tools
            M563 P0 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
            
            ; Custom settings
            M912 P0 S-9.5                                           ; mcu temperature calibration
            G4 S1                                                   ; wait for expansion boards to start
            M557 R180 S18
            
            ; Miscellaneous
            M501                                                    ; load saved parameters from non-volatile memory
            T0                                                      ; select first tool
            

            homedelta.g

            ; homedelta.g
            ; called to home all towers on a delta printer
            ;
            ; generated by RepRapFirmware Configuration Tool v3.3.16 on Fri Oct 06 2023 14:23:27 GMT-0600 (Mountain Daylight Time)
            M569 P121.0 D0           			; Make sure we are in open loop mode
            M569 P122.0 D0           			; Make sure we are in open loop mode
            M569 P123.0 D0           			; Make sure we are in open loop mode
            
            G91                        			; relative positioning
            G1 H1 X1000 Y1000 Z1000 F1800 			; move all towers to the high end stopping at the endstops (first pass)
            G1 H2 X-5 Y-5 Z-5 F360    			; go down a few mm
            G1 H1 X10 Y10 Z10 F360     			; move all towers up once more (second pass)
            G1 Z-20 F360            			; Move to a known-safe position
            M400                    			; Wait for the move to complete
            G4 P200                 			; Wait for the motor to settle
            
            M569.1 P121.0 T2 C2500 S400	R100 H25 I650 D0.085 A50000 V60 ; Configure Z closed loop
            M569.5 P121.0 S2000 A0 R2000 D24830 V0
            M569 P121.0 D4 S0 					; Configure the motor on the 1HCL at can address 121 as being in closed-loop drive mode (D4) and reversed (S0)
            M400                    			; Wait for the move to complete
            G4 P200                 			; Wait for the motor to settle
            M569.6 P121.0 V1					; Perform closed-loop calibration
            
            M569.1 P122.0 T2 C2500 S400	R100 H25 I650 D0.085 A50000 V60 ; Configure X closed loop
            M569.5 P122.0 S2000 A0 R2000 D24830 V0
            M569 P122.0 D4 S0 					; Configure the motor on the 1HCL at can address 122 as being in closed-loop drive mode (D4) and reversed (S0)
            M400                    			; Wait for the move to complete
            G4 P200                 			; Wait for the motor to settle
            M569.6 P122.0 V1					; Perform closed-loop calibration
            
            M569.1 P123.0 T2 C2500 S400	R100 H25 I650 D0.085 A50000 V60 ; Configure Y closed loop
            M569.5 P123.0 S2000 A0 R2000 D24830 V0
            M569 P123.0 D4 S0 					; Configure the motor on the 1HCL at can address 123 as being in closed-loop drive mode (D4) and reversed (S0)
            M400                    			; Wait for the move to complete
            G4 P200                 			; Wait for the motor to settle
            M569.6 P123.0 V1					; Perform closed-loop calibration
            
            G90                        			; absolute positioning
            G1 Z700 X0 Y0
            

            macro

            g1 x0 y0 z20
            var x=0
            var y=0
            
            var numProbes=20
            g30 s-1
            
            while iterations < var.numProbes-1
              G30 P{iterations} X{var.x} Y{var.y} Z-9999
            G30 P{var.numProbes-1} X{var.x} Y{var.y} Z-9999 S-1
            
            dc42undefined shaunpplundefined 2 Replies Last reply Reply Quote 0
            • Phaedruxundefined Phaedrux marked this topic as a question
            • dc42undefined
              dc42 administrators @oarjjj
              last edited by

              @oarjjj gave you verified that all the boards are now running 3.6.0-beta.1 ?

              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

              oarjjjundefined 3 Replies Last reply Reply Quote 0
              • oarjjjundefined
                oarjjj @dc42
                last edited by

                @dc42 Yes.

                FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.6.0-beta.1 ELECTRONICS: Duet 3 MB6HC v1.0 or earlier FIRMWARE_DATE: 2024-09-24 10:07:51
                Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-beta.1 (2024-09-24 08:50:54)
                Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-beta.1 (2024-09-24 08:50:54)
                Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-beta.1 (2024-09-24 08:50:54)
                Duet EXP1HCL rev 1.0a or earlier firmware version 3.6.0-beta.1 (2024-09-24 08:50:54)
                

                Screenshot 2024-09-29 at 8.39.38 AM.png

                oarjjjundefined 1 Reply Last reply Reply Quote 0
                • oarjjjundefined
                  oarjjj @oarjjj
                  last edited by

                  I wonder if there's something wrong on the CAN bus causing unexpected latency? I didn't use a premade cable.

                  Screenshot 2024-09-29 at 8.57.15 AM.png

                  1 Reply Last reply Reply Quote 0
                  • oarjjjundefined
                    oarjjj @dc42
                    last edited by

                    @dc42 said in v2.0 consistently increasing probe heights:

                    @oarjjj gave you verified that all the boards are now running 3.6.0-beta.1 ?

                    Any other ideas?

                    1 Reply Last reply Reply Quote 0
                    • oarjjjundefined
                      oarjjj @dc42
                      last edited by

                      @dc42 I updated to the beta 2 firmware. The increasing values appear to be more consistent now. Almost exactly .010 over each probe. I've tried connecting the smart effector to the IO pins on the expansion boards. Also re-did the configuration from scratch using the RRF config tool.

                      Screenshot 2024-12-25 at 3.13.40 PM.png

                      oarjjjundefined 1 Reply Last reply Reply Quote 0
                      • oarjjjundefined
                        oarjjj @oarjjj
                        last edited by

                        @dc42 Interesting when running the board in standalone mode the offset decreases from 0.010 to 0.005. Appears to be a hardware problem. Can we do an RMA?

                        G32 bed probe heights: 0.096 0.101 0.106 0.111 0.121 0.121 0.131 0.136 0.141 0.146 0.151 0.156 0.161 0.166 0.171 0.176 0.181 0.186 0.191 0.196, mean 0.147, deviation from mean 0.030
                        G32 bed probe heights: 0.201 0.206 0.211 0.216 0.221 0.226 0.236 0.241 0.241 0.246 0.251 0.261 0.261 0.271 0.271 0.281 0.286 0.291 0.296 0.301, mean 0.250, deviation from mean 0.030
                        G32 bed probe heights: 0.306 0.316 0.316 0.326 0.331 0.331 0.341 0.346 0.351 0.356 0.361 0.366 0.371 0.376 0.376 0.381 0.391 0.396 0.401 0.406, mean 0.357, deviation from mean 0.029
                        G32 bed probe heights: 0.406 0.416 0.421 0.426 0.431 0.436 0.441 0.446 0.451 0.456 0.461 0.466 0.471 0.476 0.481 0.486 0.491 0.496 0.501 0.506, mean 0.458, deviation from mean 0.029
                        G32 bed probe heights: 0.511 0.516 0.521 0.526 0.531 0.536 0.541 0.546 0.551 0.556 0.561 0.566 0.571 0.576 0.581 0.586 0.591 0.596 0.601 0.606, mean 0.558, deviation from mean 0.029
                        G32 bed probe heights: 0.616 0.616 0.621 0.631 0.631 0.641 0.646 0.646 0.656 0.661 0.666 0.671 0.676 0.681 0.686 0.691 0.696 0.701 0.706 0.711, mean 0.662, deviation from mean 0.030
                        G32 bed probe heights: 0.711 0.721 0.726 0.731 0.736 0.741 0.746 0.751 0.756 0.761 0.771 0.771 0.781 0.786 0.791 0.796 0.801 0.806 0.811 0.816, mean 0.765, deviation from mean 0.031
                        G32 bed probe heights: 0.826 0.831 0.836 0.841 0.846 0.846 0.856 0.861 0.866 0.871 0.876 0.881 0.886 0.891 0.896 0.901 0.906 0.911 0.911 0.921, mean 0.873, deviation from mean 0.029
                        G32 bed probe heights: 0.931 0.936 0.941 0.946 0.951 0.956 0.961 0.966 0.971 0.976 0.981 0.986 0.991 0.996 1.001 1.006 1.011 1.016 1.016 1.026, mean 0.978, deviation from mean 0.028
                        
                        
                        oarjjjundefined 1 Reply Last reply Reply Quote 0
                        • oarjjjundefined
                          oarjjj @oarjjj
                          last edited by

                          Here is my configtool.json

                          oarjjjundefined 1 Reply Last reply Reply Quote 0
                          • oarjjjundefined
                            oarjjj @oarjjj
                            last edited by

                            I also tried turning off segmentation with M669 and the hotend hit the bed so hard it wrecked my E3D Revo 6.

                            Screenshot 2024-12-25 at 4.04.54 PM.png

                            1 Reply Last reply Reply Quote 0
                            • shaunpplundefined
                              shaunppl
                              last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 0
                              • shaunpplundefined
                                shaunppl @oarjjj
                                last edited by

                                @oarjjj said in v2.0 consistently increasing probe heights:

                                I am starting to think it may be an issue with the E3d Lite6, possibly its spring is compressing? I'm not sure.

                                There should be no compression available on the E3D lite 6 with a Revo nozzle as the compression spring is there to hold the nozzle heat-break assembly tight against the thread of the body after hand tightening it, so when in constant use it does not come undone and also to allow the heater element a degree of heat expansion.
                                The only case i have ever had with a loose nozzle was with a customer who had not tightened it it up fully and they kept getting a very inconsistent filament laydown and jagged edges as it would oscillate as it was moving. I am running 3 Delta printers all Anycubic Predators converted to linear rails and all using version 3.5 on Mini + 5 boards and all the motors directly from the motherboard with the Hemera sx extruders without any expansions as I have never needed them nor have i ever any issues to warrant using expansion board as I get extremely good prints.

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