The best way to filter out noise on data line

inductancenoise

I am working on a product that has a controller connected to a device via an 8 conductor cable (an ethernet cable). The cable length varies depending on where the device is installed but the length varies from 15 to 30 feet. The device being controlled consists of a stepper motor, a digital temperature sensor and a limit switch. The controller outputs pulses to the four stepper motor wires to move the motor. The temperature sensor outputs a 0 to 5V square-ish wave that has a variable duty cycle proportional to the current temperature. The temperature sensor signal has a nominal frequency of about 50Hz. The controller monitors this signal to compute the current temperature at the device. The stepper motor driver is a constant current driver which means it pulses the motor on and off very quickly to keep the current through the coil at a set amount. This pulsing can occur upwards of 100kHz and the voltage switches from 0 to 12 Volts.

There are several problems occurring. Fist of all, the signal from output of the temperature sensor is being induced on the 5VDC supply voltage for the temperature sensor. This makes the supply voltage very inconsistent and noisy. I have tried putting a 10uF capacitor, and smaller ones, between this signal and ground inside the controlled device and that helps a bit but I can still see ripple. Is there a better way to get rid of this ripple that is at about 50Hz?

The next problem occurs when the stepper controller is pulsing the motor to provide holding torque. The controller pulses the motor at around 100KHz and this also causes noise on the temperature probe signal, the 5VDC signal, and the ground when measured at the controlled device.

The controlled device does have a small circuit board inside it so I do have some room to play with filtering techniques there. Do you have any suggestions? I would think that sending stepper motor controls and other digital data down the same cable is a rather common thing to do so there must be an intelligent way to get rid of the noise.

NOTE: I don't think changing the cable type is an option because of backward compatibility issues.

Best Answer

Trying to send these kinds of signals 30 feet all together on the same cable is nuts. A much better overall architecture is to send power and simple digital serial signals over the cable. Handle the details of the stepper control and sensor readings at the far end of the cable, and receive commands and send results digitally. With the CAT5 cable you described, you can use one pair for transmit, one pair for receive, and the remaining two pairs for power.

Russell has described some things you can do to try and make this mess limp along. Maybe if you're careful those are good enough. However, the real problem is in the higher level architecture, which is where any real fix will have to be made.

Related Topic