Hello InstaSPIN community,
We are using the F2806x ISO controlCARD connected in our own designed board. The motor I am using is 4KW – 28V – 117A – 2530 RPM, my VDC is a battery 48V – 500Ah
We completed the lab12b and it is working well. Now we are currently trying to use the field weakening and overmodulation on the controller.
So we start with lab9. When I compile the lab9 some warnings are generated: #175-D floating-point value does not fit in required integral type proj_lab09.c
I've tried to change the code:
if(FW_getFlag_enableFw(fwHandle) == true)
{
FW_incCounter(fwHandle);
if(FW_getCounter(fwHandle) > FW_getNumIsrTicksPerFwTick(fwHandle))
{
_iq refValue;
_iq fbackValue;
_iq output;
FW_clearCounter(fwHandle);
refValue = gMotorVars.VsRef;
fbackValue = gMotorVars.Vs;
FW_run(fwHandle, refValue, fbackValue, &output);
CTRL_setId_ref_pu(ctrlHandle, output);
gMotorVars.IdRef_kA = _IQmpy(CTRL_getId_ref_pu(ctrlHandle), _IQ(USER_IQ_FULL_SCALE_CURRENT_A/1000));
}
}
else
{
CTRL_setId_ref_pu(ctrlHandle, _IQmpy(gMotorVars.IdRef_kA, _IQ(1.0/(USER_IQ_FULL_SCALE_CURRENT_A/1000))));
}
// read Id and Iq vectors in amps
gMotorVars.Id_kA = _IQmpy(CTRL_getId_in_pu(ctrlHandle), _IQ(USER_IQ_FULL_SCALE_CURRENT_A/1000));
gMotorVars.Iq_kA = _IQmpy(CTRL_getIq_in_pu(ctrlHandle), _IQ(USER_IQ_FULL_SCALE_CURRENT_A/1000));
// calculate vector Is in amps
gMotorVars.Is_kA = _IQsqrt(_IQmpy(gMotorVars.Id_kA, gMotorVars.Id_kA) + _IQmpy(gMotorVars.Iq_kA, gMotorVars.Iq_kA));
When I run, the motor spins fine until 2500 rpm. At higher speeds like 3200 rpm the velocity oscillates.
What can I try to solve the problem ?
Thanks in Advance !