<Sukhman Herr/>

Custom BLDC Motor & DSP-Based Control System

Designed and hand-wound a 9-pole BLDC motor, implemented open-loop SPWM firmware on a TI TMS320F28377D dual-core DSP, and debugged three inverter hardware revisions to stable rotation.

Date

2026-03-01

Role

Embedded Systems Engineer

Stack

TMS320F28377DEmbedded CCode Composer Studio3-Phase InverterSPWMJTAG

Demo

What We Built

Full-stack BLDC motor project: hand-wound stator, 3-phase inverter hardware, and open-loop SPWM firmware on a TI DSP, built from scratch by a 4-person team.

Motor

  • Hand-wound 9-pole stator with 6-magnet (3 pole-pair) rotor
  • Evaluated startup torque, rotor inertia, and thermal current limits before writing any firmware
  • Rotor magnets chase the rotating magnetic field. Commutation handled entirely by the inverter + DSP, no brushes

Firmware

  • Open-loop SPWM on a TI TMS320F28377D dual-core DSP
  • Generates 6 PWM channels at a configurable carrier frequency
  • Dead-time insertion prevents shoot-through; startup frequency ramp builds back-EMF before reaching target speed
  • Debugged over isolated JTAG in Code Composer Studio

Hardware Revisions

  • Rev 1: Bootstrap cap undersized, gate undervoltage lockout at low duty cycles
  • Rev 2: Insufficient dead-time margin, MOSFET shoot-through at higher switching frequencies
  • Rev 3: Coil overheating under load, reduced duty cycle ceiling and improved PCB thermal relief

Key Debug

Stall and oscillation fault traced to a pole-pair mismatch. Firmware assumed 4 pole-pairs, motor has 3. One constant change, stable rotation restored.

Next Steps

  • Hall-effect sensors for real-time rotor position
  • Space Vector PWM (SVPWM) for better DC bus utilization
  • Closed-loop Field Oriented Control (FOC) for true torque control