Grounding of the RJ45 Shielding Connectors to Reduce EMI

I was discussing the EMI situation with a friend and his first thought was that having 1 foot of ethernet cable for a voltage (vs current) driven signal (without signal drivers) could make the servo feedback susceptible to EMI. His suggestion was to tie the negative from the DC supply to earth ground and also tie the metal shielded cans around the RJ45 connectors to earth ground as it is those metal structures are currently floating. FYI maybe taking this action (in addition to antistatic vacume hose and EMI shielded ethernet cables and adding an earth ground faraday metal shield between the router and the mainboard will solve it?! :crossed_fingers:

1 Like

I think that is a reasonable idea, RJ45 connectors are tied to ground now so if you tie the DC supply to earth ground that should happen automatically

I have no continuity between the two pairs of RJ45 metal housings on the mainboard–so in my case my housings that couple to the board are not grounded…?

1 Like

Did firmware bit/baud rate recently change in a way that’s contributing to EMI based issues?

Looks like stock kit has unshielded cat5e cables Encoder Wire — Maslow, but looks like one or more encoder board and controller board ethernet pins are grounded https://github.com/MaslowCNC/Boards/blob/main/Schematic_Encoder-Board.pdf and https://github.com/MaslowCNC/Boards/blob/main/Schematic_Five-Motor-Control-Board.pdf.

Would shielded Ethernet Cable help and/or reverting any baud rate changes and/or filtering outliers in code? Got rolling logs indicating EMI is cause?

Looking at the schematic it looks like you are right, we probably want to ground those just on the controller board side so we don’t create a ground loop.

@bar, @gazinux -

Summarizing this and some previous comments from @gazinux and likely others.

  1. Solder chip select to ground on encoder board
  2. Connect ethernet connectors shields on main control board to DC ground
  3. Provide connection on main control board to “Earth Ground”
  4. Shorten DC power cord as much as possible.
  5. Add Shielding to DC Power Cord
  6. Connect DC power shielding to “Earth Ground”
  7. Install ferrite cores on each lead of the DC Power cord close to main board connection
  8. Install Shielded ethernet cables to encoders

Anything else?

My plan is to use this connector:

to connect to the DC Power supply. And while I’m re-wiring it, bring out an extra grounding wire.

My thought is to run that through the shielding I’ve placed over the DC cable, then connect it to the main controller board.

Not having looked at the schematic, is there a separate ground plane vs. DC (-)? Or are they all connected? In which case, where to connect at the controller? into the DC(-) at the cable end, or solder something onto the controller board somewhere?

Or should I run an entirely separate ground wire not connected to AC power ground? For this I’ll assume that AC ground is to code and I don’t need to drill a hole somewhere and drive in my own 8’ copper grounding rod.

If I run a wire down the inside of my dust collection hose, do I connect it to any of the ‘ground’ on the Maslow, or back at the dust extractor? I assume this is less EMI and more static build-up, but…

1 Like

@boxomatic If I remember correctly your issues were mostly with wifi connection issues right? So just installing 0.78.1 might fix them

Derek Graham wrote:

Summarizing this and some previous comments from @gazinux and likely others.

  1. Solder chip select to ground on encoder board
  2. Connect ethernet connectors shields on main control board to DC ground
  3. Provide connection on main control board to “Earth Ground”
  4. Shorten DC power cord as much as possible.
  5. Add Shielding to DC Power Cord
  6. Connect DC power shielding to “Earth Ground”
  7. Install ferrite cores on each lead of the DC Power cord close to main board connection
  8. Install Shielded ethernet cables to encoders

Anything else?

switch to shielded ethernet cables

possibly move DC power brick to sled (so that the long wiring is AC, not DC)

in the video update this week, Bar mentioned trying to swithc from the default
shop-vac hose to an anti-static festool hose

David Lang

1 Like

Has the EMI situation always been an issue, or is this a recent regression due to a revertable edit to frequency of encoder/other sensor sampling? I.e is a cheap firmware only fix an option? Sorry if this was discussed somewhere already, I’m lazy and haven’t diff’d source code between last known good build, and latest.

Aza’s Built to Code wrote:

Has the EMI situation always been an issue, or is this a recent regression due
to a revertable edit to frequency of encoder/other sensor sampling? I.e is a
cheap firmware only fix an option? Sorry if this was discussed somewhere
already, I’m lazy and haven’t diff’d source between last known good build, and
latest.

We aren’t sure. We do know that it seems more of a problem recently than
earlier, but that doesn’t mean there weren’t problems earlier, we may not have
had people running the machine long enough in the early days to notice it.

David Lang

1 Like

It’s been a suspected issue but hard to say 100% because of the way EMI impacts logic circuits. Regarding software, different versions could change both EMI profiles as well as possibly sensitivity to interference.

2 Likes

If we discover/know related code/profile changes, then we could maybe exaggerate the changes further (dev/test edit only) to help conjure reliable repro, then, that could maybe help test/verify positive impact of using shielded cables and ensuring no ground loops?

Edit: Sorry, I shouldn’t suggest anything until looking at code and related edits.

No worries, please take a look and share your thoughts, your input will be super useful. Cheers

2 Likes

I think one of the main source of noise are all those 4 DC motors. Those brush are brand new and generate lots of noise. I would add to this list

if I would redesign this board, I would add TVS and ESD diode on all connectors on main board. USB, DC motors, I2C line coming from ethernet cable, XT60.

  1. Solder chip select to ground on encoder board

What do you mean solder chip select to GND on encoder board? I don’t see any chip select on that board, the AS5600 is I2C.

here is schematic

If I ever invest and go all in into this project, I will get a spectrum analyzer next to this PCB and check noise. Here is my sumo robot. The noise was coming from the DC motors cables! I thought it came from the motor drive (the one cover in copper tape) which was false until I use that spectrum analyzer! I had harmonic very close to 300Mhz (not shown in picture) that was affecting my RF remote to stop the robot. It was one of those 315Mhz RF remote! The robot would not respond to the RF remote when it was moving. It was working fine on the bench when nothing was moving.
[I am new user so can only post 1 embedded image]

anyway, EMI/EMC is complicated and it can also be the PCB layout, could be the LM2596 which got switching frequency of 150khz

for example the layout of the LM2596, the metal tab is GND but on the PCB and schematic it’s not connected!! This will help with thermal, minimal inductance and ground loops. This mean the capacitor C40 got this huge loop. Not optimal.

the feedback loop with L2, C29 is ok. D5 return to GND is also not optimal, needs to pass between R32 via and D5 to get back the middle pin of the regulator.

1 Like

my sumo robot spectrum analyzer

1 Like

We aren’t sure. We do know that it seems more of a problem recently than
earlier, but that doesn’t mean there weren’t problems earlier, we may not have
had people running the machine long enough in the early days to notice it.

From a YouTube video I watched, it appears that some batches of PCBs were produced by different vendors. Is that correct? You encountered issues and switched to a backup plan with another manufacturer?

For example, changing capacitor values can significantly impact overall performance. One batch might be fine, but if the supplier changes capacitors to “similar” ones without your approval, it can affect performance.

You may think you have the same electrolytic capacitor, but does it still have the same ESR (Equivalent Series Resistance)?

And for ceramic capacitors, how do you ensure they have the same DC bias or voltage rating? Its not easily writing on them. DC bias is super fascinating, I suggest you check it out. Applying a DC bias to a ceramic capacitor can reduce its effective capacitance, meaning a capacitor rated for 10µF might only perform as a 5µF capacitor under certain DC voltage conditions.

1 Like

In addition to dlang’s comment

It has also been suggested that the stiffness of the cables that come in the kit, coupled with the connectors not being as snug as they could be in the sockets, is causing the connectors to lose contact inside the socket in response to vibration. This could, depending on the level of vibration, be happening near-constantly.

Someone swapped their cables to ones that had more flex (were also incidentally a bit longer and more snug in the socket) and stopped having issues right away, for instance.

There were a few suggestions for securing the connectors to the sockets that came from that:

  1. hot glue
  2. velcro
  3. 3D printed, snap-fit, collar

I lean towards the latter 2 because they don’t require a consumable+tool+time to reassemble, though the hot glue would, if applied correctly, be the strongest of the 3.

(edit) Found the post: 15mm error while running code - #166 by willemx

1 Like

Sorry, my mistake in terminology. It’s not chip select but the direction pin. It’s currently floating on the PCB, though looks like it’s grounded in the schematic?

Basically since it’s floating people are have instances where the motors are running in reverse.

1 Like

It would be great to have you all in — you have solid perspective and gosh think of the robot arena you can whip up with a jumbo CNC!

2 Likes

That is an excellent suggestion!

They all ended up coming from the same source. We were hoping to get them from a different supplier, but they had production issues so we switched to our back up supplier for all the PCBs