2702 Recipes

Motor Constants

Kraken X60 and X44 specifications and the derived constants used in feedforward calculations.

1.6 Motor Constants Reference

The first-principles calculations in this document, especially for torque-current mode in §3, need motor constants. This section collects the published values for both Kraken motors in both commutation modes.

Commutation changes the constants. The same motor behaves differently depending on how it is commutated:

  • Trapezoidal drives two of the three phases at a time. Voltage and duty-cycle requests use it when the device is not Pro-licensed or when the request has EnableFOC = false.
  • FOC drives all three phases continuously with sinusoidal current. All *TorqueCurrentFOC requests use it, and so do voltage and duty-cycle requests on a Pro-licensed device with EnableFOC = true (the request default).

FOC raises peak power. CTRE quotes about 15%, and the WCP figures below show +27% for the X60 and +16% for the X44. Most of the stall-torque gain (X60: 7.09 → 9.37 N·m) comes from a higher stall current at essentially the same ktk_t, not from more torque per amp. FOC free speed is slightly lower.

Which column to use:

  • Voltage or duty-cycle requests, Pro-licensed, EnableFOC = trueFOC.
  • Voltage or duty-cycle requests without Pro, or with EnableFOC = falseTrapezoidal.
  • Any *TorqueCurrentFOC request → FOC.

1.6.1 Published Nominal Specifications

ParameterKraken X60 (Trap)Kraken X60 (FOC)Kraken X44 (Trap)Kraken X44 (FOC)
Free Speed @ 12 V6000 RPM5800 RPM7758 RPM7368 RPM
Free Speed @ 12 V (rad/s)628.3607.4812.5771.6
Free Current2 A2 A3 A3 A
Stall Torque7.09 N·m9.37 N·m4.11 N·m5.01 N·m
Stall Current366 A483 A279 A329 A
Peak Power1108 W1405 W835 W966 W
Max Efficiency87% @ 30 A85.4% @ 37 A81%81%

Sources: WestCoast Products Kraken X60 and Kraken X44 documentation.

1.6.2 Derived Electromechanical Constants

These are the values the feedforward calculations use. They come from the specs above, with Vnom=12V_{\text{nom}} = 12 V:

ConstantSymbolKraken X60 (Trap)Kraken X60 (FOC)Kraken X44 (Trap)Kraken X44 (FOC)
Torque constantktk_t (N·m/A)0.01940.01940.01470.0152
Back-EMF constantkek_e (V·s/rad)0.01910.01980.01480.0156
Velocity constantKvK_v (RPM/V)500.0483.3646.5614.0
Effective resistanceRR (Ω\Omega)0.03280.02480.04300.0365

RR is an effective model value, not the physical winding resistance. It is whatever makes V=RIV = R \cdot I match the published stall point, which is why the same motor shows a different RR under each commutation. Use the column that matches your commutation.

How each constant is derived. Watch the units: most confusion with motor data comes from mixing rad/s, rotation/s, and RPM.

kt=τstallIstall[N⋅m/A]k_t = \frac{\tau_{\text{stall}}}{I_{\text{stall}}} \quad \text{[N·m/A]} ke=Vnomωfree[V⋅s/rad, with ωfree in rad/s]k_e = \frac{V_{\text{nom}}}{\omega_{\text{free}}} \quad \text{[V·s/rad, with $\omega_{\text{free}}$ in rad/s]} Kv=ωfree, RPMVnom[RPM/V, with ωfree, RPM in RPM]K_v = \frac{\omega_{\text{free, RPM}}}{V_{\text{nom}}} \quad \text{[RPM/V, with $\omega_{\text{free, RPM}}$ in RPM]} R=VnomIstall[Ω]R = \frac{V_{\text{nom}}}{I_{\text{stall}}} \quad \text{[$\Omega$]}

KvK_v (the hobby-motor "Kv rating", in RPM/V) and kek_e (SI back-EMF constant, V·s/rad) are reciprocals up to a unit conversion: ke=60/(2πKv)k_e = 60 / (2\pi \cdot K_v).

In SI units, ktk_t (N·m/A) and kek_e (V·s/rad) are equal for an ideal motor and close in practice. Friction and iron losses account for the gap. Use ktk_t for torque and current, kek_e for back-EMF and voltage.

1.6.3 Quick-Reference Calculation Examples

Holding current for an arm at horizontal (from §3.3.2):

Ihold=mgLcgGktI_{\text{hold}} = \frac{m \cdot g \cdot L_{\text{cg}}}{G \cdot k_t}

For a 5 kg arm with 0.4 m CG distance, 100:1 ratio, on a Kraken X60 (FOC, kt=0.0194k_t = 0.0194):

