Electronic – Problem of noisy ground

adcbatteriesgroundnoisesensor

In this design, the 2A motor "M", which is running at PWM=10kHz, creates a lot of noise in the ground as shown on the scope trace. Not only the ground is sinusoidal but more painful, the ground level raises up to 80mV when the motor is running.

Unfortunately, this noise and the fact that "ground is at 80mV" make it very difficult to detect the very little voltage variation of the sensor "S".

Only one big 3.7V battery powers the motor and the processor. A very small 3.0V battery is powering independently the op-amp.

All the ground traces are extremely thick and have been designed as much as possible like a star. There are a couple of 100uF on the big 3.7V battery as well as mutliple 0.1uF. There is one 4.7uF and multiple 0.1uF on the small 3.0V battery.

What could I do to minimize this noisy ground?

schematic

scope trace

Best Answer

Do you have a de-coupling capacitor on the motor itself? If not, add a 100 nF ceramic capacitor across the motor terminals, as closely as possible to the actual motor housing. (Worst case, across the connectors to the motor terminals on your board.)

Does the motor run only one way? If so, also add a dissipation diode across the motor, with anode towards ground.

To get a better measurement of the voltage across the sensor, you may be able to use Kelvin-style wiring (or "remote voltage sense" wiring) where the actual sensor wires are separate from the current carrying wires. Whether this works depends on how the ground for your 1.5V reference is created.

A separate battery for the motor only seems like a good idea. If you can't do that, at least put a voltage regulator between the 3.7V battery and the rest of the circuitry, regulating down to 3.3V or so. (You'll need an ultra-low-drop-out regulator, such as a LF33AB or better, to do this.) Regulators typically damp 80 dB or more of noise. Especially if you keep the grounds separate.