打印
[STM32F4]

嵌入式中频电疗仪设计与关键技术研究

[复制链接]
5237|37
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Diyer2015|  楼主 | 2018-12-12 13:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    随着人们保健意识的不断增强、我国老龄化社会的到来、以及社会生活节奏
加快导致的亚健康人群的增多,使得人们对医疗保健器械的需求大大增加。针对
这一现象,许多学者提出了低成本医疗的概念。越来越多的低成本医疗项目受到
人们的关注,低成本、低功耗、智能化、便携式的家庭和社区医疗健康监护正在
逐渐成为社会的一种需求。加之智能手机己在当今社会全面普及,诞生了多种能
通过手机控制的设备,且Android系统在智能手机系统中具有较大份额。因此,
为满足人们对电子治疗仪器的需求、迎合当前仪器设备控制的发展方向,本课题
设计了一款在局域网下,能通过Android平台客户端应用控制的嵌入式中频电疗
仪。
    首先,制定系统的总体控制方案,并根据总体方案设计基于STM32的嵌入
式中频电疗仪的硬件电路。整体电路主要包括:控制器最小系统构成、系统电源
电路设计、嵌入式中频电疗仪中低频调制电路、信号功率放大电路以及利用WiFi
模块构成的无线通信电路。
    其次,在硬件电路的基础上,设计相应的控制算法软件。先移植了} C/O S-II
嵌入式操作系统,再在操作系统的基础上开发软件功能代码。在操作系统中,将
每个功能设置成独立的任务,包括:串口收发任务、数据处理任务等。最后以脉
冲调制处方为例,详细阐述一个处方的产生过程。
    再次,在Android平台下开发客户端应用。根据需求,客户端主要分为连接
局域网功能和选择回路治疗功能。实现在局域网下,能利用WiFi技术,达到通
过应用控制嵌入式中频电疗仪产生治疗处方的目的。
    最后,对嵌入式中频电疗仪系统分别进行了全面的检测,以验证设计方案的
可行性。测试项目包括硬件电路测试、软件程序测试以及系统整体调试,测试结
果显示本文设计的系统达到了预期要求。


沙发
Diyer2015|  楼主 | 2018-12-12 13:07 | 只看该作者
    随着人们保健意识的不断增强、我国老龄化社会的到来、以及社会生活节奏
加快导致的亚健康人群的增多,使得人们对医疗保健器械的需求大大增加。医院
资源供不应求、医疗费用的迅猛增长,让看病难、看病贵成为我国13亿人口高
度关注的一个社会问题。针对这一现象,许多学者提出了低成本医疗的概念。越
来越多的低成本医疗项目受到人们的关注,低成本、低功耗、智能化、便携式的
家庭和社区医疗健康监护设备正在逐渐成为社会的一种需求。
    电疗是一种利用不同类型的电流和电磁场治疗疾病的方法[fll,用于临床己有
60多年的历史。随着多年来不断研究的深入,己经取得了较好的临床效果。电
疗方法分类的方式多种多样,按照刺激脉冲的频率可划分为低频、中频、高频[f2l
0} 1 OOOHz的频率称为低频,当低频电流较大时,会造成肌肉的强烈收缩,让患
者感觉到明显的疼痛感,因此它作用的深度有限,常用于治疗表层疾病[[3 ]
1 K} 1 OOKHz的频率称为中频,中频电流作用在人体上时,两电极皮肤间的阻抗
会大大降低,对电流的阻碍作用减小,从而达到较深的深度,常用于治疗较深部
位疾病。大于1 OOKHz的频率称为高频,因高频电流的振动频率很高,不能造成
肌肉的收缩,但可以在组织内产生一定的热效应和紫外光,常用作美容工具。因
为使用高频电流进行治疗时需要借助相应的隔离设施,不适宜进行家用和社区推
广,所以电疗仪常采用中频和低频[4-G]
    中频电疗仪是能产生不同类型治疗波形来治疗疾病的一种医疗保健器械[7]。
与药物治疗相对应,物理治疗相对比较安全、环保,对某些疾病非常见效,比如
通过改善血液循环来改善人体脏器的功能或者改善人体局部组织的状态,电疗法
与倒悬推拿疗法治疗腰椎间盘突出、与中药外敷治疗原发性痛经也有一定的疗效。
    随着信息技术的不断进步,智能手机终端己经成为广大民众的生活必需品,
手机也己经不再局限于电话和短信等基本的功能。现在,人们己经可以通过智能
手机终端进行与学习、娱乐、生活等各方面相关的活动。同时,由于人们越来越
追求设备操作的便捷性,使得市场上诞生了多种能通过手机控制的设备,如用手
机控制电灯、电视、空调等。加之Android系统在全球智能手机系统中占有80%
以上的市场份额,且搭载Android系统的智能手机品牌多、价位相差大,吸引了
各种类型的消费者,使得Android系统下的手机应用开发也具有很广阔的前景。
传统的中频电疗仪由于采用实体按键操作、LED灯显示运行状态,不具备较好
的人机交互功能,而使用Android手机应用既能为用户提供良好的交互体验,又
能节省按键、LED灯等硬件空间。
    因此制作一款易操作、能利用无线通信技术、通过Android平台应用控制的
嵌入式中频电疗仪,既能实现低成本医疗、在一定程度上缓解医患矛盾、减轻医
院负担,又能为患者提供较好疗效。

使用特权

评论回复
板凳
Diyer2015|  楼主 | 2018-12-12 13:09 | 只看该作者
    目前,全球生产制造的电子治疗仪主要分为两大类,第一类是可扩展微处理
器(包括单片机、FPGA等),此类产品可控制产生各类波形,且波形频率和脉
宽各不相同,其中波形种类主要包括正弦波、方波、锯齿波、尖波、三角波等;
第二类是采用模拟电路基本原理,通过谐振等原理生成各类波形,但其硬件电路
固定,可控性不高。经试验验证,第二类方法设计的电疗仪抗电磁干扰能力较弱,
并且具有较大误差,而采用第一类设计则能有效避免上述现象,并且能有效提高
产品的可靠性和集成度。在理疗原理方面,电疗仪主要是专门针对患者的疾病部
位进行电刺激,该刺激能刺激中枢神经系统释放出一种具有调制作用的神经物质
内源性**样物质,从而达到电刺激治疗的目的[Ll。但是,上述两类电疗仪采用
的波形都容易致使患者进入临界状态,一种是疼痛区分临界,另一种是治疗效果
临界,从而无法区分疼痛与否和治疗效果的好坏。同时,该种电疗仪在患者使用
一段时间后会使人对波形刺激产生习惯性适应问题,为解决这个问题,必须要求
电疗仪的输出功率不能太大,而这样又会导致治疗效果不佳。并且一些电疗仪的
结构复杂,用户需要阅读复杂的说明才会使用;还有些电疗仪体积大,既不便于
出门携带,又不利于家庭的使用和推广。此外,部分电疗仪人机交互功能较弱,
致使患者在治疗时对输出强度和治疗模式认知不清晰。虽然此类产品目前还存在
一些不足,需要更深层次研究和更高技术的改进,但它们在临床效果方面具有较
好的治疗效果,因此人们对电疗的前景应该充满信心和期望[[12-13 ]
    经过市场调研,现在国内市面上己经能够买到的一些电疗仪仍然是采用传统
的键盘、LED灯、LCD屏幕等进行操作,且体型较大,既不利于携带,又不利
于用户操作。并且,它们几乎都是采用中频、低频信号分别进行治疗,这样会导
致使用者长时间使用后产生对单一信号的适应性,从而导致疗效大打折扣。因此,
制作一款安全、易操作能通过Android平台应用控制的嵌入式中频电疗仪,它既
能实现低频信号与中频信号的调制,产生“调制中频电流”,使治疗信号兼顾低
频和中频的优点,让使用者不易产生适用性,又能提高用户的体验,将具有较好
的市场前景。

使用特权

评论回复
地板
Diyer2015|  楼主 | 2018-12-12 13:09 | 只看该作者
    目前市面上有一些中频电疗仪,几乎都采用传统的键盘和显示电路进行操作,
且体型较大,既不利于携带,也不利于用户使用操作,还不利于电疗仪朝移动医
疗设备方向发展。针对这些问题,本文研究和开发了一款在局域网下,能通过
Android平台应用控制的嵌入式中频电疗仪,用安装在Android平台上的客户端
应用替代传统硬件键盘和显示电路,同时尽量缩小体积,既能降低电疗仪成本,
又能为今后融入互联网+医疗提供技术基础。本课题在设计时涉及技术较多,重
点解决下述几个部分:
      C1)硬件上实现电疗仪的设计。
    C2)软件上嵌入} C/O S-II操作系统,设计多任务工作模式,为每个功能建
