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

    Differential drive with belts (or balls or gears...)

    Scheduled Pinned Locked Moved
    General Discussion
    5
    38
    2.3k
    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.
    • o_lampeundefined
      o_lampe
      last edited by

      I redesigned the belt-system to have parallel and scratch-free belt path's.
      It's a tight fit and I have to use very tiny idlers.
      But as a proof of concept, it'll do.
      I config'd both motors as extruders and used different mixing ratios to test various gear ratios.
      The formula to get a 1:25 ratio is E0.52:0.48, which is a mystery to me.
      At a mixing ratio of E0.5:0.5 both motors run, but the carrier doesn't move. (infinite gear ratio)
      Does anyone have a theory

      Here are some pics, how I had to double-wrap the belts to have sufficient contact with the pulleys.
      IMG_20230611_162101529_MFNR.jpg IMG_20230611_162045033_MFNR.jpg IMG_20230611_162027598_MFNR.jpg

      o_lampeundefined 1 Reply Last reply Reply Quote 2
      • o_lampeundefined
        o_lampe
        last edited by

        I've changed the title, because there is a simple way of building a differential drive that translates rotary motion into rotary motion (instead of linear)

        There are some examples from rc-car tuners that would fit our needs, if we'd drive them 'backwards'.
        Some even come with belt pulley on the input (which would be our output). They should be backlash-free but not slip-free (when overloaded)
        IMHO, their smooth ballbearing-like motion make them ideal for 5-bar SCARA and robotics.

        Also there are the classic beveled gear differentials that'll work similar but have opposite characteristics regarding backlash and slip.

        ball-diff_bevel_diff.jpg

        1 Reply Last reply Reply Quote 0
        • o_lampeundefined
          o_lampe @o_lampe
          last edited by o_lampe

          @o_lampe said in Differential drive with belts (or balls or gears...):

          The formula to get a 1:25 ratio is E0.52:0.48, which is a mystery to me.
          At a mixing ratio of E0.5:0.5 both motors run, but the carrier doesn't move. (infinite gear ratio)
          Does anyone have a theory

          The math behind this is still unsolved.
          It already started with a surprise: I'm using 16 tooth GT2 pulleys all over and 1.8° steppers with 16x microstepping, so I expected 100steps/mm when the mixing ratio is E1.0:0 (second belt acts like rack & pinion)
          But I had to use 200steps/mm... 😕

          The mixing ratio of E0.52:0.48 leads to 104 and 96 steps/mm for a gear ratio of 1:25.
          The sum of the mixing ratio has to be 1.0. I tested other ratios and they ended with belts jumping over pulleys.

          I want to develop a formula to calculate the mixing ratio (or steps/mm) from a target gear ratio.
          I noticed that the mixing ratio above is 4% off and 100(%) /4 = 25.
          The formula for e.g. 1:50 would then be 100/50= 2% => 200+1% and 200-1%
          If I'd use ratio as a global variable for the ratio, I could use this formula in config.g:

          ~~M92 E{200+100/(global.ratio*2) : 200-100/(global.ratio*2)}~~
          

          I think I solved the problem, just by trying to describe it
          The example above works for 1:50, but not for 1:1... where's is my mistake?

          But I'm still puzzled why I have to use 200steps/mm as a starting point....
          Any hints are welcome

          JoergS5undefined 2 Replies Last reply Reply Quote 0
          • JoergS5undefined
            JoergS5 @o_lampe
            last edited by JoergS5

            @o_lampe said in Differential drive with belts (or balls or gears...):

            e example above works for 1:50, but not for 1:1... where's is my mistake?

            I think the calculation is:
            100 mm move, one moves eg 52 mm, the other 48 mm => (52-48)/100 = 1:25

            To get 1:1, you would need 100/100=1:1. This would be one moves 100 mm, the other 0, so (100-0)/100 = 1:1. IOW only one stepper moving.

            This gear could be interesting for Z move. => coarse positioning and then by changing the ratio fine tuning the Z position.

            o_lampeundefined 1 Reply Last reply Reply Quote 1
            • JoergS5undefined
              JoergS5 @o_lampe
              last edited by JoergS5

              @o_lampe your 200 steps/mm is probably because of it is like a pulley / hoist / winch with 1:2 ratio. (I am not sure, just an idea). Like a "straight CoreXY", each stepper providing part of the movement.

              1 Reply Last reply Reply Quote 0
              • o_lampeundefined
                o_lampe @JoergS5
                last edited by

                @JoergS5 said in Differential drive with belts (or balls or gears...):

                @o_lampe said in Differential drive with belts (or balls or gears...):

                e example above works for 1:50, but not for 1:1... where's is my mistake?

                I think the calculation is:
                100 mm move, one moves eg 52 mm, the other 48 mm => (52-48)/100 = 1:25

                To get 1:1, you would need 100/100=1:1. This would be one moves 100 mm, the other 0, so (100-0)/100 = 1:1. IOW only one stepper moving.

                This gear could be interesting for Z move.

                This formula explains it much better, but I've stared too long on my own wrong formula. I need a second coffee to build a reverse formula from it.

                re: Z move
                It depends on the output torque. If you are right about the 'winch' theory, we produce only double the torque, no matter what the gear ratio is.
                Many people use 3 or 4 motors for Z-axis. Hard to imagine someone would use 6 or 8 motors just for Z.

                JoergS5undefined 2 Replies Last reply Reply Quote 0
                • JoergS5undefined
                  JoergS5 @o_lampe
                  last edited by

                  @o_lampe said in Differential drive with belts (or balls or gears...):

                  double the torque,

                  my argument was more the idea to get high precision.

                  Your goal seems to be more torque. I bought some gears to build something and then was disappointed that the maximum torque was limited. In my understanding the torque is only one aspect, the maximum load-bearing capacity is an important aspect also. So you may achieve 1:100 ratio with a very high torque, but breaking your parts.

                  o_lampeundefined 1 Reply Last reply Reply Quote 0
                  • JoergS5undefined
                    JoergS5 @o_lampe
                    last edited by JoergS5

                    @o_lampe said in Differential drive with belts (or balls or gears...):

                    formula

                    There is one more idea I had. When reading about harmonic drive, I read the post of https://www.cnczone.com/forums/linear-and-rotary-motion/261174-cnc-engineering-3.html and on page 3 of 3-14-2015 was the comment that it depends on which parts are moved and which ones are fixed. The ratio will differ between R:1 and R+1:1, so you may experience a crude ratio in your experiments. (in the lower half of this post)

                    1 Reply Last reply Reply Quote 0
                    • o_lampeundefined
                      o_lampe @JoergS5
                      last edited by

                      @JoergS5 I replied to you before you edited the post.
                      This extra fine movement I can achieve, could be helpful for Astro-photography, but I'm sure those geeks have already found out a similar way to follow Venus 😉

                      JoergS5undefined 1 Reply Last reply Reply Quote 0
                      • JoergS5undefined
                        JoergS5 @o_lampe
                        last edited by

                        @o_lampe said in Differential drive with belts (or balls or gears...):

                        Astro-photography

                        yes, those astro people have impressive web pages and projects!

                        1 Reply Last reply Reply Quote 0
                        • o_lampeundefined
                          o_lampe
                          last edited by o_lampe

                          I figured out how to universally calculate the M92 values for motor 'a' and motor 'b':
                          Based on 200 steps/mm and gear ratio expressed as e.g. "20" for a 1:20 ratio

                          set global.ratio = 20
                          motor 'a' = M92 a{ 200* (0.5 + 0.5/global.ratio) }
                          motor 'b' = M92 b{ 200* (0.5 - 0.5/global.ratio) }

                          Now I can start using the mixing ratio for real axes by modifying the kinematic matrix.
                          For a cartesian X-axis it should be:
                          M669 K0 X0:0:0:0:0:0:1:1 // using a and b axes

                          I will test it today fingers crossed

                          //edit
                          Defining variables has changed?

                          var ratio = 20
                          M92 U{ 200* (0.5 + 0.5/var.ratio) } 
                          M92 V{ 200* (0.5 - 0.5/var.ratio) }
                          

                          works

                          Also the matrix "requires" the original axis to be present, although I can set M92 X0 and it works as expected 🙂
                          M669 K0 X1:0:0:1:1 // using U and V axes

                          o_lampeundefined 1 Reply Last reply Reply Quote 0
                          • o_lampeundefined
                            o_lampe @o_lampe
                            last edited by

                            @o_lampe
                            With the formulas above I can scale down a motion system without loosing precision, but RRF doesn't know it is printing smaller.

                            To move the tool in 1:1 scale but with increased precision I have to multipy the steps/mm with the gear ratio:

                            var ratio = 20
                            M92 U{ var.ratio * 200 * (0.5 + 0.5/var.ratio) } 
                            M92 V{ var.ratio * 200 * (0.5 - 0.5/var.ratio) }
                            

                            Furthermore I have to consider the impact it has on max. speed, accel and jerk. The rotor inertia of two fast spinning motors play a much bigger part compared to the mass of the toolhead.
                            A simple way to deal with it will be to divide e.g. max. speed / ratio but that isn't spot on.
                            I'd like to hear your opinions about it.

                            deckingmanundefined 1 Reply Last reply Reply Quote 0
                            • deckingmanundefined
                              deckingman @o_lampe
                              last edited by

                              @o_lampe This may, or my not be relevant but my new machine has "remote" motors. That is to say, the pulley that drives the belts is fixed to an 8mm diameter shaft with consequently much bigger bearings than those found inside Nema17 stepper motors. A second pulley connects the motor to that shaft. This also gives me the opportunity to use asymmetrical pulley sizes and I thought that I could use a 20 tooth pulley on the motor, and a 40 tooth pulley on the shaft. As well as doubling the steps per mm for greater precision, this would also effectively double the torque applied to the gantry. Which is true at low speeds but at faster speeds for non-print moves, the motor torque starts to drop so the effective increase due to gearing was partly negated. But the real killer was back EMF due to rotation. When I plugged the numbers into the calculator, the maximum speed I could use was 200mm/sec and I like to use 350 for travel moves. Noise was also an issue - it was noticeably louder and harsher with the motors running twice as fast. So I've reverted to 20 tooth pulleys on both the motor and the drive shaft giving me 1:1 gearing.

                              Ian
                              https://somei3deas.wordpress.com/
                              https://www.youtube.com/@deckingman

                              o_lampeundefined 2 Replies Last reply Reply Quote 0
                              • o_lampeundefined
                                o_lampe @deckingman
                                last edited by o_lampe

                                @deckingman Thanks for the reply, it is relevant to compare pro's and con's of fixed gear motion and the flex. gear ratio I can achieve.
                                As @JoergS5 already mentioned, he saw an advantage for z-motion, where I can set ratio to 1:1 for coarse homing and for fine homing and probing, switch to a higher resolution.
                                Same would partly apply in your usecase (if you could detect travel moves vs. print moves) : do travel moves with 1:1 ratio and switch to 1:n ratio for printing.
                                Only downside is, that the output torque doesn't relate to the gear ratio. I haven't done any weight lifting but I'd be surprised if the output torque would be greater then 2* motor torque.

                                1 Reply Last reply Reply Quote 0
                                • o_lampeundefined
                                  o_lampe @deckingman
                                  last edited by

                                  @deckingman said in Differential drive with belts (or balls or gears...):

                                  the real killer was back EMF due to rotation.

                                  I've noticed that I can use higher gear ratios than 1:1. With a ratio of 2:1 I could double the output speed without changing the back EMF or loosing steps due to torque degradation.
                                  In fact, most CVT drives are used to maximize efficiency by using the motor at it's best RPM.
                                  In our case the sweet spot is slightly above 50% of max. RPM. That's where torque degradation starts to kick in.

                                  JoergS5undefined 1 Reply Last reply Reply Quote 0
                                  • JoergS5undefined
                                    JoergS5 @o_lampe
                                    last edited by

                                    This post is deleted!
                                    o_lampeundefined 1 Reply Last reply Reply Quote 0
                                    • o_lampeundefined
                                      o_lampe @JoergS5
                                      last edited by o_lampe

                                      @JoergS5 Interesting usecase.
                                      ** moved to private conversation**

                                      JoergS5undefined 1 Reply Last reply Reply Quote 0
                                      • JoergS5undefined
                                        JoergS5 @o_lampe
                                        last edited by

                                        This post is deleted!
                                        o_lampeundefined 1 Reply Last reply Reply Quote 0
                                        • o_lampeundefined
                                          o_lampe @JoergS5
                                          last edited by

                                          This post is deleted!
                                          JoergS5undefined 1 Reply Last reply Reply Quote 0
                                          • JoergS5undefined
                                            JoergS5 @o_lampe
                                            last edited by

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