sensorless BLDC controller design

dirty_d

10 kW
Joined
Jun 16, 2007
Messages
985
Location
Massachusetts
if i ever make a new bike or convert the bike i have now to use an RC motor, i might just try to make a controller using an atmel avr. there were some specific brushless things im not sure about though. when you de-energize one of the coils what is done about the voltage spike? on a brushed motor you just have a flyback diode, but on a brushless the voltage will be alternating on each phase, so a diode wouldn't work, is an RC snubber used across all 3 phases? and the other thing is the high side fets, they seems a little tricky to drive, whats the easiest way to get a voltage over the pack voltage to drive the gates. im still not sure about how the backemf part works butthe software side of things shouldnt be too hard, brining the motor up to speed in open loop mode seems easy, you would just run through the phases accelerating the commutation cycle slower than you know the motor can accelerate.
 
dirty_d said:
when you de-energize one of the coils what is done about the voltage spike? on a brushed motor you just have a flyback diode, but on a brushless the voltage will be alternating on each phase, so a diode wouldn't work,

Free-wheeling diodes are also used in an BLDC motor as that of a brushed motor.
Please read " 6-Step Commutation and Current Control Methods"
in page 3-4 of the attached file.
 

Attachments

  • curbldc3.pdf
    117.3 KB · Views: 288
Right, the body diodes in the FET switches take care of the spike. Separate diodes on each one may improve performance. Synchronous rectification is also possible.

High side gate drive is easy with a dedicated high side driver chip like the IR2101. It uses a bootstrap capacitor to provide the overvoltage needed to drive the gates.

If you wanted to make a pedal first setup it would be easy. Self starting seems to be a bit more difficult. I've seen reports where the Castle Creations Phoenix 110HV seemed to work OK with a bike motor. Getting the startup sequence right seems to be the challenge. There may be a way to optimize the startup sequence for a high inertia system like a bike.
 
another thing that concerns me, for a motor with 12 poles spinning 10,000 rpm, the frequency of the commutation would be 6000Hz right? im not sure if my math is correct, i figured that out like this... 6 commutation cycles per every 360 electrical degrees, 1 electrical revolution every 1 mechanical revolution for 2 poles, for 12 poles it would be 6 electrical revolutions every mechanical revolution so, (10000.0 / 60.0) * 6 * 6 = 6000Hz. don't most motor controllers do PWM switching at about 20KHz. 6kHz is a large fraction of 20Khz i dunno it just seems like that would be a problem, i always though the PWM freq had to be much faster than the commutation freq.
 
Motor frequency = motor rpm / 60 x (no of pole-pairs)

12 poles =>6 pole-pairs
Motor rpm = 10000 rpm
Then motor frequency = 10000/60 x 6 = 1000 Hz = 1 kHz

If the PWM is at 20 kHz, there should be no problem.
 
but there are 6 commutation steps, so don't you have to multiply the 1000 by 6 to get 6000? maybe im confused, is it just the complete commutation cycles that matter and not the individual steps?
 
dirty_d said:
but there are 6 commutation steps, so don't you have to multiply the 1000 by 6 to get 6000? maybe im confused, is it just the complete commutation cycles that matter and not the individual steps?

No, it is not necessary to multiply by 6 for 6-step controller.
 
Back
Top