基于单片机输液监控系统设计_第1页
基于单片机输液监控系统设计_第2页
基于单片机输液监控系统设计_第3页
基于单片机输液监控系统设计_第4页
基于单片机输液监控系统设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要 输液是医院常用的治疗手段,传统输液过程中存在着输液速度不精确,需要人工监护等弊端。本文设计了一种以C8051F410单片机为核心的布线式输液监控系统用以解决此问题。系统通过RS-485接口实现有线通信与监控,具有液滴检测,液滴速度调控,报警等功能。采用红外传感器技术检测液滴和输液高度,单片机用以实现输液速度计算和显示,通过查询键盘,将实时设定的点滴速度值与实际输液速度进行比较,来控制步进电机调节输液瓶高度,从而控制点滴速度,输液结束或异常时自动报警提示。 关键词: 输液监控;单片机;液滴检测;速度调控 ABSTRACT Infusion as a treatment is common

2、ly used in hospital. During the traditional transfusion, the rate of infusion is imprecise, it also requires manual monitoring and exists other defects. This paper design a cabling type system which using C8051F410 single-chip as its core to solve above-mentioned problems.This system through the RS-

3、485 interface to achieve communication and monitoring, It has many functions, such as testing the drop, controlling the speed of drop and alarm functions. Using infrared sensors to detect a liquid drop and the height of liquid medicine, the micro-controller achieve to calculate and display the speed

4、 of drop.From querying the keyboard in real time to read the value of the set rate, the system compares the set rate with the actual infusion rate to control the stepper motor running to adjust the infusion bottles height, and thus control the rate of drop.When the infusion is ending or abnormal,the

5、 system will start the alarm program.KEYWORD: infusion monitor; single-chip;speed detection;speed control II目 录摘要ABSTRACT第1章 引言1 1.1 课题背景1 1.2 课题研究的目的和意义1 1.3 论文的组织结构2第2章 系统总体设计3 2.1 系统整体框图3 2.2 C8051F410单片机介绍3第3章 系统硬件设计5 3.1 方案论证5 3.1.1液滴速度检测方案5 3.1.2液位检测方案5 3.1.3速度控制方案5 3.1.4电机选择及控制方案6 3.1.5键盘显示单元

6、6 3.2 模块的硬件设计7 3.2.1系统的组成单元7 3.2.2 通信接口电路设计8 3.2.3液滴信号检测模块8 3.2.4键盘及显示模块8 3.2.5声光报警模块13 3.2.6电动机驱动模块13第4章 系统软件设计14 4.1 软件设计框架14 4.2 芯片主要寄存器介绍16 4.2.1 PCA计数器/定时器16 4.2.2 PCA捕捉/比较模块16 4.2.3 PCA控制寄存器17 4.3 算法分析与实现18 4.3.1 电动机的转速18 4.3.2 蜂鸣器音频和音量20 4.3.3 滴速的检测21 4.4 测试结果与分析22 4.4.1 测试方案22 4.4.2 主要测试结果23

7、 4.4.3 测试结果分析23结论24参考文献25附页26第1章 引言1.1 课题背景 上世纪90年代至今,国内外相关的专家积极探索,输液监控系统一直在不断改进。在国内:09年张婉姣申请了一种输液监控报警器的专利:包括光源发射器、光源接收器、电源模块、控制器和报警电路,光源发射器和光源接收器要对应设置,光源接收器输出端连接到控制器的信号输入端,控制器的信号输出端连接到报警电路的信号输入端1。该输液监控报警器在输液出现不正常时或瓶内液滴快要滴完的时候会进行声光报警。该输液监控报警器优点:结构简单、使用方便、报警准确率高等。缺点:功能较少。徐凤霞等人利用MCS-51系列单片机与电力线载波芯片结合其

8、他软件、硬件开发出病区输液远程监控系统。刘世平等人研制的输液智能监控系统能够同时在病房和护士站发出声光报警,且在报警的同时自动停止输液。另外,在护士工作站可以显示该病床的输液的相关信息。在国外:在40世纪80年代就开始有研究。德国、韩国、美国、日本等发达国家都进行了输液监控系统的研究,目前对输液泵的研究有较大成就2。输液泵的功能齐全,操作方便,安全性高,但是价格比较昂贵。其应用在我国国内医院鲜有应用。 基于单片机的输液监控系统设计的课题研究,是为了在借鉴前人经验的基础之上,努力设计出性价比较高的输液监控系统。1.2 课题研究的目的和意义 目前,临床治疗上的静脉输液的输液过程存在安全隐患,它主要

