Preventing PCB interference

So, I'm working on a project at the moment - and the PCB I'm building for it is only two sided, as I intend to produce the PCB myself.

I'm using all surface mount parts, with all the signal and control lines etc on one side of the PCB - and am intending on putting all of the power circuitry on the other side of the PCB, i.e. regulator, polyfuses, tranzorbs, h-bridge, MOSFETs etc.

I'm worried about interference between devices that are driving noisy / inductive loads such as the H - Bridge as clearly there is no power plane in the middle of my PCB. I have ~ 5 MOSFETs and ~ 5 IGBTs driving inductive loads too with spikes clamped around ~400V.

Am I likely to experience problems with this? I'm reading app notes etc from multiple sources, most of which suggest of course filling as much of the board, both sides, as possible with ground copper.

What other precautions should I put in place? Or, should I 'breakout' the devices driving the inductive loads onto another PCB that is stacked on top with a full ground plane?

Many thanks in advance.

For starters, read this thread and pay special attention to the idea about "star grounding",

http://arduino.cc/forum/index.php/topic,141348.0.html

Am I likely to experience problems with this?

Yes.

most of which suggest of course filling as much of the board, both sides, as possible with ground copper.

No putting a ground plane everywhere will just help the interference get into the ground plane.
Keep the ground plane away from interference, do not put it under devices likely to cause it.

No putting a ground plane everywhere will just help the interference get into the ground plane.
Keep the ground plane away from interference, do not put it under devices likely to cause it.

Ah, I see - what are large ground planes and gridded ground planes for like used on the old Diecimila board? My inductors are not the board, but rather are external components such as motors and solenoids etc, if that makes a difference? But of course, some traces will be at high voltage during the spike.

Star grounding would look somewhat impressive with so many grounds :slight_smile:

Star grounding would look somewhat impressive with so many grounds :slight_smile:

Try and apply the star technique to grounds that carry the most current.

As G_M says, the star grounding arrangement is to get the lines carrying the noisy
currents isolated from the lines powering the sensitive electronics.

I would also keep h-bridge, MOSFET to one side of the board and not run any signal tracks under them.

I have seen that it works better to keep power and motor control switching more to there self. And run signal line to them far less noise pick up. And as said don't loop the gnd or the VDD line.

So there is no issue with using a bus bar type trace layout on my control side of the board, but on the power side - use the star method for grounding the high current components?

On the subject then of power, what about 5v and 12v power lines? Should I make these 'planes', or route these individually to their respective devices?

I have seen that it works better to keep power and motor control switching more to there self. And run signal line to them far less noise pick up. And as said don't loop the gnd or the VDD line.

I.e leave those devices over in a corner by themselves, with little around them? When you say don't loop, as in - don't create ground loops, but use star grounding?

  1. just lay out the pcb with the normal microcontroller cktry on one side and the h-bridge
    cktry on the other side, and only connect them together at a single ground point. Some
    people will use an inductor [choke] or ferrite to make the connection.

  2. once this is in place, simply run the h-bridge control signals from the microcontroller
    across to the h-bridge. Always good to put series-Rs in these lines to help protect the
    uC from motor noise feeding back from the h-bridge.

  3. locate the main terminals for motor power on the h-bridge side of the board, so the
    motor currents never cross to the other side, and never flow through the single point
    ground connection of item #1. Add bypass [0.1 uF] and reservoir [100 uf or more]
    caps right at the same terminals.

  4. it's best to use 2 separate external power supplies, one for the logic part and another for
    the motors. If you can't do this, then the next best thing to do is connect a single supply
    to the motor side, and jumper "1" wire over externally to supply logic power. This way,
    the motor currents are always confined to the h-bridge side, and not flowing between
    the 2 sides. Don't make an external ground connection between the 2 sides, as then you
    will have a ground loop.

  5. if you have analog cktry on the pcb, confine it to a separate area from the digital logic
    cktry, and also on the opposite side of the pcb from the h-bridge cktry.

