Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Electromagnetic Compatibility #698

Open
sphawes opened this issue Jan 4, 2024 · 5 comments
Open

Electromagnetic Compatibility #698

sphawes opened this issue Jan 4, 2024 · 5 comments
Assignees
Labels
area: pcb requires an update to an electrical design project: lumen has to do with the lumen pnp base machine type: enhancement New feature or request

Comments

@sphawes
Copy link
Member

sphawes commented Jan 4, 2024

Version Number

REV04

Bugfix or Enhancement

Enhancement

Description

The LumenPnP motherboard could see improvements to it's electromagnetic compatibility.

Suggested Solution

Thorough consideration for EMC issues (please leave a comment with specifics if you have thoughts in mind!):

  • Conducted and Radiated Immunity - Is the motherboard susceptible to conducted or radiated fluctuations? (ESD, Mains fluctuations, etc)
    • TVS diodes at every exposed point for ESD protection
    • Proper decoupling and smooth start on the 24v rail for the least possible instantaneous draw on the 24V external power supply.
  • Conducted and Radiated Emissions - Is the motherboard kicking out any type of conducted or radiated emissions that should be mitigated? (Buck converter / other high speed signal RF noise)
    • Making all switched buck converter traces as short as possible.

Proposed Test List:

test-list

@sphawes sphawes added type: enhancement New feature or request area: pcb requires an update to an electrical design project: lumen has to do with the lumen pnp base machine labels Jan 4, 2024
@sphawes sphawes added this to the REV05 Motherboard milestone Jan 4, 2024
@sphawes sphawes self-assigned this Jan 4, 2024
@sphawes
Copy link
Member Author

sphawes commented Jan 4, 2024

The REV05b0 board has many of these considerations taken into account, but no doubt that they could be improved!

  • TVS diodes have been placed on all exposed connections:
    • Pump/valve connections
    • USB
    • RS-485
    • 24v input from power supply
    • BOOT/RESET pins exposed in AUX header
    • Ring light connectors: data lines and 5V rail
  • Stepper drivers have ferrite beads and decoupling caps on every output
  • Buck converter traces are kept short (still could be optimized)
  • Reverse polarity protection and inrush current protection on VIN

Would love any and all feedback on how these could be made better, plus things that I'm missing!

@dan-gies
Copy link

dan-gies commented Jan 4, 2024

Copper-pour "fingers"/"antennae"

Whenever possible, avoid copper structures that are only connected at one end. These can cause problems for radiated immunity and emissions.
image
image
image
image
etc...

@dan-gies
Copy link

dan-gies commented Jan 4, 2024

Signal return paths

Since this is a 4-layer board with power planes on the inner layers, signals are constantly hopping between reference planes (GND and +3.3V). This can impact both signal integrity and EMC, since it is tough to predict the signal return-current paths. When signal return currents take a long "roundabout" path, it creates an inductive loop, deteriorating signal quality, potentially radiating emissions, and potentially becoming susceptible to incoming noise.

One example of signals transitioning from top to bottom layers, where the signals have two different return paths that aren't coupled together

image

It's easy to brush this off as "not of concern since it's not high-speed", but the STM32F407 is actually capable of decently high rise/fall-times, resulting in high frequency signal content. From the datasheet (below), rise/fall times can be set to as high as 2.5 ns, which equates to roughly a signal bandwidth of 140 MHz. This is territory where return paths start to really matter.
image

Recommendations

Reduce rise/fall times whenever possible

The STM32F407 has registers to set rise/fall times (AKA "drive strength"). Use the lowest drive strength possible while maintaining good signal integrity (too low means signals aren't reaching Voh/Vol in time, depending on your bus speeds). Needlessly high rise/fall times can result in radiated emissions and on-board crosstalk.

Improve return paths

Option 1: Add a high-pass capacitor between +3.3V / GND as needed

These capacitors should be as close as possible to groupings of signal layer transitions, if there isn't already a decoupling capacitor a few cm away. The exact value can be adjusted based on rise/fall times and immunity requirements. This reduces the inductive loop area; short return paths are good.

Option 2: Use GND planes exclusively on both inner layers, route +3.3V on top/bottom, or move to 6 layer board

For this board, I'd only redo the 3.3V distribution (adding more layers or routing 3.3V on top/bottom) if there are crosstalk or EMC issues. Well defined return paths are the easiest way to avoid crosstalk and EMC problems for fast-edge signals.

@JacobChrist
Copy link

Your probably going to have trouble passing emissions <1GHz with the drivers so far from the motors. You need to couple the driver to the motor and use a shielded step/direction wires to get the signals to the drivers. It might be possible but I'm no an RF expert. In my previous journeys we even purchased NEMA17 motors that have shielded leads (really expensive) and still could not pass being only 30cm from the driver in a conductive housing (with big holes).

@JacobChrist
Copy link

JacobChrist commented Jan 5, 2024

Also, not sure how many layers your board is, but I would go with no less than 4 layers and make sure you have a solid ground plane under all signal traces and that any switching traces are as far from the board edge as possible (lots of ground plane between the board edge and the switching trace).

This is basically what I was thinking: #698 (comment)

My 4-layer stacks are usually:
top signal
inner1 ground
inner2 power
bottom signal

And try to never cut the ground plane and make sure that there is copper between vias (so prevent large chunks of no ground plane under signal traces)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: pcb requires an update to an electrical design project: lumen has to do with the lumen pnp base machine type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants