I am trying to figure out how to calculate the total motor current in a BLDC motor using the Instaspin FOC controller. Can someone point me to a resource or give me suggestions how to do this please?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I am trying to figure out how to calculate the total motor current in a BLDC motor using the Instaspin FOC controller. Can someone point me to a resource or give me suggestions how to do this please?
Instaspin FOC controller doesn't calculate and use the total motor current, it only sensing the motor current and converter them to d-q axis for motor control with FOC. You have to add a function to fo this by yourself based on the sensing phase current.
I understand that I need to do a function but are you saying you have no guidance or previous attempt that someone did this before? I was hoping for some technical assistance to point to something that might help.
What do you mean "the total motor current"? Input or output? Why do you need this value?
We need to know the total motor current so we can monitor how heavily the motor is loaded. The chair that this is powering could have a heavier load than expected and we need to flag that and slow it down.
If you just want to know the load of the motor by monitoring current, you may use the torque current or the vector current.
Torque Current: gMotorVars.Iq_A = _IQmpy(CTRL_getIq_in_pu(ctrlHandle), _IQ(USER_IQ_FULL_SCALE_CURRENT_A));
Vector Current: gMotorVars.Is_A = _IQsqrt(_IQmpy(gMotorVars.Id_A, gMotorVars.Id_A) + _IQmpy(gMotorVars.Iq_A, gMotorVars.Iq_A));
Both currents calculation can be found in updateGlobalVariables_motor() in the example labs like lab10a.