立对应的任务,完成各个任务之间的协同。
      C3)设计一款基于Android平台的手机APP o
      C4)最终实现在局域网下,手机APP与电疗仪之间的WiFi通信,既能完
成控制功能,又能为今后融入互联网+医疗提供技术基础。
    根据合作公司的要求,嵌入式中频电疗仪的性能指标如表1-1所示。

使用特权

评论回复
5
Diyer2015|  楼主 | 2018-12-12 13:10 | 只看该作者
    本课题根据电疗仪的基本结构和控制系统的工作原理及需求分析,采用嵌入
式技术,设计开发一个以嵌入式微控制器STM32为核心的中频电疗仪。该方案
采用WiFi技术,利用Android手机客户端实现对电疗仪的控制。整个电疗仪以
STM32为核心,搭配基本的外设电路,使用C语言编写软件程序,最终构成一
个治疗功能丰富、结构简单、成本低的嵌入式中频电疗仪。其原理简图如图2-1
所示,主要包括以下几个部分:


    Android客户端是安装在搭载Android系统智能手机上的应用软件,它包含
了多个按钮,用来控制电疗仪触发各种动作。WiFi模块是Android客户端应用与
MCU沟通的渠道,它将收到的符合协议规范的指令,以透明传输的方式发送到
目标模块。MCU是电疗仪的控制核心,它负责触发对应处方的信号,并将它们
交由后面的电路进行处理。调制电路是实现中频信号和低频信号调制的模块。功
率放大电路是负责对信号进行放大、升压,以最终达到目标输出结果的模块。传
感器检测设备是对通道输出信号进行检测,并将结果反馈给MCU的模块。
    嵌入式电疗仪系统的运行流程如下:Android客户端发送相应信号给WiFi
模块,WiFi模块将接收到的信号以透明传输的方式发送给MCU中的STM32控
制器,STM32控制器对接收到的信号进行解析,再根据对应输入的信号采取相
应的动作,触发相应的信号发送给后续模块。调制电路接收到来自STM32的信
号后,实现中频信号和低频信号的调制,再将调制后的信号传输至功率放大电路。
功率放大电路对得到的信号进行放大和升压,最终实现信号的输出。传感器检测
模块实现对所在通道的信号检测,并反馈给MCU模块,供其对信号进行检测判
断。

使用特权

评论回复
6
Diyer2015|  楼主 | 2018-12-12 13:11 | 只看该作者
    嵌入式控制器可分为四大类:嵌入式微处理器、嵌入式微控制器、嵌入式数
字信号处理器以及片上系统[[15-1G]。嵌入式微控制器是目前嵌入式系统应用的主流,
它是以某种嵌入式微处理器为内核,再配以相应的RAM, ROM、定时器、通讯
接口等功能模块组成的集成控制芯片。基于Cortex-M3内核的ARM处理器是新
一代的嵌入式ARM处理器,它具有低成本的应用平台、较低的系统功耗、较少
的引肚p数目、良好的计算性能和先进的中断处理响应等特性。
    本设计一方面要满足设计系统实用性的需求,另一方面要考虑尽可能降低开
发成本,因此选用ST公司生产的STM32F103R8T6型产品作为嵌入式中频电疗
仪的控制器,可以满足要求。它具有如下特性[}m-is} .
    1)工作频率:72MHz工作频率,能保证嵌入式中频电疗仪的各种运行要求;
    2)丰富的外设接口:64个管脚,包含3个DART接口、1路CAN总线、2
个I2C接口,能满足电疗仪控制板外围设备接口的需求;
    3)拥有大容量的内部储存器,64K字节Flash程序储存空间,20K字节的
