I am working on a project that will use a motor driver to drive a three phase BLDC motor. The driver/commutator needs to be able to drive the motor in both a positive and negative direction and so I have modified the BLDC_sensored example to reverse the current drive by switching the commutation phases. I have traced some issues I am seeing to what appears to be a significant nonlinearity in PWM duty cycle in to current out. If I take the unmodified BLDC_sensored example, compile it in Level2, and then adjust the DfuncTesting variable in steps of about 200, starting from zero, and observe the DCbus_current for each setting, I get the following response:
As is seen, the response is quite non-linear and this shows up as significant crossover distortion when I use it in a closed loop circuit that can be driven in the positive or negative directions. Is there something that can be done to make this more linear? What is causing the nonlinear behavior?
Thanks,
Mitch