基于单片机的智能输液控制系统设计
引言
随着智能化控制研究的不断发展,自动化临床设备的研究日益成为医疗器械发展的一个重点,因而设计一种智能输液管理系统实现对输液过程的全程监控是医学发展的必然趋势。本文以远程监控实现输液实时监测为目标,通过下位机采集各床位患者的输液信息,再以无线的方式将数据传达至上位机,实现输液数据的实时显示和存储,以及在特殊情况下的报警等功能。
1 系统总体设计
系统由主、从站(或上位机和下位机)构成,核心控制器件是单片机。主站由数据通信单片机组成,从站由数据处理单片机和数据通信单片机组成。主要包括四个设计模块:a.从站数据采集电路,包括液滴信号的采集和输毕信号的采集;b.从站数据处理电路,包括实时数据的显示、处理及控制;c.从站数据发送部分电路,包括数据处理单片机与数据发送单片机之间的串口通信及数据发送单片机与无线发射模块PTR8000之间的SPI通信;d.主站数据接收部分电路,主要为主站无线接收模块PTR8000与单片机之间的SPI通信及单片机通过RS232接口与PC机之间的通信。系统设计如图1所示。
2 硬件设计
2.1 主站设计
主站主要实现数据的无线接收,并将数据以串口形式传送至PC机储存。PC机接数据并实时显示床位号、输液速度、报警信息等。主站以单片机作为无线模块PTR8000的控制器,且控制1602液晶屏显示相关通信信息。电路如图2所示。
2.2 从站设计
2.2.1 从站硬件电路组成
根据系统总体设计方案及实际功能需求,把从站作为设计重点,功能细化后硬件电路包括AT89S52单片机最小系统电路、液滴检测电路、输毕检测电路、键盘电路、12864LCD接口电路、1602接口电路、共阴双8数码管显示电路、指示灯电路、声光报警电路、无线收发接口电路、步进电机控制电路、RS232接口电路等。其中,液滴和输毕信号主要采用红外收发二极管来采集,信号经过整形电路处理后送至单片机的外部中断接口;采用步进电机作用微控装置压迫输液软管的松紧程度来实现自动控制液滴速度的目的。从站设计框图,如图3所示。
2.2.2 信号采集电路的设计
信号采集处理电路如图4所示,若测试时检测液滴的电压差信号过小,可在比较器前加上一级差动放大电路增大检测的可靠性。由信号采集电路原理图可以看出,当瓶内药液液面在光路之上时(或液滴滴落切断光路),红外接收二极管Receivel不能接收到红外发射二极管Sendl发出的光,从而Receivel截止,晶体管也截止,OP07输出端为高电平:当瓶内药液液面逐渐下降至光路附近时(或没有液滴滴落时),红外接收二极管Receivel能接收到红外发射二极管Sendl发出的光,从而Receivel导通,晶体管导通,OP07输出低电平,此时对单片机产生外部中断,驱动相应电路发出报警信号,通知医护人员及时采取措施,从而达到采集数据及控制报警的目的。系统从站电路如图5所示,原理图上半部分为数据采集部分,下半部分为数据通信部分。
3 系统软件设计
3.1 主站程序设计
主站程序设计主要分为两部分:单片机通信控制及PC机监控软件设计,即单片机无线接收子程序控制PTR8000接收数据及串口通信子程序控制将接收的数据传送至PC,PC机端采用微软的VC++6.0实现客户端软件的开发,其中在串口开发部分直接使用MSCoom控件。MSCoom控件是微软公司开发的专门用于串行通信的控件。通过设置控件的几个属性,然后添加控件的事件响应代码就可以使串口按照要求进行工作。
3.2 从站程序设计
从站程序设计主要由以下几部分子程序组成:键盘控制子程序、中断控制子程序、步进电机控制子程序、液晶屏显示子程序及无线模块收发控制子程序。其中数据处理单片机由键盘控制子程序设定滴速及输液总量等信息,中断子程序采集输毕及液滴信号并计算输液滴速及时间等数据,通过比较实测滴速和设定滴速产生控制信号调用步进电机控制子程序完成调速功能,所有信息均由12864液晶屏显示;数据通信单片机经串口接收处理单片机的实时信息并控制无线模块PTR8000发射出去。对于PTR8000的编程,必须在配置模式中对其进行配置,在RX模式中,地址匹配(AM)和数据准备就绪(DR)信号通知MCU一个有效的地址和数据包已经自动接收完成,MCU即可通过SPI接口读取接收的数据,在TX模式中,PTR8000自动产生前导码和CRC校验码,准备就绪(DR)通知数据传输已经完成。
4 总结
系统软硬件设计完成后,测试系统所实现的功能有:a.按键确定床位号、设定输液滴速及输液总量;b.红外收发二极管检测液滴及输毕报警信号并计算实际输液滴速;c.根据实测滴速和设定滴速的差值有效控制步进电机达到自动调节滴速的目的;d.根据设定滴速估算输液总时间;e.根据实测滴速计算剩余时间;f.从站输液信息均由12864液晶屏显示,通信相关信息由数码管及1602液晶屏显示,主站监控信息由PC机储存显示;g.由PTR8000模块将床位号、实测速度等数据以无线的方式传输至PC机,达到实时监控的目的;h.利用基于VC++的MSC控件设计合理的人机互动界面。