Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sensorless BLDC Motor Control (Back-EMF)

Spinning a brushless motor with no position sensor — commutating on the back-EMF zero crossings instead. 2025 · BLDC · Sensorless · Back-EMF · Arduino · Proteus · Motor control

Sensorless BLDC Motor Control (Back-EMF)

About

A focused study of how to run a brushless-DC motor without any Hall sensors. Removing the position sensors makes the motor cheaper and more robust, but it also removes the thing the controller normally relies on to know when to commutate — so the rotor position has to be recovered from the motor itself.

The method is back-EMF zero-crossing detection. At any instant one of the three windings is unenergised, and the voltage it generates — its back-EMF, measured against a virtual neutral point — crosses zero exactly between two commutation events. Detecting that crossing, waiting the right electrical angle, and stepping the PWM to the next phase keeps the motor in sync with no sensor at all.

The work covers the electrical and mechanical model of the motor, the commutation and PWM logic, and a Proteus simulation alongside the Arduino implementation — the standard progression of proving the idea in simulation before trusting it to real windings, which is exactly where sensorless schemes tend to bite.

Contents

captures/
docs/
kicad/

Notes

Third-party work used here

Everything in this repository is my own work. It builds on the following, which are not mine and are used under their own licences:

Author

Lassaad Mahmoudi — contact@iris-systems.tn
https://linkedin.com/in/mahmoudiassaad

About

Spinning a brushless motor with no position sensor — commutating on the back-EMF zero crossings instead.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors