-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
High current - stall torque ripples #21
Comments
Is it simple feedback closeloop control? Did you check the step response of sPID controller? Probably there is much overshooting and/or ringing. |
Close loop would refer here to simply using position feedback to precisely set commutation currents based on read position (corrected with calibration table). No PID is involved in torque mode. Basically, we read the angle and apply current based on where we are in between the motor teeth. Above (the calibration) is done in "open-loop". Full steps are applied - position is read back and stored. This procedure generally should be done without significant load, so we always know what the angle is for given full step (1.8deg * n step). We compare that to position from the sensor and store it in a table. If steps are commanded with high current, the bumps appear in the table. While they don't matter for normal operation (since they are so small), they are an indication that something is happening to angle reading under high current. I want investigate if that is significant for the issue. |
What is the meaning of variation +/-0.1deg at 3.3A? Is it the difference of calibration table between low and high currents? Can we use FEMM model to evaluate the influence on encoder readings by phase currents? And place the magnet a bit further away from coils with a plastic gasket. |
+/-0.1deg refers to those little jumps I quickly ran the test:
The torque is still notchy at high current and the periodic noise in the calibration is still present: One more test:
So spacing and magnet strength doesn't seem to matter. I went back to no spacers. I run it with 1Amp calibration: It's even more pronounced. The variation doesn't seem proportional to current after all. I run the same thing but slower to avoid resonances: I run it slow again, but with 200mA: Increased oversampling to 30: Oversampling at 0: I am having Déjà vu. Again, 0 oversampling, but with 100ms stabilization delay: I am starting to remember that I was trying to figure out this variation in the past... I think this variation is too small to explain the choppiness. It's only ~5 electrical deg. Besides, the fact that it shows up in calibration means it would be compensated already. With the scope measurement of phases current, I can precisely see when the snap occurs in each quadrant. However, the drop is very nonlinear. I am afraid it might be some weird stepper teeth magnetic interaction. I will still investigate. |
Excellent investigation! Some observations and questions,
It seems quite challenging to control the current indirectly through Vref to achieve stable torque output under overloading conditions. Hopefully the voltage control can provide better performance. |
But 100ms makes calibration slow.
By going this fast, the calibration is basically slow continuous rotation. I think I chose that to avoid mechanical resonances due to stopping and going. There were diminishing returns going slower. And since there are two passes, even if something is lagging it averages itself out. In any case,I don't think it's worth pursuing optimizing calibration timing. (Unless some motors have resonance issues). Whether it looks like this (200 points, 100ms stabilization delay): , or like this (50 samples, 100ms stabilization delay): , or default 50 samples and 0ms stabilization delay (single pass): , or default 50 samples and 0ms stabilization delay (default double pass): ...it all is indistinguishable during operation. And all of them experience the high torque choppiness. |
When a high current is commanded (e.g. 3Amp), the torque is choppy. The effect is especially noticeable when coupled with a gearbox - due to springiness/stiction in the gearbox - causing vibration and snapping when backdriving. #15 (comment)
Precisely, there are 4 torque peaks/troughs per electrical rotation. Some are stronger than others.
The text was updated successfully, but these errors were encountered: