Skip to content

BrianSteel/BDLC_Motor_driver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BLDC Motor Driver

Sensorless BLDC motor driver using an Arduino Uno to control speed and direction of a brushless DC motor. Uses back-EMF sensing and the AVR's internal analog comparator to estimate rotor position and perform commutation, driving the motor through a three-phase MOSFET gate driver/inverter circuit.

How it works

The Arduino drives the motor using six-step commutation — energising the three phases in a sequence to keep the motor spinning. Instead of hall sensors, it uses back-EMF on whichever phase is currently unpowered to figure out the rotor position, then triggers the next commutation step. Direction is set at boot via a switch on pin 12, and speed is adjusted at runtime with two buttons (A0 = up, A1 = down).

Pins

Function Pin
Phase A/B/C low-side 3, 4, 5
Phase A/B/C high-side (PWM) 9, 10, 11
Direction switch 12
Speed up A0
Speed down A1

References

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages