Berkeley Humanoid Lite Docs
  • Home
  • Releases
  • Getting Started with Hardware
    • Materials and Parts (BOM)
    • Preparing the Tools
    • 3D Printing Instructions
    • Building the Actuator
    • Flashing the Motor Controllers
    • Building the Robot
  • Getting Started with Software
    • Software Development Environment Overview
    • Training Environment
    • Sim2sim Validation
    • The On-board Computer
    • Motion Capture System
  • lerobot Integration
  • In-depth Contents
    • Field Oriented Control (FOC) Operation
    • Motor Controller Firmware Execution Timing Information
    • Motor Characterization
    • Actuator Characterization
    • CAN Communication
    • Joint ID Mapping
    • Exporting Robot Description Files from Onshape
    • Domain Randomizations for Training Locomotion
  • Contribute
Powered by GitBook
On this page
  • Phase Winding Type
  • M6C12 Motor = Delta Winding
  • 5010 Motor = Delta Winding
  • Phase Resistance
  • M6C12 Motor = 0.1886 R
  • 5010 Motor = 0.6193 R
  • Phase Inductance
  • M6C12 Motor = 0.0325 mH
  • 5010 Motor = 0.0850 mH
  • Motor Back EMF Constant
  • M6C12 Motor = 0.0919 Nm / A
  • 5010 Motor = 0.1176 Nm / A
  • Motor Rotor Inertia
  1. In-depth Contents

Motor Characterization

PreviousMotor Controller Firmware Execution Timing InformationNextActuator Characterization

Last updated 1 month ago

The overall actuator performance depends on several characteristics of the motor, including the winding type, phase resistance, phase inductance, and more. To achieve a smaller sim-to-real gap, we need to identify the actual value of these motor parameters.

In this note, we characterize the MAD Components M6C12 and 5010 motor that are used in the robot actuators.

Phase Winding Type

For BLDC motors, there are two possible winding types, delta winding and wye winding. The line-to-line measurement that we are going to do in the following sections have different implications for different motor winding types, so we need to determine the winding type of our motor first.

To identify the phase connection, we energize two phase wires with power supply set to 1.00 V and current limit to 10.0 A. The winding type can be determined by observing the thermal image of the winding.

When two phase wires are energized, only one-third of the windings are heated. Hence, both motors are using delta winding.

M6C12 Motor = Delta Winding

5010 Motor = Delta Winding

Phase Resistance

The phase resistance can be calculated from the line-to-line resistance with the following relation:

Rwye=12RllRdelta=32RllR_{wye} = \frac{1}{2}R_{ll} \qquad\qquad\qquad R_{delta} = \frac{3}{2}R_{ll}Rwye​=21​Rll​Rdelta​=23​Rll​

To measure line-to-line resistance, we energize phases with a constant voltage and measure the current flowing through the winding.

M6C12 Motor = 0.1886 R

The power supply is set to be 0.99 V.

Phase wire A-B energized, measured current 7.872 A.

Phase wire B-C energized, measured current 7.879 A.

The line-to-line resistance is calucated to be

Rll=VllIll=Avg(0.99 V7.872 A,0.99 V7.879 A)≈0.1257 ΩR_{ll} = \frac{V_{ll}}{I_{ll}} = Avg(\frac{0.99~\text{V}}{7.872~\text{A}}, \frac{0.99~\text{V}}{7.879~\text{A}}) \approx 0.1257~\Omega Rll​=Ill​Vll​​=Avg(7.872 A0.99 V​,7.879 A0.99 V​)≈0.1257 Ω

The phase resistance can then be caluclated as

Rq=32Rll=32×0.1257 Ω=0.1886 ΩR_q = \frac{3}{2}R_{ll} = \frac{3}{2} \times 0.1257~\Omega = 0.1886~\OmegaRq​=23​Rll​=23​×0.1257 Ω=0.1886 Ω

The phase resistance of the M6C12 motor is 0.1886 Ω.

5010 Motor = 0.6193 R

The power supply is set to be 1.00 V.

Phase wire A-B energized, measured current 2.468 A

Phase wire A-B energized, measured current 2.378 A

The line-to-line resistance is calucated to be

Rll=VllIll=Avg(1.00 V2.468 A,1.00 V2.378 A)≈0.4129 ΩR_{ll} = \frac{V_{ll}}{I_{ll}} = Avg(\frac{1.00~\text{V}}{2.468~\text{A}}, \frac{1.00~\text{V}}{2.378~\text{A}}) \approx 0.4129~\OmegaRll​=Ill​Vll​​=Avg(2.468 A1.00 V​,2.378 A1.00 V​)≈0.4129 Ω

The phase resistance can then be caluclated as

Rq=32Rll=32×0.4129 Ω=0.6193 ΩR_q = \frac{3}{2}R_{ll} = \frac{3}{2} \times 0.4129~\Omega = 0.6193~\OmegaRq​=23​Rll​=23​×0.4129 Ω=0.6193 Ω

The phase resistance of the M6C12 motor is 0.6193 Ω.

Phase Inductance

The phase inductance can be calculated from the line-to-line inductance with the following relation:

Lwye=32LllLdelta=12LllL_{wye} = \frac{3}{2}L_{ll} \qquad\qquad\qquad L_{delta} = \frac{1}{2}L_{ll}Lwye​=23​Lll​Ldelta​=21​Lll​

We use a digital LCR tester to measure the inducance of the winding.

M6C12 Motor = 0.0325 mH

Between phase wire A-B: 0.065 mH

Between phase wire A-C: 0.065 mH

Between phase wire B-C: 0.065 mH

The average line-to-line inductance is hence

Lll=6.50e−5 HL_{ll} = 6.50e^{-5}~\text{H}Lll​=6.50e−5 H

The phase inductance can then be caluclated as

Lq=12Rll=12×6.50e−5 H=3.25e−5 HL_q = \frac{1}{2}R_{ll} = \frac{1}{2} \times 6.50e^{-5}~\text{H} = 3.25e^{-5}~\text{H}Lq​=21​Rll​=21​×6.50e−5 H=3.25e−5 H

The phase resistance of the M6C12 motor is 0.0325 mH.

5010 Motor = 0.0850 mH

Between phase wire A-B: 0.170 mH

Between phase wire A-C: 0.168 mH

Between phase wire B-C: 0.172 mH

The average line-to-line inductance is hence

Lll=1.70e−4 HL_{ll} = 1.70e^{-4}~\text{H}Lll​=1.70e−4 H

The phase inductance can then be caluclated as

Lq=12Rll=12×1.70e−4 H=8.50e−5 HL_q = \frac{1}{2}R_{ll} = \frac{1}{2} \times 1.70e^{-4}~\text{H} = 8.50e^{-5}~\text{H}Lq​=21​Rll​=21​×1.70e−4 H=8.50e−5 H

The phase resistance of the M6C12 motor is 0.0850 mH.

Alternative Approach

An alternative approach to measure the phase inductance is to supply a square wave to the motor phase winding, and measure the voltage change. However, we couldn't interpret the result correctly.

Testbench setup

Rise time of the M6C12 between phase A and B

Motor Back EMF Constant

Vll,wye=2Vq=2kemfdθmdtVll,delta=23Vq=23kemfdθmdtV_{ll,wye} = \sqrt{2}V_{q} = \sqrt{2}k_{emf}\frac{d\theta_m}{dt} \qquad\qquad\qquad V_{ll,delta} = \sqrt{\frac{2}{3}}V_{q} = \sqrt{\frac{2}{3}}k_{emf}\frac{d\theta_m}{dt}Vll,wye​=2​Vq​=2​kemf​dtdθm​​Vll,delta​=32​​Vq​=32​​kemf​dtdθm​​
τ=kemfIq=321kemfIq\tau = k_{emf}I_q = \sqrt{\frac{3}{2}}\frac{1}{k_{emf}}I_qτ=kemf​Iq​=23​​kemf​1​Iq​

To test the BEMF value, the motor under test is driven with a electrical drill with a constant velocity. The voltage is measured between two phase wires.

M6C12 Motor = 0.0919 Nm / A

From the oscilloscope reading, we get electrical rotation frequency to be 344.27 Hz, and peak-to-peak line-to-line voltage to be 23.20 V.

Calculate electrical rotation velocity

ωelec=2πfelec=2π×344.27 Hz=2163.11 rad/s\omega_\text{elec} = 2 \pi f_\text{elec} = 2\pi \times 344.27~\text{Hz}= 2163.11~\text{rad/s}ωelec​=2πfelec​=2π×344.27 Hz=2163.11 rad/s

Calculate mechanical rotation velocity

ωmech=ωelecNpole-pair=2163.11 rad/s14=154.51 rad/s\omega_\text{mech} = \frac{\omega_\text{elec}}{N_\text{pole-pair}} = \frac{2163.11~\text{rad/s}}{14} = 154.51~\text{rad/s}ωmech​=Npole-pair​ωelec​​=142163.11 rad/s​=154.51 rad/s

As a sanity check, we can first calculate the measured KV value

KV=ωmech12Vpk-pk=154.51 rad/s0.5×23.20 V=13.320 rad/Vs=127.19 RPM/VK_V = \frac{\omega_\text{mech}}{\frac{1}{2}V_\text{pk-pk}} = \frac{154.51~\text{rad/s}}{0.5 \times 23.20~\text{V}} = 13.320~\text{rad/Vs} = 127.19~\text{RPM/V}KV​=21​Vpk-pk​ωmech​​=0.5×23.20 V154.51 rad/s​=13.320 rad/Vs=127.19 RPM/V

This result roughly matches the label on the motor, which is 150 KV.

To calculate the torque constant, we have

