DC Worm Gear Reducer Motor allowing some degree of motion when it shouldn't

Hello.

I’m currently working on a project where my team and I automated some systems on a piece of testing equipment one of our professors created. The project is mostly done at this point and everything is functional; we’re just working on some finishing touches before we go to hand it back over to him.

However recently I noticed a problem regarding the GW31ZY DC motor we were using on one of said systems. What is supposed to happen is that the motor drives some custom gears that are in line with a force plate suspended above the ground with an angle sensor on the other side. When the user enters their desired angle via the user interface we developed, the motor should engage and rotate the plate forwards until the angle of incline is met, then the motor should disengage. The other parts of the device will then drop a load onto this plate in a controlled manner, allowing our professor to analyze the impact data. This is the reason we chose a worm gear motor; it is supposed to essentially not rotate while it is not being supplied power, and thus the impact will not cause the plate’s angle to change at that instant, as doing so would introduce some degree of experimental error.

As I mentioned, all of these systems work properly together, but today I noticed something rather peculiar. When we’re not telling the motor to move, the plate is not quite rigid. There is a small window where the motor can rotate freely despite not being supplied power, but attempting to rotate the plate outside of that range will not work due to the motor resisting that motion like it’s supposed to. This of course results in a bit of a problem, as the sole reason we chose a worm gear motor was specifically prevent any kind of jostling.

Currently the motor is being controlled via an Arduino Uno, specifically via an Adafruit Motorshield V2.3. Eventually we plan to replace the Uno with a Due in order to get more precise readings from the 12-bit ADC, but that’s neither here nor there. I was wondering if anyone had any idea as to why the worm gear motor is allowing this small degree of motion instead of being rigid once the speed is set to 0. Could it be something we’re misunderstanding about the product or how we’re using it? Could it simply be defective?

Any help would be appreciated, as I haven’t worked with motors like these before.

There is mechanical backlash, which allows some motion of interlocked gears, and is impossible to eliminate completely.

There is also control backlash, where the control circuit does not detect or correct a position error. Also difficult to impossible to eliminate completely.

Both sources of position error can be made very small by careful system design. For a more helpful response, post the details of the mechanical and electronic setup.

jremington:
There is mechanical backlash, which allows some motion of interlocked gears, and is impossible to eliminate completely.

There is also control backlash, where the control circuit does not detect or correct a position error. Also difficult to impossible to eliminate completely.

Both sources of position error can be made very small by careful system design. For a more helpful response, post the details of the mechanical and electronic setup.

Thanks for your response.

Unfortunately I'm not currently with the frame, otherwise I'd just post a photo of the assembly. For now, I'll do my best to describe it with words and if there's some confusion I'll elaborate, as I may not get another chance to work on the project until Monday.

The way it's currently set up, there are two A-frames that were constructed with rectangular aluminum tubing and welded together to form the "A". At the apex of these A-frames, we set some bearings and then ran a stainless steel rod through them perpendicular to the frame to act as the axis of rotation. The plate itself is fastened to two large L brackets from below, and on the sides of these L brackets is where the axis rods run through and also where we've attached everything together using locknuts and spacers. On one side of this assembly, we attached our angle sensor. On the other, the axis rod is welded to a large gear that rests with its face parallel to the A frame such that it can rotate the plate about the axis we have set up. The worm gear is mounted to an L bracket in order to mount it against the "leg" of the A-frame. The motor we purchased has a protrusion to mount things to it, so we also cut a small gear that rests snugly on this protrusion in such a way that the motor can rotate this small gear, which rotates the large gear, which turns our axis and thus rotates the plate in the same direction in which the large gear turns. Testing with this setup, as I said, has been successful in rotating the plate to the desired angle and coming to a rest when it has been achieved; the only issue is this small portion of wiggle room that we want to eliminate if possible.

As for the electrical setup, as I mentioned this motor is wired directly into an Adafruit Motorshield v2.3. We use the native library to set the direction we want the motor to turn and how fast we want it to do so, using setSpeed(0) to indicate when it should be stopped and assumedly "locked". The motor is rated for 12V of supply votage, so we currently have the Arduino powered using a plug-in voltage transformer to convert outlet output to 12V DC and 2A. From there we wired the Aruino's Vin pin to the power supply of the Motorshield, as most of the devices using said shield run on 12V supply, and while there will inevitably be some dropoff, it's good enough for our purposes since multimeter testing showed we were getting 11V and some change in each of the motor outputs.

Is that information enough to help paint the general picture?

Mechanical backlash can be eliminated by engineering the gears properly. Your description doesn't seem to have included any way to adjust the system to minimize the backlash.

Paul

What sort of worm and worm-gear are you using? It is possible to make reversible worm drives - though they usually have two- or three-start threads.

Even with a worm gear that cannot be reversed if you are causing a sudden impact on the suspended plate it may result in sufficient short term force with bounce to joggle the motor shaft.

You say “then the motor should disengage.” Does that mean that the motor is physically disconnected from the shaft with the worm? If so the opportunity for joggling would be much greater. If, however, you just mean that power to the motor is switched off then why not say so.

If the only purpose of the motor is to adjust the angle of the plate then a stepper motor might be more appropriate as it will actively hold its position in the face of attempts by the worm gear to joggle it - assuming, of course, that the stepper is permanently connected to the worm shaft and the stepper is properly powered all the time.

…R

PS … the more I think about this
where the motor can rotate freely despite not being supplied power, but attempting to rotate the plate outside of that range will not work
the more I suspect that the problem is caused by the load “bouncing” so that it alternately loads and unloads the interface between the worm gear and the worm. Most systems that rely on a worm holding position have a constant load - think of a winch. Those systems also probably aren’t concerned with the same precision as you are.

PPS … a possible solution may be to use a servo to apply a brake to the motor shaft during the tests