I developed an EMG sensor that detects muscle contractions. Using a scope, the output of the sensor has a peak to peak value of a few hundred millivolts when not contracting. However, when the output of the sensor is connected to an analog input of the Arduino Uno, the signal jumps to a peak to peak of over 1 volt, sometimes close to 2 volts.
Where is this noise coming from and how I can get rid of it?
You are possibly seeing good old 60 Hz noise from fluorescent lights and such superimposed upon your signal, causing an increase in amplitude. Looking at the signal with an oscilloscope right at the Arduino pin might confirm (though it introduces its own earth ground and could disturb the measurement).
I think a common ground will definitely help, or perhaps actively driving the Arduino's ground to a sensor on the body (using an op-amp) to set the body's potential to be the same as the Arduino. There are lots of "open source" EMG interface circuits on the web that might provide some inspiration for this. Googling "emg circuit schematic" brings up lots of related information.
--
The Aussie Shield: breakout all 28 pins to quick-connect terminals
I don't think it's 60 Hz because it only occurs when the arduino is connected. Without any bridge between the circuit and the arduino, the signal is perfect.
Also, I tried a common ground and the signal gets huge and clips.
I've done quite a bit of research on this...I just think it's something specific with my setup, but I can't figure out what.
Okay I've pinpointed the problem, but I have no idea how to fix it. The common ground fixed the issue (I messed up something the first time). Now, the signal is fine until I open the Serial Monitor. THEN, it goes crazy. Any ideas??
It sounds like it's pretty susceptible to noise, and the constant activity of the USB port once you connect is coupling into your signal (my guess). How close are your wires to the "USB side" of your Arduino? Any chance you can keep them as far away as possible?
Can you post more details on your circuit and setup?
--
The Gadget Shield: accelerometer, RGB LED, IR transmit/receive, speaker, microphone, light sensor, potentiometer, pushbuttons
do you mean, on the board use say A5 instead of A0 because its further from the USB port?
Well, yes, and also make sure the wires go away from the board and don't run over the USB part as they are exiting. Though if your signal is "going crazy" I have a feeling it's more serious than just picking up some stray noise from the USB.
There are a couple of issues with your schematic. The LM741 is not a good choice for this kind of "sensitive" work. A higher-quality rail-to-rail op-amp would be better. Also, it looks like your final output stage is bipolar (goes both positive and negative) and you cannot put negative voltages into the Arduino.
--
The Ruggeduino: compatible with Arduino UNO, 24V operation, all I/O's fused and protected
I've moved the wires away as you suggested and I'm getting the same issue. I understand there are better op amps than the 741, but it doesn't seem like that would be the reason the serial monitor is distorting the signal so much. Also, the final two op amps act as a rectifier so the final waveform is all positive.
You are probably measuring some capacitive pickup. Are the probes double-shielded? (outer shield ground, inner-shield is a low impedance buffered version of the signal to cancel cable capacitance loading).
This is the scheme recommended in "The Art of Electronics" from what I recall - it shields all the signal wires from capacitive pickup without imposing any capacitive load on the high-impedance signals at low frequencies.
You certainly need to move the subject well clear of any mains wiring, computer or fluorescent or compact-fluorescent bulb, these put out lots of noise. Is the subject grounded?
Your circuit is differential, so how are you routing the two signal wires? Ideally they should to run parallel (and preferably twisted together) to reduce magnetic (near-field) interference.
The LM741 is an unfortunate choice of op-amp for this circuit, its not designed for less than a +/-15V supply and has very poor specs by modern standards. It was state of the art in 1968.