General > General Technical Chat
Determining rotational accuracy of a drive unit.
ajb:
--- Quote from: nctnico on May 20, 2021, 07:11:31 pm ---
--- 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.
--- End quote ---
Not sure what you're trying to say here. If you're talking about nulling in the conventional electronic sense as part of the driver's current control system that's hardly the same thing as using an encoder to close the loop around the mechanical position of the motor. If you're talking about "nulling" the mechanics by referencing an initial position to a limit or home switch, that's also different because the loop is only "closed" during the referencing and does not in and of itself provide any assurance that any other position is accurate the way a true closed-loop mechanical system with an encoder would.
Benta:
There's an interesting issue which is rarely mentioned.
This is the mechanical resonance of the stepper motor vs. stepping frequency.
I attended a very interesting conference on this point (must've been around 12 years ago) hosted by AMI Semiconductor.
The mechanical response of the motors in relation to step frequency and ramp speed was astonishing. At certain frequencies, the motor would simply lose torque or holding torque and begin step-slipping. AMI had some really smart devices that would detect this and modify the driver parameters accordingly (yeah, I know, sales talk).
But the Bode plots of the motors were extremely interesting.
Unfortunately, I no longer have the conference material, but perhaps a search on www.onsemi.com in the "Power Management" section might find some app notes, presentations or videos.
Not necessarily relevant to this discussion, but something to keep in mind.
james_s:
--- Quote from: Puffie40 on May 20, 2021, 06:22:29 pm ---How could one check for missed steps?
--- End quote ---
Well, that can be tricky. Probably the easiest way to do it is figure out a way of connecting an external position sensor and then write a script that makes repeated movement commands and record the offset between commanded position and measured position and look over the data to see if the offset appears to randomly jump around. You could also repeatedly sweep from say 90% in one direction to 90% in the other direction and see if it develops an offset over time, which would suggest missed steps. The difficulty will be if it's missing approximately the same percentage of steps in both directions over time.
You might also see if you can slow down the stepping so that it's moving one step at a time, at low speed a stepper is less likely to miss, and it's more apparent if you send it a step command and the device doesn't move. If there's always an offset near the end of the travel range and the offset doesn't seem to vary much then it's possible that your drive ratio is not quite precisely what you think it is.
Someone:
--- Quote from: james_s on May 20, 2021, 08:01:54 pm ---
--- Quote from: Puffie40 on May 20, 2021, 06:22:29 pm ---How could one check for missed steps?
--- End quote ---
Well, that can be tricky. Probably the easiest way to do it is figure out a way of connecting an external position sensor and then write a script that makes repeated movement commands and record the offset between commanded position and measured position and look over the data to see if the offset appears to randomly jump around. You could also repeatedly sweep from say 90% in one direction to 90% in the other direction and see if it develops an offset over time, which would suggest missed steps. The difficulty will be if it's missing approximately the same percentage of steps in both directions over time.
You might also see if you can slow down the stepping so that it's moving one step at a time, at low speed a stepper is less likely to miss, and it's more apparent if you send it a step command and the device doesn't move. If there's always an offset near the end of the travel range and the offset doesn't seem to vary much then it's possible that your drive ratio is not quite precisely what you think it is.
--- End quote ---
To expand on this a bit more, missed steps are often from acceleration as much as velocity (noting the velocity resonances mentioned above (which can't be measured from bode plots in steady state (and can be only reproducible in operation with the specific loads (motion ends up with many layers of context/complexity)))). So the classic way to test for missing steps is to walk the system to random positions at random speeds and accelerations inside the operating envelope, then periodically return to a known/observable origin and check the alignment there.
--- Quote from: Puffie40 on May 20, 2021, 07:36:16 pm ---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.
...
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.
--- End quote ---
Simple things like how you measured angles and what the drive was commanded/configured to do are important here. Describing "error" and their accumulations or patterns isn't working so well and you'd probably be better off plotting it to show what you mean. Being out by a degree or more could be entirely the gearbox, or some ratio calculation in the software that is incorrect (floating point is not a magic answer to precision).
james_s:
After thinking about this some more, I think a good place to start is to single step it through the entire range from one end to the other and measure the angle every 5 degrees or so. You need to find the total number of steps required to traverse the entire range and see if it equals the value that you think it does. For example of the gear ratio is off very slightly you might find that instead of 3,000 steps it actually takes 2973 or 3019, just numbers I pulled out of thin air for sake of example. If you're assuming 3,000 steps then your calculations going between relative positions are going to be off. The backlash ought to be more or less constant, at any given position the moving part will have +/- x degrees of slop if you wiggle it. If it hasn't missed any steps the actual position should never be off any more than the amount of backlash in the mechanism.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version