Maker Pro
Maker Pro

synchonizing speeds of two dc motors.

sahil-siwatch

Jan 12, 2021
25
Joined
Jan 12, 2021
Messages
25
Hello. I am designing a new product that will have two motors attached to two different rollers on a metallic base. It is a button controlled device and will be used to rotate rear wheel of belt driven heavy bikes(at very low RPM). I am using planetary gear motors(45kgcm, 60rpm). I am sure that there will be some difference in their speeds which can cause problems such as slip etc to the whole system. How can I synchronize the speeds of these two motors?

I was also reading at some places where some people used incremental encoders connected to motors and arduino to control the speed(closed loop system). Any ideas on the encoders that I can use??
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,700
Joined
Nov 17, 2011
Messages
13,700
What kind of DC motors? brushed, brushless?
 

Bluejets

Oct 5, 2014
6,901
Joined
Oct 5, 2014
Messages
6,901
Optical encoders on both motors, compare pulses and adjust accordingly.
There may be lag in the adjustment to the actual speed correction so would need to consider that.
Micro controller is one type of monittor and adjustment route.
Old tape drive motors and record players used mechanical governor points on the motor shaft but that would not guarantee both would be maintained at the same speed.
Depends what accuracy is required.

Much easier to mechanically couple the two rollers and use one motor.
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,700
Joined
Nov 17, 2011
Messages
13,700
This is a brushed DC motor. You control the speed by varying the supplied voltage or using PWM. To do that, you'd have to measure the speed of the two motors and adjust the supply voltage to match the sppeds.
The problem is that by linking the motors mechanically via the belt, the speed will be the same and you will not be able to use voltage regulation as described above.
I see four possibilities:
  1. If the difference in speed is small (can be measured without the linking belt), simply ignore it and have both motors drive the belt from the same supply voltage.
  2. If the difference in speed is too high, control the motors by measuring the current and adjust the supply voltage to the motors individually (DC or PWM) such that the currents match.
  3. Use a differential gear.
  4. Use a single stronger motor to forgo the difficulties in matching two motors.
 

sahil-siwatch

Jan 12, 2021
25
Joined
Jan 12, 2021
Messages
25
Optical encoders on both motors, compare pulses and adjust accordingly.
There may be lag in the adjustment to the actual speed correction so would need to consider that.
Micro controller is one type of monittor and adjustment route.
Old tape drive motors and record players used mechanical governor points on the motor shaft but that would not guarantee both would be maintained at the same speed.
Depends what accuracy is required.

Much easier to mechanically couple the two rollers and use one motor.

Optical encoder that I found were very expensive here in India. It will increase the cost of the device. Is there any cheaper solution ??
 

sahil-siwatch

Jan 12, 2021
25
Joined
Jan 12, 2021
Messages
25
This is a brushed DC motor. You control the speed by varying the supplied voltage or using PWM. To do that, you'd have to measure the speed of the two motors and adjust the supply voltage to match the sppeds.
The problem is that by linking the motors mechanically via the belt, the speed will be the same and you will not be able to use voltage regulation as described above.
I see four possibilities:
  1. If the difference in speed is small (can be measured without the linking belt), simply ignore it and have both motors drive the belt from the same supply voltage.
  2. If the difference in speed is too high, control the motors by measuring the current and adjust the supply voltage to the motors individually (DC or PWM) such that the currents match.
  3. Use a differential gear.
  4. Use a single stronger motor to forgo the difficulties in matching two motors.

About point 3, Over the time motor's winding will get degraded and hence will draw more current. Might not be accurate. As bluejets suggested, I can try the encoder but don't have any experience with any. Looking for a cheaper solution.
 

WHONOES

May 20, 2017
1,217
Joined
May 20, 2017
Messages
1,217
You could use two smaller motors attached to the shafts of you drive motors. These can then be used as Tacho's. They will output a voltage that is proportional to speed and can then be used to balance the speed of you drive motors via your control circuits.
 

sahil-siwatch

Jan 12, 2021
25
Joined
Jan 12, 2021
Messages
25
You could use two smaller motors attached to the shafts of you drive motors. These can then be used as Tacho's. They will output a voltage that is proportional to speed and can then be used to balance the speed of you drive motors via your control circuits.
Can you share more details or maybe some links or projects where people did the same ? Thank you for the reply sir :)
 