9、面临着两个问题。一是输液速度问题。在医院,输液速度的调节一般由医院护士或者病人通过旋转输液滴管上的机械滑轮,目测出大概速度,效率不高3。在长时间的输液过程中,护士需要保持紧张情绪对病人进行管理和监督,工作强度大。对于患者来说,在护理人员忙碌的时候须时刻关注自己的输液情况,得不到休息而影响治疗效果。二是可能出现静脉血回流。有时护理人员因为其他原因没有及时回来处理或者病人太累没有注意到,结果造成静脉血回流的情况,对患者造成心灵上和身体上的伤害。总之,传统的人工输液监护形式弊端很多,克服目前输液过程中时间浪费、精力浪费、服务水平低下等弊端,需要研制输液监控系统,对患者的输液过程进行自动化监控。1.3

10、 论文的组织结构第1章 主要介绍了输液点滴监控系统的背景与研究意义,本课题的主要工作和内容以及本文的组织结构。 第2章为系统的总体设计。 第3章为系统硬件设计,主要进行了系统方案论证,介绍了硬件结构的设计方法。包括通信接口单元,C8051F410单片机最小系统、点滴信号检测单元、键盘与显示单元、声光报警单元、电动机模块单元。 第4章为系统软件设计。先介绍系统从站工作的主要流程,说明系统中用到的几个比较重要的寄存器,再分块介绍了部分软件的算法与实现,包括PCA捕捉模块、电动机模块、声光报警模块。 第5章为结论。 第6章为参考文献。 33第2章 系统总体设计2.1 系统整体框图根据前面的系统分析,

11、本文基于C8051F410的输液监控系统主要模块有:输液信号采集单元、声光报警单元、电动机单元、按键显示单元、通信单元和单片机外围电路等。输液信号采集单元将采集到的信号经过整形后发送给单片机,经单片机处理后在键盘上显示计算所得的液滴滴速并将其与所设定的值进行比较来控制电动机的正反转。从站系统框图如图2-1。图2-1 系统总体框图2.2 C8051F410单片机介绍 C8051F410是一款完全集成的低功耗混合芯片上系统型MCU。它具有高速、流水线结构的8051兼容的微控制器核(可达50MIPS),高精度可编程的24.5MHZ内部振荡器,可达32KB的片内FLASH存储器,2304字节的片内RA

12、M,4个通用的16位定时器,6个捕捉/比较模块和带看门狗定时器功能的可编程计数器/定时器阵列(PCA),硬件CRC引擎,温度传感器,片内电压比较器,且拥有多达24个I/O端口。 具有片内上电复位,VDD监视器,看门狗定时器和时钟振荡器的C8051F410是真正能独立工作的片上系统。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。 C8051F410片内Silicon Labs二线(C2)开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统

13、调试。调试逻辑支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用C2进行调试时,所有的模拟和数字外设都可全功能运行。两个C2接口引脚可以与用户功能共享,使在系统调试功能不占用封装引脚。C8051F410单片机最小系统如下图所示:图2-2 C8051F410单片机最小系统第3章 系统硬件设计3.1 方案论证3.1.1 点滴速度检测方案 方案一 :采用电感式传感器测量点滴速度。在输液器的漏斗外围绕线圈作为敏感元件。当液滴滴下时电感量发生变化,通过LC振荡电路后输出变化的频率值,经过F/V变换电路及电压比较后输出TTL电平信号来检测点滴速度。此方案测量精度比较高,但是外围电路比较复

14、杂。方案二:采用红外对管发射接收。采用断续式的工作方式,在点滴落下时阻挡了接收管接收红外线,产生高电平的脉冲信号。为了提高抗干扰能力,可以采用两对红外传感器一发一收,而不是只用一只传感器以反射式状态工作。红外传感器有以下优点:尺寸小、质量轻,安装在滴斗上较简单。它对辅助电路要求少,在近距可以用直流发射,电路简单,性能稳定。方案二简单,较容易实现,而且使用了非接触式光学测量方法,避免了交叉感染7,因此采用此方法。 3.1.2 液位检测方案方案一:同点滴速度测量模块,仍然采用红外对管发射接收。根据该接收管收到的光强的大小来判断液位是否达到警戒水位。利用光在不同媒介界面的折射或反射原理,通过光电传感

