Ground loop interference?

Dear all,

I am working with a simple setup with:

  • A Stepper Motor being supplied with 12V.
  • A DRV8825 that drives the motor.
  • An Arduino Uno (standalone).
  • A sensor (in this case, a temperature sensor) connected to Arduino.

I am using a single power supply (an old PC power supply, which has both 5V and 12V outputs and a common ground).

The problem is: as soon as I drive the motor, I can clearly see a big interference in the data I am getting through the temperature sensor. Easily enough, this problem is solved when I get 2 separate power supplies (one for the 12V motor, and another one for the 5V arduino).

Is there any way I can filter this noise in my circuit, without having two separate power supplies?

I have tried doing low pass filters, and also putting diodes everyone I could (I thought it was back propagation at the beginning). The biggest problem is that the noise is so high, that I am loosing a great deal of data after filtering it.

Can anyone give me a light? (might even be the correct names for me to google it ; ).

Thanks!

Please post a wiring diagram for the problematic case. Hand drawn is fine (not Fritzing).

The 5V and 12V outputs from the first power supply should be independently regulated, so you could try using the 5V output to power the Arduino through Vcc.

Keep in mind that the 12V section of a PC power supply was not intended to power high current steppers.

Thanks for the message!

I'm on the run now and can't make a sketch to send. Although I do understand the importance of sending it, in this case, it is as easy as I've described. A DRV8825 driving a Nema 17 Stepper Motor at 32 micro-stepping mode, all connected to an Arduino that is reading meanwhile data from a sensor. No mystery.

I am indeed powering the Arduino via VCC.

The power supply holds it fine for the amperage my motor requires (I've checked) + the Arduino.

The real problem is the interference. I have considered already many other probable problems (power supply, arduino board, stepper, driver, wrong wiring, unprotected cables, lack of filtering caps, lack of 'protector' diodes, etc), but I've already discarded all of them.

Bottomline is, all works fine - except for the noise of the motor getting into the circuit. If there is no way of impeding such noise from the motor to get into the circuit, I will adjust the project to hold two power supplies (one for the 5V arduino and another for the 12V stepper).

Thanks,

Noise in power supply lines is an extremely common problem. Look up "power supply decoupling" for the solutions.

viraseres:
Dear all,

I am working with a simple setup with:

  • A Stepper Motor being supplied with 12V.
  • A DRV8825 that drives the motor.
  • An Arduino Uno (standalone).
  • A sensor (in this case, a temperature sensor) connected to Arduino.

I am using a single power supply (an old PC power supply, which has both 5V and 12V outputs and a common ground).

The problem is: as soon as I drive the motor, I can clearly see a big interference in the data I am getting through the temperature sensor. Easily enough, this problem is solved when I get 2 separate power supplies (one for the 12V motor, and another one for the 5V arduino).

Is there any way I can filter this noise in my circuit, without having two separate power supplies?

I have tried doing low pass filters, and also putting diodes everyone I could (I thought it was back propagation at the beginning). The biggest problem is that the noise is so high, that I am loosing a great deal of data after filtering it.

Can anyone give me a light? (might even be the correct names for me to google it ; ).

Thanks!

You need to ensure the 12V return current isn't travelling on the 5V ground wiring, and you need to ensure
the sensor wiring is kept away from the high current motor wiring (ie the 12V wiring and motor wiring).
All high current wiring is best done as twisted pair to reduce outgoing interference (its easy to make twisted
pair with a hand-drill or vary-speed electric drill / screwdriver). The grounds have to be common, but at
only one point (which probably has to the supply itself given your setup). That means running entirely separate ground wires for the 12V and 5V circuits from the supply.

Thank you very much for your suggestions! I will try a few things and come back later to report what happened.

Ok! Seems like placing a few decoupling capacitors on the supply of the motors, the supply of the sensor, and right before the analogRead pin, has diminished the noise down to a supportable level. I've mainly used 0.1uF ceramic caps and a couple of 10uF caps next to the high current supplies.

Thank you for the messages! For now this solves my problem (although my choosing of the right caps was mainly based on try-and-error).

Best,