**UPDATE** - it now seems that I can easily run up to 16,000 to 17,000 rpm from either the start or by a change of SpeedRef (from the watch window) while running in small increments. I have a very modest amount of integral and derivative gain, about 0.00001, and a proportional gain of 1. My BASE_FREQ is set to 417 so that my speed1.BaseRpm is 24,950 (close enough to the 25,000 rpm max). It seems that I can get to a SpeedRef of 0.75 with basically no issues, but once I exceed that threshold, the controller loses it.
The "Tuning the Controller" section from the DMC_MATH.pdf document has been helpful, but I don't think the real problem is in the transient response because I can change speeds in small increments (faster and slower) without problems as long as I don't get much above 0.7.
Again, all assistance is appreciated. I'll leave the initial message in its entirely below.
I'm having trouble getting my speed PID control build to work using the DRV8302 kit w/ CC2803x ISO DIMM card. My system basics are as follows:
BLDC motor/pump - nominal 0.5A load, 15VDC input
18,000 to 25,000 rpm nominal
I set the integration threshold very low (0.001) and the speed PI gains are set such that the motor starts up just fine and runs for about 10 to 30 seconds at about 16,000rpm, but then I can hear the motor operation become unstable and it changes into some strange "mode" in which the current shoots up to the maximum draw of the load (~1.8A, full duty cycle), and the motor continues to spin, but the watch window shows a much slower pump speed ( 8,000 to 10,000, varies wildly).
I'm guessing that the controller simply lost lock and went berzerk, but I don't understand how this is happening at steady state. The controller is no longer in Ramp mode when this occurs, and the load is not changing. I'm basically cycling water through the pump. The max switching frequency of the DRV8302 is 200kHz, so I should be well within the operating range of the driver IC since my PWM/ISR frequency is at 40kHz.
I'm not so much looking for an exact solution as I am searching for general assistance with possible issues I may have introduced. For example, can the DRV8302 eval board spin a motor with max speed at 27,000 rpm? Is my current too low for accurate control with the drive gain set at 40 (for a 20A load, which is the lowest value for this evaluation board)? Would the DRV8312 eval board work better for this application?
Any/all assistance is greatly appreciated. Thanks.