Hello, Temporalis

I finally got around to testing the output of the Muscle Sensor. The initial results look pretty good. Here are my notes...

The temporalis muscles (located at your temple) aren't very strong. You won't catch anyone flexing them down at Venice Beach. This makes them challenging to monitor, because they don't produce much voltage when they contract. However, I was able to detect a significant difference in output voltage when I clenched my teeth together.

My circuit produces a  +/- 4V dual power supply from a single, lithium polymer battery. I feed that voltage to the Muscle Sensor directly and then power the Arduino and peripherals through a 3.3V regulator. The Muscle Sensor is connected to an analog to digital converter (ADC) on the Arduino. At rest, I get ADC values of 100 or less. When clenching, the values jump to 300+. This is with the gain potentiometer on the Muscle Sensor cranked up to the maximum setting. I also tested the circuit with a +/- 9V supply using two batteries. The results were about the same, only shifted to a higher voltage. There wasn't a noticeable improvement in the difference between the signal and the noise floor.

By default, the Arduino uses its source voltage (3.3V, in this case) as a reference. So, that means the amplified voltage coming out of the Muscle Sensor is roughly 0.5V - 1V. Since the ADC reference voltage is 3.3V, I'm only using one third of its potential resolution. I was contemplating an external voltage reference when I discovered that the ATmega328P (which the Arduino Pro Mini is based on) has an optional, internal 1.1V reference. The Arduino ADCs can be configured to use it through the analogReference function. I haven't tested it yet, but I'm hopeful it will improve the resolution. 1.1V / 1024 steps = 1 mV of resolution.

One other thing I noticed during my tests... EMG readings are very susceptible to ambient electrical noise. I have a fluorescent light at my workbench. When I touched the metal case around it, the ADC readings maxed out. Also, in order to see the ADC values during my test, I printed them out to the serial console. The USB cable was connected to my circuit and I noticed that touching the laptop caused big fluctuations in the readings.

My next step is to take some measurements with the lower ADC reference voltage, while disconnected from the computer and away from the noise.


Popular Posts