-
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
Backdriving against large torque causes jerky torque reduction #15
Comments
The present Sine commutation may lose steps when backdriving. SimpleFOC implements a FOC library for closed loop control of stepper motors, as demonstrated here https://youtu.be/zcb86TRxTxc |
SimpleFOC has all kind of control schemes. I like voltage control the most for our board. Current hardware is simpler, but I believe this issue can still be solved by using knowledge of motor inductance and sensor delays. |
Currents data during the snap event: Current changes fast during the snap, because the shaft accelerates rapidly (jerks, snaps). |
looks like some variable is reset or overflow? |
I don't think so. But It could be that the timing is not ideal - but things don't happen fast before the snap occurs. I am leaning toward that this could be hardware characteristics - the large torque ripple under high load coupled with springiness in the load in my setup and non-linear friction (stiction) in the case of a gearbox. I think fully solving #11 would fix this too. I would only hope that the torque peaks are aligned at multiples of 90deg and not 45, because in one case we can extract more useful torque and power from the motor, and in the other, we may lose average power. |
The distortion is probably caused by the decay mode and/or back EMF, as proposed by TI in the smart tune method. Youtube |
I think I mixed two issues/scenarios here. :(
However I think underlying causes are different. Although eventually they may get combined once the speed increases. For the 2. scenario, (which is more disturbing), the decay mode doesn't play a role. - initially the speed is close to zero (before it snaps and looses torque), and so bemf is close to zero and slow decay will do just fine. It is confirmed by the circle plot above. Realistically, I think the seconds scenario is caused by nonlinearity if the torque - which in turn is probably amplfied by localized magnetic saturation during high current. - That is the holding torque is probably only high where teeth are aligned and relatively small in-between. (Or opposite way). And so once I go pass the tooth, I loose torque and motor speed goes up due to inertia and springiness of the system. Once it starts rotating, perhaps the torque never comes back due to combination of the 1. scenario. |
With high torque (high current) and backdriving against it, there are two effects contributing to the jerky movement.
When backdriving under smaller currents, both effects are not as visible as the current can quickly change direction. For larger currents, it takes time for it to change - the phase delay.
When phase delay is large enough more than 90deg, the driving current stop adding to torque generation, and causes rapid torque decline.
The phase delay can be compensated using speed calculation by additionally taking into account motor inductance.
The text was updated successfully, but these errors were encountered: