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
      last edited by

      On my delta, the smart effector trigger height increases linearly with each successive probe. I noticed this problem when performing mesh grid mapping, the build surface appears to rise steadily toward the X axis.

      Probing the same spot:
      G32 bed probe heights: -1.094 -1.094 -1.090 -1.094 -1.094 -1.071 -1.067 -1.079 -1.056 -1.056 -1.052 -1.045 -1.041 -1.037 -1.030 -1.045 -1.026 -1.037 -1.034 -1.030, mean -1.059, deviation from mean 0.024

      Only performing a homing move will reset the sensor to the actual trigger height. Then it proceeds to increase each subsequent measurement.

      I am currently testing the printer using quadature encoders, and seeing this problem both with the encoders off and on. Running firmware 3.5.1 I was seeing U-shaped moves (Z was dipping down on longer X-Y moves) so I updated to 3.6.0-alpha.5+1. That solved the dipping problem.

      HW setup:
      DC42 delta build, linear rails, smart effector, pcb carriages, optical endstops, 400mm bed, 490mm Haydn's arms, E3d Revo 2, currently do not have an extruder setup.
      Duet 3 MB6HC, 3.6.0-alpha.5+1, SBC mode Pi4. Runs hotend, fans and smart effector probe
      4 X Duet 3 Expansion EXP1HCL, 3.6.0-alpha.5- Each runs an axis

      ; 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
      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
      M569 P124.0 S1                                          ; physical drive 124.0 goes forwards
      M584 X122.0 Y123.0 Z121.0 E124.0                        ; set drive mapping
      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
      
      ; 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 B4138            ; 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
      ; 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
      

      Test script:

      g1 z20
      var x=0
      var y=0
      var numProbes=20
      g30 s-1
      g1 z8
      
      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
      
      RepRapFirmware height map file v2 generated at 2024-09-14 23:56, min error 0.030, max error 0.981, mean 0.453, deviation 0.271
      axis0,axis1,min0,max0,min1,max1,radius,spacing0,spacing1,num0,num1
      X,Y,-140.00,140.10,-140.00,140.10,175.00,35.00,35.00,9,9
            0,      0,  0.030,  0.053,  0.045,  0.078,  0.146,      0,      0
            0,  0.170,  0.109,  0.092,  0.077,  0.085,  0.124,  0.185,      0
        0.206,  0.178,  0.135,  0.148,  0.167,  0.191,  0.240,  0.308,  0.381
        0.334,  0.304,  0.275,  0.277,  0.260,  0.253,  0.310,  0.322,  0.387
        0.357,  0.365,  0.381,  0.379,  0.365,  0.422,  0.478,  0.538,  0.546
        0.526,  0.544,  0.549,  0.535,  0.537,  0.534,  0.590,  0.591,  0.598
        0.548,  0.587,  0.630,  0.665,  0.691,  0.750,  0.740,  0.805,  0.808
            0,  0.754,  0.775,  0.825,  0.838,  0.859,  0.861,  0.843,      0
            0,      0,  0.823,  0.888,  0.938,  0.945,  0.981,      0,      0
      
      jay_s_ukundefined 1 Reply Last reply Reply Quote 0
      • apakundefined
        apak
        last edited by

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

        M208 Z0 S1 ; set minimum Z

        Need to go under Z=0 with contact probe like smarteffector.

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

          @oarjjj i'm also not sure whether this still applies with 3.6 alpha 5.1
          The tower motors of a delta printer cannot be driven via CAN-connected expansion boards. Workaround: use M669 to enable segmentation with short (e.g. 1mm) segments.
          https://docs.duet3d.com/en/User_manual/RepRapFirmware/CAN_limitations#:~:text=The tower motors of a delta printer cannot be driven via CAN-connected expansion boards. Workaround%3A use M669 to enable segmentation with short (e.g. 1mm) segments.

          Owns various duet boards and is the main wiki maintainer for the Teamgloomy LPC/STM32 port of RRF. Assume I'm running whatever the latest beta/stable build is

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

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

            @oarjjj i'm also not sure whether this still applies with 3.6 alpha 5.1
            The tower motors of a delta printer cannot be driven via CAN-connected expansion boards. Workaround: use M669 to enable segmentation with short (e.g. 1mm) segments.
            https://docs.duet3d.com/en/User_manual/RepRapFirmware/CAN_limitations#:~:text=The tower motors of a delta printer cannot be driven via CAN-connected expansion boards. Workaround%3A use M669 to enable segmentation with short (e.g. 1mm) segments.

            It should be OK to use CAN-connected motors for delta towers on 3.6, however there is a known issue (see https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-360-alpha51-main-board--alpha5-expansion-boards) that may be relevant. The delay in stopping motion when the probe is triggered may be causing the motors to skip steps. Or perhaps there isn't really a delay in stopping motion but the degree of reversion needed is being calculated incorrectly.

            Fixing this is one of my top priorities because it is the last major bug to fix before the 3.6.0-beta.1 release.

            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
            • oarjjjundefined
              oarjjj @apak
              last edited by

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

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

              M208 Z0 S1 ; set minimum Z

              Need to go under Z=0 with contact probe like smarteffector.

              Good tip. From what I can tell the probe dive height allows it to go beyond Z0.

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

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

              @oarjjj i'm also not sure whether this still applies with 3.6 alpha 5.1
              The tower motors of a delta printer cannot be driven via CAN-connected expansion boards. Workaround: use M669 to enable segmentation with short (e.g. 1mm) segments.
              https://docs.duet3d.com/en/User_manual/RepRapFirmware/CAN_limitations#:~:text=The tower motors of a delta printer cannot be driven via CAN-connected expansion boards. Workaround%3A use M669 to enable segmentation with short (e.g. 1mm) segments.

              It should be OK to use CAN-connected motors for delta towers on 3.6, however there is a known issue (see https://github.com/Duet3D/RepRapFirmware/wiki/Changelog-RRF-3.x-Beta#reprapfirmware-360-alpha51-main-board--alpha5-expansion-boards) that may be relevant. The delay in stopping motion when the probe is triggered may be causing the motors to skip steps. Or perhaps there isn't really a delay in stopping motion but the degree of reversion needed is being calculated incorrectly.

              Fixing this is one of my top priorities because it is the last major bug to fix before the 3.6.0-beta.1 release.

              I really appreciate your help. Can confirm, segmentation is enabled. The towers do very abruptly stop when performing their homing move. But, I can't seem to notice any difference in motion when probing.

              The expansion boards are there for closed loop support. It sounds like delta performance may be better running the motors on the main board though. I don't suppose it's possible to have the best of both worlds?

              I'll try connecting the axis motors to the main board to see if the issue persists there.

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

                @oarjjj the bug in 3.6 that I mentioned is now fixed. I expect to release 3.6.0-beta.1 this week.

                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 1 Reply Last reply Reply Quote 1
                • 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