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

    HEVO triple kinematic bed configuration

    Scheduled Pinned Locked Moved
    General Discussion
    5
    24
    1.1k
    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.
    • fcwiltundefined
      fcwilt @dingo007
      last edited by

      @dingo007 said in HEVO triple kinematic bed configuration:

      Has anyone accomplished the HEVO triple kinematic bed configuration on a duet 3 ?

      Im trying to work through it,m they have no example for the duet 3. Anyone?

      Not sure what you mean. Are you talking about having 3 Z steppers?

      Frederick

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

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

        If it's a triple lead screw with 3 motors then this should apply: https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

        1 Reply Last reply Reply Quote 0
        • dingo007undefined
          dingo007 @fcwilt
          last edited by

          @fcwilt yes, 3 steppers, auto bed leveling with bltouch

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

            @dingo007 said in HEVO triple kinematic bed configuration:

            @fcwilt yes, 3 steppers, auto bed leveling with bltouch

            Then you might enjoy this video of my own design using 3 Z steppers.

            Printer with 3 Z Steppers

            Notice that I included an endstop sensor for each Z axis to allow for quickly getting the bed homed and mostly level. Then the Z probe is used to do the final leveling.

            Frederick

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

            dingo007undefined 2 Replies Last reply Reply Quote 1
            • dingo007undefined
              dingo007 @fcwilt
              last edited by

              @fcwilt

              nice vid, im not using endstops on Z though, just the bltouch, still trying to figure out the whole configuration

              1 Reply Last reply Reply Quote 0
              • dingo007undefined
                dingo007 @fcwilt
                last edited by

                @fcwilt

                ok whats your configuration look like, ill never accomplish this without help 🙂

                fcwiltundefined dingo007undefined 2 Replies Last reply Reply Quote 0
                • fcwiltundefined
                  fcwilt @dingo007
                  last edited by

                  @dingo007 said in HEVO triple kinematic bed configuration:

                  @fcwilt

                  ok whats your configuration look like, ill never accomplish this without help 🙂

                  I would be glad to generate one but the one I have working is for a Duet 2 WiFi/Duex 5 setup.

                  Frederick

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

                  1 Reply Last reply Reply Quote 0
                  • dingo007undefined
                    dingo007 @dingo007
                    last edited by dingo007

                    @dingo007

                    i have a 300x300 triple Z scew... and a BLTouch, no endstops on Z with a Duet3 board... think you can take a crack at it getting a config done for levelling

                    right now

                    ; Drives
                    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
                    M569 P0.3 S0 ; physical drive 0.3 goes forwards
                    M569 P0.4 S0 ; physical drive 0.4 goes forwards
                    M569 P0.5 S1 ; physical drive 0.5 goes forwards
                    M584 X0.4 Y0.3 Z0.0:0.1:0.2 E0.5 ; set drive mapping
                    M350 X16 Y16 Z16:16:16 E16 I1 ; configure microstepping with interpolation
                    M92 X80.00 Y80.00 Z400.00:400.00:400.00 E420.00 ; set steps per mm
                    M566 X900.00 Y900.00 Z60.00:60:60 E120.00 ; set maximum instantaneous speed changes (mm/min)
                    M203 X6000.00 Y6000.00 Z180.00:180.00:180.00 E1200.00 ; set maximum speeds (mm/min)
                    M201 X500.00 Y500.00 Z20.00:20.00:20.00 E250.00 ; set accelerations (mm/s^2)
                    M906 X800 Y800 Z800:800:800 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 Z350 S0 ; set axis maxima

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

                      @dingo007 that config looks OK to me, but you need to add a M671 command to tell the firmware the coordinates of the leadscrews. You will also need to construct a bed.g file.

                      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

                      dingo007undefined 1 Reply Last reply Reply Quote 0
                      • dingo007undefined
                        dingo007 @dc42
                        last edited by dingo007

                        @dc42

                        great are those cordinate defined as where the lead screw physically is, or where it mounts to the bed, as there are ball screws under the hot bed, these are extended a bit inwards by the mount from the lead screws, basically we followed the HEVO triple Z axis design, tough its modified a bit.

                        c0fa0333-794b-4d8c-96cd-8a47e221740b-image.png
                        Front Left
                        890dd56d-5aaf-41d2-8f39-e1b26cc85608-image.png
                        Center rear
                        b97f57dd-33a1-4e14-a4be-c7fb7992e986-image.png
                        However notice the screw is offset and the rear is actually mounted at the rail
                        e1605e0b-5a9c-4f56-b8ec-5a786363ff4b-image.png

                        ill look around for an example bed.g

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

                          @dingo007 said in HEVO triple kinematic bed configuration:

                          ill look around for an example bed.g

                          Did you look here?

                          If it's a triple lead screw with 3 motors then this should apply: https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors

                          Specifically: https://duet3d.dozuki.com/Wiki/Bed_levelling_using_multiple_independent_Z_motors#Section_Example_for_3_motors

                          dingo007undefined 1 Reply Last reply Reply Quote 0
                          • dingo007undefined
                            dingo007 @Phaedrux
                            last edited by

                            @phaedrux

                            3 Z Screws will ball mounts at X:Y 20:20, 125:290 and 230:20
                            So Im pretty sure im not understanding the M671 Logic i read in that guide. Ive tried from the guide however

                            12/3/2021, 7:35:22 AM Error: Some computed corrections exceed configured limit of 0.50mm: 2.467 -0.039 0.029
                            12/3/2021, 7:34:42 AM G32
                            110 points probed, min error -1.395, max error 2.579, mean 0.493, deviation 0.962
                            Height map saved to file 0:/sys/heightmap.csv

                            config.g
                            ; Drives
                            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
                            M569 P0.3 S0 ; physical drive 0.3 goes forwards
                            M569 P0.4 S0 ; physical drive 0.4 goes forwards
                            M569 P0.5 S1 ; physical drive 0.5 goes forwards
                            M584 X0.4 Y0.3 Z0.0:0.1:0.2 E0.5 ; set drive mapping
                            M350 X16 Y16 Z116:16:16 E16 I1 ; configure microstepping with interpolation
                            M92 X80.00 Y80.00 Z1280.00:1280.00:1280.00 E420.00 ; set steps per mm
                            M566 X900.00 Y900.00 Z60.00:60:60 E120.00 ; set maximum instantaneous speed changes (mm/min)
                            M203 X6000.00 Y6000.00 Z180.00:180.00:180.00 E1200.00 ; set maximum speeds (mm/min)
                            M201 X500.00 Y500.00 Z20.00:20.00:20.00 E250.00 ; set accelerations (mm/s^2)
                            M906 X800 Y800 Z800:800:800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
                            M84 S30 ; Set idle timeout

                            ; Screws
                            M671 X20:20:230 Y190:10:125 S0.5 ; leadscrews at rear left, front middle and rear right

                            config-overide.g
                            ; config-override.g file generated in response to M500 at 2021-12-02 20:40
                            ; This is a system-generated file - do not edit
                            ; Heater model parameters
                            M307 H0 R0.206 C393.800:393.800 D2.19 S1.00 V23.3 B0 I0
                            M307 H1 R1.679 C247.000:247.000 D7.08 S1.00 V23.7 B0 I0
                            ; Workplace coordinates
                            G10 L2 P1 X0.00 Y0.00 Z0.00
                            G10 L2 P2 X0.00 Y0.00 Z0.00
                            G10 L2 P3 X0.00 Y0.00 Z0.00
                            G10 L2 P4 X0.00 Y0.00 Z0.00
                            G10 L2 P5 X0.00 Y0.00 Z0.00
                            G10 L2 P6 X0.00 Y0.00 Z0.00
                            G10 L2 P7 X0.00 Y0.00 Z0.00
                            G10 L2 P8 X0.00 Y0.00 Z0.00
                            G10 L2 P9 X0.00 Y0.00 Z0.00

                            and bed.g
                            ; bed.g
                            ; called to perform automatic bed compensation via G32
                            ;
                            ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Nov 30 2021 22:33:03 GMT+0700 (Indochina Time)
                            M561 ; clear any bed transform
                            G29 ; probe the bed and enable compensation

                            G28 ; home

                            G30 P0 X20 Y20 Z-99999 ; probe near a leadscrew
                            G30 P1 X125 Y290 Z-99999 ; probe near a leadscrew
                            G30 P2 X230 Y20 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors

                            fcwiltundefined dingo007undefined Phaedruxundefined 3 Replies Last reply Reply Quote 0
                            • fcwiltundefined
                              fcwilt @dingo007
                              last edited by

                              @dingo007

                              You don't want to do a G29 in bed.g - that file is just for auto-leveling of the bed.

                              The file mesh.g is for creating the height map needed for mesh bed compensation.

                              So first get auto-leveling working and then work on mesh bed compensation.

                              Frederick

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

                              1 Reply Last reply Reply Quote 0
                              • dingo007undefined
                                dingo007 @dingo007
                                last edited by

                                @dingo007

                                I removed the G29 And still thats whats giving me the error, so im not sure im measuring the probe points right. is it where the physical screws actually are? or where the ball mounts are under the board??

                                G32
                                Error: Some computed corrections exceed configured limit of 0.50mm: 0.026 3.362 -1.291

                                config.g
                                ; Configuration file for Duet 3 (firmware version 3.3)
                                ; executed by the firmware on start-up
                                ;
                                ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Nov 30 2021 22:33:03 GMT+0700 (Indochina Time)

                                ; General preferences
                                G90 ; send absolute coordinates...
                                M83 ; ...but relative extruder moves
                                M550 P"300" ; set printer name
                                M669 K1 ; select CoreXY mode

                                ; Network
                                M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP
                                M586 P0 S1 ; enable HTTP
                                M586 P1 S0 ; disable FTP
                                M586 P2 S0 ; disable Telnet ; Set idle timeout

                                ; Drives
                                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
                                M569 P0.3 S0 ; physical drive 0.3 goes forwards
                                M569 P0.4 S0 ; physical drive 0.4 goes forwards
                                M569 P0.5 S1 ; physical drive 0.5 goes forwards
                                M584 X0.4 Y0.3 Z0.0:0.1:0.2 E0.5 ; set drive mapping
                                M350 X16 Y16 Z116:16:16 E16 I1 ; configure microstepping with interpolation
                                M92 X80.00 Y80.00 Z1280.00:1280.00:1280.00 E420.00 ; set steps per mm
                                M566 X900.00 Y900.00 Z60.00:60:60 E120.00 ; set maximum instantaneous speed changes (mm/min)
                                M203 X6000.00 Y6000.00 Z180.00:180.00:180.00 E1200.00 ; set maximum speeds (mm/min)
                                M201 X500.00 Y500.00 Z20.00:20.00:20.00 E250.00 ; set accelerations (mm/s^2)
                                M906 X800 Y800 Z800:800:800 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
                                M84 S30 ; Set idle timeout

                                ; Screws
                                M671 X20:125:230 Y20:300:20 S0.5 ; leadscrews at rear left, front middle and rear right

                                ; Axis Limits
                                M208 X0 Y0 Z0 S1 ; set axis minima
                                M208 X250 Y320 Z480 S0 ; set axis maxima

                                bed.g
                                ; bed.g
                                ; called to perform automatic bed compensation via G32
                                ;
                                ; generated by RepRapFirmware Configuration Tool v3.3.10 on Tue Nov 30 2021 22:33:03 GMT+0700 (Indochina Time)
                                M561 ; clear any bed transform
                                ;G29 ; probe the bed and enable compensation

                                G28 ; home

                                G30 P0 X20 Y20 Z-99999 ; probe near a leadscrew
                                G30 P1 X125 Y300 Z-99999 ; probe near a leadscrew
                                G30 P2 X230 Y20 Z-99999 S3 ; probe near a leadscrew and calibrate 3 motors

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

                                  @dingo007

                                  Well that is not really an error, more of an informational message.

                                  You have the S parameter in your M671 set to 0.5 which limits the correct for a single pass to 0.5 mm which is not very much. The default value is 1.0.

                                  You see that one of the adjustments required was going to be 3.362.

                                  So as a test change the S parameter to 4.0 and see what happens.

                                  Frederick

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

                                  dingo007undefined 1 Reply Last reply Reply Quote 1
                                  • dingo007undefined
                                    dingo007 @fcwilt
                                    last edited by

                                    @fcwilt
                                    G32
                                    Leadscrew adjustments made: 0.167 0.270 -0.504, points used 3, (mean, deviation) before (-0.022, 0.343) after (0.000, 0.000)

                                    mmm think i nailed it now...

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

                                      @dingo007 said in HEVO triple kinematic bed configuration:

                                      @fcwilt
                                      G32
                                      Leadscrew adjustments made: 0.167 0.270 -0.504, points used 3, (mean, deviation) before (-0.022, 0.343) after (0.000, 0.000)

                                      mmm think i nailed it now...

                                      You can if you wish put those three G30 command inside while loop with a few other commands and it will run multiple passes until an acceptable degree of levelness (is that word) is reached.

                                      Here is an example:

                                      ; start of bed.g
                                      
                                      while true
                                          G30 P0 X-145 Y-65 Z-99999    ; probe near ball stud #1
                                          G30 P1 X0    Y100 Z-99999    ; probe near ball stud #2
                                          G30 P2 X145  Y-65 Z-99999 S3 ; probe near ball stud #3
                                        
                                        ; check results - exit loop if results are good
                                      
                                        if move.calibration.initial.deviation < 0.02
                                          break
                                      
                                        ; check pass limit - abort if pass limit reached
                                      
                                        if iterations = 5
                                          M291 P"Bed Leveling Aborted" R"Pass Limit Reached"
                                          abort "Bed Leveling Aborted - Pass Limit Reached"
                                      
                                      ; end of bed .g
                                      

                                      You would just need to put your own G30 commands in there.

                                      Frederick

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

                                      dingo007undefined 1 Reply Last reply Reply Quote 1
                                      • Phaedruxundefined
                                        Phaedrux Moderator @dingo007
                                        last edited by

                                        This post is deleted!
                                        1 Reply Last reply Reply Quote 0
                                        • dingo007undefined
                                          dingo007 @fcwilt
                                          last edited by

                                          @fcwilt

                                          ok here is the top and bottom side cad of the bed, plus the photos of it above, im literally not sure what/where to measure. Am I measuring at the screws, or the ball studs, which align under the board and offset slightly with a bracket, am i measuring at the screws, or the ball studs, also do i include the offset from the board to the ball stud? and you will also notice on the rear screw it has a mount from the Z rail with a ball screw, the board sits on it centered.

                                          for M671 ... I tried the below thinking i would measure at the ball screws, yet when i run the G32 leveling the right and read go way out of whack.

                                          ; Screws
                                          M671 X20:125:230 Y20:280:20 S4.5 ; leadscrews at rear left, front middle and rear right

                                          and in bed.g
                                          G30 P0 X20 Y20 Z-99999 ; probe near a ball stud
                                          G30 P1 X125 Y280 Z-99999 ; probe near a ballstud
                                          G30 P2 X230 Y20 Z-99999 S3 ; probe near a ballstud and calibrate 3 motors

                                          2cb691f5-9ff8-475d-988a-17ee149fda30-image.png
                                          6b04759d-5d10-425e-9f68-e6914bd412db-image.png

                                          jay_s_ukundefined dingo007undefined 2 Replies Last reply Reply Quote 0
                                          • jay_s_ukundefined
                                            jay_s_uk @dingo007
                                            last edited by

                                            @dingo007 measure at the pivot point, i.e. the ball studs.
                                            so the ball stud locations should go in M671
                                            the M671 order should be the same order as the motors are defined in M584
                                            so Z0.0:0.1:0.2 and M671 should be the location for the ball studs in that order

                                            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

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