You Are Here: Home » AVR ATmega Projects » Motor Projects » A simple brushless sensorless motor driver for AVR Atmega

A simple brushless sensorless motor driver for AVR Atmega




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.A simple brushless sensorless motor driver for AVR Atmega

For an introduction to BLDC motors, please look at my sensored motor driver post, here: http://davidegironi.blogspot.it/2013/09/a-simple-brushless-sensored-motor.html

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.
ZC threshold current should be defined by user depending on the motor type.

User has to setup the port used to read the the bemf current. Also the timer interrupt and prescaler should be setup for different running frequency.
The running step for the motor are defined as default, anyway user can change it to fit any motor.Schematic A simple brushless sensorless motor driver for AVR Atmega

For more detail: A simple brushless sensorless motor driver for AVR Atmega

Leave a Comment

You must be logged in to post a comment.

Read previous post:
An AVR Atmega based PID magnetic levitator
An AVR Atmega based PID magnetic levitator

This is a magnetic levitator implemented using Atmega8 microcontroller. Magnetic levitation is a method by which an object is suspended...

Close
Scroll to top