General > General Technical Chat
Determining rotational accuracy of a drive unit.
james_s:
Missed steps can be an issue too, it's something that should be investigated. If anything ever causes a missed step to occur it's going to be a problem, because without any type of feedback the missed steps will accumulate. A classic workaround was the Apple II floppy drive, at power on it would drive the head positioning stepper with enough steps to move it all the way to the end stop from any position, it had no home sensor, it would just blindly crash it into the stop and then it knew it was in the home position, it's the reason for the iconic grinding chatter when you power on one of those machines. Something similar could be done with a camera positioner I suppose, but a home sensor would be better.
Puffie40:
--- Quote from: james_s on May 20, 2021, 06:17:05 pm ---Missed steps can be an issue too, it's something that should be investigated.
--- End quote ---
How could one check for missed steps?
ajb:
There are several different kinds of "accuracy" and it's not immediately clear which kind you're describing. There's actual accuracy, which is how close the system gets to its commanded position, repeatability, which is how close the system gets to a commanded position after moving to another position, stability/drift, which is how much the position error changes over time and can be a short- or long-term, linearity, which is how consistent the positioning is over the range, and noise, which is how much the system moves when commanded to hold position.
--- Quote from: Puffie40 on May 20, 2021, 06:04:08 pm ---The application is for a camera pan-tilt platform, so the load is constant.
--- End quote ---
That's only true if the load is balanced over both rotational axes. If it's not perfectly balanced, then the load will change through the rotation. This could introduce an error term via simple mechanical deflection in the drive or the mechanical structure, or by the fact that the required positioning and holding torque will keep the motor itself from holding its commanded position. Even if there were no gearbox involved and the load were solidly mounted to the shaft there would be a positioning error as the torque changed because the torque will move the rotor away from its theoretical magnetic position. The direction of the holding torque may even reverse if the load's center of gravity crosses from one side of the axis to the other, which in combination with backlash could be a significant issue.
--- Quote --- The programmers noticed the positioning accuracy would constantly get worse the more it moved. I did some one-way position movement and noticed the drift was constantly increasing the further it moved from the start point.
--- End quote ---
So is the problem getting worse as the system makes more moves (as if it's wearing, for example), or is the accuracy over a single move worse the longer the move is? If the latter is it really the length of the move or where the destination is within the range? These all imply different underlying problems.
--- Quote --- I've heard that stepper motors and gearboxes are bad for positional accuracy, but I also don't think not having any position feedback aside from some limit switches would help either :palm:
--- End quote ---
Well, define "bad"? Open loop steppers are used all over the place because they're good enough for a lot of applications. Closed loop is certainly better in terms of reliable accuracy, but costs more and is therefore "bad" if the application doesn't require it. Closed loop where the loop includes all of the mechanics--like some high end CNC machines that use glass scales directly on the axes for position feedback--is even better, but even more expensive. Gearboxes and other mechanical transmissions certainly introduce additional potential error terms, and where accuracy is required those need to be designed to minimize those errors, which is why you see harmonic drives used in robots (where the mechanics amplify angular errors so angular position is REALLY important) and ball screws with preloaded angular contact bearings and zero-backlash preloaded ball nuts in CNC machines. It's engineering, "bad" and "good" are all relative to the application.
One other thing specific to steppers, although this is likely not significant here because it will be largely swamped by your gearbox issues, is that when microstepping the microsteps are often not linear across a full step. This is because the way that fractional step currents in the windings translate to magnetic field strengths and thus torque on the rotor varies a bit from the theory due to design and manufacturing factors in the motor itself. Trinamic has an appnote about this somewhere, and some of their drivers include a lookup table that can be programmed to modify the shape of the microstepping curves to compensate. They also have their own line of motors specifically designed to provide very linear microstepping, which in my testing are noticeably better than at least the real cheap ones from ebay or wherever.
nctnico:
--- Quote from: ajb on May 20, 2021, 06:39:44 pm ---Well, define "bad"? Open loop steppers are used all over the place because they're good enough for a lot of applications.
--- End quote ---
If you look more closely you'll notice that none of them are actually open loop. All of them have at least some form of nulling.
Puffie40:
--- Quote from: ajb on May 20, 2021, 06:39:44 pm ---There are several different kinds of "accuracy" and it's not immediately clear which kind you're describing. There's actual accuracy, which is how close the system gets to its commanded position, repeatability, which is how close the system gets to a commanded position after moving to another position, stability/drift, which is how much the position error changes over time and can be a short- or long-term, linearity, which is how consistent the positioning is over the range, and noise, which is how much the system moves when commanded to hold position.
--- End quote ---
I would say actual and repeatability are the two big ones. The Called-for angle, and the measured angle can be off as much as two degrees, and that positional error appears to increase the more the pan-tilt has traveled from the start. (For example, after initalizing the PT to 0 degrees, and move the PT to 90 degrees, I get an angle of 89.8. If I move the PT forward a complete revolution around to 90 degrees again, I get a actual angle of 88.8.
--- Quote ---So is the problem getting worse as the system makes more moves (as if it's wearing, for example), or is the accuracy over a single move worse the longer the move is? If the latter is it really the length of the move or where the destination is within the range? These all imply different underlying problems.
--- End quote ---
I did some measurements with increasingly larger movement increments, and observed that the error pattern in the graphs stays about the same. The curious part of my testing has shown that the error increases quite a bit after the PT moves past 180 degrees, and as I move past 360 degrees, that error continues to increase in the same pattern. It even reverses when you move in the opposite direction.
I am feeling rather inexperienced with these kinds of issues, so you'll have to forgive me if I seem to be giving confusing information.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version