-
Notifications
You must be signed in to change notification settings - Fork 53
Description
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.