Ihold=59.810.41000.0194=10.1 AI_{\text{hold}} = \frac{5 \cdot 9.81 \cdot 0.4}{100 \cdot 0.0194} = 10.1 \text{ A}

On a Kraken X44 (FOC, kt=0.0152k_t = 0.0152), the same arm would need:

Ihold=59.810.41000.0152=12.9 AI_{\text{hold}} = \frac{5 \cdot 9.81 \cdot 0.4}{100 \cdot 0.0152} = 12.9 \text{ A}

The X44 needs ~28% more current for the same torque, which is worth knowing when choosing a gear ratio.

Voltage-mode kV (V/(rotation/s) at the motor rotor):

kVrotor=Vnomωfree/(2π)=2πVnomωfreek_V^{\text{rotor}} = \frac{V_{\text{nom}}}{\omega_{\text{free}} / (2\pi)} = \frac{2\pi \cdot V_{\text{nom}}}{\omega_{\text{free}}}

For a Kraken X60: kVrotor=(2π12)/628.3=0.120k_V^{\text{rotor}} = (2\pi \cdot 12) / 628.3 = 0.120 V/(rotation/s) with trapezoidal commutation, or (2π12)/607.4=0.124(2\pi \cdot 12) / 607.4 = 0.124 with FOC. These are no-friction values. SysId will measure somewhat higher because of drag and gear-train friction (typically 5–15%). Use them to sanity-check SysId results.

No-load top speed of a geared mechanism (rotations/sec at the output):

ωout, no-load=VsupplykVrotorG\omega_{\text{out, no-load}} = \frac{V_{\text{supply}}}{k_V^{\text{rotor}} \cdot G}

For the 50:1 Kraken X60 turret from §1.4.1 (FOC, 12 V): ωout=12/(0.12450)1.93\omega_{\text{out}} = 12 / (0.124 \cdot 50) \approx 1.93 rps ≈ 700°/s, the same top speed Expo computed there. Load and friction make the real number somewhat lower.

See it for yourself. The chart below plots the current each motor can actually draw at every speed. Back-EMF uses up more of the supply as speed rises, so the available current falls to zero at free speed. The stator current limit caps it at low speed. The chart also shows how much battery (supply) current that output draws, which is much less at low speed.

Motor curves and voltage headroom
Motor
Commutation
12.0 V
80 A
4800 RPM (80 rot/s)
Back-EMF9.93V (83% of supply)
Voltage headroom2.07V
Max stator current80A
Supply (battery) current79.5A
Voltage applied to the motor11.9V
Max motor torque1.55N·m
Mechanical power780W
Voltage is the cap above4839RPM
Stator current the motor can draw at each speed
050100010002000300040005000rotor speed (RPM)stator current (A)operating speed80 A stator limit
Voltage-limited stator currentAvailable stator current (with limit)Current limit is the capVoltage is the cap
Mechanical power
0200400600800010002000300040005000rotor speed (RPM)power (W)operating speed
Available mechanical power

At 4800 RPM, back-EMF uses 9.93 V of the 12.0 V supply, so at most 80 A of stator current is available for torque. This ceiling is the same in voltage and torque-current mode. Torque mode changes how the loop uses the current, not how much there is.

Which limit is this? The slider is the stator current limit (StatorCurrentLimit, default 120 A), which caps current in the motor windings and so caps torque. In torque-current mode, PeakForwardTorqueCurrent / PeakReverseTorqueCurrent cap it the same way. The supply limit (SupplyCurrentLimit) caps battery current instead. At low speed the motor needs only a fraction of the supply voltage, so supply current is much lower than stator current. That is why the supply limit protects the battery but does little to limit torque at low speed.

Uses the effective constants from the Motor Constants page. Ignores free current, friction, and temperature. The effective resistance rises about 25% when the motor is hot, which lowers every current in this chart.

1.6.4 Caveats

  • Motors vary. Published values are nominal. Individual motors can differ by about ±5% on ktk_t and ±10% on RR. SysId measures your motor, so prefer it when accuracy matters.
  • Temperature matters. Copper resistance rises about 0.4%/°C, so a motor at 80 °C has roughly 25% more RR than at 20 °C. That reduces torque per volt: voltage-mode kS, kA, and kG, and stall torque, all shift as the motor heats. (kV comes from back-EMF and barely changes.) Torque-current mode is largely unaffected, because the current loop compensates for RR. Stator current limits keep heating in check.
  • Specs get updated. These values reflect WCP/CTRE data at the time of writing. For the latest numbers, especially after firmware changes that affect FOC, check CTRE's Motor Testing Lab.

On this page