APP下载

基于Android的电解质分析仪设计与实现

2017-03-06晏小雲刘黎志

软件导刊 2017年1期
关键词:串口通信Android系统

晏小雲+刘黎志

摘要摘要:电解质分析仪是医学临床检测电解质离子浓度的仪器,利用计算机技术和嵌入式技术对其加以有效的开发管理对于医学诊断具有重要意义,其检测结果可为患者治疗方案提供有力依据。设计了一种基于Android的电解质分析仪,实现了Android管理机制与中间层Cortex M4内核的STM32F407芯片和底层C8051F381微控制器、东芝TB6560AHQ驱动器不同硬件层之间的串口多帧通讯协议通信。该系统显示效果佳,给用户带来了良好的触控体验,提高了步进电机运行的平稳性,系统可靠性与稳定性好,具有良好的实用价值。

关键词关键词:Android系统;电解质分析仪;操作管理;串口通信

DOIDOI:10.11907/rjdk.162460

中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2017)001005404

引言

社会不断进步,人们的生活条件也在逐步改善,人们在享受高品质生活的同时,愈加关注个人身体健康。电解质作为人体体液的重要组成成分,对人体正常生理机能的维持起着十分重要的作用[1]。电解质分析仪作为一种用于检测电解质离子浓度的仪器,为临床诊断提供了有力依据。

目前,电解质分析仪普遍采用离子选择性电极法测量样品中电解质离子的浓度[2]。该方法的核心是一种电化学传感器——离子选择性电极。电极由胶壳、金属棒、内充液、选择性透析膜等构成。当被测样品流经电极池时,被测样品中的不同离子可透过与之对应的选择性透析膜,与电极内充液进行化学反应,在选择性透析膜的两端形成电位差。该电压通过电极的金属棒引到信号处理电路板上,进行两级放大处理,最终由处理器完成采样分析,参考电极同樣引到信号处理电路板的接地点。通过检测一个精确的已知离子浓度的标准溶液获得定标曲线,从而检测出样本中的离子浓度[3]。越来越多的电解质分析仪集成了总二氧化碳含量的测量功能,其主要采用气敏传感器的方法来检测二氧化碳浓度。气敏传感器将采集到的相关参数传送给处理单元,经过处理后即可得出样品中总二氧化碳含量。

Android是由Google和开放手机联盟共同开发的一种基于Linux内核的开源操作系统 [4]。近年来,随着智能化信息技术的高速发展,Android已成为智能手机、平板电脑所使用主流操作系统,倍受广大用户青睐。基于Android系统的工业控制系统的研发也成为当前的一个研究热点,一些工控设备厂商已经在生产制造Android工业平板,如北京迪文、深圳扬创、深圳显控等,平板电脑能提供必要的底层驱动、接口调用以及SDK,方便程序设计人员用于工业应用开发。

Android工业平板保留了大部分普通接口并增加了工业控制类接口,包括USB、RS232、RJ45、SD卡、音频接口等,还能通过扩展模块的方式支持蓝牙、WiFi、3G等其它接口方式。如果说在复杂的工业控制现场,Android设备还难以满足严格的实时需求,那么在一些交叉性领域,比如楼宇智能控制、智能家居控制、医疗电子、公共服务设备等,都可以基于Android系统进行应用开发,提供界面及UI交互手段。

根据以上论述,传统的电解质分析仪在硬件架构设计和人机交互方式上都或多或少存在着不足之处。Cortex M4处理器的高性能和Android系统提供的人性化的交互方式,为基于Android系统的电解质分析仪上位分离的实现提供了可靠的技术支撑。

1电解质分析仪总体设计

1.1液路控制模块

液路控制模块通过电磁阀和电机协同工作来控制测量样本在仪器内部的合理流向。在本设计中,液路控制模块由试剂包、管道、离子选择性电极池、进样针、吸液池、电磁阀、三通阀门、四通阀门、搅拌池、样品转盘、转盘电机组成,其中还涉及控制进样针动作的步进电机和控制液体流动的蠕动泵。液路控制模块结构如图1所示。

根据图1所示,试剂包中包括有A标准液、B标准液、CO2稀释液和废液。

