新生儿暖箱内床体倾斜与角度控制的实现
2017-11-06许俊红吴习之
许俊红 吴习之
1 深圳市科曼医疗设备有限公司 (广东 深圳 518000)2 波士顿大学电子与计算机工程系 (美国 波士顿 02215)
新生儿暖箱内床体倾斜与角度控制的实现
许俊红1吴习之2
1 深圳市科曼医疗设备有限公司 (广东 深圳 518000)2 波士顿大学电子与计算机工程系 (美国 波士顿 02215)
由于暖箱内床体组件每周都需要清洁,在床体上安装传感器很难实现。床体倾斜的运动轨迹,可转换为三角形函数关系式,通过相应的算法可以计算出近似倾斜角度。采用Proe软件设计出合适的快拆与执行单元,通过机构仿真模式确认结果,并打样出实物;利用电机拖动技术,计算出需要的电机扭矩和速度,采用编码器或其他位置传感器实时采集电机或执行单元的位置,计算出直线距离,带入对应的数学模型,计算出当前的角度并反馈给控制单元,完成闭环控制。对系统进行了多次角度控制测试和保护电测试,系统均能很好地满足设计的控制要求,能够使床体很好的控制到指定角度。利用Proe软件和电动拖动技术实现新生儿保温箱内倾斜角度的自动控制。
新生儿暖箱 自动床体倾斜 角度计算方法
暖箱是医护人员救治早产儿不可缺少的工具,在使用过程中,患儿每小时记录一次生命体征参数,2~3h喂一次奶,4h测量一次体温,每天都要观察病情、测量体重或洗澡,这些操作都可能会需要调整床体的倾斜角度[1]。将传统的手动床体倾斜改为电动倾斜是非常有必要的创新。由于婴儿床每周都要清洁,在床体上装角度传感器非常困难,接线复杂,更不利于清洁,经常用消毒液擦洗也很容易损坏链接端子。本方案利用三角函数关系式,通过将直线运动的数据,带入数学模型计算出角度的变化,可以有效避免上述问题。
1.系统介绍
1.1 暖箱的硬件系统
根据暖箱的功能需求可将暖箱的硬件部分分成以下单元:系统电源模块、人机交互模块、生理监护模块、控制检测模块、功率驱动模块、独立超温保护模块等,各模块电路都满足安规要求,稳定性高,功耗低,符合EMC和辐射要求。具体链接信息如图1。
1.1.1 系统电源模块
系统电源模块包括两个部分,AC-DC和DC-DC;AC-DC部分采用标准开关电源,具有双重过压保护,并满足高低温测试要求。DC-DC部分根据系统需要转换成12V、8V、5V、3.3V等电压值,供整机板卡正常工作使用。并具有电池管理功能。
1.1.2 人机交互模块
人机交互模块是系统控制的核心,为系统提供功能接口,分析、显示和存储数据等。主控芯片采用ATMEL的AT91SAM9G45,ARM926内核,主频400MHz,外扩128M内存和128M的NandFlash,可以驱动800×600分辨率液晶显示屏,具有4个串口用于连接不同的参数模块,1个RJ45
接口用于连接中央系统,2路USB用于软件升级或其他扩展、音频接口用于驱动等。1.1.3生理监护模块
生理监护模块主要实现:三导联心电(ECG)和阻抗呼吸(IRESP)、无创血压(NIBP),脉搏血氧饱和度、呼吸末二氧化碳等参数的数据采集与处理。主要有前段保护电路、电压跟随与信号放大电路、AD采集电路和数据处理单元。
1.1.4 控制检测模块
控制检测模块是新生儿暖箱里恒温、恒湿系统的主要控制单元,并具有温度采集,湿度采集,氧浓度采集,床体升降和倾斜系统的控制,称重测量,窒息检测通讯和窒息唤醒驱动等。主控制芯片采用STM32F103,具有72MHz的主频,丰富的外设。根据采集信号控制驱动板功率设备的运行与停止。
1.1.5 功率驱动模块
功率驱动模块是新生儿暖箱里加热设备,加湿设备和升降系统的驱动单元,采用多路继电器和固态继电器配合使用,有效避免单一故障不可控的情况。并具有回路电流检测功能,通过接口将功率设备懂得实时工作状态反馈给检测控制板。
图1. 暖箱硬件框图
1.2 暖箱的软件系统
软件的主要功能是对参数模块的信息采集及相关波形和参数的显示、处理人机交互通信,对数据进行掉电存储和回放。模块的信息采集包括:3导联心电参数,呼末二氧化碳参数、无创血压参数、NELLCOR血氧参数、Masimo血氧参数、体温参数、伺服供氧、箱温检测、体重测量与报警系统等。软件系统采用开源的linux系统,包括如下几个单元:硬件驱动层,linux内核,业务逻辑层和应用层[2]。如图2。
图2. 暖箱软件系统框架图
软件的主要功能如下:各部分之间的通信协议解析、处理和显示;通过触摸屏和按键进行人机交互操作,设置系统参数,并保存;显示输出暖箱和监护的信号的波形和测量结果;数据存储与导出;支持USB/网络数据导出功能;通过网口,协助PC机的对应软件实现:患者信息回顾功能、中央监护功能、USB在线升级功能;支持多网络接口下的IP转发,支持ICMP协议及实验性扩展的UDP;支持PPP,增加了IP fragment的支持,还支持DHCP协议,动态分配IP地址;包括阻塞控制,RTT估算和快速恢复和快速转发的TCP(传输控制协议);提供专门的内部回调接口(Raw API)用于提高应用程序性能;可选择的Berkeley接口API(多线程情况下);支持多语言;机器维护、版本信息等其他功能。系统软件架构如图3[3]。
图3. 系统软件架构图
2.暖箱床体倾斜的设计
2.1 硬件详细设计
床体倾斜的硬件电路主要有电机选型,功率驱动电路、行程检测电路、保护检测电路组成。电机选型中跟应用密切相关的是转矩,一个系统需要的峰值转矩(Tp),可以通过将负载转矩(TL)、惯性转矩(TJ)和克服摩擦(TF)所需要的转矩相加得到。同时考虑到其他因素的影响,计算转矩时要留出20%的余量[5],其计算公式为:
电机选型和传动机构设计是个难点,尤其是传动机构,设计不完善整个操作体验就非常差,而且噪音、寿命和可靠性都很难保证,成本也高。因此这部分选用标准电动推杆设备,只需要统计出床体重量、患儿体重范围及救治过程可能用到的其他仪器,根据总体重量选择合适的电动推杆。计算公式:(总量+余量)×9.8=推杆推力。这些质量加起来一般不会超过30kg,选择600N的推杆就足够了。另外考虑到噪音和安全因素,最好采用直流电机。功率驱动电路可以采用继电器作为控制执行单元。行程检测采用霍尔传感器,电机每旋转一圈产生一个脉冲,总行程与脉冲数量为对应关系。保护电路采用电阻分压法,在电机电源电路中串联一颗阻值很小的功率电阻,再配合运算放大电路做小信号放大,送给主控单元,用来判断有没有产生堵转过流故障。如图4。
图4. 整机系统框图
2.2 软件详细设计
新生儿暖箱电动床体倾斜简述,A是电动推杆,垂直固定在婴儿培养箱底座支架上;B是床体的中心支点,用来支撑床体的倾斜旋转,固定在床体的支架上;C是婴儿培养箱床体。其中电动推杆A可以实现升降直线运动,在床体中心支点B的基础上就实现了床体可以一边高一边低的倾斜效果。如果A上升,中心支点B为对称分割点,整个床体机构的等效三角形关系,如图2,此种情况为正角度倾斜。如果A下降升,中心支点B为对称分割点,整个床体机构的等效三角形关系,如图3,此种情况为负角度倾斜。图2与图3两种情况的角度调节与直角边a的关系刚好相反。
培养箱床体倾斜系统简图,如图5。
图5. 培养箱床体倾斜系统简图
由图6可以看出,只需要计算出对应的r角度就可以知道当前的倾斜角度是多少。其中床体中心支点B到升降推杆A的距离是固定的,有测量得出具体值,即为三角形的直角边b;升降推杆上升和下降的行程可以通过编码器检测出,即为三角形的直角边a。有两个直角边,利用正切与反正切公式即可算出r角度,就是当前床体倾斜的角度。计算公式如下:
主要原理是将床体倾斜等效为两个水平对称的三角形的数学模型,其关键点是水平的直角边是固定的,垂直的直角边是可变的,通过检查垂直直角边的变化,代入算法模型来计算出角度的变化。垂直直角边有一个关键位置点,当床体水平时,即为垂直直角边的0点,也是用户看到床体倾斜为0˚时的情况,当倾斜角度为正时,直角边a与倾斜角度的关系为正,就是直角边越高床体倾斜角度越大;当倾斜角度为负时,直角边a与倾斜角度的关系为负,就是直角边越高床体倾斜角度越小;床体水平位置可通过光电开关或是霍尔传感器等来检测得到,也可以不用传感器,通过出厂设置和校准来认为确定,上升或下降有系统程序根据实际需要来控制。
数学模型理论上成立,但反正切计算在嵌入式系统里运行起来非常耗资源,此处可以采用查表的方法来求得。就是将床体倾斜要用到的角度和正切值一一对应的存储到嵌入式系统里,正切值可以通过两条直角边的比值计算出来,有了正切值可以通过查表找到对应的角度值,这种方法更节省系统资源。
整个系统包括:人机交互部分、mcu嵌入式计算单元、升降推杆、行程检测和结构部分。人机交互部分分为:显示区和控制区。显示器包括:液晶屏、数码管、led点阵和指针表盘等任意一个或几个。控制部分有按键、飞梭或触摸屏等任意一个或几个组成,这部分主要完成用户需求的输入,就是床体需要倾斜多少角度。Mcu嵌入式计算单元包括微处理器、内存、ram、flash等,负责整个算法的计算、升降控制信号管理和当前升降推杆高度的检测等。升降推杆是市面上常用的电动或或气动可以控制的升降机。行程检测部分包括霍尔元件或光电开关等传感器或电位器等,当升降机上升或下降时会有对应的脉冲输出或电压值的变化,被微处理器检测并用来计算移动距离,如升降机每动作1mm,有1个脉冲输出或10mV的电压变化,这里的信号值为了方便描述为假设值,实际升降杆移动1mm输出的脉冲数或电压变化值要根据升降机的丝杆螺纹间距和检测单元的个数或量程来定,但这些在选定升降机后都是固定值;由于霍尔元件或光电开关是非连续信号输出,当使用这类传感器检测行程时需要保存上一次关机前的当前位置。结构部分包括床体、床体支架、底座等用来固定整体系统的框架和外壳。有以上描述,并根据运行时间的需求,构思出算法和数据结构的框架[4]。根据需求定义一下数据变量,
图6. 倾斜角度计算示意
变量定义:
r1用户输入倾斜角度值。
t1输入角度对应正切值。
a1为输入角度值计算出的目标行程,三角形直角边a的目标高度值。
b为床体水平固定长度,三角形水平直角边b。
a2为升降推杆的当前高度值,三角形直角边a的当前高度值。
h为床体水平时升降推杆的高度值。
tmp缓存变量。
Lift()推杆上升控制接口函数。
Down()推杆下降控制接口函数。
Distance()行程检测函数。
首先将用户输入的角度r1取绝对值,转换成三角函数正切值t1,而床体的水平长度是固定已知值b,由此可以计算出目标垂直边a1的高度。然后判断r1的正负,来区分是进入正角度调节,还是负角度调节。如果是正角度,将a1和a2比较来判断当前角度与目标角度的差异,如a1大于a2说明当前角度小于目标角度,mcu控制升降推杆上升并实时检测当前的高度a2,直到a2等于a1,mcu控制升降推杆停止工作,完成整个上升角度调节过程;当a1小于a2说明当前倾斜角度大于目标角度,mcu控制升降推杆下降并实时检测当前高度a2,直到a2等于a1,mcu控制升降推杆停止工作,完成整个上升角度调节过程;当a1等于a2,mcu不做任何处理。如果是负角度,将a1和(h-a2)来比较来判断当前角度与目标角度的差异,如a1大于(h-a2)说明当前角度小于目标角度,mcu控制升降推杆下降并实时检测当前的高度a2,直到(h-a2)等于a1,mcu控制升降推杆停止工作,完成负角度的上升角度调节过程;当a1小于(h-a2)说明当前倾斜角度大于目标角度,mcu控制升降推杆上升并实时检测当前高度a2,直到(h-a2)等于a1,mcu控制升降推杆停止工作,完成整个负角度下降调节过程;当a1等于(h-a2),mcu不做任何处理。还有一种情况,当设定角度为0时,表示水平状态,此时应控制升降推杆的高度a2与h相等即可。控制算法流程图见图7。
图7. 算法流程图
3.暖箱床体倾斜的控制试验与分析
角度控制测试:将角度测量仪放入婴儿仓床体中间位置,通过触摸屏点击+5˚,等床体停稳后查看角度测量仪结果。然后将床体调整为水平,点击-12˚,等床体停稳后查看角度测量仪结果。然后直接点击+12˚,等床体停稳后查看角度测量仪结果(图8)。通过三次测量观察角度检测仪的多数基本和操作值一致。
保护电路测试:将床体调整到最高位置(-12˚或+12˚),然后将床体调整为反方向,在倾斜过程中用手阻挡床体的动作,给床体一个反向力,人机交互系统发出了床体倾斜受阻的报警。
基于上述2种情况,本研究又对系统进行了多次类似试验,结果表明系统均能很好地满足系统设计的控制要求,能够使床体很好的控制到指定角度。
图8. 床体角度控制
4.结论
新生儿暖箱床体角度控制的实现,可以有效的减轻医护人员的工作量,也是应用现代科学不断更新医疗设备,引领行业发展的体现。本方案已通过实际验证,并开始量产。在暖箱上尚有很多可以创新和改进的空间,值得不断研究,以人为本,利用现代科学技术为患儿和医护人员提供更舒适的治疗环境和使用体验。
[1] 苗晓华,成朝阳.4000例新生儿护理指导浅谈[J].实用医技杂志,2007,14(30):4209-4210.
[2] 宋宝华.Linux设备驱动开发详解[M].2版.北京:人民邮电出版社,2010.
[3] (美)W.Richard Stevens,(美)Stephen A.Rago,著.尤晋元,张亚英,戚正伟,译.UNIX环境高级编程[M].人民邮电出版社,2006:213-221.
[4] (美)Mark Allen Weiss.冯舜玺,译.数据结构与算法分析:C语言描述[M].2版,北京:机械工业出版社,2004:15-15.
[5] 李家庆,李芳,叶文.无刷直流电机控制应用——基于STM8S系列单片机[M].北京航空航天大学出版社,2006:192-193.
Implementation of Inclination and Angle Control to the Bed in a Newborn Incubator
XU Jun-hong1WU Xi-zhi2
1 Shenzhen Coman Medical Equipment Co., LTD (Guangdong Shenzhen 518000)2 Department of Electrical and Computer Engineering, Boston University (Boston 02215, USA)
Since the bed body components need to be cleaned every week, it is dif fi cult to install a sensor on the bed. In this paper, we convertthe movement trajectory of the bed into a triangular function relationand calculate the approximate inclination angle by a corresponding algorithm. We fi rstly use‘Proeʼ software to design a suitable quick release and execution unit. Then we con fi rm the results through the simulation mode and proof out of the kind. We use the motor drag technology to calculate the required motor torque and speed, while using the encoder or other position sensors to get real-time position of the motor or execution unit. After that, we calculate the straight line distance and bring into the corresponding mathematical model. Finally, we calculate the current angle and feedback to the control unit to complete the closed-loop control. After a series of angle control tests and electrical protection tests, we find that the system can well meet the design requirement and also can make the bed body be primly controlled to a specified angle. The automatic control to the inclination angle of the newborn incubator was implemented through the‘Proeʼsoftware and the motor drag technology.
newborn incubator, automatic bed tilting, angle calculation method
1006-6586(2017)17-0018-05
R197.39
A
2017-08-01