Makeshift DC Motor Radiating EMF

My brother is a highschool student tasked with making a DC motor. It is finished and works however I thought for the sake of learning and the additional cool factor (I'm relatively new to this field), I could make an optical RPM sensor which I could tack on.

So I made this:

It works perfectly and I have tested it on an un-powered motor (using a drill). The problem arises the second the motor starts turning with electricity as the power source. I'm guessing the sparking commutators?

Either way, it causes the arduino to go haywire if it is within 50cm of the motor, and eventually corrupts forcing me to hard reset it. This happens almost instantly.

Something to note, the motor and the arduino are powered seperately.

I tried shielding the components with aluminium and had no luck. This project is due in a few days so I have to try fix this ASAP with what I have on hand. Worst case scenario, he submits it without the electronics.

Hopefully shielding isn't the only way. Is there an electrical engineering solution I can apply to the sensor above or the motor itself to dissipate this noise? I have a large range of capacitors/inductors/resistors/transistors on hand.

Also something I have tried to no avail:
I have tried 2x 10nF ceramic capacitors attached to the motors commutators.
I have tried using a 33uH inductor in series with the VCC of the motor.
I have tried connecting the iron core holding the magnets to the ground of the arduino and the ground of the motor power supply. The motor is running on 6xAA batteries.

Here's an image of the motor: http://i.imgur.com/utwifWP.jpg
Here is a video: - YouTube

Cheers

Upload a simple blinky sketch to your Arduino. Does it still go haywire when the motor is running?

Hi,
OPs picture.

Tom.... :slight_smile:

Hi,

Can you please post a copy of your circuit, in CAD or a picture of a hand drawn circuit in jpg, png or pdf?
Have you tried putting the optosensor leads between the sensor and the arduino in shielded cable?
I seeyou have wrapped it in something,have you connected the shield to arduino gnd?
Thanks, Tom... :slight_smile:

I will test a blink sketch and a serial counter sketch now.

Tom, the circuit I have used is exactly identical to the circuit in the instructable link in the opening post. Look at step 3 for the circuit I have used.

To explain that shielded cable... lol.. Earlier today I put the arduino, the LCD, the sensor and the arduino battery in an antistatic bag. It blocked out the noise completely (unless I brought it within 5cm of the commutators), so my brother decided to make a box layered with antistatic bag, and covered that cable with the antistatic wrap + tape. He plans to finish the rest maybe tomorrow however I'm not optimistic :P...

Result of the blink test are in:
When powered by 9V battery, the arduino goes haywire, the LED starts blinking at random intervals instead of once per second. Can't test serial but I assume thats failing as well.

When powered by USB port from PC, the arduino is perfectly fine. LED blinks at every 1 second interval, counter goes up once every second and prints to serial without fail. EDIT: Its actually failing, just less, serial occasionally prints garbage and the counter resets.

This is obviously not the same with the other components plugged in, even when powered by USB, the arduino fails when the sensor circuit and LCD is connected.

Added a video link to the original post, please refer to it :slight_smile:

The following capacitor arrangement can result significant suppression

though perhaps not in your situation since it's not fully cased (like a Mabuchi motor, etc.)
but it's worth a shot.

Motor gnd connect to arduino gnd. Faraday cage the motor, GND it to the Arduino GND/Both Battery GND's.

Do not "Daisy chain" your grounds. ALL Grounds NEED to be from A SINGLE point, otherwise you create a ground loop effect and Floating grounds which would cause the arduino ground to float above/below the 9V/USB ground causing Brown Out issues (resets).

Good Luck with your school project.

rinkrides:
ALL Grounds NEED to be from A SINGLE point, otherwise you create a ground loop effect

Well, that's mostly correct. But it is actually a lot more complex.

What it is missing is the guidance on which "single" point to pick.

More correctly, all grounds must follow their power and signal/ control lines. So for a sensor or switch which feeds into the Arduino, both ground (which is to what any switches must connect) and any power supply line must run as a pair with that signal line from the Arduino and similarly for an output/ controlled device. The common ground/ supply point should not be at the power supply (or regulator) except for parts of the circuit that have no other common connection.

The most obvious problem in the arrangement pictured is the loop formed by the motor supply wires.

@Paul B - true, very true, i was just posting the short answer since it's a school project, also I believe i did in fact specify the POINT:
"Motor gnd connect to arduino gnd. Faraday cage the motor, GND it to the Arduino GND/Both Battery GND's. "

Your answer while textbook would take a while to implement, not sure the OP has/had that much time.

Ok for grounding, I'm going to connect the arduino ground to the magnet assembly and then I'll connect the motor batteries ground to the magnet assembly. Since the assembly is the common point it should be fine?

As for capacitors, I can connect one from the +ve brush to the magnet assembly, and another from the -ve brush to the magnet assembly, problem is, the magnet assembly and commutators are far apart so I'd have to attached long wires to the capacitor, would that make it pointless? Also what value ceramic capacitor are we talking about here? I have them them all on hand so that's not an issue, there are already 2x 10nF capacitors between the commutators.

I have 3 choke inductors similar to these on hand: https://lh6.googleusercontent.com/-0ze_dNGXvWU/U5-ReMsyq8I/AAAAAAAARkc/dsn8Da68RtM/w723-h618-no/DSC_8167.JPG

Might end up working on a faraday cage, going to cover that box with chicken wire mesh, and then cover it with aluminium foil, would that work or am I wasting time on that? obviously planning to do the same for the arduino and LCD.

rinkrides:
Your answer while textbook would take a while to implement, not sure the OP has/had that much time.

Mind you, if it is what works, might just be worth the time. :roll_eyes:

Which part do you think is not applicable to this case?

I'd have to attached long wires to the capacitor, would that make it pointless

Yes.
But connecting a capacitor across the two bushes is not. This will tend to quench the sparks.

"Also what value ceramic capacitor are we talking about here?"

0.1uF