A simple brushless sensorless motor driver for AVR Atmega

in AVR by DP | 2 comments

Davide Gironi posted the brushless sensorless version of his  sensored motor driver for AVR Atmega we posted previously:

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.

This entry was posted in AVR and tagged , .

Comments

  1. f4grx says:

    very nice. it’s an inspiration for my own project.

    So a simple resistive divider is enough to get the BEMFs? The atmel application note cited from the openbldc website uses ampli ops.

    what do you think?

    https://github.com/open-bldc/open-bldc

    • davidegironi says:

      Yes, for me it’s enough, even without opamp.

      Before writing that code, i’ve look to many opensource existing projects (like open-bldc, SimonK firmare, or other RC stuff), I’ve find it difficult to modify that code, to add a rotation direction and a speed controller, that’s the reason why i’ve developed my code, and even for educational purpose :)

Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Notify me of followup comments via e-mail. You can also subscribe without commenting.