Maker Pro
Maker Pro

Very noisy BLDC Circuit.

Hi,

I have designed and built a brushless DC motor driver circuit but I am being plagued with electrical noise.

The circuit I have designed is intended to drive a 6 Amp, 24V BLDC hall sensor motor using an Atmel MPU, some AND Gates, three MOSFET High/Low side driver chips (IR2101) and 6 N-Channel Power MOSFETS.

Basically, I use the Atmel to monitor the hall sensor for each of the three motor phases and then switch the three high and three low MOSFETS accordingly in order to make the motor spin.

I control the power using a PWM output. The PWM is routed to the top side of six AND gates and the six logic level outputs from the Atmel are routed to the bottom side of each gate. The output of the gates are then used to drive the high and low inputs of the driver chips which in turn switch the FET devices.

At first, It all seems to work very well. I can drive the motor at various speeds in either direction and I seem to have plenty of torque. I use the MPU to govern the speed by varying the PWM duty cycle until the hall inputs match the desired RPM. This all works fine.

However....

I am getting a huge about of noise on the ground and DC lines. In fact it seems to be everywhere, and it is so aggressive that is is causing the Atmel to reset. It is also making it almost impossible to sample the current across a shunt. We are talking several volts. I have obviously done something wrong but I am not sure where to start looking or how best to resolve it.

I have tired putting a large cap on the 24 volt supply (4400uF)

I have tried putting 220nF caps across the supply of each pair of FETS, making sure they are as close as possible to the devices.

I have tried splitting the logic and power grounds so they only connect at a single point. I have also moved the logic on to a septate PCB.

I have tried adding 10uH chokes to the chip supplies (12V and 5V) and I have used thick tracks on the FET PCB.

Nothing seems to work. To be honest, I am out of my depth here, I understand digital electronics reasonably well, but when it comes to analogue stuff, I don't really know where to start. I am assuming the spikes are being cause by the FETS switching, but I don't really know what to do about that.

Any advice or tips would be much appreciated.

Regards





Tim
 
Last edited:

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Yes, the diode on the mosfet is generally very poor.

Is this an H bridge? If so, place additional fast diodes across the fet pointing the same way as the body diodes (preferably Schottky so the body diodes never conduct).

You might also consider a snubber network across the motor, or back to back Zeners with a voltage higher than the supply voltage.

If not an H bridge, then you can place a reverse biased diode across the motor (the most common thing) or use any of the other things mentioned here.
 
Thanks Steve and Bob.

Today, I added schottky diodes across each of the six FETs so that they were in parallel with the body diode as suggested, this did improve things a little but there is still a lot of noise on the ground.

I have attached a screenshot of the logic ground at the Atmel relative to the PSU ground. As you can see I get a get a large spike each time the FETS switch (16 Khz PWM) which is followed by what I would describe as ringing. The amplitude of this increases with current. The snapshot is 2 Amps @ 24V but it get much larger when the motor is under load and eventually causes the Atmel to reset.

I also tried putting back to back 36V Zeners between each of the 3 phase outputs and the +ve / -ve rail but they had no noticeable effect at all.

You mention a snubber circuit. I found an example which had a diode and resistor in parallel joined via a capacitor to the rail. Unfortunately, it was not at all clear to me how I would go about working out the values for C and R or where I would install it (or them) on a BLDC motor configuration - Any guidance would be very much appreciated.

I would be happier if I could just suppress the amplitude of the main spike a few fold and dampen down all that ringing enough to keep the electronics stable.



Regards


Tim
 

Attachments

  • 2amps.jpg
    2amps.jpg
    79.9 KB · Views: 273

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Try putting the back to back zeners across the motors.

How long are the ground leads. It looks like there is some inductance in them. If you can reduce the rate of change of voltage (perhaps by having capacitors across the motor supply near the mosfets) things would be better.

Is your logic supply well decoupled from the motor supply? What does the power to the uC look like while this is going on?
 
