For this project, I’ve implemented a simple brushless sensoreless motor driver for AVR Atmega. The code i propose it’s not perfect, and can be improved, but for the needs i had it works.
The motor can be controlled in speed and direction (clockwise and anti-clockwise).
This project use open loop startup and bemf zero crossing detection method with ADC.
Speed change can be done only when motor is not running, ADC is used during spinning phase in zc detection so it can not be used during the motor spinning, but digital speed changing can be implemented.