蠕动泵M1执行A标准液、B标准液以及待测样本的抽液动作,蠕动泵M3负责将CO2稀释液抽入搅拌池中,搅拌电机M7则将搅拌池里CO2稀释液中的CO2排出,蠕动泵M2将搅拌池中稀释液液抽至废液瓶中。M5和M6两个步进电机联合控制进样针的前后上下动作,步进电机M4则控制样品转盘转动。

电磁阀A和B的通断,结合四通阀门决定待测液体是A标准液还是B标准液。电磁阀C的通断,结合三通阀门控制着CO2进入传感器。

离子选择性电极池中的电极将检测到的不同电解质离子的参数传递给信号处理板。CO2传感器将检测到的CO2参数传递给主控板。

1.2测量原理

离子选择性电极对溶液中的离子活度比浓度更为敏感,溶液中的被测离子,迁移到电极膜上,便会在测量电极和参比电极之间形成电位差,理想的电极对x离子产生的电位差符合能斯特方程:

需要进行系统标定,克服漂移,提高系统测量的准确性。

选用两种已知离子浓度的A标准液和B标准液用作离子选择性电极校准。设A和B标准液的电位分别为EA和EB,离子浓度为CA和CB,电极斜率为slope。根据已测得电位值和已知离子浓度值可计算出各电极实际斜率为:

slope=EB-EAlg(CB)-lg(CA)=EB-EAlg(CB/CA)(2)

设测量样本的电位为Ex,离子浓度为Cx,在同样A标准液和B标准液校准的情况下,slope值保持不变。从而可以根据式(3):

slope=Ex-EAlg(Cx/CA)(3)

求得离子浓度Cx为:

Cx=10Ex-EAslopeCA(4)

pH值是溶液中氢离子活度的负对数,当溶液浓度较稀时,用浓度表示:pH=-lg[H+]。

pH值的测量与离子浓度的测量有些不同,但其测量仍然符合能斯特方程,采用标准比较法,先测得A标准液的电位EA,再测得待测样品的电位Ex,最终可以求得溶液的pH值,即:

pH=pH0+(CA-CB)(Ex-EA)/(EB-EA)(5)

在实际测量中,可能会出现测量结果与实际结果这两条对数直线无法拟合的情况,可通过斜率进行校正。一般通过两种以上的定标液校正,可得到正确的修正结果。

1.3总体架构设计

目前市场上的电解质分析仪采用两层架构设计,主要有以下两种方案:LCD+物理按键+主控板、触摸屏+主控板。

第一种方案下,LCD仅仅用于显示数据,控制命令都由物理按键触发,主控板在接收到命令后,驱动相应的机械部件来执行指定的操作,并完成数据采集与分析,给出检测结果。第二种方案下,由普通触摸屏替代了LCD和按键,控制命令是由触控操作来触发,与第一种方案相比,省去了物理按键部分,面板上可以预留出更多的空间给触摸屏,从而提供更加丰富的显示内容。

这两种架构方式对于UI的开发都是不利的,相较于成熟的操作系统而言,这些UI不仅功能简单,而且基本不能用于二次开发;在主控板级别,数据采集、电磁阀开关以及所有电机的动作执行均由单个CPU来控制,或是增加几个协控制器来辅助控制,导致程序逻辑非常复杂,系统开发和维护难度很高。

鉴于以上问题,本文提出了基于Cortex M4和Android系统[5]的三层架构,其总体设计如图2所示。

顶层为人机接口层,选用带有Android系统的工业串口屏[6],为用户提供良好的界面效果和触控体验。扫描枪用来识别试剂包和测试样品条码,打印机打印出检测报告。Android系统上运行上位机程序,实现所有UI,完成与中间层的交互,还可以将数据通过USB、网口或者串口传送至PC。

中间层为核心控制层,其核心单元为主控板,通过串口与Android上位机和步进电机驱动板进行实时通讯。主控板选用基于Cortex M4内核的STM32F407作为核心控制芯片,以μC/OS III[7]为软件平台,开发设计核心控制程序,实現对仪器所有运动和测试流程的控制,包括机械动作和传感器数据的采集与分析。

底层是步进电机驱动单元,使用基于C8051F381和TB6560AHQ的通用步进电机驱动板作为电机驱动器。它靠接收中间层的控制指令来驱动电机完成动作,并反馈相关信息。2算法设计