15、器来接受光信号实现液面检测功能。此外,红外线对射管安装方便,只需将其固定在输液瓶外壁上即可,不需要详细计算储液瓶液面的高度,简化了外围电路结构。方案二:采用拉力传感器检测。将拉力传感器接在滑轮与输液瓶之间,利用液面高度变化和拉力变化之间的线性关系进行间接测量,但是拉力传感器价格高,从实用性考虑效果不佳。方案三:用测定电容的方法来检测。在瓶壁上用两块薄金属箔包裹构造出一个电容。根据电容中的介质不同,可以确定是否达到警戒水位。此数据可以由实验中得出。综合比较上面上中方法,从实用,简便同时保证测量精确度上,使用红外线模块测量液面高度是理想的选择。 3.1.3 速度控制方案方案一:通过改变输液瓶的高度

16、来调节点滴的速度。由电动机带动储液瓶使储液瓶缓慢平稳地上升或下降来改变受液瓶的高度,从而调节点滴速度。方案二:通过控制滴速夹的松紧来控制点滴的速度。不过滴速夹用于大范围地调节滴速,而且存在很多因素,例如橡胶粘度与液体粘度,输液管受挤压后的恢复情况等等,这些都是非线性控制量,因此其移动距离,移动阻力等参数难于计算,用机电系统实现起来较为困难,比较适用于粗调。方案一调节方法简单,容易实现,其硬件连接如图3-1。 图3-1 电动机控制输液瓶模型3.1.4 电机选择及控制方案常用的电机主要有以下几种:直流电机、步进电机、伺服电机。方案一:直流电机上电即可转动,掉电后惯性较大,停机时还会转动一定角度后才

17、可停止,如果要求准确控制其转动的角度,其闭环算法比较复杂,系统硬件也会相应麻烦。 方案二:伺服电机的机械特性较好,输出功率大,启动转矩大,驱动电路简单,正反转控制容易且有抱死功能,但有由于其实际价格偏高,不适合普遍使用。方案三:步进电机是一种将电脉冲转换为角位移的执行元件8。步进电机转矩相对直流电机大,控制精度比较高,其步进转过的一个角度也固定,适用于较精确的测量,这可有效提高输液速度的控制精度。因此,电机选用步进电机最佳。3.1.5 键盘显示单元滴速的大小要由人工设定,滴速的设定值与实际值也都必须在键盘上显示。方案一:采用液晶显示屏和通用矩阵键盘。液晶显示屏(LCD)具有功耗小、轻薄短小无辐

18、射危险、平面直角显示以及影象稳定不闪烁、可视面积大、画面效果好、抗干扰能力强等特点。但由于只需显示三位速度值,信息量比较少,用LCD显示成本相对偏高。方案二:采用8位LED七段数码管显示点滴数目。数码管具有:低能耗、低损耗、低压、寿命长、耐老化,对外界环境要求较低。同时数码管采用BCD编码显示数字,程序编译容易,资源占用较少。本设计采用TM1639外部扩展芯片,通过三个端口便可实现了键盘和LED显示功能,节省并预留了端口来进行功能优化。3.2 模块的硬件设计3.2.1 系统的组成单元系统主要有5个单元构成,分别是C8051F410单片机最小系统、红外线检测单元、步进电机单元、声光报警单元、键盘

19、及显示单元,如图3-2所示。 图3-2 系统组成单元3.2.2 通信接口电路设计因为PC机RS232串口采用的是RS232传输协议,它的高低电平分别为-l2V和+12V,与单片机的电平不一致,所以不能将PC机和单片机用电缆直接进行连接,在PC机和单片机之间必须增加一个RS232/TTL电平转换电路,即通信接口电路通常选择专用的RS232接口电平转换集成电路,如MAX232、HIN232等,NIH232和MAX232可以直接互换。这里选用NIH232CP芯片来完成串口接口电路 。图3-1 通讯接口电路3.2.3 点滴信号检测模块此单元模块用来检测是否有液滴滴下,其传感器部分采用红外对射器。红外对

20、射传感器是由红外发射管和接收管组成的,它的主要功能是实现电红外线电的转换。其基本原理是以光电效应为基础,将被测量的变化转换为光信号的变化,然后借助光电元件进一步将光信号转化成电信号。当有液滴滴落要经过光源和光电接受器件之间时,光线会发生折射和散射,导致光电接收器件接收不到光信号,这时光电器件输出一个电平跳变。由于红外光波长比可见光长,敏感波长为0.76m1.5m附近,受可见光影响较小,其红外系统也具有尺寸小,重量轻,易于安装等优点,因此它是检测液滴滴速的首选传感器。3.2.4 键盘及显示模块此系统使用的键盘与显示单元都是通过TM1639扩展后再连接到单片机上。TM1639是带键盘扫描接口的LE

