You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When first powering on tinymovr, I think the gate driver starts in a disabled mode, and so the attached motor's resistance to being turned is at its minimum, and its current draw is also very very small. However, by just enabling current control mode, even if the commanded current is still at zero, the gate driver is enabled, which increases idle current draw (doubles it in my experiments), and increases the motor's resistance to turning. If attempting torque control, and trying to get as close to zero torque as possible, the motor's friction may in some motors have a smaller torque effect than an enabled gate driver (commanded to some current below a user provided threshold), which makes it more desirable from a power draw and control dynamics standpoint to just disable the gate driver under a certain current threshold. Especially if the motor has a lot of extra friction due to a gearbox.
It would be a cool feature to let the user specify a current threshold for disabling the gate driver, to unlock that extra low-torque control, and get a small power savings to boost when idling for long periods of time.
Or instead of having the user set this threshold manually, during calibration, you might actually be able to automatically determine this low-current threshold by slowly ramping the current down while the motor is actively turning (to measure dynamic friction), until the current is low enough that it cannot overcome that particular motor's friction and so the motor stops moving at a specific low current level. I assume that dynamic friction will be lower than static friction, so I wouldn't suggest measuring it by increasing the current of a stopped motor until it starts turning, since that value would probably give you too large of a current threshold (though I'm speculating on that one). Then, if you take that lowest measured current value and divide it by 2, and use it as your threshold value for disabling the gate driver, you'll essentially end up taking the user's commanded current control value and rounding to the closest possible state for that particular motor, giving them a tiny bit of extra control authority and power savings.
When I've messed with the STSPIN32 MCU in the past, I remember it has a standby mode you could quickly enter-into / exit-out-of to accomplish this sort of feature, but fair warning, I don't know if the same is feasible (and safe) with the PAC5527.
Very cool product by the way, I'm very much enjoying using my Tinymovr boards so far.
The text was updated successfully, but these errors were encountered:
As a first comment, I think the issue you are describing might be related to the other issue you raised, #156 . Let me explain.
At current control mode, the FOC loop still runs in the background. This means that for a well-tuned current controller, the d and q components should be close to zero (as the commanded q-current is zero). Therefore, the motor should exhibit the same characteristics as if the phases were disconnected when the inverter is off.
Now, if the current controller gains are tuned for a motor with different RL characteristics, this could also affect the current regulation performance, and introduce errors even if the commanded q component is zero. The resistance that you mention could thus be related to improper current controller tuning.
I have tested current control and it does not seem to impede motor movement to a noticeable degree. Granted, my test was in a high-current motor, with much lower RL than yours, so any effect could be much less pronounced in my case.
Nonetheless, your suggestion is interesting and I'm going to leave it open for consideration.
When first powering on tinymovr, I think the gate driver starts in a disabled mode, and so the attached motor's resistance to being turned is at its minimum, and its current draw is also very very small. However, by just enabling current control mode, even if the commanded current is still at zero, the gate driver is enabled, which increases idle current draw (doubles it in my experiments), and increases the motor's resistance to turning. If attempting torque control, and trying to get as close to zero torque as possible, the motor's friction may in some motors have a smaller torque effect than an enabled gate driver (commanded to some current below a user provided threshold), which makes it more desirable from a power draw and control dynamics standpoint to just disable the gate driver under a certain current threshold. Especially if the motor has a lot of extra friction due to a gearbox.
It would be a cool feature to let the user specify a current threshold for disabling the gate driver, to unlock that extra low-torque control, and get a small power savings to boost when idling for long periods of time.
Or instead of having the user set this threshold manually, during calibration, you might actually be able to automatically determine this low-current threshold by slowly ramping the current down while the motor is actively turning (to measure dynamic friction), until the current is low enough that it cannot overcome that particular motor's friction and so the motor stops moving at a specific low current level. I assume that dynamic friction will be lower than static friction, so I wouldn't suggest measuring it by increasing the current of a stopped motor until it starts turning, since that value would probably give you too large of a current threshold (though I'm speculating on that one). Then, if you take that lowest measured current value and divide it by 2, and use it as your threshold value for disabling the gate driver, you'll essentially end up taking the user's commanded current control value and rounding to the closest possible state for that particular motor, giving them a tiny bit of extra control authority and power savings.
When I've messed with the STSPIN32 MCU in the past, I remember it has a standby mode you could quickly enter-into / exit-out-of to accomplish this sort of feature, but fair warning, I don't know if the same is feasible (and safe) with the PAC5527.
Very cool product by the way, I'm very much enjoying using my Tinymovr boards so far.
The text was updated successfully, but these errors were encountered: