Home
Species

H1e Motor Selection Log - BLDC Upgrade Decision

Date: August 31, 2025
Project: Hysteresis I Evolution - Motor System Upgrade
Classification: Technical Development Log

Critical Design Discovery - Open-Loop BLDC Limitations

Date: August 31, 2025
Discovery: Open-loop BLDC control inherently inefficient, causes motor overheating

Problem Identified:

  • All tested motors (1503, A2212, 2204) exhibited overheating in open-loop mode
  • Initially attributed to motor resistance compatibility issues
  • Root Cause: Open-loop BLDC cannot synchronize electrical timing with rotor position
  • Results in internal “fighting” between magnetic fields → heat generation instead of torque

Failed Solution Attempts:

  • Motor resistance matching (>10Ω requirement)
  • Current limiting (motor.current_limit = 1.1)
  • Phase sequence optimization
  • Series resistor addition (proposed but incorrect approach)

Correct Solution: Closed-loop control with AS5600 encoder required

  • Motor synchronizes with actual rotor position
  • Eliminates electrical/mechanical timing mismatch
  • Enables efficient operation and proper cooling

Impact on Project: BLDC upgrade requires encoder integration from start - not optional for reliable operation


Problem Statement

Current Issue: Mini servo failures every 7 days due to continuous duty cycle exceeding design parameters. Metal gear servos experience progressive failure after 4-5 days, requiring manual intervention for gallery installation requirements (30+ days continuous operation).

Technical Constraint: 180° servo range limits coverage to 50° cone, insufficient for hemispherical electromagnetic field exploration.


Motor Selection Analysis

Initial Considerations

Drone Motors vs Gimbal Motors:

  • Initially considered gimbal motors (2206/100T, 2804/100KV) due to lower speed ratings
  • Gimbal motors: ~1637 RPM, designed for camera stabilisation loads
  • Cost differential: Gimbal motors 3-4x more expensive than drone alternatives

Safety Concern: High-speed drone motors (10,000+ RPM) potentially damaging delicate mechanical assembly during SimpleFOC tuning phase.

Motors Ordered

1503 Micro Motors (4x):

  • Size: 18 x 7mm
  • Voltage: 7.4V
  • No-load current: 0.3A
  • Internal resistance: 0.5Ω
  • Status: Ordered for initial testing

XXD A2212 1000KV:

  • Size: 27.5 x 27mm, 48g
  • KV: 1000 (moderate speed rating)
  • Current capacity: 12A/60s
  • Status: Ordered as backup/upgrade option

Control Hardware:

  • DRV8313 SimpleFOC Mini v1.0
  • AS5600 Magnetic Encoder 12-bit (4x)

Key Technical Insight: Capstan Mechanical Advantage

8:1 Capstan Reduction Changes System Requirements:

  • Motor torque multiplied by 8x at tentacle output
  • Motor speed divided by 8 (safety improvement)
  • 1503 @ 8,000 RPM = 1,000 RPM at tentacle (manageable)

Baseline Performance: Mini servos (1-3 kg⋅cm torque) handled load adequately before failure. Any BLDC motor exceeds this capacity - torque is not the limiting factor.


Mechanical Constraint Analysis

Rotation Range: 200° maximum (not continuous rotation)

  • Capstan has built-in mechanical hard stops
  • Spiral groove design prevents overrotation
  • Physical protection against software control failures

Position Resolution with AS5600:

  • 4096 positions per 360° = 2275 positions in 200° range
  • 0.088° resolution at motor
  • Through 8:1 capstan = ~0.011° resolution at tentacle output

Decision Matrix

1503 Motor Advantages:

  • Safety: Lower mass/inertia, less catastrophic if control fails
  • Adequate Performance: Sufficient torque through capstan multiplication
  • Cost Effective: Already ordered, lowest risk testing platform
  • Learning Friendly: Safer for SimpleFOC development phase

Decision: Test 1503 Motors First

Rationale:

  1. Mechanical advantage negates need for high-torque motors
  2. Safety during development phase prioritised
  3. Hard stops provide ultimate mechanical protection
  4. Can upgrade to A2212 or gimbal motors with real performance data if needed

Implementation Strategy

Phase 1: 1503 Motor Testing

  • SimpleFOC calibration with mechanism disconnected
  • Position control validation within 200° range
  • Torque adequacy assessment through capstan system
  • Mechanical integration verification

Phase 2: Performance Validation

  • If 1503 adequate: proceed with production implementation
  • If insufficient: upgrade to A2212 with established baseline
  • Gimbal motors remain option for extreme requirements only

Risk Mitigation

Mechanical Protection: Built-in hard stops prevent catastrophic overrotation damage

Control Safety:

  • Software speed limiting in SimpleFOC
  • Mechanical disconnection during initial tuning
  • Progressive testing approach

Financial Risk: Low-cost testing platform before expensive upgrades


Technical Specifications Summary

Target Performance: Exceed mini servo reliability while maintaining equivalent positioning capability

Power Requirements: 4A total at 12V (external supply)

Control Method: SimpleFOC position control with magnetic encoder feedback

Position Range: 200° mechanical limit with hard stops

Resolution Target: <0.1° positioning accuracy at tentacle output


Next Steps

  1. Integration Testing: Mount 1503 motors with DRV8313 + AS5600 encoders
  2. SimpleFOC Configuration: Calibrate motor parameters and position limits
  3. Mechanical Validation: Verify torque adequacy through capstan system
  4. Performance Assessment: Compare against mini servo baseline performance

Decision Point: Proceed with 1503 motors unless testing reveals inadequate performance, then escalate to A2212 or gimbal alternatives.



TESTING RESULTS UPDATE - August 31, 2025

1503 Motor Testing - FAILED

Actual Resistance: 1Ω (measured) SimpleFOCMini Spec: Requires >10Ω motors Test Results:

  • Grindy, non-smooth operation at all pole pairs (3,5,6,7)
  • Driver overheating at voltages >0.5V
  • Incompatible due to 10x resistance mismatch

Basic Test Code:

// SimpleFOC_TestUtility.ino - Live tunable BLDC motor testing
BLDCMotor motor = BLDCMotor(5);
BLDCDriver3PWM driver = BLDCDriver3PWM(0, 1, 2, 3); // GP0,1,2,3
motor.voltage_limit = 0.5; // Max before overheating
motor.controller = MotionControlType::velocity_openloop;

A2212 Motor Testing - FAILED

Test Results:

  • Improved over 1503 but still not smooth
  • Driver heating issues persist
  • Root Cause: Also drone motor with low resistance

Critical Discovery: Motor Type Mismatch

Initial Assumption: Any BLDC motor suitable for SimpleFOC Reality: SimpleFOCMini specifically designed for gimbal motors (>10Ω) All drone motors tested: 1-5Ω resistance, incompatible

Solution: 2204-260KV Gimbal Motor

Specifications:

  • Camera gimbal motor (precision positioning)
  • 260KV (vs 1000KV+ drone motors)
  • 80T hollow shaft (high resistance expected)
  • 1.3A max continuous
  • Delivery: 2 days
  • Mechanical Impact: Requires capstan redesign

Status: Foundation testing complete, proper motor identified, awaiting delivery for validation Next Review: 2204 gimbal motor compatibility testing


SimpleFOC Integration Session - September 6, 2025

Hardware Validation Success

AS5600 Encoder Integration: ✅ CONFIRMED WORKING

  • 3D printed testbench successfully positions encoder over motor shaft
  • Direct I2C communication flawless (GP28/GP29 to RP2040-Zero)
  • Magnet coupling provides smooth, accurate position readings
  • Sensor hardware completely validated

2204-260KV Motor Performance: ✅ CONFIRMED SUITABLE

  • Motor responds correctly to electrical control signals
  • Thermal management excellent (<25°C continuous operation)
  • Resistance measurement (9.8Ω) borderline but workable
  • Hardware platform fully functional

SimpleFOC Library Integration Issues

Critical Blocking Problem: FOC auto-calibration hangs

  • motor.initFOC() consistently freezes system execution
  • Requires manual RP2040 bootloader reset to recover
  • 100% failure rate across multiple attempts
  • Prevents proper electrical angle calibration

Secondary Issue: Velocity control dysfunction

  • Motor energizes and holds position (confirms control loop active)
  • Serial commands processed correctly
  • Sensor readings update properly in SimpleFOC debug output
  • BUT: motor.shaft_velocity remains 0.0, no actual movement
  • Indicates library integration problem, not hardware failure

Root Cause Assessment: SimpleFOC library compatibility issue

  • Direct I2C sensor access works perfectly
  • SimpleFOC MagneticSensorI2C class fails to integrate properly
  • All hardware components function correctly in isolation
  • Problem isolated to software integration layer

Technical Status Summary

✅ Hardware Platform: Fully validated and ready for production ❌ Software Integration: Requires SimpleFOC expertise or alternative approach 🔄 Next Steps: Library research, alternative BLDC control methods, or commercial solutions

Impact on Project: BLDC upgrade path technically viable but blocked by software integration issues. Hardware foundation solid for future implementation with proper control library.