A simple brushless sensorless motor driver for AVR Atmega

Posted on Wednesday, October 2nd, 2013 in AVR by DP

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 on Wednesday, October 2nd, 2013 at 2:36 pm and is filed under AVR. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.

2 Responses to “A simple brushless sensorless motor driver for AVR Atmega”

  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?

    • 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 Reply

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

Recent Comments

  • KH: IMHO PCA9685 is not a really good part for this application. It's a PWM LED driver for goodness' sake. NXP _does_not_ mention servos in the...
  • KH: So it's a servo library designed by a software guy, or a library targeted at embedded newbies, or a learner bike. Given the design of...
  • Max: A thing I wish I knew getting into Arduino-controlled servos is that the typical "180 degrees" servos DO NOT move 180 degrees for the standard...
  • Max: I have certainly noticed certain suppliers (like Adafruit, Pololu) being... "western-facing" - which is another way to say their prices definitely aren't Eastern Europe compatible,...
  • Shawn: Hello