We are working on new senor wiring to reduce EMI noise. We are moving to 22 AWG twisted pair shielded cable. (Belden 8723 cable). I have read that the shield should be grounded one one side close to the roborio. How exactly is that done? Do we simply use the ground pin on the IO pins, or is there another place to ground out the shield?
On FRC robots I let it float (unterminated). If I were to terminate it, it would be to the 0 volt (return). Ground really doesn’t have a meaning on our robots. What to do with the shield is a little complicated. You will get all sorts of somewhat conflicting advice.
I would suggest just doing the twisted wires rather than parallel wires first, to see if it reduces your EMI problem enough; going from parallel to twisted will reduce both inbound and outbound EMI by a couple of orders of magnitude.
If you do want to shield the cable, I would suggest attaching to the 0V conductor at both ends; connecting at one end may create a better antenna than the twisted pair inside.
We did have an EMI problem on our robot this year. We are moving to twisted pair in the sensor cables and twisted servo/PWM wires.
What about our 10 AWG motor wires? Do we also twist those? Seems that it is a common practice in compact BattleBots. At this time we use bonded zip wire which is convenient. We would move to separated 10 AWG silicone that we twist ourselves. Anyone else do this? Or is this overkill?
Another idea is to run a capacitor across the back of all the motors to reduce EMI produced by the shoes when the motor starts. That also seems extreme.
Your large DC wiring is not going to generate nor be affected by EMI nearly as much as that PWM signal; I’d hold off on that until after you see how much twisting and/or shielding the PWM does.
Standard industrial practices is to ground the shield at the panel end. Connecting the shield at both ends can cause a ground loop so it is only done in very specific types of applications (not FRC robots). In the case of your robot, connect the shield to the 0V at the roboRio input terminals or at the motor controller if it is being used for feedback directly to the motor controller. Never connect sensor wiring shields to 0V at the PDP or VRM.
If possible, use shielded cable that uses a foil shield rather than a braided shield. they give better coverage. With the foil shielded wires, there will be a drain wire that you connect to 0V after clipping off the foil so that it doesn’t short the signal connections. Double shielded cable would be overkill in FRC robots.
Depending on how the motor controller has been designed, the PWM action can cause the wires on the output AND the input of the motor controller to radiate EMI. Twisting the power wires connecting the motor controllers to the PDP and the motors to the PDP will reduce the amount of EMI that is radiated from those wires so there is less to be picked up by the signal wiring. Twisting them together makes them lay more neatly too.
Twisting of wires causes the direction of the coupling to alternate leading to the coupled energy in one section to cancel the coupled energy in the next section. This is normally good enough in FRC robots.
Check that your signal wire connections are actually good. Do a gentle pull test on each and every individual solder joint or crimped connection. A bad joint in your signal cable can cause symptoms that look a lot like EMI.
Ensure that your low-level signal wires are not run in parallel with the power wires. I would guess that this is probably the most common cause of EMI problems in FRC robots. It is acceptable if they are running in a parallel path but several inches away. If low-level signal wires must cross power wires, it is best if they are run perpendicular to each other.
A capacitor on the motor terminals gives the high-frequency noise energy (generated by the arcing at the motor brushes as the motor runs) a path to return to the motor. Otherwise, this high-frequency energy will find a path that will go through the wires connecting the motor to the motor controller and possibly all the way back to the PDP or even the battery. All of that power wiring becomes an antenna, radiating the high-frequency energy. Fortunately, that wiring is usually a rather inefficient antenna and most FRC robots do not have EMI problems.
The bonded “zip wire” that I have seen in the past was stiff and hard to work with due to low strand count (and thick strands) and stiff insulation. Being bonded together also made it awkward to work with when the components are placed close to each other. All the silicone insulated wire I have seen has been high strand count (thin strands) and very flexible so it will be very nice to work with. With the high strand count wire, verify that your crimp lugs will fit properly on the wire. Some of the high strand count wire/cable I have used at work had a larger conductor outside diameter than the standard for the nominal wire gauge so we had to use the lug for the next larger wire size.
Yes, we have parallel runs on the wires we had the problems with. I guess making the runs longer, but allow them to be a few inches from the higher power lines will help.
This Spring and Summer I have some of the younger students re-wiring a few of our older robots to better understand these new “best practices”.
Just curious, what kind of sensors are you using that are affected by EM noise? We do not particularly pay attention to that issue so we did not do anything drastic about the wires and we don’t have any problems. Although we do keep our cables short and cable managed them away from motors as a rule of thumb.
Edit: by short, I did not mean stretching the cable to the shortest distance in 3D space. I just meant there is no extra wire coiled around.
The only problem we have verified is in small random movement in the camera servo. We were able to verify that by moving the wire away from the motor and wires. So we are starting twisting the wires and add a bit more separation.
The ultrasonic sensors have also been a little unusual. Mostly they are good, but not always. It is hard to say if this is normal or an EMI interaction.
The drive encoders on the gearbox between the two CIMS is an area we are looking to avoid any signal problems. Once we see how much EMI interaction influenced the servo wires, we are reviewing all areas that low/high power are in proximity. Over the last couple years we have added a lot more motors and sensors, making the robot more dense.
We have not looked at parallel runs yet. We will work this into our workshop training.
This forum really helps us understand better so we can teach the students better ways of doing things.
Moving your signal wiring a few inches will be all that is necessary. The coupling you are having a problem with will be from the magnetic fields caused by the time-varying currents flowing in your power wiring due to the PWM action of your motor controllers. The magnetic field strength is inversely proportional to the cube of the distance so doubling the separation between your signal and power wiring will cut the magnitude of the interference to one eighth.
Here is a link to a PowerPoint presentation on Electrical Layout and Construction Techniques that I taught several times to my previous team and some others in the Houston area. Please also read the Notes pages that go with each slide for additional information.
Does your ultrasonic sensor have an analog or digital output? If it is digital, you can try adding a lower value pull-up or pull-down resistor, say 4.7 kOhm or even 2 kOhm at the roboRio end. If it is analog, add a pull-down resistor to 0V in the range of 2 kOhm at the roboRio end. If you are getting noise coupled into the wiring, the lower value resistors will help absorb the noise energy and you won’t get so many spurious values.
If possible, look at the output signal with an oscilloscope, take a picture of the waveforms and post it here. It is possible that the sensor is seeing different values due to acoustic reflections or some other acoustic phenomenon. The resulting output signal would look very different from electrical noise coupled into the wiring.