Differential drive with belts (or balls or gears...)
-
@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 -
@o_lampe said in Differential drive with belts (or balls or gears...):
Astro-photography
yes, those astro people have impressive web pages and projects!
-
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 ratioset 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_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. -
@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.
-
@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. -
@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. -
This post is deleted! -
@JoergS5 Interesting usecase.
** moved to private conversation** -
This post is deleted! -
This post is deleted! -
This post is deleted! -
As an all-time Duet2 user I always assume 16x microstepping is a common thing, but forgot that Duet3 drivers can handle higher microstepping rates.
Q: How would that compare to my differential drive? Let's say both systems are setup with the same virtual gear ratio:
- My diff-belt at 16x microstepping and 1:16 gear ratio
- a single motor with 256x microstepping
Will both systems run with the same precision?
-
@o_lampe I would have thought that, providing there is no backlash in your differential drive, it should perform better but it depends on what speed/gear ratio you use. My reasoning is that most steppers have a quoted resolution of +- 5 degrees per step (non accumulative) and that does not change with micro stepping. So if say one revolution of the motor translates to half a revolution of the output drive shaft, then any positional error of the motor will be halved at the output shaft. But if you drive the motor too fast, then you'll run into problems with back EMF due to rotation which will ultimately lose steps. The other thing that might happen with 256x micro stepping is that you run into the step pulse frequency limit of the firmware.
I've abandoned my own idea of using a 40 tooth pulley on the drive shaft and a 20 tooth pulley on the motor. Partly because back EMF would limit my travel speeds to 200mm/sec and I like to run higher, but also because driving the motors at double speed makes them noticeably mor noisy. Not excessively so but enoug to be a concern if the machine was running overnight in my study which is next to my bedroom.
-
@deckingman I agree that it wouldn't make much sense to increase precision on an average FDM printer. Most people are happy with 16x microstepping at 24V. If it's not fast enough there is still the 48V option.
I'm still searching usecases for laser/CNC machines or exotic kinematics like SCARA.
re: backlash
The belt driven has no backlash, but twice the belt stretch.
A ball-diff wouldn't have backlash if coupled correctly.RRF will have backlash compensation, or has already? AFAIK it spreads the additional steps across the next track.
Wondering if using many segments/sec in M669 changes the spreading? -
@o_lampe said in Differential drive with belts (or balls or gears...):
I'm still searching usecases
I thought of pick and place machines. They need fast travel and precise placing.
Maybe try to modify the linear delta kinematic matrix or go for a rotary delta?But I don't have any need for such a machine, I'd only build it as a proof of concept. It would also need at least 6 drivers, Duet2 wouldn't cut it.
A Duet6HC would bust my budget, although it would be interesting to teach a 48V machine to fly -
@deckingman said in Differential drive with belts (or balls or gears...):
most steppers have a quoted resolution of +- 5 degrees per step (non accumulative)
Fact checking: It's +/- 5% per step, but still worth considering.
-
@o_lampe said in Differential drive with belts (or balls or gears...):
@deckingman said in Differential drive with belts (or balls or gears...):
most steppers have a quoted resolution of +- 5 degrees per step (non accumulative)
Fact checking: It's +/- 5% per step, but still worth considering.
Sorry - I meant % rather than degrees. On a 200 step per rev motor, 5 degrees would be about 3 full steps so an error of 3 steps per step would be somewhat extreme.
-
-