How can I synchronize two gearmotors?
chronister
Posts: 17
Hello. I have a robotics project where I'd like to synchronize two gearmotors. Each motor turns a crank, which drives some equipment. I need the cranks to move in sync with each other. However I'd like to be able to adjust the timing (on the fly, using the stamp) so that one crank can lead the other slightly, or lag behind slightly. It wouldn't work to simply reduce power to one motor because then it would keep getting farther behind.
(Perhaps both cranks could be driven by ONE motor, but I haven't come up with a mechanism that would allow the timing of the two cranks to be shifted relative to each other.)
Do you have any ideas on how to tackle this problem? I appreciate your help.
(Perhaps both cranks could be driven by ONE motor, but I haven't come up with a mechanism that would allow the timing of the two cranks to be shifted relative to each other.)
Do you have any ideas on how to tackle this problem? I appreciate your help.
Comments
Encoders on each of the motor shafts will give you the RPM. If it strays, you can then apply more current (or use some other means) to get the "loaded" motor back to the same RPM. HOWEVER, that does NOTHING for the mechanical synchronicity. You would need an additional, common HOME position which could be sensed to perform that minor miracle.
If you choose to go that route, here is what's often done. Keep slowing the faster motor down until they hit HOME at the same (or almost the same) time. Then bring BOTH motors back up to speed together. Continue speeding them up until they are at the desired RPM.
If you do it the other way around, you MAY never get them in synch. The reason is that there is a finite OFF which is common to both motors. Top speed (whatever that may be) may not be common to both motors. In other words, you end up chasing your own tail
Second alternative to this is a PID tachometer/governor system on each motor, with a cross-coupled syncronicity circuit which does the motor pacing. More parts and more sophistication with something like this, and I'd only recommend it if VERY CLOSE crank synchronization is required.
Third alternative is one motor and dual shafts, so they can never get out of synchronicity. Much more in the way of gearing involved in something like this, but little to no programmming or sophisticated motor control.
Regards,
Bruce Bates
Depending on your wheel setup, this may, or may not work for you.
There are other ways to do an encoder, both commercially, and home grown.· Basically, you count pulses from someting, either an optical sensor, hall effect sensor, or other mechansim.
I don't remember where, but I have seen DIY encoders based on disks with dark pie slice wedges and IR and/or optical sensors.· I don't rember if that was on the Parallax site or another location.· If you need more information, let me know, and I can check from home (I think I saved a shortcut).
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John R.
8 + 8 = 10
You could probably also do this without external sensors (or minimizing the reliance on them, and keeping finer control of motion) by replacing the motors with steppers. Depending on how your gear motors are set up, this may, or may not be feasable.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John R.
8 + 8 = 10
I would love to use steppers. I even considered that option since it would be a much more logical way of solving this problem. Unfortunately I need a very high power to weight ratio and that rules out stepper motors as far as I know.
if timing and resoultion are crit, then...
A small disk containing 4 or more magnets in proper quad alignment and a sensor ring mounted with hall effect monitor, one for eacn motor.
WIth this you can match the speeds sooner (4 or more changes to get a 'sync' between both motors) per each rev.
Like stated above, slow down the motor that's in the lead.
Gear lash (the slack beween the two moters that you want to adjust the lead/lag when in sync) is the measurement between "sync" pulses.
I got to deal with this with 3 phase motors. our disk ring had 12 magnets on it, and each sensor ring had 2 hall effect sensors on it. Each of the 22 motors had the hall effect sensors mounted in different positions on it's sensor ring. THis was to provide for identification of which unit it was reading...
The end effect, each motor was adjustable so the gear lash was +- 5 ms within the transmission it was connected to.
In other words, the gear that connected the motor to the unit could be adjusted so that it eather "pushed" the connecting gear, "floated" (meaning their was space between the messing of the gears), or "pulled" the connecting gear.
Ok, maybe that was more then .02 cents worth, maybe more like .25, but still... it did work!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
KK
·
What kind of motor weight and torque would you feel would be acceptable for this application? I've seen plenty of small, geared stepper motors that had quite a good deal of torque. Much depends on how you are driving the stepper motor as well. High torque driving methods are available.
Regards,
Bruce Bates
As stated above, I like the idea of the magnets and hall effect but here is where I diverge.
What if you use one motors pulse to drive the frequency of the other motor.
Read both motors pulses and adjust for load adjusting the duty cycle for the slave motor.
If you limit the master motor to a duty cycle of 90% then you should have enough slack to speed up the slave to match the master instead of having to slow the faster one.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Think outside the BOX!
Bruce, the motors weigh about 1.75 ounces each, without gearing, and they put out 50 watts each. This is not a "high torque" application where I can take a low power motor and gear it down to produce a lot of torque. It is a "high power" application, in which the output must have a lot of torque, and must also be very fast.
Metron9, when you talk about reading the motor's pulse do you mean the output of the hall effect sensor? So you're basically saying check the hall effect sensors to see how far apart the two motors are, adjust the duty cycle of the slave motor (up or down) and then repeat. Do I understand you correctly?
Maybe an idea? ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John R.
8 + 8 = 10
Imagin a plate with a whole dead center.
Around the edge of the plate are magnets, arranged (for example) like an analog clock (12,3,6 and 9) positions.
This Plate is mounted on the output shaft of one motor. Next, a second plate, 100% identicle to the first plate
(it doesnt sound like you need to identify which moter you are working with, so we'll skip all that complexity).
A hall effect sensor is mounted close to the magnet, but not so as to touch.
Now, when you mount the sensor, make sure its at a good reference.
(Here I am using the analog clock, and I would mount a single hall effect sensor at the 12 oclock position on each motor)
Now, depending on the sensor, it may need to amplified, or it's pulse can be read directly by the stamp.
One last suggestion, I would put a sensor ring and sensor on the common linkage between the two motors, this
would enable the "center" point for monitoring and changing the drive motors...
A LCD showing the time in +- ms (us??) between the sensors on the common linkage for each motor.
At this point, what I was doing was with a true PC, not a stamp. The PC contained the needed hardware and logic to advance or retard each motor. That (the actual digital control of the motors) and the software is all that remains.
Just keep in mind that you are working in very small numbers, and the amount of variance between the max and min is very small. If permitted to grow to large, the "retarded" motor will cause the "advanced" motor to work much harder then it should, thus increasing it's heat/power etc. (I fried a $12K electric motor because of this effect...)
I'm sure the stamp gods here can help with the code, and how to control the motors...
The hall effect sensors simply provide a pulse everytime a magnet passes near it. All the stamp is going to do is read in that string of pulses. To this effect, there are commands for reading this stuff directly into a stamp. I'm just learning the Stamp now, so I'll be the first to admit that there are many more ppl who know much more then I in this area.
KK
Oh, and thanks for the compliment!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
KK
·
"One last suggestion, I would put a sensor ring and sensor on the common linkage between the two motors, this
would enable the "center" point for monitoring and changing the drive motors...
A LCD showing the time in +- ms (us??) between the sensors on the common linkage for each motor."
Is "sensor ring" the same thing as the hall effect sensor? What is the "common linkage" - is that some kind of mechanical linkage between the two geartrains? (Currently there is no plan for a mechanical connection between motors but it could be done if necessary in order to achieve synchronization.)
To answer your question about 'common linkage':
The application this was used in, all the motors were 'linked' together with big gears and a long (and heavy!) drive shaft. The drive shaft was the "center" of the system. All the motors were "tuned" to the drive shaft. Somehow I was thinking your application was simular. Anyway, what the "common" sensor ring and sensor provid is a "center" point for all measurments, otherwise, you will have to spend a lot of time taking very percise measurments to calabrate what it takes to "tune" your system. With the "center" sensor, each motor's train of pulses from it's sensors are relitive and a direct relationship, (ahead, equal or behind) to the "center" point. The whole idea is to relieve all, if not then most of the "calabration" from the system. With this in place, your control system can be calabrated in any unit you want, withouy any actual conversion, or, in reality, no calabration.
Does that Help?
KK
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
KK
·
See if you can find what you need on any of these web sites:
Stock Drive Parts: http://www.sdp-si.com/
Wm Berg: http://www.wmberg.com/
Andantex : http://www.andantex.com/
There is one other company I had in mind, but I can't find it at the moment. I thought the name of the company was Nord, but it's not Nord Gear which does show up on a search. They're located in a Scandanavian country if I remember correctly. If I had to guess, I'd have to guess Sweden, but I may be wrong. I have their catalog, but it's packed away at the moment.
Regards,
Bruce Bates
Post Edited (chronister) : 1/6/2006 3:00:41 PM GMT
What kind of speed/torque are we talking about?· Is the application production, professional, or for fun?
On the "don't laugh, it might work" end of things, some of the advanced Lego sets have differentials.· They are not in all kits, but you could probably get a Lego kit for about $40.00 and up with a differential.· I believe you can also get these as parts from Lego online, and possibly a Lego store (there are a few in places like Mall of America).
I don't know if you could build one without bevel gears.· I'd have to break out my Legos and do some testing.· In a "past life"· (I was a mechanical engineer, now I'm an IT Manager), I used Legos to mach up various mechanisms.· It was cheap (realative to having prototypes machined), fast, easy to change, and helped others (like the sales weenies) understand what we were talking about.
My Legos are packed away due to some remodeling I'm trying to wrap up this weekend.· If you'd like pictures of the Lego differential, send me a PM (or post here) and I'll see what I can do over the weekend, or early next week.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John R.
8 + 8 = 10
I'm familiar with the SDP differentials.· Very nice, relatively high precision units.· If you don't need that level of precision, it shouldn't be too hard to "roll your own".· Making the "cage" would be the hardest part.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
John R.
8 + 8 = 10
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·1+1=10
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Until our bytes cross again, may your chips never smoke, your bits never fall off, your parts bin never be empty and your jumpers never fall off.
KK
·
I need the two output cranks to be facing the same way and side by side, a few inches apart. I was afraid the opposing shafts of the typical differential would be a problem for my design but I figured out how to do it without too many extra gears.
RC Car/Truck differential:
http://www2.towerhobbies.com/cgi-bin/wti0001p?&I=LXFUD8&P=7