Hi Team,
The customer uses DRV8301-hc-c-kit_v105 for BLDC torque control. A problem was encountered when calculating the rising and falling slopes of torque. Taking the slope of torque decrease as an example, it can be written as the following expression:
f_down= -(ea^2+eb^2+ec^2)/(wrm*LS) - RS/LS*Te
ea, eb, and ec are the back electromotive force of the three phases abc, which are proportional to the rotational speed, wrm is the mechanical angular velocity, and Te is the torque, which is proportional to the current.
When calculating the speed, since the IQ math library is used for calculations and there is no way to handle floating point numbers, the real speed is divided by BASE_FREQ=200. In addition, since the unit of rotation speed calculated is rad/s, the rotation speed equivalent to the IQ (24) format calculated in the DSP program is 200*2*pi times smaller than the real rotation speed. Ultimately, -(ea^2+eb^2+ec^2)/(wrm*LS) is 1256 times smaller than the actual value. However, the current detection quantity (also in IQ format) is 41.25 times smaller than the actual current, which means that the torque is 41.25 times smaller than the real torque. The two quantities differ in different orders of magnitude, so there is no way to perform calculations. The customer doesn't know how to calculate f_down. His ultimate goal is to calculate the duty cycle through f_down and f_up to reduce the torque ripple.
Regards,
Annie