医用安全输液监护器

🏠 首页 《无线电》杂志 1996年 🔗 第4期 🔗 第31页 分类:无线电技术自学经验交流 🔗 彭敢 🔗

[编者按]在刚刚结束的“力源杯”大奖赛上,北京彭敢的参赛作品“医用安全输液监护器”被评为一等奖,该作品巧妙地应用了PIC58 BASIC单片机,具有推广价值。本刊特请作者将论文修改后刊出。

病人输液时,如果发生排空或堵塞,都是很危险的,经常需要专人进行看护。“安全输液监护器”是为防止在常规输液过程中发生排空、堵塞等事故而设计的,旨在提醒病员或护理人员及时换液,及时处理堵塞排空,使护理人员从紧张、劳累的看护劳动中解放出来,因此深受病人和医护人员的欢迎。

一、工作原理

每毫升液体的滴数是由输液器滴管的口径决定的,一般为每毫升15滴,不同厂家生产的输液器规格有所不同,但大都在包装上给予标明。通过对液滴进行计数,再通过适当运算后加以显示,即可实时监测输液进程。

图1
图1 🔍原图 (1466×1141)

1.当剩余液量不足规定值(如20ml)时,发出音响报警,提示换液。

2.当停滴超过规定时间(如20s)时,发出音响报警,表示管路堵塞或排空,应及时进行处理。

3.通过测量两滴之间的间隔时间,可计算并显示出每分钟滴数,以便快速准确地调整输液速率。

二、主要功能:

1.换液提示报警。

2.堵塞或排空报警。

3.剩余液量显示。

4.输液速率显示。

5.输液器规格设定。

三、操作说明

打开电源开关,液晶显示器显示“-500”,表示液量为500ml。如按“Up”、Down”键,则显示以10为单位递增或递减,最大为“990”,最小为“20”。每滴完1ml显示减1。

按“Next”键,显示切换为“:XXX”,表示输液速率(每分钟滴数),每滴一滴,显示变化一次,方便医护人员快速了解输液速率,及时进行调整,大大提高工作效率,对急重病人可争取抢救时间。

再按“Next”键,显示切换为“XX.X”,用于对一次性输液器的规格进行设定,数值表示每毫升滴数,可通过“Up”、“Down”键,在0.5~25之间任意调整。调整后数值自动记忆,不必每次开机都进行调整。

再按“Next”键,则显示回到“-XXX”,实时显示输液进程。在显示为其它状态时,不影响计量的正常进行。

输液过程中,显示屏“-”号随着液滴滴落而闪烁。同时蜂鸣器发出“滴”音。

当两滴之间隔大于规定时间时,显示“LOBAT:000”并发出音响报警,表示发生堵塞或排空。

当液量少于20ml时显示“LOBAT+020”并发出音响报警,提示换液。

开关置消音位置时,不发出“滴”音,但不影响报警音响。

四、电路简介

电路的核心是PIC58BS单片机,该单片机是力源单片机技术研究所经过在美国Microchip公司的PIC16C58芯片上固化BASIC解释程序而成的,采用BASIC高级语言编程,易开发,成本低。程序及部分需要保存的数据存储在电可擦除存储器93LC66上。显示部分采用低功耗、低成本、大字符的三位半液晶显示模块FRS-1200PG。另由一片40106产生液晶驱动信号及音响报警信号,压电蜂鸣器发出报警音响。三个按键完成各功能的切换与设置。

PIC58BS单片机I/O口的低4位用于液滴信号输入和按键输入,兼作显示数据输出;高4位为显示位地址。

IC4:D为液晶显示模块提供交流驱动信号,该信号还与显示模块内部的报警显示笔划LOBAT信号经IC4:F、IC4:E和D1、D2异或处理,再经滤波及IC4:A整形后控制、IC4:B,在报警时,IC4:B产生8Hz左右的方波信号,使IC4:C音频振荡器断续工作,推动压电蜂鸣器发出音响报警信号。

本“安全输液监护器”已获得国家专利,专利号:ZL94218276.6。

五、程序清单:

5

read 0,b3 ,置滴数

b4=500 ’液量预置5则

W5=1500 ’显示“-500”

xs: dirs=255 ’置I/O

pins=w5/1000+128 ’显示

Pins=w5//1000/100+64

pins=w5//1000//00/10+32

pinsw=5//1000//100//10+16

loop: dirs=%11110000

if pinO=1 then cgq ’有输入

w4=w4+1

button 1,1,10,0,b1,1,next ’Next键

button 2,1,10,10,b2,1,zj ’Up键

button 3,1,10,10,b2,1,jx ’Down键

if w4<950 then loop ’定时不到转

W5=10000 ’排空报警

goto xs

cgq: pins=128

b5=b5-1 ’减1滴

if b5<>0 and b4>2 then cgql

b5=b3

if b4<=2 then xs4

b4=b4-1

cgql: branch b0,(xs1,xs2,xs3)

next: b0=b0+1 ’ next状态转换

if b0<=2 then cgql

b0=0

if b3=b5 then cgql

write 0,b3 ’保存滴数值

goto cgql

zj: branch b0,(zj1,loop,zj2)

zj1: b5=1

if b4>99 then xs1

b4=b4+1 ’液量增大

goto xs1

zj2: b3=b3+5 ’滴数值加1

goto xs3

jx: branch b0,(jX1,loop,jx2)

jx1: b5=1

if b4=3 then xs4

b4=b4-1 ’液量减小

goto xs1

jx2: b3=b3-5 ’滴值值减1

goto xs3

xs1: w5=b5-1*10/b3

W5=b4-1*10+w5+1000 ’液量显示

goto xs

xs2: w5=4800/w4+2000 ’速率显示

goto xs

xs3: w5=b3+4000 ’滴数显示

goto xs

xs4 w5=11020 ’报警显示

goto xs

(彭敢)