BLDC motor driver
Field-oriented control driver for brushless motors, with 12-bit (0.088°) position control. Both the firmware and the board are mine.
What it is
A driver for brushless DC motors — both the firmware and the board. It does field-oriented control and 12-bit position control, which works out to a resolution of roughly 0.088° per step.
Why FOC
Simple six-step commutation is easy to implement and fine for spinning a fan, but it produces noticeable torque ripple and wastes current. Field-oriented control keeps the stator field a quarter-turn ahead of the rotor at all times, which means smoother torque, better efficiency, and — the part I actually wanted — the ability to hold a precise position rather than just a speed.
Status
This write-up is still a stub. The project is real and finished; the description is not. Worth covering here: the control loop structure, the current-sensing approach, the position feedback method, and photos of the board.