基于STM32的心电采集设计
mV,STM32 AD转换的输入电平要求为3.3 V,因此,为了单片机能够处理采集到心电信号,需将采集到的模拟信号放大800~1 000倍。前置放大电路已放大了10倍,理论上主放大电路约放大100倍即可。为确保信号不失真,一般单级放大不超过10倍,因此,可采取两级放大的方式 来达到放大100倍的效果,U9固定放大10倍,U11的反馈电阻采用可调电阻,这样就可以通过变阻器的调节达到放大100的效果。此外,因为STM32 单片机的A/D采集不能采集负电平,因此这里设计了如U7所示的电平抬升电路把心电信号提到0电平以上,方便单片机采集。
图6 主放大以及电平抬升电路电路
3 软件设计
得到心电信号后要输入STM32进行AD采集和软件滤波,最终送LCD实现波形显示,单片 机初始化后,程序设计定时器每6 ms中断一次,在中断函数里,对读取到的A/D值采取均值滤波的形式滤除干扰,然后把之转换与彩屏对应的坐标值,在彩屏上画线实现波形的实时显示,整个系 统的程序流程如图7所示。
图7 系统软件流程图
4 测试结果分析
通过电极片和三导联线在人的左臂,右臂,右腿部采集心电信号经前端模拟电路和STM32处理后,最后在示波器和彩屏上得到的心电信号如图8所示。
图8 系统效果展示图
从彩屏和示波器上所得的心电图来看,50 Hz工频信号和基线漂移得到了较好的抑制,从示波器上可看出,相邻两个波峰之间的时间大约为900 ms,这与真实的心电信号基本吻合,图像清晰稳定,能够较好地反映人体心电特征。
5 结束语
本设计实现的是以STM32为控制核心,以AD620,OP07为模拟信号采集端的小型心电采集仪,该设计所测心电波形基本正常,噪声干扰得到有效抑制,电路性能稳定,基本满足家居监护以及病理分析的要求,整个系统设计简单,成本低廉,具有一定的医用价值。
STM32心电采 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)