Home
Species

BLDC Motor Testing Session Log

September 6, 2025

BLDC Motor Testing Session Log

Date: September 6-14, 2025
Hardware: RP2040-Zero + SimpleFOCMini + Various BLDC Motors
Objective: Replace servo system with BLDC for gallery-grade reliability


Hardware Configuration

RP2040-Zero Pinout Selection

Motor Control Pins:

GP0 → SimpleFOCMini IN1 (Phase A)
GP1 → SimpleFOCMini IN2 (Phase B)  
GP2 → SimpleFOCMini IN3 (Phase C)
GP3 → SimpleFOCMini EN (Enable)

Power Distribution:

9V 2A Supply → 2200µF 16V Cap → SimpleFOCMini VIN
SimpleFOCMini 3V3 → RP2040-Zero 3V3 (power output, not input)

Key Discovery: SimpleFOCMini 3V3 pin is regulated power OUTPUT, not logic input.

Basic Test Code Structure

// Live tunable parameters
float voltageLimit = 0.5;    // Serial: v1.2
float targetSpeed = 1.0;     // Serial: s0.8

BLDCMotor motor = BLDCMotor(5);  // Pole pairs - code change required
BLDCDriver3PWM driver = BLDCDriver3PWM(0, 1, 2, 3);

// Open-loop velocity control for initial testing
motor.controller = MotionControlType::velocity_openloop;

Serial Commands:

  • v0.8 - Set voltage limit to 0.8V
  • s0.5 - Set target speed to 0.5 rad/s
  • Pole pairs require code changes and reupload

Motor Compatibility Testing

1503 Micro Motors - FAILED

Specifications:

  • Size: 18 x 7mm
  • Resistance: ~1Ω between phases
  • Type: Drone motor (high-speed, low-resistance)

Test Results:

  • P5: Grindy motion, driver heating at 0.8V+
  • P6: Not smooth, heating continues
  • P3: Wouldn’t spin consistently

Failure Analysis: 1Ω resistance is 10x below SimpleFOCMini minimum spec (>10Ω). Low resistance causes:

  • High current draw → driver overheating
  • Poor FOC performance → grindy operation
  • Incompatible with precision control requirements

XXD A2212 1000KV - FAILED

Test Results:

  • Motor spins but not smooth
  • Driver heating similar to 1503
  • Root Cause: Also drone motor with low resistance

Pattern Recognition: All drone motors (1503, A2212) have similar issues - designed for speed, not precision FOC control.


Critical Discovery: Motor Type Mismatch

SimpleFOCMini Design Intent: Gimbal motors with >10Ω resistance for precision positioning

Motors Tested: Drone motors with ~1Ω resistance for high-speed flight

Fundamental Incompatibility: Cannot achieve smooth operation without driver overheating due to excessive current draw through low-resistance windings.

Solution Path: Progressive Motor Upgrade

2204 Motors (Marginal - ABANDONED):

  • Resistance: 9.8Ω (borderline SimpleFOCMini compatibility)
  • Status: Thermal limitations, abandoned for larger motors
  • Issue: Marginal resistance caused driver stress under load

2208 Motors (Current Working Solution):

  • Resistance: 18Ω (well above 10Ω minimum requirement)
  • Delivery: September 12, 2025
  • Performance: Stable FOC control achieved September 14, 2025
  • Control Success: Position control operational with 7 pole pairs
  • Status: Currently functional, requires further testing for long-term validation
  • Mechanical Impact: Requires capstan redesign for larger motor size

Testing Methodology Developed

Power System Validation

  1. Component heating analysis - capacitor vs driver thermal behavior
  2. Current draw monitoring - identify excessive load conditions
  3. Resistance measurement - verify motor phase integrity

Motor Performance Assessment

  1. Pole pairs testing - systematic trial (3,5,6,7,11)
  2. Voltage/speed tuning - find smooth operation window
  3. Thermal limits - identify sustainable operating conditions

Serial Command Interface

Working Commands:

// Voltage adjustment
if (cmd.startsWith("v")) {
  voltageLimit = cmd.substring(1).toFloat();
  motor.voltage_limit = voltageLimit;
}

// Speed adjustment  
if (cmd.startsWith("s")) {
  targetSpeed = cmd.substring(1).toFloat();
}

Non-working: Pole pairs via serial (requires motor restart, reverts to hardcoded value)


Lessons Learned

Component Selection Critical

Motor resistance is primary compatibility factor - not size, power, or speed ratings. SimpleFOC requires specific electrical characteristics.

Testing Sequence Importance

  1. Basic motor functionality before mechanical integration
  2. Thermal validation before performance testing
  3. Component compatibility before assuming software issues

Documentation Gaps Identified

  • RP2040-Zero pinout - added to documentation folder
  • Motor resistance specs - critical missing information
  • SimpleFOCMini compatibility - motor selection guidelines needed

Next Session Priorities

Completed (2208 Motor Integration)

  1. Resistance validation ✓ 18Ω confirmed, optimal compatibility
  2. Pole pairs identification ✓ 7 pole pairs validated
  3. FOC calibration ✓ achieved September 14, 2025
  4. Position control ✓ reliable closed-loop operation functional

Mechanical Integration

  1. Test bench design - rigid mounting for 2208 motors
  2. AS5600 encoder integration - precision positioning validated
  3. Capstan system adaptation - accommodate larger motor form factor

Algorithm Integration

  1. AS5600 encoder - add position feedback
  2. SearchingV31 port - four-state behavioral system
  3. System integration - complete BLDC upgrade

Technical Debt

  • Working servo system - maintain operational backup during BLDC development
  • Component compatibility - validate all specs before ordering
  • Documentation updates - reflect actual hardware choices vs theoretical preferences

Status: BLDC control functional with 2208 motors, foundation established for algorithm integration and extended testing.


End of Session - Motor Compatibility Resolution Phase Complete

Classification

hardware testing motors