肌电图(EMG)是一种评估肌肉和神经细胞的健康状况的医疗程序。这些细胞传输导致肌肉的电信号收缩或放松。EMG用于读取这些信号并将其绘制为数字或图形。
通常,EMG由医生执行,作为诊断工具的一部分,可以检测潜在的肌肉或神经疾病。然而,EMG传感器也用于肌肉控制的电子应用 - 例如通过使用肌肉状运动来控制伺服电机或机器人臂。
在这个项目中,我们将使用基于AD8226的EMG传感器在Arduino的帮助下绘制EMG图。AD8226是一种广泛用于设计传感器的仪表放大器。它提供1至1000的收益。它也广泛用于医疗仪器,桥梁放大器,工业过程控制和便携式数据采集系统。
在这里,我们将学习如何使用Arduino Uno接口基于AD8226的EMG传感器,并在Arduino Uno上绘制肌肉组的电气活动。传感器可用于测量任何肌肉的激活,包括二头肌,四分之三,小牛等。
组件
1。arduino uno x1
2。基于AD8226的EMG传感器X1
3.52mm电极焊盘x3
4.一个3引脚连接电缆X1
5。9V电池X2
6。连接电线和跳线电线
软件
EMG传感器
该项目中使用的EMG器件是3铅差分肌肉/肌电学传感器。它配备了一个板载,可用于连接常规EMG / ECG电极的3.5mm电缆端口。
虽然传感器不是行业级的EMG装置,但它有效测量和监测肌肉激活。它可用于机器人,假肢和各种控制应用。
传感器板具有此引脚配置:
该传感器非常适合与微控制器一起使用。然而,与行业级医疗传感器不同,它不会输出原始EMG信号。相反,传送放大的,整流和平滑的信号,可以在Arduino的模拟输入引脚(或任何其他微控制器)上读取。
电路板由直流电压供电,该直流电压从+/- 3.5到+/- 18V范围。输出信号电压可以范围为0V。可以使用车载电位器改变传感器的增益,该电位器可以在锅上调整0.002至20,7000.01Ω至20,700°。输出差分信号可以从0MV变化到电源电压/增益。
传感器板使用AD8226仪表放大器。它只需要一个外部电阻来将增益设置为1到1000。放大器在电源上运行,在+/- 1.35到+/- 18V(用于双电源)和2.2到36V之间的范围(用于单个电源)。
它还可以处理超出其轨到轨电压的电压。例如,即使有5V电源,IC也可以承受高达+/- 35V。
AD8226是一个小型,多通道,低成本和低功率放大器。
电路连接
传感器板有两组销:
- 一种3针套装包括 - + vs,gnd和-vs终端。它用于为AD8226放大器提供双电源。
- 一种2针套装包括信号和GND终端。它用于将电路板与微控制器接口。
首先,您需要两个9V电池。将一个电池的正端子连接到+ VS引脚。然后,将相同电池的负极连接用第二电池的正极连接,将其连接到3引脚头中的GND引脚。
接下来,将该第二电池的负端子连接到-VS引脚。这为传感器提供了+/- 9V双电源。
要与Arduino接口,将2针标头中的GND引脚连接到Arduino UNO上的任何两个接地引脚。最后,将信号引脚连接到任何模拟输入引脚,例如A1。
电路原理图
电极
确保配有3.5mm插孔的3引线电缆连接到传感器板。然后,EMG / ECG电极可以连接到电缆上。
选择肌肉组以监测,例如二头肌或小牛。将一个电极放在该肌肉组的中间,并将红色电缆的卡扣连接器连接到该电极。接下来,将第二电极放在该肌肉组的一端,将绿色电缆的卡扣连接器连接到该电极。
然后,将第三电极放在同一个肌肉组附近的体内的骨骼或非肌肉部分上。将黄色电缆的卡扣连接器连接到该电极。
arduino素描
int emgpin = a1;
int emgval = 0;
void setup(){
Serial.Begin(115200);
}
void loop(){
emgval = analogread(emgpin);
serial.println(emgval);
}
这个怎么运作
EMG信号的范围可从50U到30 MV。AD8266传感器提供高达1000的增益,可以将EMG电位放大到MV电平。通过AD8226仪表放大器放大,整流和平滑“读取”EMG信号。
当电极适当地放置在肌肉组织上时,它们的收缩和弛豫产生EMG电位。这些电位被传感器拾取并放大到可测量的范围。通过使用车载电位计可以调节传感器板的增益。
来自传感器板的输出信号通过Arduino的输入引脚读取。由于来自传感器板的输出信号进行整流(并且在MV范围内),Arduino可以轻松阅读。Arduino被编程为读取其A1引脚的模拟输入并将读数打印到串口。
这些EMG读数可以设置和监视为数字,范围为0到1023,在Arduino IDE的串行监视器上或作为其串行绘图仪上的图形。
代码
通过将A1作为引脚分配A1以读取EMG传感器的模拟信号。声明变量“emgval”以存储从传感器接收的模拟值。
在SETUP()函数中,串行通信的波特率设置为115200.在循环()函数中,传感器的模拟电压被读取并存储在“emgval”变量中。
模拟读数打印到串行端口,在那里可以在Arduino IDE的串行监视器或串行绘图仪上监控它们。
结果
提交:传感器提示










