...
These resources are very helpful to understand BLDC motor control:
Benjamin Vedder’s VESC project: http://vedder.se/2015/01/vesc-open-source-esc/
Link to a great explanation of operating points and speed, current, torque, etc: https://things-in-motion.blogspot.com/2019/05/understanding-bldc-pmsm-electric-motors.html
Texas Instruments InstaSpin motor control algorithm: https://training.ti.com/introduction-instaspin-bldc-motor-control-solution
Motor and motor controller documentation.
Back-EMF and Kv
http://learningrc.com/motor-kv/
Our motor speed is limited by the back-emf of the motor, which is the voltage produced by the coils when the magnets are rotating around it. We are typically able to calculate this by using the Kv value of the motor (rpm / volt) and a known rpm. When this back-emf voltage equals the supply voltage, then we we can no longer produce any torque since there is no voltage difference to drive current through the motor phase coils.
...
Kv (rpm/V) = max speed (rpm) / bus voltage (V)
Coil | Eco/PWM Graph | Kv (rpm/V of back-emf) |
---|---|---|
HI (short coil - high speed) | PWM | 5.6412 |
LO (long coil - low speed) | PWM | 4.8702 |
HI (short coil - high speed) | ECO | 6.0153 |
LO (long coil - low speed) | ECO | 5.2061 |
I believe this to be reasonable accurate - the Kv estimation is a little wonky since we have not idea of the test setup or procedures that Nomura was using, but I believe this to be within 10% of the actual value.
...
Phase Current (A) = Torque(Nm) * pi * Kv / 30
We will go with Kv = 6 for the worst-case phase current according to the estimations above, however I would love to measure the Kv rating of the motor once we get it hooked up to the test stand.
I made this excel sheet and tried to do more with it than I was able to, so some of the data is irrelevant and incorrect but you can have a look at it if you want.
View file | ||
---|---|---|
|
BLDCs - From Class Notes in MTE322
Max speed we can achieve is when the back-emf is equal to the supply voltage. This condition means we can no longer have current flowing through the coils, and thus no torque is produced.
Variable | Symbol | Units | Value | Reasoning |
---|---|---|---|---|
Supply Voltage | V | Volts | 90 to 150V | This is the voltage range of our 36S battery pack. |
Back-Emf (or the voltage produced by the coils rotating in a magnetic field) | E | Volts | ||
Motor Current | I | Amps | ||
Motor Resistance, LOW coil | R_low | Ohms | 0.997 | According to motor graphs given in datasheet. See spreadsheet above. |
Motor Resistance, HIGH coil | R_high | Ohms | 1.33 | According to motor graphs given in datasheet. See spreadsheet above. |
Motor Speed | n | rpm | 1rpm = 2*pi/60 rad/s | |
Motor Speed | w | rad/s | ||
Back-Emf Constant, LOW COIL | Kv_low_rpm | Volts / rpm | 1/4.87 = 0.20533 | According to motor graphs given in datasheet. See spreadsheet above. |
Back-Emf Constant, HIGH COIL | Kv_high_rpm | Volts / rpm | 1/5.64 = 0.177267 | According to motor graphs given in datasheet. See spreadsheet above. |
Back-Emf Constant, LOW COIL | Kv_low_rad | Volts / (rad/s) | 1.96075 | Calculated from Kv_low_rpm 1/4.87 (Volts/rpm) * (1rpm/(2*pi/60) rad/s) |
Back-Emf Constant, HIGH COIL | Kv_high_rad | Volts / (rad/s) | 1.69277 | Calculated from Kv_low_rpm 1/5.64 (Volts/rpm) * (1rpm/(2*pi/60) rad/s) |
Torque Constant, LOW COIL | Kt_low | Nm / Amp | 1.96075 | Same value as Kv_low_rad (https://micromouseonline.com/micromouse-book/motors/motor-equations/ ) |
Torque Constant, HIGH COIL | Kt_high | Nm / Amp | 1.69277 | Same value as Kv_high_rad (https://micromouseonline.com/micromouse-book/motors/motor-equations/ ) |
1: V = E+IR
2: E = Kv_rpm * n = Kv_rad * w
3: I = T/Kt
Subbing 2 and 3 into 1
4: V = Kv_rad * w + (T / Kt) * R
If we rearrange the equation, we can get a maximum torque as a function of speed.
5: T = (Kt / R) * (V - Kv_rad * w)
We can plot this in python for both the high and the low cables with the parameters from the table above. These are just simple linear equations, but it is easier to visualize in a graph. NOTE - the minimum battery voltage of 90V was used to generate these curves. Higher battery voltage pushes the curves upwards vertically.
...
We also need to pay attention to the maximum battery current, as that will limit the maximum torque that we can produce. Higher battery voltage extends these curves along the same lines to achieve higher possible torque.
...
Now, we need to have a discussion about the maximum motor phase currents.
There is a start of an investigation into that here: Determining Motor Current Limits