Pages: [1]   Go Down
Author Topic: Vibrating motor producing noise in circuit  (Read 1235 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Jr. Member
**
Karma: 1
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

South Africa
Offline Offline
Newbie
*
Karma: 0
Posts: 32
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

South Africa
Offline Offline
Newbie
*
Karma: 0
Posts: 32
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Offline Offline
Jr. Member
**
Karma: 1
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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).
Logged

0
Offline Offline
Shannon Member
****
Karma: 206
Posts: 12177
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

[ I won't respond to messages, use the forum please ]

Offline Offline
Jr. Member
**
Karma: 1
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

0
Offline Offline
Shannon Member
****
Karma: 206
Posts: 12177
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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....
Logged

[ I won't respond to messages, use the forum please ]

United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6614
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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.

Offline Offline
Jr. Member
**
Karma: 1
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!
Logged

Malaga
Offline Offline
Sr. Member
****
Karma: 6
Posts: 319
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Vinciduino rocks!

Offline Offline
Jr. Member
**
Karma: 1
Posts: 69
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
Logged

Malaga
Offline Offline
Sr. Member
****
Karma: 6
Posts: 319
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Vinciduino rocks!

Malaga
Offline Offline
Sr. Member
****
Karma: 6
Posts: 319
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 :-)
Logged

Vinciduino rocks!

Pages: [1]   Go Up
Jump to: