Main Content

Brushless electric motor (BLDC motors) are synchronous motors that are powered by a DC electric source via an integrated inverter/switching power supply, which produces an AC electric signal to drive the motor.
For an introduction to BLDC motors, you can take look at my sensored motor driver post, here: http://davidegironi.blogspot.it/2013/09/a-simple-brushless-sensored-motor.html or you can browse the internet, you will find there is a lot of litterature about BLDC motors.

This library implements a brushless sensorless motor dirver for AVR ATmega.
To write this library I take inspiration from the library above:

This library take inspiration from:
http://davidegironi.blogspot.it/2013/09/a-simple-brushless-sensorless-motor.html: my previous project on sensorless brushless motors
http://davidegironi.blogspot.it/2013/09/a-simple-brushless-sensored-motor.html : my previous project on sensorled brushless motors
http://www.atmel.com/images/doc8012.pdf : AVR444 Application note - Sensorless control of 3-phase brushless DC motors
https://github.com/tobylockley/qut-brushless-controller : a brushless driver by Toby Lockley
The code i propose is written, tested and compiled using avrgcc over an ATmega8 running at 16Mhz.
I’ve also tested a version of this code on ATmega8 running at 8Mhz.
The aim of is project is to build a faily simple bldc driver one can embed and easly modify in order to meet their own needs.”

Link to article