Other Parts Discussed in Thread: DRV8320, DRV8301, MOTORWARE, BOOSTXL-DRV8320RS
For my application, I intend to use only 2 current sensors rather than 3. It's a high current application so I will be using LEM current sensors that are to be placed inline with the phase (rather than low-side leg) and sensing two phases instead of 3.
For initial testing I am using the DRV8320 launchpad kit. I understand that to enable 2 phase sensing, I simply change the #define in user.h:
#define USER_NUM_CURRENT_SENSORS (2)
This seems to work, however, there are a few issues:
1. Motor ID does not work when only 2 sensors are chosen. It does work with 3 sensors. With 2 current sensors selected, it produces bad Rs, Ls and flux values and just doesn't really sound or rotate correctly throughout the whole process. See post below
2. Offset calibration does not work so this needs to be disabled at start up for the motor to run ok. If I run offset calibration with 2 current sensors, voltage offset 0 ends up being some wrong value close to zero. This then cause the motor to run badly if at all.
3. There is some noise in the current signals. My application requires high current controller bandwidth and so the current controller gains are higher than usual which has the effect of amplifying any noise and in this case producing a nasty audible noise in the motor. With 3 current sensing, and no other changes, it works just fine even with the high gain values. I suspect that for some unknown reason, there is some noise being introduced into the current sensing from somewhere that is not really there.
We've tested 2 current sensing on the old motorware platform xxxx69 and DRV8301 and this problem is not there.
Any thoughts?