BLDC speed range

J

Thread Starter

Johan

Hi,

I'm developing a servo controller for an application that resembles a CD-spinner. It's a sensor based solution with trapezoidal commutation.

I'm however having some problems with the speed range. On one of the setups I can reach the desired 10000 rpm in CCW direction but only 5000 rpm in CW direction. On another setup, with slightly higher load, I reach about 6100 and 5700 rpm respectively.

I'm leaning towards implementing a phase advancement algorithm for the commutation but I'm hesitating since I didn't expect there to be a direction dependent difference in the speed range. Or a load dependancy for that matter. Can someone please shed some light on the subject of phase advancement? Or other possible causes of the speed limitation?

The motor is a Faulhaber 3564K by the way.

Best Regards,
Johan
 
Some questions before all:

1. Do you not limited by DC bus with actual back-EMF ratio?

2. Do your sensor for trap commutation works properly?

3. Do you check motor current?
 
Perhaps try implementing a shallower ramp up/ramp down to your desired speed.

Electric motors will have a limit to what they can torque, and your program may have an error detection routine built in which says "that motor isn't spinning up as fast as I commanded it to" and therefore limits the max speed.

If your load is balanced and you have a good ramp built in, I don't see why your motor shouldn't be able to run at max speed forward and reverse.

The only other thing I can think of is that your encoders work one way more efficiently than the other - for whatever reason.
 
W

William Sturm

I think you are on the right track with phase advancement.  A phase offset could easily account for the variation in max speed.
 
>Some questions before all:

> 1. Do you not limited by DC bus with actual back-EMF ratio?

> 2. Do your sensor for trap commutation works properly?

> 3. Do you check motor current?

1. I'm not sure I understand the question but I believe I'm not limited by the DC bus supply. When logging I can see that the speed starts to decrease before the controller starts to increase the duty cycle and eventually go into current limiting mode.

2. I expect the Hall sensors to work properly. An offset, i.e. if they're not situated perfectly half way between the stator phases, would maybe explain the behavior in my first setup. But I expect the Faulhaber motor to be good quality (unless I in someway have managed to damage it during development).

3. Unfortunately I don't have a current loop implemented.
 
Top