Harald Kapp

Moderator
Moderator
Nov 17, 2011
13,700
Joined
Nov 17, 2011
Messages
13,700
The issue with controlling the motors via tacho is that the motors are coupled. They will thus both rotate at the same speed and both tachos will indicate the same rpm. The tacho information is therefore of little help in adjusting the rpm of the motors.
The "faster" motor will drag the "slower" one along. Thus the "faster" motor will draw more current. It may also result in slip as mentioned by the op in post #1.
 

WHONOES

May 20, 2017
1,217
Joined
May 20, 2017
Messages
1,217
I was under the impression that the two motors were independent. If not, there would be no need to control them independently.
 

Minder

Apr 24, 2015
3,478
Joined
Apr 24, 2015
Messages
3,478
One, These motors are not good candidates for servo motor purposes, which is what you require, normally this is done by synchronizing or gearing one (servo) motor off another using encoders and PID controller.
This tends to get into some sophisticated controller of some kind.
Also depends on how close you need to track one to the other.
M.
 

TCSC47

Mar 7, 2016
148
Joined
Mar 7, 2016
Messages
148
I'm still not sure of exactly what you want, Sahil, but one way to measure speed of a motor is to use an opto slot and a slotted disk mounted on the motor shaft.
https://learnabout-electronics.org/Semiconductors/opto_54.php
This to my mind would be the cheapest way of measuring motor speed.
But you still have to work out a way to compare the speeds and control the the motors.
 

TCSC47

Mar 7, 2016
148
Joined
Mar 7, 2016
Messages
148
One mechanical solution that springs to mind and may or may not be applicable is what a toy in the late 80's used. The toy was called Big Track. https://www.amazon.co.uk/Zeon-Limited-BIGTRAK-Bigtrak/dp/B0035IZ85G
It was a computer controlled car that you could program to follow a given route. Steering was achieved by driving the wheels each side differentially. But like Sahil's project there was a worry that the two drive wheels would not revolve at exactly the same speed to enable it to run in a straight line when required. What Big Track did was to couple the two drive wheels together with a shaft. In the middle of the shaft was a magnetic coupling. When the Big Track was to run forward the two motors were coupled together, but when it had to turn, one of the motors would be stopped. The difference in the two motors rotation was enough to break the magnetic link and allow the two motors to turn the toy. When both motors were at near the same speed the magnets coupled up again. A magnetic clutch.
 

sahil-siwatch

Jan 12, 2021
25
Joined
Jan 12, 2021
Messages
25
I'm still not sure of exactly what you want, Sahil, but one way to measure speed of a motor is to use an opto slot and a slotted disk mounted on the motor shaft.
https://learnabout-electronics.org/Semiconductors/opto_54.php
This to my mind would be the cheapest way of measuring motor speed.
But you still have to work out a way to compare the speeds and control the the motors.
thanks for the suggestion. The motor speed if measured can be received and compared by any microcontroller I think. Then speeds can be adjusted by PWM. This tutorial explains it pretty well.
 

sahil-siwatch

Jan 12, 2021
25
Joined
Jan 12, 2021
Messages
25
One mechanical solution that springs to mind and may or may not be applicable is what a toy in the late 80's used. The toy was called Big Track. https://www.amazon.co.uk/Zeon-Limited-BIGTRAK-Bigtrak/dp/B0035IZ85G
It was a computer controlled car that you could program to follow a given route. Steering was achieved by driving the wheels each side differentially. But like Sahil's project there was a worry that the two drive wheels would not revolve at exactly the same speed to enable it to run in a straight line when required. What Big Track did was to couple the two drive wheels together with a shaft. In the middle of the shaft was a magnetic coupling. When the Big Track was to run forward the two motors were coupled together, but when it had to turn, one of the motors would be stopped. The difference in the two motors rotation was enough to break the magnetic link and allow the two motors to turn the toy. When both motors were at near the same speed the magnets coupled up again. A magnetic clutch.
Thanks. I can talk to the mechanical guys here as well. They will have better idea about this
 
Top