Can you you arrange it so that insted of all components being one layer of the board and allk the rest the other layer, have one group be one end of the board and the other group be the other end?
Then any traces & vias needed to make the routing work can be with the similar signal levels, and the high voltage/high current traces & vias can be seperated away, not overlapping the more sensitive lower voltage/current parts.

  1. just lay out the pcb with the normal microcontroller cktry on one side and the h-bridge
    cktry on the other side, and only connect them together at a single ground point. Some
    people will use an inductor [choke] or ferrite to make the connection.

Will do, but using star traces to that single ground point on the power side. Your mention of a ferrite, do you mean the small ferrite beads such as the following SMD bead type? http://tinyurl.com/aygg7hg

...and when you say make the connection, I assume I only need one? So I connect the control side of the PCB to that ground via, with a small SMD ferrite bead

  1. once this is in place, simply run the h-bridge control signals from the microcontroller
    across to the h-bridge. Always good to put series-Rs in these lines to help protect the
    uC from motor noise feeding back from the h-bridge.

Okay - I haven't tested with series resistance yet, I'll whack some 1k resistors onto the control lines tomorrow and check my waveforms. No problem with feeding these as visa through the board, won't long traces have quite some inductance?

  1. locate the main terminals for motor power on the h-bridge side of the board, so the
    motor currents never cross to the other side, and never flow through the single point
    ground connection of item #1. Add bypass [0.1 uF] and reservoir [100 uf or more] caps right at the same terminals.

My h-bridge is a dedicated IC, an LMD18200T - I have the 12V supply for this IC decoupled with .1uF and a 220uF reservoir as per application note, and the outputs have bootstrap caps back into the IC, so do I need these caps on the output? Or do you mean two caps across the two motor terminals? I was planning to do this already to help reduce noise.

  1. it's best to use 2 separate external power supplies, one for the logic part and another for
    the motors. If you can't do this, then the next best thing to do is connect a single supply
    to the motor side, and jumper "1" wire over externally to supply logic power. This way,
    the motor currents are always confined to the h-bridge side, and not flowing between
    the 2 sides. Don't make an external ground connection between the 2 sides, as then you will have a ground loop.

I've only got one external power supply, but have a 60 way connector on to my PCB and have a couple of spare pins - perhaps providing 12v to two pins from the same source, so each side of the PCB has its own 12V pin would serve a similar purpose?

When you say external ground connection, as in - the ONLY ground between each side should be the one ground via discussed under heading 1?

  1. if you have analog cktry on the pcb, confine it to a separate area from the digital logic
    cktry, and also on the opposite side of the pcb from the h-bridge cktry.

My only analog signals are analog voltages going in to the ADC of the MCU, so I can't really avoid running these from the pcb connector over to the MCU....

Thanks for your help so far, by the way :slight_smile:

]Can you you arrange it so that insted of all components being one layer of the board and allk the rest the other layer, have one group be one end of the board and the other group be the other end?
Then any traces & vias needed to make the routing work can be with the similar signal levels, and the high voltage/high current traces & vias can be seperated away, not overlapping the more sensitive lower voltage/current parts.

I'm afraid not, space constraints dictate otherwise - both sides of an 74 x 100 pcb are packed tight with components, it's going to be a challenge to keep components on the signal side not underneath high voltage / noisy components on the other side.

Yeah, I meant to mention earlier and forgot, as Bob says, there is no rule that says it's
necessary to keep the power/ground and signal traces on opposite sides of the board.

Your other comments sound ok, except that, the bootstrap caps are small-value caps that
are necessary for the charge-pump cktry inside the LM18200 to work properly. You still want
the 2 caps across the h-bridge power terminals as the d/s recommends, although the values
given seem high to me. But maybe that h-bridge is finicky that way.

Caps across the motor terminals may help, but you should still use all the others too. For
reference, you might also check out these links, especially the one about the Main Capacitor,

http://www.4qdtec.com/pwm-01.html

http://www.lh-electric.net/tutorials/gnd_loop.html

Yeah, I meant to mention earlier and forgot, as Bob says, there is no rule that says it's
necessary to keep the power/ground and signal traces on opposite sides of the board.

Ah, that gives me a thought.... One end of the PCB could be the power end, both sides - whilst the other end would be control, both sides. That way, traces and vias shall not intertwine HV/noisy signals etc, and all power grounds can star to a central common ground connection at a central edge right next to the connector for the PCB.

