4
\$\begingroup\$

I am trying to synchronize two dc motors with their own controllers. The controllers are name brand and use a 10k pot to control the speed. I have a duel 10k pot and would like to be able to "trim" one of the motors to stay in sync when the speed is changed.
First, I tried adding a second 10k pot in series with one of the sides of the duel pot, one lead to the wiper, one to one side. That didnt seem to do anything. Then I wired the second pot in parallel with one leg of the duel pot using all three leads. This kinda worked, the two motors changed speeds together but if I synchronized them using the second pot then changed speeds for both motors with the duel pot the two motors were no longer in sync. The purpose of all this is to run an accessory with a conveyor belt. I would like the teeth of a gear like part to run at the same rate as the conveyor underneath it. I was going to do it mechanically using one motor but for a couple reasons it would be great to do it with two and not have to manually sync them every time the speed is changed. Thanks in advance! Philip

\$\endgroup\$
  • 2
    \$\begingroup\$ You need some kind of closed feedback loop for this. Without something which estimates the speed error between the motors, and applies corrective negative feedback, this will never be accurate. \$\endgroup\$ – Kaz Mar 27 '13 at 0:01
0
\$\begingroup\$

Are the individual motor controllers setup for torque compensation - this will keep a DC motor's speed fairly constant across a decent range of torques. In case anyone is wondering, the compensation makes use of the current taken by the motor (which obviously varies with loading) and applies a fractionally higher DC voltage as current rises.

If you are trying to sync the speeds this is probably quite important because I can't tell from your words whether the loading between them varies much and if it does you'll need to have them torque compensating to stand a prayer of keeping them in sync. I can't offer much else other than go for synchronous DC motors but these are probably outside most folks hobby budget.

\$\endgroup\$
  • \$\begingroup\$ The controllers do have TC, I will look into that. The torque wont vary too much (I hope once we get it going!) And we do have the motors already, maybe the next time I get into a project like this Ill start with that. Thank you for your help. \$\endgroup\$ – Philip Mar 26 '13 at 21:43
1
\$\begingroup\$

It is not difficult to make a circuit that allows you to trim one motor a little bit with respect to the other, but there is no guarantee that the trip which is OK for one speed will also work at another speed. You would likely need a large number of trim points, which makes any non-microcontroller solution impractical.

You want to operate the two motors in lockstep, presumably over longer periods. I seriously think that DC-controlled motor controllers can be used to do this. There will always be an inaccuracy somewhere, so one motor will run slightly faster than the other, which will accumulate over time. I would start searching for motors with encoders (or stepper motors) that can really be slaved to each other.

\$\endgroup\$
  • \$\begingroup\$ Thank you. I will look into that too. The exact timing is not as important as having it pretty close over the speed range of the whole thing. Its looking like its a bit more complicated then I thought at first, but thats what makes this kind of thing fun. Thanks again \$\endgroup\$ – Philip Mar 26 '13 at 21:37
4
\$\begingroup\$

You are trying to synchronize the motors on the basis of the input to their velocity loop. I doubt this will get you the results you desire.

What you need is often called Electronic Gearing. The Wikipedia page on Motion Control describes it briefly. Put simply, Electronic Gearing requires a position control loop on one motor, slaving it to another on the basis of position. The master motor runs in a speed control loop and the slave motor runs in a position control loop using the position of the master motor as input. As a result, the slave motor appears to track the position of the first motor independent of speed or load.

You didn't post a link to the datasheet for your motor controllers, but I'd start by determining if they support it natively; many do.

\$\endgroup\$
  • \$\begingroup\$ Thank you, that makes a lot of sense. I will look it up and see if the controllers I have can do that. The motors are just PM DC with no encoder but I may be able to add something that will work as that. \$\endgroup\$ – Philip Mar 26 '13 at 21:34

protected by W5VO Mar 27 '13 at 5:33

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.