B-G431B-ESC1 MotorControl "wrong" current measurement (how to obtain the average current through the windings)
Hi ST Community
I am using a default MotorControl setup with the B-G431B-ESC1 board and a BLDC motor with hall sensors. The project is generated using MC Workbench with default values.
I am having a hard time to decipher the value provided by the function MC_GetPhaseCurrentAmplitudeMotor1. I am familiar with the conversion from the format S16A to Amps, but still get wrong readings.
The amplifying network gain setup is also default with values matching the resistors on the board. The overall network gain is hence 9.14.
When converting the value to Amps, I get values far from what I can read from the power supply. When setting up the motor (using values inherited from motor profiler) the nominal current is set to 3.29A. With this settings I can almost not run the motor with a "high" load (0.5+ Nm). I need to increase this value to 10A+ in order to archive a torque of ie. 2Nm. which on the power supply is requiring far less than 10A. This test is done with no load on startup but adding load while already on the target RPM (so it is not about startup torque).
The Vout (polarization) is 2.057V, while the description says it should be around 1.65V (right between 0 and 3.3V which is the ref. voltage of the ADC).
The min and max Vout is correct wrt. being above 0V and below 3.3V.
Is all of this due to the Vout (polarization) being off? It says it should be at 1.65V, while it is not, due to the resistor network.
If I am using/understanding the MC_GetPhaseCurrentAmplitudeMotor1 function wrong, then how can I from the MotorControl API obtain the current that the motor consumes?
The overall goal is to calculate the motor torque for a screwing application, since for this I have a torque constant ie. 36.9mNm/A. Hence I need the to get the average current through the windings to calculate the torque.