Hi,
Setup
- DRV10983
- BLDC motor with an impeller on its axis
- Diameter of impeller 13 millimeters, depth 7 millimeters, made of plastics
- Application: air flow generator in a measuring device
- Ambient temperature 25 °C
Startup phase
- Via I2C motor starts with any given speed setpoint value between 100 and 511
Analysis
1. Overall system performance:
- System acts as expected
- Changing speed setpoint changes motor speed. This is verified twice via readback of motor period registers and calculation of rpm and an independent flow sensor that measures a change in flow when a change of speed setpoint occurs.
2. Motor current:
- Reading the motor current registers MotorCurren1 and MotorCurrent2 via I2C
- Resulting register values of {MotorCurrent[10:0]} are 0x3FE...0x402 regardless of speed setpoint!!!
- Calculating motor current according to post https://e2e.ti.com/support/motor-drivers/f/38/p/899148/3325060?tisearch=e2e-sitesearch&keymatch=DRV10983#3325060
- Problem, this results in current values around 0 A. Because the formula stated in the post above subtracts 1023 of the MotorCurrent[10:0] value.
3. Why does one have to subtract 1023 from the register value? Obviously this must result in values around zero. What is the solution to this problem?