Are my 220 and 1uF caps across the bridges power pins not the 'main' caps however? The diagram on th page you linked certainly imply that?

"One end of the PCB could be the power end, both sides - whilst the other end would be control, both sides. "

That's what I was saying in #9.

Are my 220 and 1uF caps across the bridges power pins not the 'main' caps however? The diagram on th page you linked certainly imply that?

Yeah, same thing. The LM18200 d/s shows them at the h-bridge, the link page basically has them at the power
entry terminals, but these points should be right next to each other on the pcb.

CrossRoads:
"One end of the PCB could be the power end, both sides - whilst the other end would be control, both sides. "

That's what I was saying in #9.

I had misunderstood what you meant, and thought you were implying that I should put all my components on one side, and use the other layer of the PCB for routing traces.

Thank you!

EDIT - I have tens and tens of 5v and ground connections on the control end of my board, given these are away from all the power ICs the other side of the board, would it be appropriate or acceptable to have some sort of plane system on the control end of my board?

I do. The star approach is great, but when you have multiple components requiring power and ground connections, it becomes less and less feasible to home-run each one. So, you prioritize. Anything high-current gets its own run. A bunch of similar things (like decoupling caps) can share a ground fill that has a single run back to the main ground point, etc. You just have to get a feel for what is a reasonable amount of isolation with real benefits, and what is pointless overkill that makes layout impossible.

The "star" grounding scheme looks good on paper, but quickly falls apart in real-world implementation, especially when doing complex PCB design.
(Now, if you're doing point-to-point wiring, yeah, star-grounding is your friend. But we're not building vacuum tube amps here.)

I've had designs that called for separate analog and digital grounds but in the end, I just combined them all and made judicious use of ground planes on both top and bottom layer. Even amplifying weak analog signals 2000x voltage gain, there's no noise in the system (even with several relays being energized, SPI, etc running on the board.)

It also helps to confine analog and digital circuitry on their own sections of the board (if using a single board).... maybe even design it so it's two separate sections, (each with their own ground plane), and separated from each other by "moating" and just connect the grounds at a single point.

Another option is use (2) boards, and separate your logic board from the driver board. Just connect both boards with a ribbon cable. Distance is also your friend.

I would use as much free area top & bottom for ground polygon as you can.
The two layers also provide some additional capacitance for decoupling.
Layout start with smart parts positioning. I find eagle will do a pretty good autorouting
if you have good parts placement to start. Then you add a ground via here & there,
maybe tweak a trace here & there to let the ground fill more area, etc.

Thanks for all the input so far, here are some screenshots of my layout - well, part placement at least.

So, the d-pak packages on the left hand side are power switching FETs / IGBTs. The gate drivers are the small ICs between the rows. The IGBTs subject to a large inductive spike are the top row, top and bottom layers. The h - bridge is the through hole 11 pin vertical package.

My power supply, i.e. regulator, fuses, tranzorb, caps etc is the is central where the two horizontal d-paks are. Underneath however is a general purpose low side driver chip to configure which external relays should be powered. These will only switch during power up / off really.

I wanted to move the power supply away from the IGBTs a little, but the ICs to the right of my power supply are conditioning ~10kHz AC signals, converting USB to UART, reading thermocouples etc.

Bottom right is a flash IC, latch & external RAM - I've tried to keep these as far away as possible as random memory corruptions are not something I'm keen on getting. The two ICs underneath the MCU are SPI devices, so I'm hoping there's not an issue there with noise? The jumpers are to select between external filters for these two ICs, and i've left room around there to route signals over to the left hand side gate drivers.

I've still got ~40 resistors, ~20 caps to pull on to the board from outside of the outline, but these are small 0603 parts, as are the ones present currently on the board.

Does anybody have any recommendations, comments, criticisms (constructive of course, this is the first PCB i've laid out, and my first venture into SMD - all my other projects have just been through hole on vero board)?

I would use as much free area top & bottom for ground polygon as you can.

Earlier on in the thread however, I was told I should avoid doing this as it will help interference get in to the ground. Or would that only typically be the case if I had a power component on the other side of the board, and I put a ground plane on the other?

Top and bottom, together -

Top -

Bottom -