emg acquisition device

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Naz99
Level 3
Level 3
10 likes given 25 sign-ins 5 questions asked

hello, I am using psoc 5lp cy8ckit-059 prototyping kit and planning to create a simple emg acquisition system using single differential channel. The attachment below is my project and when i trying to test it with my electrode which connected to pin_1, the reading is not right as in image below. I have tested the circuit using VDAC 100mV (connected to pin_1, PGA input) and it worked well. Do I need to add something like filter?

display.png

0 Likes
13 Replies
DennisS_46
Employee
Employee
100 sign-ins 50 likes received 50 solutions authored

I looked at the project. The input is not differential, what is the ground reference? 

EMG signals are about like ECG signals, about 1 mV, with bandwidth from .1 to 100 Hz.
I suggest a differential amplifier, two PGAs back to back. Bias both inputs at mid supply.
Connect the diff amp outputs to the input of a differential ADC.

Your sample rate is much to high to be useful. Set it for 50 ksps or so and make your filtering easier.

Take a look at on-line references for ECG systems to get hints for circuit design.

I have 3 patents on ECG signal processing and 22 years at Cypress, I can probably help. Send your phone number by private email if you want to chat.

---- Dennis Seguine
PSoC Applications Engineer

lock attach
Attachments are accessible only for community members.

thanks DennisS for the answers. I have modified my project (in attachment below) but it still didn't work. I want to create the acquisition system without using external component outside psoc. Is it possible?

0 Likes
DennisS_46
Employee
Employee
100 sign-ins 50 likes received 50 solutions authored

Your input wasn't quite balanced, and there is no way to pin the input voltage to within the common mode range of the chip. Try something like:

DennisS_46_0-1649880857069.png
You could try even more gain to get better resolution; remember input signal level is about 1 mV. Filters can be done in the filter component or by writing your own FIR or IIR filters.
---- Dennis

can I know what are the values of R_1, R_2, R_3 and R_4 because I can't see it clearly. I tried testing the circuit you suggested using resistor I currently have (as image below) and it did have reading but when I move my muscle the reading didn't change much. 

circuit 1.png

0 Likes
DennisS_46
Employee
Employee
100 sign-ins 50 likes received 50 solutions authored

R1 and R2 = 10k to set mid-voltage bias point.
R3 and R4 = 1.0 meg so as not to load signal.
Typical skin impedance is modeled as 47k||47 nF.
To make good contact, use 3M red dot electrodes
https://www.amazon.com/Red-Dot-Multi-Purpose-Monitoring-Electrode/dp/B01AME7YC0/ref=sr_1_3?crid=242M...
To connect to the electrodes, use TENS wires (cheap):
https://www.amazon.com/Wires-Electrode-Durable-Electrodes-3-5mm/dp/B073P2SHQY/ref=sr_1_9?crid=1IGTFW...
The wire in a phone jack to your circuit.

A 2 mV signal with gain of 32 yields 64 mV. A 12 bit converter on 5V has 1.25 mV per bit, so you should be able
to see some signal. START WITH A SIGNAL GENERATOR FIRST, prove that it works, then flex your muscles.

Do some research on existing EMG monitoring systems and signals so you know what to expect.
An questions, send you phone by private email in this forum and I can call  you.
---- Dennis

 

lock attach
Attachments are accessible only for community members.

I have tested the circuit with the resistors, the circuit works well and I get the signal. Now, I am trying to construct a single  differential circuit based on an EMG refence book (image below) but when I tested the circuit, I got negative readings.

SD.png

This is the single differential circuit from the reference book

mode  2.png

this is the circuit I have constructed in PSOC creator

result2.png

this is the result

0 Likes
Naz99
Level 3
Level 3
10 likes given 25 sign-ins 5 questions asked

thank you for your answers. I will need to wait some parts to arrive. I am new to this but will do my best for this project. I will contact you if I have another question. thank again 🙂

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

Naz99,

As alternative, you may try inexpensive external HX711 24-bit DelSig-ADC module, which can provide +/-80mV scale at 80Hz.

HX711: 24-bit Delta Sigma ADC interface for weight scale using PSoC

It already has built-in PGA. The advantage is very low price (<$1), and possibility of using multiple devices simultaneously

DennisS_46
Employee
Employee
100 sign-ins 50 likes received 50 solutions authored

What was the reference for the single differential schematic?

---- Dennis

0 Likes

below is the schematic circuit from the reference book

schematic.png

 I am planning to construct the circuit as in the sketch below:

sketch 2.png

 

 

 

0 Likes
DennisS_46
Employee
Employee
100 sign-ins 50 likes received 50 solutions authored

I asked a simple question. I repeat:

What is the reference book?

---- Dennis

0 Likes
Naz99
Level 3
Level 3
10 likes given 25 sign-ins 5 questions asked

sorry for the misunderstood, i though it was reference voltage. The reference is from journal below:

Tutorial. Surface EMG detection in space and time: Best practices - ScienceDirect

0 Likes
DennisS_46
Employee
Employee
100 sign-ins 50 likes received 50 solutions authored

Nazhan:

OK, now  I get it. To do the double differential, you can do two separate differential channels, digitize, then
subtract the second from the first. The attached project shows one way. I had a problem with the build. The
PGA outputs should be able to route directly to the ADC, but it struggled; I must have done something wrong
but this routes and should work.

The idea is to keep the two ADC conversions as close together as possible. You can set a sample rate of 50 ksps (20 usec / sample). The samples will be therefore 20 usec apart. This is very small compared to the maximum
rate of change of the signal. Calculate the difference between diff1 and diff2 in your code, don't bother trying
to do it in analog hardware. The ADC's SOC (start of convert) is triggered by the PWM. You will get an end of
convert interrupt, use that to start your calculations.

You don't need that extra reference line into the ADC because the signals are already referenced to mid-supply.

Let me know how it works out.

---- Dennis

0 Likes