Try putting the back to back zeners across the motors.

Just to clarify, this is a single three phase BLDC motor, so there are three windings that are in a Y configuration. they are all joined together at one end and leave the motor as phase U,V and W.

Are you suggesting I put back to back zener diodes between each phase as per my sketch?

How long are the ground leads. It looks like there is some inductance in them

The ground lead from the PSU to the board is only about 250mm which it will need to be for this application. I have used thick cable for the supply leads.

The ground lead to the scope is pretty long and thin. Is the ringing occurring on the scope leads rather than within the motor PCB? I will try measuring with a much shorter ground lead to try to eliminate that possibility.

perhaps by having capacitors across the motor supply near the mosfets

Each pair of mosfets has a 220nF Cap between the 24V high side drain and the 0V low side source pins. Should I go for a larger value?

Is your logic supply well decoupled from the motor supply

Yes, it is derived via two regulators, one steps down from 24V to 12V and the second from 12V to 5 V. The 5V rail to the uC and other logic has 330uF and 100nf decoupling caps and an in line 10uH inductor.

What does the power to the uC look like while this is going on?

I will grab a screenshot of that for you.
 

Attachments

  • bldc.jpg
    bldc.jpg
    31.2 KB · Views: 385
Last edited:

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Are you suggesting I put back to back zener diodes between each phase as per my sketch?

Yeah, I'd give that a try. The zeners need to have a breakdown voltage higher than 24V.

[/quote]The ground lead to the scope is pretty long and thin. Is the ringing occurring on the scope leads rather than within the motor PCB? I will try measuring with a much shorter ground lead to try to eliminate that possibility.[/quote]

I wouldn't think so.

Each pair of mosfets has a 220nF Cap between the 24V high side drain and the 0V low side source pins. Should I go for a larger value?

Try adding a larger value (say 1uF or 10uF). However the traces you showed were between the 2 grounds, and this will fix signals on the motor supply. Does it show the same spikes?

Yes, it is derived via two regulators, one steps down from 24V to 12V and the second from 12V to 5 V. The 5V rail to the uC and other logic has 330uF and 100nf decoupling caps and an in line 10uH inductor.

I will grab a screenshot of that for you.

Great. If that doesn't show any spikes then I'm beginning to suspect that the noise is entering via the outputs which drive the mosfets. Can you show us the schematic of a driver (I assume they're all the same)
 
Steve,

Thanks again for your input.

Adding just the back to back zeners alone made no noticeable difference.

Adding larger caps (1uF in parallel with the 200nf) reduced the ringing but the initial spikes have more magnitude. If you look at scope1.jpg, trace 3 is with the larger caps and trace 4 is without. Both of these were captured without the back to back zeners and with the motor running at the same speed and load.

scope2.jpg shows the logic ground and 5 volt rails relative to PSU Ground. Interestingly they both have a very similar wave form so I guess the voltage delta is pretty stable, I will try to get a capture of that by moving the scope ground to logic ground.

I have attached a schematic of the driver circuit. They are the same for each phase.

scope3.jpg shows one of the motor phase outputs and logic ground.
 

Attachments

  • scope1.jpg
    scope1.jpg
    82.4 KB · Views: 282
  • scope2.jpg
    scope2.jpg
    79.2 KB · Views: 232
  • overlay.jpg
    overlay.jpg
    21 KB · Views: 213
  • bldc driver.jpg
    bldc driver.jpg
    43.3 KB · Views: 860
  • scope3.jpg
    scope3.jpg
    84.1 KB · Views: 198
Last edited:

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
I'm having some difficulty determining what the vertical scale is on these.

Which one of these shows the voltage across the logic power supply near the uC?

I assume the 2 sets of ringing are the power being applied first one way, then the other on this particular winding?

Are the logic ground and motor ground separate wires leading to the power supply?

What about +V, do you have a separate wire for the logic and the motor power?
 
Top