MyoWare – MYOELECTRIC SENSOR
Written by: Carolina Barrera
Our muscles are controlled, and usually move thanks to electric impulses that produce contraction in these, and the reaction to that contraction is what we know as a movement. Electromyography technology was developed to evaluate and record this electrical activity.
Myoelectric signals are becoming popular in medicine and prosthetic technology probably because they are the most recent, and more practical control for people that are missing a limb. The great thing about this idea is that people left with the remaining of their limb can control the device. In other words, the technology is minimizing the difference of what could be consider a full-functional amputee and a full-functional non-amputee.
For our project, we are implementing an EMG sensor which sends an analog signal our MCU. A threshold voltage was set so when the voltage generated by the bicep goes over this value for a certain amount of time the motor is activated. Since we need to move the arm up and down intervals were assigned. The longer interval will make the arm move down, and the short interval will make it move up.
To test the feasibility of implementing this type of control for our project we needed to see the different values the sensor outputs in the different patterns of motion in the arm (bicep and forearm).
We were not sure if flexing or tensioning the arm were more effective for achieving our threshold, and we wanted to make sure that one wouldn’t interrupt the movement of the other unintended. Our test shows the output of the sensor in four different patterns of moving and tensioning the bicep.
Luis wore the EMG sensor, and we use the built-in Serial sample from the Arduino IDE to read the analog values from the EMG.
We performed different motions with the arm to see which could get a stable high-signal for long enough, and also that I couldn’t be interrupted easily by other unintentional movements when lifting the arm.
Figure 1 shows four different actions that show significantly different outputs that could be implemented in the code when programming the sensor. The four action in chronological order are: relaxed arm, tensioned arm, lifted arm, and tensioned and lifted arm.
From the test, we concluded that tensioning and lifting the arm outputs a relatively large signal (compared to the other motions), and the signal is stable as long as we can keep the arm lifted and tensioned. Later on we discovered that twisting the arm also helps outputs a high signal, so in case up-and-down-movement is restricted we can always try twisting the arm.
We also discovered that the best location to position the sensor (with the electrodes) in the inner side of the bicep -by the side of the arm tha touches the torso. Figure 2 shows the position we put the sensor in the arm. As for the two electrodes, Sparkfun reccommends to place the sensor so one of the electrodes