SRAM,能满足嵌入} C/O S-II系统的要求,并能容纳设计的应用程序;
    4) 2个AD C转换器,一位数据的转换周期为lush 1个7通道的DMA控制
器;
    5)芯片提供7个定时器,4个16位定时器,2个看门狗定时器,1个系统
定时器[m}
    6)低功耗。可切换于待机、工作、睡眠三种工作状态,提供VBAT为RTC
和备用寄存器进行供电,能最大限度的降低系统功耗及掉电保护的能力。
    7)工作温度:正常工作的温度范围一40一+105 0C,满足电疗仪使用的温度标
准。

使用特权

评论回复
7
Diyer2015|  楼主 | 2018-12-12 13:11 | 只看该作者

使用特权

评论回复
8
Diyer2015|  楼主 | 2018-12-12 13:12 | 只看该作者

使用特权

评论回复
9
Diyer2015|  楼主 | 2018-12-12 13:12 | 只看该作者

使用特权

评论回复
10
Diyer2015|  楼主 | 2018-12-12 13:12 | 只看该作者

使用特权

评论回复
11
Diyer2015|  楼主 | 2018-12-12 13:13 | 只看该作者
    调制电路采用的是TLC7528芯片,TLC7528是8位数字输入双路输出的模
拟转换器,片内具有输入数据锁存器,保证数字信号和模拟信号的一致性。可设
置工作状态为电压工作方式,在这种情况下输出也为电压输出而非电流输出。在
基准电压输入口REFA和REFB接入对应的中频信号,再在数字信号接入口
DBO}DB7接入低频信号,实现中频和低频信号的调制。其功能方框图如图2-11
所示。

使用特权

评论回复
12
Diyer2015|  楼主 | 2018-12-12 13:14 | 只看该作者

使用特权

评论回复
13
Diyer2015|  楼主 | 2018-12-12 13:15 | 只看该作者
    为了满足性能指标的要求,在实验过程中,特挑选了市面上所有符合要求的
运算放大器芯片,经试验,TPA1517NA等芯片都不能较好实现对波形的放大,
只有TDA2003芯片能较好的满足要求,因此选用TDA2003作为功率放大芯片。
    由于回路1和回路2的硬件组成完全相同,所以此处仅以回路1为例,进行
分析。功率放大电路的输入端由R18和VR1进行分压,分压后交流部分则会通
过C53电容,此时并联C55大电容进行滤波处理,滤除电压纹波。电阻R20和
R25组成同向比例放大电路,运放输出端由C47和R23组成的RC滤波电路滤波。
    将经过功放放大后的电压通过升压变压器T1进行升压操作,由1/2端输入,
3/4端口输出。输出端口3/4连接两个电疗仪极片,就能直接在人体上进行使用
了。在测试过程中,也是对端口1/2或3/4进行数据的测量。
    光电隔离电路将模拟信号转换成TTL电平,输出电压通过PC814光祸芯片,
控制V1端的电平,当光祸芯片导通时V1为低电平,当光祸芯片未导通时,V1
为高电平。V1接到STM32控制器的PCO口,作为反馈,用于检测通道是否有
输出。整个功率放大电路的原理如图2-14所示。

使用特权

评论回复
14
Diyer2015|  楼主 | 2018-12-12 13:16 | 只看该作者

使用特权

评论回复
15
Diyer2015|  楼主 | 2018-12-12 13:16 | 只看该作者

使用特权

评论回复
16
Diyer2015|  楼主 | 2018-12-12 13:16 | 只看该作者

使用特权

评论回复
17
Diyer2015|  楼主 | 2018-12-12 13:17 | 只看该作者

使用特权

评论回复
18
Diyer2015|  楼主 | 2018-12-12 13:17 | 只看该作者
    介绍完中频和低频信号的产生策略后,下面以脉冲调制处方为例,详细分析
一个处方是如何生成的。
    首先,取得处方相关信息。当接STM32控制器收到的处方号介于脉冲调制
处方段内时,进入脉冲调制处方逻辑控制函数PulseControlLogic( unsigned char
chnum )。其流程图如3-8所示,具体过程如下:
    C1)通过标志位StartUpFlag,判断当前通道是否启动。如果没启动,则跳
