智能医用液位监护系统设计
2017-07-12杨锦春
杨锦春
摘要:本设计主要是以单片机、无线收发模块、压力传感器等元件为核心来实现智能医用液位监护系统的设计。液位检测部分采用了比较可靠的压力传感器和具有高精度、高效率的HX711 AD模块。本系统主要分为检测发送端,数据接收端,上位机数据分析端三部分。
关键词:单片机;无线模块;液位检测;压力传感器
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)13-0067-02
1绪论
现在几乎所有医院都是人工观测输液情况。这些医院基本都装有简单的有线呼叫系统,病人通过自己观察输液情况,等输液快结束时手动按下呼叫按钮。护士在办公室通过观察呼叫系统的显示结果来采取行动。这对病人和护士都是非常不方便的,病人容易忽略盐水瓶里的液位信息,护士也不能准确的知道输液情况。其次,一般病人有时候很想知道还有多久时间能完成输液但只能凭经验估计,着急的病人会手动调快滴液的速度如果速度过快会产生危险。目前能很好解决这一问题的方法是使用输液泵,但是输液泵价格太过昂贵,每台输液泵至少要花费上万元。医院一次需投资上百万元来采购此设备。一般医院难以承受。然而本设计虽然达不到输液泵的所有功能,但是能达到输液泵的主要功能。
2系统设计
医用液位监护系统主要由一台上位机(电脑)和一台下位机(STC90C516RD、NRF24L01无线模块)以及数据采集发送端(压力传感器、HX71lAD模块、单片机、NRF24L01无线模块)三部分组成。上位机主要是用来把程序下载到单片机,同时也能将下位机上收到的数据传输到上位机上,并且对数据进行计算和分析。下位机主要是接收来自不同发送端发送来的数据。数据采集发送端主要是利用压力传感器来检测盐水瓶的液体剩余量,因为压力传感器输出的是模拟量,但是单片机只能识别数字量,所以压力传感器的输出信号需要经过AD模块转化为数字量,再经过单片机的计算转换为具体重量,最后由NRF24L01无线模块把重量的数据发送给接收端。
数据检测发送主要以具有较高可靠性的压力传感器、高精度高效率的AD模块、MCU为核心。采用压力检测技术、无线通讯技术,以压力传感器为检测元件、NRF24L01为无线发射元件构成数据检测发送电路。如图2-1所示,该系统可分为数据采集电路、AD转换电路、无线发送电路、单片机电路、电源电路、显示电路。选用的主要器件有:压力传感器,STC90C516RD单片机,无线收发模块NRF24L01,LCD1602液晶显示模块,内置128倍增益的AD模块HX711等等。工作过程为压力传感器把模拟量输出信号给AD模块,AD模块把模拟信号转换为数字信号。单片机接收到数字信号以后,处理数据把具体重量计算出来,用LCD1602显示计算结果,然后用NRF24L01无线模块把数据发送出去。
下位机主要以MCU、串口电路、无线收发模块为核心。该系统由数据无线收发电路、单片机电路、电源电路、串口电路、显示电路组成。选用器件主要有:STC90C516RD单片机,无线收发模块NRF24L01,LCD1602液晶显示模块,串口电路等等。工作过程为,当NRF24L01无线模块接收到来自发送端数据以后,把数据送往单片机,单片机把数据提取出来以后在LCD1602显示屏上显示出来,同时把数据通过串口发送到上位机。
本系统以MCU为核心,通过单片机控制其他模块能够实现对液位数据进行采集、存储、显示、传输、与上位机进行通讯等功能。数据采集是通过压力传感器进行采集的,采集的数据为模拟信号然后通过HX711放大信号并且转换为数字信号,通过单片机上的LCD来实时显示。然后利用无线模块NRF24L01把检测液位的数据发送给数据接收装置。接收端一旦收到发送端发送来的数据以后,马上显示在显示屏上,再通过串口把数据发送到电脑上,上位机软件对压力数据进行分析,计算,报警。当液位低于设定值得时候,软件发出报警,同时软件上显示盐水瓶里的液位下降速度、液位实时隋况等。
3主要的硬件设计
3.1传感器及AD电路的设计
本设计所选用的传感器是由应变式电阻组成桥式电路的压力传感器,此传感器可以将压力信号转化为模拟量输出,经过AD转换以后模拟量变为数字量,单片机接收到数字量以后可以转换为具体的压力值。此传感器具有灵明度高,外形小巧,性能可靠等特点。本设计的AD芯片采用的是具有较高精确度的HX711 AD芯片,精确度为24位。与其他一些类似的高精度AD芯片相比,该芯片集成性很好内部集成了一些其他AD芯片不具有的电路,比如稳压电源、时钟振荡器等。电路图如图1所示。
压力传感器检测重量以后会输出一个模拟量,经过AD模块转化为数字量。再通过单片机即可把数字量转化为具体的
3.2NRF24L01无线模块的设计
NRF24L01是一款可以采用FSK调制方法的无线传输数据的芯片,内部集成了自己独有的通讯协议。它的速度可以达到2M(bps),工作频率为2.4Ghz到2.5Ghz,同时支持125个通讯频率。非常适合为单片机构建无线通讯网络。原理图如2所示。
重量数据由NRF24L01无线模块完成发送与接收。在发送数据的时候,首先把NRF24L01配置成发送模式,接着把发送地址和有效数据按照时序由SPI口写入NRF24L01的缓存区,然后CE置为高电平并且保持10us,延时130us以后发送数据。开启自动应答,若接收到应答信号,则认为通讯成功。同时NRF24L01清除缓存区的数据,等待下一次数据传输,若再次有数据,重复以上过程。在接收数据的时候首先将NRF24L01设置成接收模式,接着延时120us等待数据到来。当检测到有效数据和地址的时候,就将数据包存储起来,同时中断标志位置高,IRQ变为低电平,产生了中断,通知单片机去取出数据。
4系统软件设计
本设计为了使程序方便理解,采用了在主程序中调用子程序的方法,即每个模块的控制程序单独编写成子文件,然后在主程序中调用每个模块的控制程序。此方法通俗易懂,使程序条理清晰。
本系统的上位机软件用NILWCV12009SP1软件编写,编写语言同样为c语言。软件采用串口接收方式接收数据,并且设置成5秒钟接收处理一次数据。其中剩余液量窗口的数值,由串口接收到数据决定。速度窗口的数值等于[(5秒钟前的重量值一目前的重量值)/5秒]×60。剩余时间窗口的数值等于剩余液量的数值除以速度的数值。报警灯的设置是一旦剩余液量的数值小于20克,则报警灯为红色。瓶重窗口数据可以根据实际情况自己填写,一旦填上数据就会影响报警灯。例如假设一个瓶子的重量是50克,输入完成以后,本来是剩余重量少于20克报警,现在变为剩余重量少于70克報警。程序按照以上原则编写,编写完成以后设置对应窗口的链接按下运行按钮即可。
5结论
整个装置经过安装调试,实现以下功能:1)实时测量当前的输液袋重量值,并在液晶屏上动态显示;2)压力传感器开机工作时可以自动清0;3)当压力传感器失灵或者安装错误时,显示屏显示“ERROR”;4)NRF24L01无线传输把压力传感器检测到压力值传送到接收数据的装上;5)接收端能够接收到多个发送端传来的数据;61系统具有较高的可靠性,实现与PC机相互通讯,并且采用串口通讯方式。能在电脑上编程,并将程序下载入单片机内,还能将下位机测得的数据传输到电脑上;7)上位机分析接收端的数据,实现估算液位下降的速度和液体剩余情况、液位过低报警等功能。