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.

Vibration of BLDC motor in Low speed region

Status
Not open for further replies.

Nandulal

Member level 5
Joined
Feb 23, 2006
Messages
91
Helped
5
Reputation
10
Reaction score
4
Trophy points
1,288
Activity points
1,850
low speed vibration

Dear Friends,

I'm designing the BLDC motor controller for 1KW (48V, 45A), 120deg, 51 pole BLDC motor on XC866 (infineon) uC. The operating switching frequency is 13.3333KHz.

The issue with this controller is the vibrations and high audible noise in the speed region of 40 RPM to 70 RPM. It is known that, in BLDC motor, the torque is pulsating and will cause vibration and noise in high torque, low speed region.

The noise level is somewhat higher than the expected. Also, there is no wrong hall event being read by CPU. The hall sensor pull-up resistor value is 2.2K with no capacitor for filtering (as XC866 has digital filter in it). I tested the controller from 6.6KHz to 22KHz switching frequency but the noise was remain same. Hence, I can fairly make the statement that this noise is independent on the switching frequency. The strange thing is that, the noise comes in open loop too.

I've Chinese made BLDC controller with me. In this controller, the noise is very less for the same speed region. It operates on 15.6 KHz frequency.
AFAIK, the controller is designed on R8C/Tiny uC. Also, I've confirmed that there is no smooth commutation switching (Sinusoidal) is done in Chinese controller.

My perception is that some amount of phase lag between the hall data and the output switching is happening which is causing this noise/vibration (plz correct me here if I'm wrong). I'm very curious to know the exact reason for it.

Does anyone come across such an issue before? What may be the probable cause of this noise? Plz help

---- Nandu
 

bldc low speed

Hi,

If the same motor/sensor assembly worked better with a different drive, it is likely that your problem is in your control loop. Try changing your controller gains and see if it helps.
 

low speed bldc motor

Hi Nandulal

I'm also developing a 3phase BLDC drive 300v 5 amp, still testing it at 180v, using a dsPIC30F3011. I have the vibration problem when moving the motor at low speed. I think this is named cogging. It is caused by torque ripple during pole changes. Also static friction causes similar vibrations.

Well the singing (audible noise ) of the motor may be caused by other factor different from the PWM frequency. As you said you've tested it beyond 20Khz, that is not audible for humans.

What kind of control scheme are you using. ? (PI, PID, sliding modes ...)

Some comercial drives use a proportinal torque/current loop before the speed control loop. Of course you need some way to measure current. I think this reduces the cogging.

I've implemented in my drive a sliding mode control, which made lots of noise, and only worked with a limited voltage. Also I programmed PI controller which has much better performance but at low speeds still vibrates and sings a little. Interesting thing is that my motor can't develop this small speed without a controller.

Are you eliminating the motor dead zone directly in your program?

check for noise in your hall sensor cables, the PWM sent to the motor coils causes a lot of electrical noise. cover your feedback wire with some foil and ground it, this will make a decent shield agaist noise.

Also try to use high speed comparators for the hall sensor signals, instead of the direct pull-up into the uC.

Hope this helps

Alex.
 

bldc motor

Thanks alexplace2001,

I've implemented PI controller with 0.2ms ADC sampling/ current controlling time. This is a coarse (average) control of current in Motor. I think the exact method of current control would be a peak current control method.

The DC bus current should be controlled at the time of application of the Duty cycle i.e. at the PWM timer compare event. This will reduce the current peaks and eventually reduce the torque pulses in the motor. There are some other methods have been described in the paper attached here.

Unfortunately, in my circuit I cannot implement peak current control due to slower speed of CPU. I'm using XC866 (8051) CPU for the control. The PI control algorithm is taking around 80-90us time (with C optimization) which is greater than the PWM time (64us = 15.6KHz) but in your case dsPIC quite fast to implement the peak current control strategy.

Try and upload the results if possible.

---- Nandu
 

48v bldc controller

Hi nandu,

I think at very low rpm your hall signal frequency will be lower than that at higher rpm, so you may have to poll mcu IO line for longer duration then at higher RPM, to latch hall signal. and if even then mcu dont latch proper hall signal, then there could be some noise and motor vibrations.

And this may get worse if hall are not exactly 120deg/60 deg appart inside motor.

Combining above two conditions, I think some tolerance shall be allowed (say 3-4%) in hall deg (position), and according latch delay(IO line polling) timing shall be changed.

I dont know exact reason, but this may be one of the reason for your vibration and noise problem at low rmp.

To confirm, if this is the reason you can try different motors ( may be lower wattage or different design) having same deg orientation as of your controller, and check if noise & vibration are same.

-Arun

Added after 2 hours 28 minutes:

I am sorry , and was worng about mentioning that hall sginal frequency changes.
 

reduce bldc noise

OK Arun,

It may be one reason for vibration. But as I saw the Phase current waveform, there are oscillations in the low speed region. These oscillations in phase current come because the oscillations in voltage applied to the motor.

The voltage applied to the motor depends on the current(Idc) sampling time and the PI values. At low speed in BLDC, the back EMF is low hence the ripple in the bus current is quite high and If I am not doing mistake, the frequency of the ripple would be the switching frequency (Fsw).

So, the ideal controller should have different values of PI gains at high speed and low speed region with different sampling times also.

In other words, the plant (motor) behavior is changing based on the RPM so the PI controller looses the stability (tuning) if the RPM is very low.

The performance will be improve if one uses synchronous switching (like synchronous buck). This will reduces the conduction time of the diode and reduces the ripple in the motor current.

---- Nandu

Added after 1 hours 14 minutes:


So, if the sampling of the DC bus current and PI action should done at the speed of the switching frequency . This will definitely improve the performance as the peak current is controlled. The peak current control is normally used in buck converters/ flyback converters.

The torque of the motor is proportional to this current and the flux. If I'm not changing the flux, the toque is entirely governed by the current. Already in BLDC, the torque is of pulsative nature and the uncontrolled peak currents are increasing the amplitude of the torque ripple.

--- Nandu
 

motor vibration and noise

OK friends,

After digging into literature, it has been confirmed that the vibration is coming due to the "COMMUTATION RIPPLE CURRENT". There are lot of papers available in IEEE which has explained the current ripple in details and presented the methods to eliminate/compensate it. The source of the ripple is in the commutation strategy itself. The current in the floating phase is not decayed instantly but at the rate decided by it physical parameters and also depends on the speed and load. This current is causing the ripple of triplen harmonics in the phase current.

I've tried on of them and found the satisfactory results. I hope alexplace2001 is also feeling the same as he explained in his first reply. IF anybody has any useful data(experience) in this regard then plz upload here.

--- Nandu
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top