21、D(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路,其硬件原理图如图3-3。它主要应用于冰箱、空调 、家庭影院等产品的高段位显示屏驱动和键盘扫描。 图3-3 TM1639管脚定义GR1GR8,分别是8个位输出接口SEG1SEG4,SEG9SEG12分别是8个段输出接口,其中SEG1SEG4也用作键扫描K0K1是键扫描数据输入端VDD接逻辑电源GND接逻辑地DIO是串行通讯接口的数据输入/输出口,在时钟上升沿输入/输出串行数据,从低位开始。CLK是串行通讯接口的数据时钟输入接口。STB为串行通讯接口的数据的片选接口,在上升或下降沿初始

22、化串行接口,随后等待接收指令。STB为低后的第一个字节作为指令,当处理指令时,当前其它处理被终止,当STB 为高时,CLK 被忽略。经过译码,取最高B7、B6两位比特位以区别不同的指令,当他们为01时为数据命令指令,如下表3-1所示,10时为显示控制命令设置,11时为地址命令设置;CLK为时钟输入口,在上升沿输入/输出串行数据。 表3-1 TM1639数据命令指令 TM1639与控制器通过三线串口进行数据传输,读取和接收数据时序分别见图3-4(a)和图3-4(b),可以看出,读取和接收1个BIT都在时钟的上升沿操作,读取/写入数据,均按照从低位地址到高位地址,从字节的低位到高位操作。(需要注意

23、:读数据时,从串行时钟CLK的第8个上升沿开始设置指令到CLK下降沿读数据之间需要一个等待时间Twait。) 3-4(a)数据接收时序图 3-4 (b) 数据读取时序图 TM1639扩展后,其硬件原理图如图3-5所示。 图3-5 TM1639硬件原理图 一般来说,多个数码管的连接并不是把每个数码管都独立的与可编程逻辑器件连接,而是把所有的LED管的输入连在一起。这样做的好处有两点:一是节约了器件的IO口;其二是降低了功耗。每次向LED写数据时,通过片选选通其中一个LED,然后把数据写入该LED管,因此每个时刻只有一个LED管是亮的。为了能持续看见LED上面的显示内容,必须对LED管进行扫描,即

24、依次并循环地点亮各个LED管。利用人眼的视觉暂停效应,在一定的扫描频率下,人眼就会看见好几个LED一起点亮。每个LED的功耗较大,如果所有的LED一起点亮,其功耗较大。利用扫描的方式,每个时刻只有一个LED管是亮的,可以大大的减少功耗。扫描频率大小不许合适才能有很好的效果。如果太小,而每个LED开启的时间大于人眼的视觉暂停时间,那么会产生闪烁现象。而扫描频率太大,则会造成LED的频繁开启和关断,大大增加LED功耗(开启和关断的时刻功耗很大)。一般来说,扫描频率选在50Hz比较合适。 3.2.5 报警模块当传感器检测到液位低于预设值或传感器检测不到有液滴滴落时,单片机控制蜂鸣器,在发出声光报警的

25、同时向主站发出报警信息。压电式蜂鸣器工作时约需10mA的驱动电流,由于单片机输出信号不能直接驱动蜂鸣器,因此外接驱动电路。如下图所示,蜂鸣器作为三极管Q2的集电极负载,当Q2导通时,蜂鸣器发出鸣叫声;Q2截止时,蜂鸣器不发声,R4是限流电阻。蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此使用推挽式输出来驱动蜂鸣器。我们可以通过改变单片机P03引脚输出波形的频率来调整控制蜂鸣器音调,产生不同音色,音调的声音。另外,通过改变输出波形高电平的占空比,则可以调整蜂鸣器的

26、声音大小。在实际应用中,如果设定的滴速过高,输液瓶上升到支架顶部时,仍达不到设定的滴速,输液瓶继续上升有可能会拉倒支架,造成危险。所以在支架的顶部安装一个红外探测器,如检测到输液瓶上升到支架顶部,则发出信号,通知单片机控制电机停转,同时发出声光报警并向主站发送报警信号。另外,在检测到的输液速度过低时或者输液即将结束的时候也会发出报警信号。3.2.6 电动机驱动模块步进电机由单片机产生脉冲,经驱动电路变换、放大后输入步进电机。控制电路每发一个脉冲,驱动电路则驱动步进电机走一步,这种控制方式叫脉冲控制型。单片机输出控制三极管通断来给步进电机驱动信号。其中驱动器中通过光耦来进行隔离。驱动步进电机采用

27、24V供电,而控制电路采用5V供电。CP为脉冲输入信号,每给一个脉冲,电机便会走一步,如果停止给CP的脉冲输入,则步进电机便会立即停止工作。单片机首先通过设定值和现有值的差值判断出电机的转动方向,然后发出相应的脉冲,调整输液瓶高度,因此,可以通过步进电机准确的控制输液瓶的高度。而CW为正反转控制信号,通过控制CW来控制电机使输液瓶正反转。整个电机驱动模块如图3-5。图3-6 电动机硬件原理图 第4章 系统软件设计4.1 软件设计框架 图4-1 主程序流程图 主程序功能:它对一系列寄存器进行初始化,其中包括PCA控制寄存器,PCA方式寄存器,中断寄存器,内部振荡器控制寄存器,计数器/定时器控制寄

28、存器,端口I/O交叉开关控制寄存器。在其循环程序中主要进行显示滴速(实际滴速与设置滴速),键盘查询,判断与设置滴速与实际滴速之间的关系从而控制电动机正反转,另外循环程序中还要判断是否有报警信号,如果有则要使发光二极管发光,驱动蜂鸣器发声,停止电动机工作。主程序的功能流程图如图4-1。 系统中还包括两种中断,分别是PCA中断,定时器中断。 PCA中断:PCA包括两个中断,用于统计两滴液滴滴下时它们之间的时间间隔,因此它可以用来计算的液滴的滴速。定时器中断:本系统共有2个定时器中断,用来形成固定频率的脉冲来供给电动机和蜂鸣器使用。4.2 芯片主要寄存器介绍信号的采集是系统工作的前提,也是保证系统准

29、确性最初始的一步,如果采集到的信号能够准确有效,将使整个装置的可靠性得到提高。当有液滴滴落时,红外接受传感器会传过来一个上升沿脉冲,系统采集液滴信息时就是检测上升沿和上升沿之间的间隔时间。这主要用到了PCA捕捉模块和PCA计数器/定时器寄存器。4.2.1 PCA计数器/定时器 16位的PCA计数器/定时器由两个8位的SFR组成:PCA0L和PCA0H。PCA0H是16位计数器/定时器的高字节(MSB),而PCA0L是低字节(LSB)。在读PCA0L时,“瞬象寄存器”自动锁存PCA0H的值,随后读PCA0H时将访问这个“瞬象寄存器”而不是PCA0H本身。先读PCA0L寄存器可以保证正确读取整个1

30、6位PCA0计数器的值。读PCA0H或PCA0L不影响计数器工作。PCA0MD寄存器中的CPS2-CPS0位用于选择PCA计数器/定时器的时基。当计数器/定时器溢出时(从0xFFFF到0x0000),PCA0MD中的计数器溢出标志(CF)被置为逻辑1并产生一个中断请求(如果CF中断被允许)。将PCA0MD中ECF位设置为逻辑1即可允许CF标志产生中断请求。当CPU转向中断服务程序时,CF位不能被硬件自动清除,必须用软件清除。注意,要使CF中断得到响应,必须先总体允许PCA0中断。通过将EA位(IE.7)和EPCA0位(EIE1.4)设置为逻辑1来总体允许PCA0中断。清除PCA0MD寄存器中的

31、CIDL位将允许PCA在微控制器内核处于空闲方式时继续正常工作。4.2.2 PCA捕捉/比较模块 芯片有6个捕捉模块,每个模块都可被配置为独立工作,有六种工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8位脉宽调制器和16位脉宽调制器。每个模块在CIP-51系统控制器中都有属于自己的特殊功能寄存器(SFR),这些寄存器用于配置模块的工作方式和与模块交换数据。 PCA0CPMn寄存器用于配置PCA捕捉/比较模块的工作方式,表4-1概述了模块工作在不同方式时该寄存器各位的设置情况。置位PCA0CPMn寄存器中的ECCFn位将允许模块的CCFn中断。注意:要使单个的CCFn中断得到响应,必须

32、先整体允许PCA0中断。通过将EA位(IE.7)和EPCA0位(EIE1.3)设置为逻辑1来整体允许PCA0中断。 表4-1 PCA捕捉/比较模块的PCA0CPM寄存器设置PWM16 ECOM CAPP CAPN MATTOGPWMECCF工作方式X X 1 0 0 0 0 X 用CEXn的正沿触发捕捉 X X 0 1 0 0 0 X 用CEXn的负沿触发捕捉 X X 1 1 0 0 0 X 用CEXn的跳变触发捕捉 X 1 0 0 1 0 0 X 软件定时器 X 1 0 0 1 1 0 X 高速输出 X 1 0 0 X 1 1 X 频率输出&

33、#160;0 1 0 0 X 0 1 X 8位脉冲宽度调制器 1 1 0 0 X 0 1 X 16位脉冲宽度调制器  4.2.3 PCA控制寄存器下面是对与PCA工作有关的PCA控制寄存器进行的说明。 表4-2 PCA0CN:PCA控制寄存器CF CR CCF5 CCF4 CCF3 CCF2 CCF1 CCF0 CF:PCA计数器/定时器溢出标志,当PCA计数器/定时器从0XFFFF到0X0000溢出时由硬件置位。在计数器/定时器溢出(CF)中断被允许时,该位置1将导致CPU转向PCA中断服务程序。该位不能由硬件自动清0,必须用软件清0。 CR:PCA计数器/定时器运行控制

34、,当它为1时,允许PCA计时器/定时器。CCF0:PCA模块0捕捉/比较标志,在发生一次匹配或捕捉时该位由硬件置位。当CCF0中断被允许时,该位置1将导致CPU转向PCA中断服务程序。该位不能由硬件自动清0,必须用软件清0。 4.3 算法分析与实现4.3.1 电动机的转速 系统中输液瓶的高低是由电动机来带动。由于输液瓶上升下降要保持输液的平稳性和垂直型,因此电动机转动的转速不能过快,但是为了能够及时地调整输液速度与设定值一样,电动机的转速又不宜过慢。这里就先介绍一下本设计中步进电机速度的计算方法。无论使用何种励磁方法,采用何种运行方式,步距角与齿数z、拍数N之间均存在如下关系: (1)上式说明

35、:转子每转过一个步距角就等于转过了1/(N z)转,也就是说,每输入一个电脉冲,转子转过1/(N z)转。因而,若脉冲频率为f(单位为脉冲数/s, pulse per second ,pps),则转子每秒转过f/(N·z)转。所以,转子的转速n(r/s)为 (2)式中 步距角。步距角小,可以提高工作机械的精度;而提高输入脉冲的频率可以提高转速,可以提高工作机械的工作效率。因此,想改变步进电机的转速,就要改变输给电机的波形频率。其中,脉冲波由单片机定时产生,改变定时器1的初值就可以改变脉冲的频率。void timer_isr0(void) interrupt 1 /供给步进电机使用 T

36、H0=0xe6; TL0=0xff; p00=p00; TF0=0;步进电机转向的控制比较简单,只需要设定一个转向控制位即可。控制位为高电平时正向转动,为低电平时反向转动。所以在发送控制脉冲时只需判断转向控制位的电平就可以发送正向或反向脉冲,实现转向控制。if(setdata>frequence)TR0=1;p02=1;/如果检测到设定的速度比检测速度高,则电动机正转if(setdata<frequence)TR0=1;p02=0;/如果检测到设定的速度比检测的速度低,则电动机反转if(setdata=frequence)TR0=0;/停止定时器工作,即没有定时器中断,不会产生电动

37、机脉冲。4.3.2 蜂鸣器音频和音量 通过改变单片机P04引脚输出波形的频率来调整控制蜂鸣器音调,产生不同音色,音调的声音。另外,通过改变输出波形高电平的占空比,则可以调整蜂鸣器的声音大小。void t1(void) interrupt 3 using 3/给蜂鸣器发生用 TH1=0xe6; TL1=0xff; p04=p04; 4.3.3 滴速的检测通过PCA捕捉模块来判定液滴的滴落及计算其速度。设定P01为其检测口,当发现上升沿的时候,PCA捕捉模块捕捉到匹配条件,进入PCA中断。这时,PCA定时器会自动记录发生匹配时的时间,当下一个上升沿来临时,也记录下时间,两者相减,通过计算便可得出一

38、分钟内的滴数。其中PCA定时器的一个定时周期为257ms,如果发生溢出,在允许溢出中断的条件下,则可在其中断设置一个计数值,记录它的周期数,这样便能检测出准确地滴速了。液滴检测原理图如图3-2。输液平均点滴数的计算:设5滴的时间间隔分别为T1、T2、.T5,平均滴数计算公式如下: (3)式中Ti的单位为秒,N为输液速率。图3-2 PCA定时捕捉原理void pca() interrupt 11 uchar m,k; if (CCF0)/脉冲上升沿中断 CCF0 = 0;/此标志位有软件置位 TH1=TL1=n=ff=0;/如果没有信号进来一直让定时器1中的n往上加 if(flag=0)/表示脉

39、冲上升沿为第一次 k=0; flag=1; previous_capture_value = PCA0CPH0*256+PCA0CPL0;/将第一次捕捉到的始终作为 /计数初值 else current_capture_value =k*65536+PCA0CPH0*256+PCA0CPL0;/当前上升沿来临时 /PCA定时器中的数与溢出次数*65536相加,作为计数终值。 capture_period = current_capture_value - previous_capture_value;/两者相减便是两滴 /液滴之间的时间间隔 previous_capture_value = P

40、CA0CPH0*256+PCA0CPL0;/将PCA定时器中的值赋值给 /变量,计数初值。 bufm=capture_period; m+; if(m>4)m=0;/计算5次捕捉到时间的平均值,第六次取到的数值取代第一次,使取 /值更准确 k=0; if(CF) /PCA计数器/定时器溢出中断 k+;/中断一次,k加1,相当于65536个PCA定时器时钟周期 CF=0;/此标志位有软件置位 4.4 测试结果及分析4.4.1 测试方案 电机驱动控制精度的测试:设定一个滴速,通过电机带动滑轮改变储液瓶的高度,待系统稳定后记录目测值和显示值。 调整到新稳定所需时间的测试:改变滴速设置后,测量调

41、整到目标速度的时间。4.4.2 主要测试结果 表4-1 电机驱动控制精度的测试设定值(滴/分钟)目测值(滴/分钟)显示值(滴/分钟)测试1999697-100测试2605959-62测试3112115109-114表4-2 调整到新稳定所需时间的测试达到目标速度所需时间(秒)测试1(6080)36测试2(8060)34测试3(70-110)57测试4(11070)534.4.3 测试结果分析由测试结果表一中的数据可以看出,测得的滴数与实际滴数几乎相等,相差在13滴,在药理方滴数浮动范围内(不超过10滴),光电检测电路的设计满足需求。显示滴速与实际滴速之所以会有相差,一部分原因是因为液滴落下时,

42、实际上的时间间隔就不一样,另外也可能是算法不够完善。由表二的数据可得出系统调整到设定的状态未超过一分钟(调整的数值小于40滴/分钟)实际上调整的滴数大概也在这个范围内,表明系统能够较快调整到医务人员所希望达到的理想数值。其中显示的数据是采集5次得数据的平均值,因此到数值稳定会有一段时间延长,测得的数据也更稳当。结 论通过本次设计,我掌握了输液点滴监控系统的设计以及医疗监控设备今后的大概的发展,也熟悉如何设计一个独立的系统,了解了光电传感器,了解电机驱动,同时我也掌握了单片机编程的一些思想和方法。系统仍存在着许多不足,例如墨菲式滴管如果稍微受到有幅度的摆动便会影响点滴的检测,而实际中输液瓶必将会

43、受到病人或者医师的调整或者碰撞,如何固定这两者之间的联系以及如何减小整个系统的体积,这些都还有待加强。在主从站通信这块没有做出硬件,希望日后能够实现无线通讯的功能。可以预测,医用输液监护系统未来的发展趋势将是把通信技术和单片机技术结合在一起,从而进一步提高系统的性能,使系统更加精密可靠,并且成本低廉,易于推广。同时,网络化和智能化也是输液监护系统未来的发展方向。参考文献1马将,杨昆,文宇桥,钟朵莉。医用输液监护器的设计J.四川理工学院学报:自然科学版,2013(2)392于敏丽,王彤,霍艳玲。基于红外技术的输液点滴速度监控装置的设计J.激光与红外,2007,3(10):1097.3杨凤云.基于

44、51单片机的输液监控系统设计硕士学位论文.南京:南京理工大学,2012.24吴雪松,苗振魁,杨学友,等。单片机控制自动输液泵的研制。5籣利峰,李洪振。低成本输液报警器制作J.医疗装备,2010(8):18-196医药资讯网.王产医疗设备发展将扭转依赖进口局面2006.11.12/2007.01.017张乐华.2000年医疗器械的崭新前景.当代医学,2000,6(9):678刘世平,薛大磊,葛强.智能输液监控系统中国专利.泰山职业技术学院9南建辉,熊鸣,王军茹.单片机原理与应用实例M.北京:清华大学出版社,2003.10刘贺.输液监控智能系统的研制硕士学位论文.重庆:重庆理工大学,201011张

45、永,输液监测与控制系统设计D.辽宁:大连交通大学,2006.12Fengge Bai,Wen Bai.Design of Transfusion Speed Monitor Based on MCU and Photoelectric SwitchJ.International Conference on Information Engineering and Computer Science,2009,(4):1-4.13雍小烂,陈霞,廖静,杨莉,余戟.静脉输液速度护理探讨J.西南国防医药,2002,12(4):341-342.14李和太,赵新,李新,夏加宽.智能输液监控系统的研制J沈阳工业

46、大学学报,2006,28(3):319-326.15Neff TA,Fischer JE,Schulz G,Baenziger O,Weiss M.Infusion pump performance with cmedicineJ.2001,27(1):287291. 16王紫婷,王瑞峰,严天峰.智能液体点滴速度监控仪J.自动化与仪器仪表,2004,(5):48-49. 附 页#include "C8051F410.h"#include "tm1639.c"sbit led1=P05;sbit p00=P00;/电动机脉冲信号sbit p01=P01;/

47、接受外来中断信号sbit p02=P02;/电动机正反转信号sbit p03=P03;/蜂鸣器信号sbit p04=P04;sbit p10=P10;/接受报警信号sbit p11=P11;/二极管信号sfr16 TMR2RL=0xCA;sfr16 TMR2=0xCC;unsigned char n,flag=0,ff; uchar number,flagnum,hundred,ten,zero;unsigned long setdata,buff=0;static long current_capture_value, previous_capture_value;static long c

48、apture_period,average;unsigned long buf5=50,50,50,50,50;void PCA_Init() PCA0CN = 0x40;PCA0MD=0x01; PCA0CPM0 = 0x21; PCA0CPL0 = 0x04c6; PCA0CPH0 = 0x00; void Timer_Init() T2SPLIT=0; TMR2RL=0Xfd00; TMR2=TMR2RL;ET2=1; TMOD=0x11;TH0=0xe6; TL0=0xff;TH1=0x07;TH0=0xf6;/TR0=1;TR1=1; void Port_IO_Init()P0MDO

49、UT = 0x0d; P0SKIP = 0x01; XBR1 = 0x41; void Interrupts_Init()EIE1=0x10;IE=0xAA; void Init_Device(void) PCA_Init(); Timer_Init(); Port_IO_Init(); Interrupts_Init(); void main()long frequence;uchar i,keystore,begin=0;/beginPCA0MD&=0x40;OSCICN=0X84;Init_Device();EA=1;p11=0;while(1) for(i=0;i<5;i

50、+)buff=buff+bufi; average=buff/5; buff=0; keystore=keyquery(); init1639(1); if(keystore>=1)&&(keystore<=8) while(keyquery()>=1)&&(keyquery()<=8); if(keystore=4)number+;if(number>9)number=0; if(keystore=1)flagnum=1; if(keystore=2)flagnum=2; if(keystore=3)flagnum=3; if(f

51、lagnum=1)hundred=number;begin=0;TR0=0; if(flagnum=2)ten=number;begin=0;TR0=0; if(flagnum=3)zero=number;begin=0;TR0=0; if(keystore=5)setdata=hundred*100+ten*10+zero;begin=1; frequence=6000/(average*100/255208);if(ff=1)frequence=0;init1639(1);ledAddressRegularDispaly(1,(int)frequence/1000);ledAddressRegularDispaly(2,(int)frequence%1000/100); ledAddressRegularDispaly(3,(int)frequence%100/10); ledAddressRegularDispaly(4,(int)frequence%10); ledAddressRegularDispaly(5,(int)hundred);ledAddressRegularDispaly(6,(int)ten);ledAddressRegularDispaly(7,(int)zero);write1639(brightnessLever+3);if(beg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论