基于F0单片机的无线心率心电监测系统

控制/MCU

1878人已加入

描述

STM32F0系列的单片机不仅带来了低廉的价格而且带来了更新的功耗但是性能却没有打多大的折扣,低于得成本和低功耗的设计是十分合适的。我的项目本身是在F1系列上开发,但是考虑到其以后的成本,想在开发后再移植到F0单片机上,所以以下的一些介绍可能跟F1单片机联系比较多,而F0系列的单片机我是通过了学习掌握了其基本用法,利用MX和MBED进行了一些基本的例程的使用,还没用将我所有的程序移植到我们的F0单片上,毕竟一个新的产品还是先在自己熟悉的片子上跑比较合适,这样画PCB板子的时候会成功率高一些。

我的预想方案是基于F0单片机的无线心率心电监测系统,病人或者老人通过将电极放在身体的测量位置就可以读取心电图和心率通过无线的方式将其传送到网络中,监护人员可以通过检测被检测人员的心率和心电图可以对他的身体状况作出判断,其优势是便携,可以有很多结点同时采集,这个可能用到ZIGBEE组网技术这里先不提到了,这是后面的工作了。接下来我从电路和编程两个方面来分享我的开发方案。

先上一张实物图。

之所以没有用开发板板子连接器件的原因我之前已经说过了,在F1上完成设计后只需要移植核心代码就可以在F0上继续运行所以不必纠结于是否在开发板上开发,再者我使用的心率检测芯片是BGA封装的芯片,我只能为其设计新的电路板才能让其正常工作。而电路板的反复设计修改测试也花费了不少的时间,只要功能能够完成,程序的移植是很方便的。

接下来是硬件电路的设计:

这个设计的难点在于采用的心率检测芯片的电路设计和驱动程序的编写,之前采用了一款BMD101的心率采集芯片其只有一路心率的检测也能提供很好的中文支持但是我的设计需求是能有多路的采集,如果用BMD101来完成设计就会让开发成本变得很高,也就没有意义,所以经过考虑采用了TI出的ADS1293来采集心率数据。这样就要自己根据全英文的官方说明书来设计硬件电路和编写驱动程序了。这样降低了硬件成本但是大大加大了开发难度。

这个是STM32的基本系统电路图:

STM32

SWD下载调试电路:

STM32

采用TPS系列3.3V稳压芯片来获得工作电压电源用了简单的滤波设计,给芯片更稳定的模拟电压:

STM32

USB通信电路:

STM32

简易电池充电电路:

STM32

模拟前端信号采集电路:

STM32

最后是测试用的无线通信模块:

STM32

接下上电路板的正面:

反面:

接下来介绍这次设计的核心器件ADS1293,他是TI出的一款低成本的心率检测芯片:

STM32

利用它优异的性能和低廉的价格可以开发出低成本你的应用。

这是他的引脚介绍。

STM32

实物连接图:

STM32

上位机效果图:

STM32

接下来是程序设计啦:

利用数据书册中的SPI时序模拟通信写出基本的读取程序之后的开发将建立在这样的基础上。

下面是STM32的附件程序,使用MDK5.1编写。实现了基本的数据读写和采集,之后项目将转向ZIGBEE组网开发,将获取的数据经过网络再传输到总服务器上。希望对大家有所帮助。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分