Hello everyone~
I have a DRV8312 kit with F28035 control card, I found the project from C:\ti\controlSUITE\development_kits\DRV8312-C2-KIT_v128\PM_Sensorless
I start to learn the "sensored" FOC control with this project, I have check everything from LEVEL 1 to LEVEL 3 according to the application note, and my problem is in LEVEL 4.
LEVEL 4 is trying to do the current control loop, when I set the lsw=0( Lock rotor, theta=0, Iq_Ref=0, Id_Ref=_IQ(0.2) ) or lsw=1( spin motor, theta is coming from ramp function(rg1.Out), Iq_Ref=_IQ(0.2), Id_Ref=0 ), I can see the two current PI controller work well in debug watch windows, Id_Fdb keeping track Id_Ref, Iq_Fdb keeping track Iq_Ref.
In the meanwhile, I also check the qep macro, both qep1.ElecTheta and rg1.Out are of saw-tooth wave shape and have the same period, same direction and do the qep calibration angle for Encoder.
The problem is when I set lsw=2( theta=qep1.ElecTheta, Iq_Ref=_IQ(0.2), Id_Ref=0 ), the motor( no load) will rapidly accelerate to a very high speed, the two current PI controller was saturated, Id_Fdb can not track Id_Ref, Iq_Fdb can not track Iq_Ref.
Does anyone have the same problem with me? Or do I have something wrong?
Thank you guys~~