至(7)。
      (2)如果当前通道己经启动,则通过首次运行标志位FirstRunFlag判断该
通道是否是首次运行。如果不是首次运行,直接跳至(3)。如果是首次运行,则
将秒计数器SecondCounter、该通道运行总时间ProcTotalRunTime、该通道当前
处方步号NowRunStepNum都置零,让首次运行标志位FirstRunFlag失效,使能
当前步结束标志NowStepOverFlag和当前步的当前波形结束标志
NowWaveOverFlag。
    C3)通过标志位NowStepOverFlag,判断该步是否结束。如果该步没结束,
直接跳至(4)。如果该步结束,复位本步时间计数器StepTimeCounter,使当前
步结束标志NowStepOverFlag失效,令当前步的当前波形号NowWaveNumber
为1。
      (4)判断步号和处方号。脉冲处方只有1步,所以设置步号恒为1。当治
疗数据中的处方号小于最小的脉冲调制处方处方值时,令处方号等于最小值;当
治疗数据中的处方号大于最大的脉冲调制处方处方值时,令处方号等于最大值。
    CS)通过标志位NowWaveOverFlag,判断当前步的当前波形是否结束。若
没结束,则函数PulseControlLogic( unsigned char chnum)执行完毕。若己结束,
则先查表得到当前步的中频MidFreq、低频1的波形号WaveNumberId、调制输
出模式OutMode、处方治疗时间TotalTime,并把它们赋值给运行过程中该通道
的通用数据结构sChannelData[chnum];再将当前步的当前波形号
NowWaveNumber加1,且让NowWaveNumber只能在1和2中变换;并将当前
波形计数器NowWaveCounte:清零,将当前波形结束标志NowWaveOverFlag失
效,即让其处于正在进行的状态;最后根据波形号NowWaveNumber,得到低频
波形的参数,具体步骤见(6)0
      C6)根据波形号NowWaveNumber,得到低频波形的参数。由于本类处方
中的低频波形时间是1:1,所以可以将低频波形进行编号为1和2,其中波形1
是正常的低频波形,波形2根据处方要求进行变化。当波形值为1时,将低频1
的频率LowFreql和时间LowTimel以及中频频率赋给运行过程中该通道的通用
数据结构sChannelData[chnum]。当波形值为2时,先判断调制输出模式OutMode
属于连续、间歇和断续中的哪一类,再将相应的低频1的时间、低频1的频率、
中频频率和波形号查表赋值给sChannelData[chnum]。至此,函数
PulseControlLogic( unsigned char chnum)执行完毕。
    (7)使能首次运行标志位FirstRunFlag、当前步结束标志位NowStepOverFlag
和当前步的当前波形结束标志位NowWaveOverFlag,置零该通道当前处方步号
NowRunStepNum和当前步的当前波形号NowWaveNumber。至此,函数
PulseControlLogic( unsigned char chnum)执行完毕。

使用特权

评论回复
19
Diyer2015|  楼主 | 2018-12-12 13:18 | 只看该作者
    (1)判断通道是否启动。通过标志位StartUpFlag判断通道是否启动,若没
启动,则程序结束。若启动,则将单步时间计数器StepTimeCounter加to
      C2)判断单步时间是否到达。每个脉冲调制处方都只有1步,且每隔25ms
定时器中断一次,则单步时间等于NowStepTime*40*60。若StepTimeCounte:比
NowStepTime*40*60小,则跳至(3)。反之,说明时间到,将StepTimeCounter =
60000,以防止溢出,并使能NowStepOverFlag,再将单个波形时间计数器
NowWaveCounter加1。
      (3)判断单个波形时间是否到达。若NowWaveCounter比NowLowTime*40
小,程序结束。反之,将StepWaveCounter一60000,以防止溢出,并使能
NowWaveOverFlag。至此,程序结束。
    在本处方治疗时间内,中频信号和低频信号调制输出,直到经过定时器4中
的通道计时函数ComputeChannelRunTime()计算,到达截止时间时,整个通道运
行停止,即本处方执行完毕。

使用特权

评论回复
20
Diyer2015|  楼主 | 2018-12-12 13:19 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

1615

帖子

13

粉丝