compute_electric_currentΒΆ

DCMotor.compute_electric_current() None

It computes the electric_current absorbed by the DC motor.

The absorbed electric current depends on the two constants no_load_electric_current and maximum_electric_current and the two variables driving_torque and pwm of the DC motor.

The computed electric current has the same unit of maximum_electric_current.

Notes

The computation is based on the following relationship:

\[i \left( T \right) = \left( i_{max}^D - i_0 \right) \frac{T}{T_{max}^D} + i_0\]

where:

  • \(i\) is the electric_current absorbed by the DC motor,

  • \(T\) is the DC motor developed driving_torque,

  • \(i_{max}^D\) is the maximum electric current absorbed by the DC motor keeping into account pwm,

  • \(i_0\) is the no_load_electric_current absorbed by the DC motor,

  • \(T_{max}^D\) is the DC motor maximum torque developed by the DC motor keeping into account pwm.

The maximum torque can be computed as:

\[T_{max}^D \left( D \right) = T_{max} \frac{D \, i_{max} - i_0}{i_{max} - i_0}\]

and the maximum electric current can be computed as:

\[i_{max}^D \left( D \right) = D \, i_{max}\]

where:

If the pwm is lower than a critical threshold, then the motor cannot develop any torque, so the electric_current will depend only on pwm value. The critical pwm value can be computed as:

\[D_{lim} = \frac{i_0}{i_{max}}\]

and the relative electric current can be computed as:

\[i_{lim} \left( D \right) = D \, i_{max}\]