Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Sensorless brushless motor start up? Help!

Status
Not open for further replies.

btbass

Advanced Member level 5
Joined
Jul 20, 2001
Messages
1,896
Helped
438
Reputation
880
Reaction score
288
Trophy points
1,363
Location
Oberon
Activity points
12,887
brushless sensorless

I am writing code for a sensorless brushless motor. The start up routine is crucial, this is the tricky bit.
Has any body got any psuedo code they can share if they have done this with a reliable, repeatable routine?
 

sensorless brushless

Depends on what you consider sensorless? It may or may have not some kind of load sensing. In the latter case, a frequency ramp is the only available means to achieve startup. Furthermore, it's important to know, if the load involves a friction or adhesion torque.
 

sensorless brushless motor

HI

Srarch ZILOG site for brushless motor control there is source code in one of the application note

Bll the best

Bobi
 

starting sensorless

Thanks for the help, the above link is useful, includes source code.
I have also looked at Microchip sample code.
The problem is the motor has to overcome a load of 0.4nM of torque to start.
If you try to drive it to hard, high current flows, I've already smoked two tracks with twenty amps, mosfets survived though?
Im getting there.
 

brushless two poles control

one of the problems with sensorless startup is that you don't really know the position of the rotor until after the motor gets started (and Bemf becomes available).

i say this assuming that you are not employing a complicated algorithm for sensorless, but rather just simple appnote style Bemf measurement system.

how to start from ZERO speed is a challenge in most sensorless systems.

if your rotor angle is off by just 5 degrees means you are at 93% power and if you're off by 30 deg, well, you can generate at best only half power (sin30 = 0.5).

at 30deg off, so you put in FULL current, but only get 50% turned into power (shaft power). is this enough to get that motor start moving under load? no? so nothing happens.

assuming you have good reliable accurate position information at rotor stop position, then you have only 2 options to get motor turning. decrease load torque. increase drive torque. do some calculations and ensure your PCB tracks & mosfets etc. are rated for this!

so if you have motor start problems, you must be sure that you have accurate position information at ZERO speed. and also when you do apply torque, that you are sure it will rotate in direction you want. this is harder than it sounds.

Mr.Cool
 

sensorless brushless motor controller

you must be sure that you have accurate position information at ZERO speed
It's the nature of sensorless operation, that you haven't.

Basically, if the zero speed torque is too high, sensorless operation may be inapplicable. If you have an elastic load coupling, a pulsed operation utilizing load torsion oscillations can achieve a startup in some cases, but it must be tuned to the resonance frequency respectively detect it from the motor emf.
 

startup sensorless

The start up routine I am trying is like this:

The start up routine energises two phases with a low pwm, just enought to bring the rotor into a known position midway between two poles. This is the position were most torque can be applied. Then, the lagging phase is cut off and start up pwm is applied in stepper mode from the leading phase. The stepper mode accelerates to a speed were back emf can be detected. If after the ramp up, sensorless operation has not been achieved, we try again.
This is working great with a light load, I have yet to try it on the dynometer.
 

i write for start a car 1/8 1/10 scale

the best method i have for starting 6 phase
pwm on phase 1 240us
phase 2 480us
phase 3 960us
X 2 the times and change phase each time to reach 0.0344s
/ 2 the times start at 0.0344 to reach 240us

between each time you check if the phase is good two times and if the next phase is OK two times you put the next phase at 0.1s same as watchdog to check if motor turn if timer reach 0.1s restart at 240us

the timming is made for 2000 kv to 8000 kv any load
 

sorry very hard to read

no routine for startup only watchdog who check if the motor turn

the watchdog change to the next step if the motor is not sensed

you can test with many fix value for watchdog but the best i have tested is

ramp decel -- and ramp accel

on major PDF you see only place and ramp to accel
 

FvM, good post as usual. there are other ways too such as high frequency injection. try to detect the impedance which is relationship between rotor & stator and use this to estimate the position.

it can definately be done. you can patent search to get even more ideas.

Mr.Cool
 

hello
i m inam
i need a code for sensorless bldc using pic microcontroller...
can any one help?????
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top