Go Down

Topic: Vibrating motor producing noise in circuit (Read 1 time) previous topic - next topic

rptort

I have an earbone microphone connected to a couple of op amps which then connect to a microcontroller. When the input reaches a certain level, the microcontroller turns ON a vibrating motor via a motor driver.

However, when this happens, the input spikes a little. I'm not very familiar with motors, but I'm guessing that it's electromagnetic field is producing some kind of noise at the input. Is this assumption correct? If so, how can I remedy the situation? If not, what else could be happening?

Thanks!

LightySA

Hi

Could you elaborate a bit more on your system and what it does and how it works.

Distance between the motor and microphone etc. type of motor.


rptort

Here is the full schematic: https://plus.google.com/u/0/photos/112970352885170654279/albums/5734988209816271265/5734988211154316818

The pots on the right side set certain regions, and when the microphone level is within one of the regions, the microcontroller turns the motor ON (here's the motor http://www.precisionmicrodrives.com/new-vibration-motors/310-101-10mm-coin-vibrator-motor

The microphone is placed in the ear and is connected to the op amps through a 3.5 mm jack as shown.

All of the circuitry is on a PCB and the motor is next to the PCB.

Is that enough info, or would more help? If so, what else would you like to know lighty?

LightySA

Don't know if I can help, but if I had to take a guess I woulf try the following:

Filter caps on the Opamps, uC and perhaps some shielding?

rptort

Can you explain the shielding...I've heard the term, but I'm not really familiar with it.

DrOb

Hi rptort,

'Shielding' is where you try to block an electromagnetic field, usually with some kind of conductor. If you've ever seen a coaxial or TV cable cut open you see there's a metal mesh just under the plastic sheathe, this is in an attempt to 'shield' the cable to reduce interference. See here for more:

http://en.wikipedia.org/wiki/Electromagnetic_shielding

Lighty is suggesting you take some steps to reduce the electromagnetic interference (EMI). There can be a couple of things that lead to noise with the DC motor, have you tried reading this guide to reducing EMI:

http://www.precisionmicrodrives.com/application-notes-technical-guides/application-bulletins/ab-005-electromagnetic-compatibility-with-vibration-motors

It's on the same site as where you purchased the motor. You can even try moving the motor further away from the circuit (the terminals are a significant source of EMI).

MarkT

And you _must_ run the ground for the motor on a separate wire from the ground for the microphone - otherwise you are injecting the motor current signal directly into the microphone amp.
[ I won't respond to messages, use the forum please ]

rptort

MarkT I think you may have nailed it.

In order to determine the effects of the actual EM field, I placed a different motor (not connected to the circuit) near the circuit and turned it ON. I observed absolutely no interference. So, it has to be something within the circuit itself and MarkT you're suggestion makes sense because it doesn't seem possible for the motor to feedback through the motor driver, the microcontroller, the op amps, and still show up at the microphone.

So, when you say "on a separate wire" what exactly do you mean? Two different grounds?

MarkT

Just ensure that the ground connection to the microphone does use the same wire as the ground current return from the motor - so definitely different wires, only one common ground point that's not at a high-current point of the circuit.  The best way to think of this is first build the high current circuitry, then build the sensors, then common the two with one ground wire and whatever signal wires are needed for the motor controller.  The wires joining the two parts then only carry signal currents, and the sensor circuit is in no place common with any high-current paths.

Signal ground is _not_ power ground....
[ I won't respond to messages, use the forum please ]

dc42

You need to keep the wire or pcb trace between the positive side of C2 and the Vin pin of MDR as short as possible. Similarly, the wire from the negative side of C2 and motor negative side/D1 anode needs to be a short as possible. No part of these wires or pcb traces should be in the supply or ground path to any of the sensors or the mcu. Follow MarkT's advice as well.
Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

rptort

I'm sorry for my lack of intelligence on the subject, but I'm a bit confused. MarkT I don't quite get this:
Quote
Signal ground is _not_ power ground....

So, are the microphone ground and the motor ground connected or not?

The circuit is on a PCB, and I placed a ground plane on the top of the board and a power plane on the bottom of the board. So, everything that says 5V is connected to the bottom, and everything that has a ground symbol is connected to the top of the board.

dc42 I did this:
Quote
pcb trace between the positive side of C2 and the Vin pin of MDR as short as possible


But I didn't do this:
Quote
the wire from the negative side of C2 and motor negative side/D1 anode needs to be a short as possible

I simply connected both the negative side of C2 and the motor negative side to the top plane. What does making this path short actually do?

Also, can you explain this a little more:
Quote
No part of these wires or pcb traces should be in the supply or ground path to any of the sensors or the mcu


Sorry for all the questions! Thank you both!

ADLC

Simply do not connected everything that goes to GND directly to your ground plane. Keep a different set of ground traces for the power signals (for the motor and the 1749) and join the "two grounds" (the power and signal ones) just in one point, being the best point as close to the GND input connection as possible.

It would also be a good option to place an RLC filter between the 5V input and the 5V connection of the 1749, or even to power the 1749 (and therefore also the motor) from a separate regulator (like another 7805 connected directly to the power input, not to the +5V of the Arduino).
It could also helps a lot to put a small ceramic capacitor (1nF, for instance) in parallel to C3 and connected directly to the motor pads. This will suppress better the spikes that a DC motor generates when the reel is disconnected abruptly by the brushes.

All this reduces the noise in the power lines ... although you never can remove the 100% of them.
Vinciduino rocks!

rptort

Okay so I just measured the current at both the microphone ground and the resistor to 5V and there is no change at all when the motor is ON. Could the motor current be affecting the op amps?

ADLC

For sure! It could induce even several hundreds milivolts AC signal into the power lines. This could be easily multiplied by several orders by any OpAmp and be clearly audible in any speaker. SO that is o important to keep the power lines (but positive and GND) separated from analogic and digital/power blocks.

Some interesting links:
http://www.beam-wiki.org/wiki/Reducing_Motor_Noise
http://www.pololu.com/docs/0J15/9
http://www.robotshop.com/PDF/motor-noise-reduction.pdf
Vinciduino rocks!

ADLC

Yeah! I found the link I was looking for:
http://www.solarbotics.net/starting/200111_dcmotor/200111_dcmotor3.html

It is one of my favorites relative to DC motors: with pictures :-)
Vinciduino rocks!

Go Up