Kτ=3212Vpk-pkωmech=3212×23.20 V154.51 rad/s=0.0919 Vs/rad=0.0919 Nm / A\begin{aligned} K_\tau &= \sqrt\frac{3}{2} \frac{\frac{1}{2}V_\text{pk-pk}}{\omega_\text{mech}} \\ &= \sqrt\frac{3}{2} \frac{\frac{1}{2} \times 23.20~\text{V}}{154.51~\text{rad/s}} \\ &= 0.0919~\text{Vs/rad} \\ &= 0.0919~\text{Nm / A} \end{aligned}Kτ​​=23​​ωmech​21​Vpk-pk​​=23​​154.51 rad/s21​×23.20 V​=0.0919 Vs/rad=0.0919 Nm / A​

Thus, the torque constant of the M6C12 motor is 0.0919 Nm / A

5010 Motor = 0.1176 Nm / A

From the oscilloscope reading, we get electrical rotation frequency to be 250.59 Hz, and peak-to-peak line-to-line voltage to be 21.60 V.

Calculate electrical rotation velocity

ωelec=2πfelec=2π×250.59 Hz=1574.50 rad/s\omega_\text{elec} = 2 \pi f_\text{elec} = 2\pi \times 250.59~\text{Hz}= 1574.50~\text{rad/s}ωelec​=2πfelec​=2π×250.59 Hz=1574.50 rad/s

Calculate mechanical rotation velocity

ωmech=ωelecNpole-pair=1574.50 rad/s14=112.465 rad/s\omega_\text{mech} = \frac{\omega_\text{elec}}{N_\text{pole-pair}} = \frac{1574.50~\text{rad/s}}{14} = 112.465~\text{rad/s}ωmech​=Npole-pair​ωelec​​=141574.50 rad/s​=112.465 rad/s

As a sanity check, we can first calculate the measured KV value

KV=ωmech12Vpk-pk=112.465 rad/s0.5×21.60 V=10.413 rad/Vs=99.44 RPM/VK_V = \frac{\omega_\text{mech}}{\frac{1}{2}V_\text{pk-pk}} = \frac{112.465~\text{rad/s}}{0.5 \times 21.60~\text{V}} = 10.413~\text{rad/Vs} = 99.44~\text{RPM/V}KV​=21​Vpk-pk​ωmech​​=0.5×21.60 V112.465 rad/s​=10.413 rad/Vs=99.44 RPM/V

This result roughly matches the label on the motor, which is 110 KV.

To calculate the torque constant, we have

Kτ=3212Vpk-pkωmech=3212×21.60 V112.465 rad/s=0.1176 Vs/rad=0.1176 Nm / A\begin{aligned} K_\tau &= \sqrt\frac{3}{2} \frac{\frac{1}{2}V_\text{pk-pk}}{\omega_\text{mech}} \\ &= \sqrt\frac{3}{2} \frac{\frac{1}{2} \times 21.60~\text{V}}{112.465~\text{rad/s}} \\ &= 0.1176~\text{Vs/rad} \\ &= 0.1176~\text{Nm / A} \end{aligned}Kτ​​=23​​ωmech​21​Vpk-pk​​=23​​112.465 rad/s21​×21.60 V​=0.1176 Vs/rad=0.1176 Nm / A​

Thus, the torque constant of the 5010 motor is 0.1176 Nm / A

Motor Rotor Inertia

The rotor can be approximated as a cylindrical shell.

The diameter of the rotors are 68 mm for M6C12, and 53 mm for 5010.

IM6C12=MR2=0.086 kg×(0.5×0.068 m)2=9.942e−05 kg⋅m2I_{M6C12} = M R^2 = 0.086~\text{kg} \times (0.5 \times 0.068~\text{m})^2 = 9.942e^{-05}~\text{kg}\cdot\text{m}^2IM6C12​=MR2=0.086 kg×(0.5×0.068 m)2=9.942e−05 kg⋅m2
I5010=MR2=0.047 kg×(0.5×0.053 m)2=3.301e−05 kg⋅m2I_{5010} = M R^2 = 0.047~\text{kg} \times (0.5 \times 0.053~\text{m})^2 = 3.301e^{-05}~\text{kg}\cdot\text{m}^2I5010​=MR2=0.047 kg×(0.5×0.053 m)2=3.301e−05 kg⋅m2

The final reflected inertia is magnified by the gearbox, which we would mutiply by the reduction ratio squared. The final results are

IM6C12=9.942e−05 kg⋅m2×152=0.0224 kg⋅m2I_{M6C12} = 9.942e^{-05}~\text{kg}\cdot\text{m}^2 \times 15^2 = 0.0224 ~\text{kg}\cdot\text{m}^2IM6C12​=9.942e−05 kg⋅m2×152=0.0224 kg⋅m2
I5010=3.301e−05 kg⋅m2×152=0.00743 kg⋅m2I_{5010} = 3.301e^{-05}~\text{kg}\cdot\text{m}^2 \times 15^2 = 0.00743 ~\text{kg}\cdot\text{m}^2I5010​=3.301e−05 kg⋅m2×152=0.00743 kg⋅m2

reference
reference
Phase wire A-B energized
Phase wire B-C energized
Phase wire A-B energized
Phase wire B-C energized