2.1新型S形曲线设计

在本设计中,为了使算法实现简单,将电机的完整运行过程分为加加速-减加速-匀速-加减速-减减速5个阶段,如图3所示。

其中减减速阶段可以看作是指数曲线的偏移旋转所得,其原型可以用式(6)表示:

f(t)=fm(1-e-t/τ)(6)

其中:fm是减加速阶段曲线的极限延伸值,接近运行频率fh,τ是电机频率升降快慢时间常数,由加速时间T、起始频率f0以及fh来确定。

图3新型S形曲线加减速过程

为了使曲线光滑,加加速段曲线是减加速段曲线以(T/2,(fh-f0)/2)为中心点旋转180°所得。这样的处理在保证稳定性的基础上简化了处理过程。

经过平移和旋转变换后的加加速曲线和减加速曲线如式(7)和式(8)所示。

f(t)=fm-f02et-T2/τ-1+fm-f02 (t≤T2)(7)

ft=fm-f021-e-t-T2/τ+fm+f02(t>T2)(8)

取fm=1.01fh,将fh、T代入式(9)解得:

τ=-T2ln0.02fh1.01fh-f0-1(9)

在实际编程过程中不可能时刻计算电机的频率,需要把升速曲线离散化,具体做法是将曲线在时间上或频率上进行2N等分,加加速段和减加速段都各进行N等分,考虑到频率加速阶段的陡峭,为了获得更加平滑的加速曲线,本设计采用了频率等分。

频率等分变化值Δf的计算如式(10)所示。

f=fh-f02N(10)

2.2新型S形曲线算法仿真

3结语

本文设计并实现了基于Android的电解质分析仪,为用户提供了更加友好的人机交互方式,功能模块划分更加明确,提高了样本检测效率,简化了步进电机的控制。但由于笔者时间和精力有限,系统仍存在一些不足之处。可从以下几个方面加以改进:本设计中只用到了Android串口屏[8]中的USB、串口,在后续研究中可考虑使用RJ45接口或WIFI模块,将仪器联网,以实现远程控制及数据共享;PCB在电磁兼容方面设计还存在一些不足,需进一步完善;步进电机驱动板的限流电阻为固定值,为了适应更多种类型的两相步进电机,可考虑在电机驱动板上增加多路限流电阻,通过拨码开关根据电机的特性来调节限流电阻的大小,从而匹配电机的驱动电流。

图5连续的S形曲线

参考文献:

[1]华明泉.全自动血液分析仪操作管理系统的应用软件开发[D].南京: 东南大学,2015.

[2]刘立行, 刘旭东. 等电位差离子选择性电极法研究[J]. 天津师范大学学报, 2007, 27(2): 46.

[3]SHVEDENE NV, BOROVSKAYA SV, SVIRIDOV VV, et al. Measuring the solubilities of ionic liquids in water using ionselective electrodes [J]. Analytical and Bioanalytical Chemistry, 2005, 381(2):427430.

[4]金智义, 张戟. 基于Android平台的串口通信实现[J]. 电脑知识与技术, 2011, 7(13): 29832985.

[5]严旭. 基于Android的个人健康信息管理系统设计与实现 [D]. 西安: 西安建筑大学, 2014.

[6]SRINIVASAN D, RAAJAN NR, JAYAKUMAR VK, et al. Intelligent lighting control using android application [J]. International Journal of Applied Engineering Research, 2014,9(16):33613366.

[7]廖永富, 罗忠, 冉全. 一种新型S形曲线步进电机加减速控制方法[J]. 湖北第二师范学院学报, 2015, 32(8) : 3235.

[8]T KARAGIANNIS, K PAPAGIANNAKI, M FALOUTSOS.BLINC:multilevel traffic classification in the dark[C].In Proceeding of ACM SIGCOMM, 2005.

责任编辑(责任编辑:孙娟)

第1期 蔡源,曾宇航,吴小辉,等:第三方运营O2O客户增值服务管理平台设计软 件 导 刊2017年标题

猜你喜欢

串口通信Android系统
基于Qt和Flash的嵌入式Linux软件架构设计
Android系统上的移动互联网集成平台开发机制
基于MSP430单片机的窄带无线数据传输模块的设计
便携式数传电台测试系统的设计与实现