Other Parts Discussed in Thread: LAUNCHXL-F280049C, BOOSTXL-DRV8320RS, DRV8320
Hi Everyone!
The instaspin libraries and labs are great! I was able to use a LaunchXL-F280049C and a BoostXL-DRV8320RS with your example code to control a BLDC as a generator! However, the FAST estimator seems to go unstable in one direction. Of course this is dependent on the the phase order attached to the board, but for the purposes of this post I'll call counterclockwise the stable direction and clockwise the unstable direction.
I went through the MotorControl SDK InstaSPIN Labs from IS01-IS09, and the software accurately identified the motor, allowed me to close the current/torque loop, and allowed for speed control in a very stable way. I took lab is09 (flying start) and added a PI instance for DC Voltage control (just like the current and speed PI controllers), added a mode to the motorVars structure called "flagEnableDCctrl", and an if then statement that permitted the PI controller to run and apply an electrical torque counter to the mechanical direction in such a way that the DC link voltage is controlled to a setpoint. It works great! I can charge 2 12V lead acid batteries in series to 28V with a spinning motor. However, this only works when the motor is spinning counterclockwise. If the motor spins clockwise, the estimation variables in the FAST estimator go unstable. I'd look through the code of the estimator functions, but these are seem to be hard-coded and inaccessible.
Another modification that I made is in hardware on the DRV8320RS. I added 2.2mF of capacitance on the DC link near the blue dc link screw terminals, and added additional ceramic capacitance at C2, C3, and C4 of 2 additional caps each, one .1uF and one 1uF.
This thing is awesome, and I'm really happy that TI provides this functionality! It would be even better if I could get it to run in both directions! Does anyone have any idea what's happening?
Justin
