Intro: EMI Detector Using Arduino
I recently had a problem with electrical noise, and developed this simple EMI noise detector to track the source down. This Instructable describes my problem, and the solution I developed. I offer it in the hope it will be useful to you or else spark further ideas in your mind.
Step 1: The Problem
Having the house to myself, for the first time in a long time, I intended to enjoy some of my vinyl collection at volume levels which would bias my loud-speakers into their optimum operating mode, especially as vinyl is making a resurgence.
Hmmmm.... the Beatles sounded like they were frying chips, which began as soon as the stylus set down upon the disk. As soon as the tone arm returned to its rest the frying/sizzling stopped... very strange (as the Beatles said in Penny Lane.)
Clearly, when the arm was lifted off the record or on its rest it was muting. When the record was playing it was un-muted and picking up interference from somewhere.
My first though was that the near-by central heating timer was generating noise, as the TV was clearly off.
I decided I needed an EMI sniffer ...£$£$ how much???? Then I remembered an earlier Instructable about using an Arduino as an EMI detector, so I thought I would develop my own, based on a simple light-level meter we had made at an Arduino workshop run at Coventry Makerspace (http://www.coventrymakerspace.com)
Step 2: The Prototype
I set-to replacing the light-dependent-resistor with a high-value resistor and a piece of wire as an aerial/antenna. After a bit of tuning it worked pretty well. I replaced four of the red LEDs with three green and one yellow. The Arduino senses the voltage on pin A5 ( the analogue input pin nearest the end!!) and the more the voltage the more LEDs light up.
It worked pretty much as expected, after a bit of tweaking of the threshold values. .pdfs of the design files are provided and a video of the prototype working...
Step 3: Parts List
The components list:
3 x red LEDs
1 x yellow LED
3 x green LEDs
7 x 1KΩ resistors
1 x 4.7MΩ resistor
1 piece of perforated board (dare I say plain Vero Board?)
Arduino connector strips
1 Battery connector
(Please see images 1-3 above)
...oh, yes, and an Arduino - of course!!
Soldering iron, solder, cutters and pliars
I decided to use the perforated board to save the time and expense of developing a PCB - I used point-to-point wiring instead.
Step 4: Putting It Together
I cut the perforated board to size (as you can see it was recycled from another project!) then just as I was about to glue the connector strips I realised that the spacing on the Arduino was not consistantly 0.1 pitch. I set about "relieving" the edge ...yep, the board sheared (D'Oh!!) ...but wait; happy accident. with the use of a file to clean the edge, everything fitted perfectly, please see images 1 and 2.
I then realised that the LEDs would not fit on the 0.1 pitch, so I spaced them out ... they then did not nicely align with the Arduino pins, so you will see in the script I used alternative pins for the final version! Images 3 to 6 show me constructing the circuit; I soldered wires to the connector pins (outputs 13, 11, 9, 7, 5, 3 and 1) for the LEDs, then placed the LEDs, then verified I had them the right way round (!!!) before soldering them to the wires. I then placed the 7 1K resistors, soldered them to the LEDs and the negative connection, then the 4.7M resistor was placed, one end soldered to ground, the other to the piece of wire I was using as an antenna. As shown in image 7, I was ready to go. The .pdf is the final script ...wow, its even allowed me to upload the actual .ino script...enjoy!
Step 5: Results - and Result!
The first result was drooping - no the antenna, so I had to stiffen it with a piece of stiffer wire.
The next problem was that my PP3 battery had seen better days and died ... in the end I just plugged the Arduino into a powered USB hub!
Well, then there was a surprise; the central heating clock was making no noise at all (well, Randall, you see, good honest name that - nearly my name!)
Ahhh, but the TV was emitting lots of noise ! As you can see from image 3 above, the TV was "turned off", but image 4 shows it was still turned on at the wall.... hmmmm... I turned it off att he plug ... and all was quiet as shown by image 5. RESULT!
So, I was able to enjoy Sgt. Pepper in all its analogue glory... until my wife and kids came in and turned the TV on again! My next project is clearly mending the TV!