蘭皓宇 張煉碩 葛小偉 張永林 蔣鵬飛 張書恒
摘 要:文中設(shè)計(jì)了一種高性價(jià)比的醫(yī)用吸氧計(jì)時(shí)計(jì)費(fèi)裝置,以解決醫(yī)院多發(fā)的吸氧收費(fèi)糾紛。該裝置以Arduino最小系統(tǒng)為處理核心,配合氣流傳感器實(shí)現(xiàn)病人吸氧的同步計(jì)時(shí)計(jì)費(fèi),并實(shí)時(shí)顯示吸氧時(shí)長、流量和費(fèi)用。該裝置通過紅外進(jìn)行授權(quán)操作和系統(tǒng)設(shè)置,并具有掉電數(shù)據(jù)自動(dòng)保存、低電量聲光報(bào)警等功能。該吸氧計(jì)時(shí)裝置結(jié)構(gòu)簡單、易于安裝、計(jì)時(shí)準(zhǔn)確、使用方便,醫(yī)院試用效果良好。
關(guān)鍵詞:間斷吸氧計(jì)時(shí);吸氧計(jì)時(shí)計(jì)費(fèi)裝置;實(shí)時(shí)性;操作管理;Arduino
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2017)09-00-03
0 引 言
目前醫(yī)院在實(shí)際醫(yī)療工作中,對于病人的吸氧計(jì)費(fèi)仍然存在收費(fèi)不精準(zhǔn)的問題,多數(shù)是由醫(yī)護(hù)人員定時(shí)巡房進(jìn)行人工計(jì)時(shí),缺少精確的設(shè)備進(jìn)行計(jì)時(shí)收費(fèi)。且病人在吸氧治療的過程中并不是持續(xù)不斷的吸氧,而是間歇吸氧,這就為醫(yī)院和病人之間對吸氧治療的標(biāo)準(zhǔn)計(jì)時(shí)造成了困難,因此收費(fèi)有一定出入。
吸氧計(jì)時(shí)的設(shè)備國內(nèi)外已有研究,醫(yī)院也有使用,但醫(yī)院較為常見的計(jì)時(shí)器都存在一些問題和缺陷。比如醫(yī)院多用普通計(jì)時(shí)器記錄時(shí)間,出現(xiàn)間斷吸氧如外出就餐或外出檢查后,停止供氧的時(shí)段只能通知護(hù)士扣減,計(jì)時(shí)存在明顯的不準(zhǔn)確性;另一種具有專利的氧氣吸入濕化器雖可自動(dòng)計(jì)時(shí),但該設(shè)備的核心裝置是觸碰開關(guān),在使用過程中硬件接觸頻繁極易損壞,同時(shí)清零裝置未設(shè)置權(quán)限,病人也可以自行清零,無法保障準(zhǔn)確性。
1 系統(tǒng)功能
結(jié)合吸氧治療的實(shí)際狀況,為了解決多數(shù)設(shè)備不能間斷累積計(jì)時(shí)的問題,文中提出的計(jì)時(shí)系統(tǒng)運(yùn)用微控制單元(MCU)對吸氧過程進(jìn)行實(shí)時(shí)監(jiān)控和管理,以提高計(jì)時(shí)的可靠性,減小系統(tǒng)體積。計(jì)時(shí)系統(tǒng)接在吸氧裝置的氣流通路中,當(dāng)氣流傳感器檢測到氧氣流通后,會(huì)根據(jù)當(dāng)前氧氣流速產(chǎn)生0~5 V的模擬電壓信號,該信號經(jīng)Arduino最小系統(tǒng)處理送到顯示模塊顯示并開始計(jì)時(shí);當(dāng)氣流傳感器檢測到氧氣停止流通后,系統(tǒng)停止計(jì)時(shí)。系統(tǒng)的顯示模塊會(huì)顯示當(dāng)前實(shí)時(shí)氧速率、累積吸氧時(shí)間、當(dāng)前吸氧計(jì)時(shí)、吸氧費(fèi)率、單次吸氧費(fèi)用、累積吸氧費(fèi)用,其中氧速率、累積時(shí)間、吸氧費(fèi)率和累積費(fèi)用的數(shù)據(jù)存儲(chǔ)在E2PROM中,實(shí)現(xiàn)掉電保存功能。系統(tǒng)具有權(quán)限操作功能,病人吸氧的數(shù)據(jù)只有通過紅外遙控輸入正確的密碼后才可以更改清零,密碼亦同。為提醒醫(yī)務(wù)人員意外掉電情況的發(fā)生,采用雙供電系統(tǒng),即適配器供電和鋰電池供電,將適配器作為主供電,一旦發(fā)生掉電情況,系統(tǒng)會(huì)立即進(jìn)行聲光報(bào)警;若鋰電池掉電,系統(tǒng)亦報(bào)警。
2 Arduino 最小系統(tǒng)簡介
系統(tǒng)選用Arduino ProMini的開源硬件。Arduino ProMini的處理器核心為 ATmega168,同時(shí)具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入,一個(gè)晶體諧振,一個(gè)復(fù)位按鈕。Arduino ProMini自帶存儲(chǔ)器,ATmega168包括片上16 KB Flash,其中2 KB用于Boot Loader。同時(shí)還有1 KB SRAM和0.5 KB E2PROM。
14路數(shù)字輸入輸出口的工作電壓為3.3 V或5 V,每一路輸出和接入的最大電流為40 mA。每一路配置了20~50 kΩ內(nèi)部上拉電阻(默認(rèn)不連接)。如下引腳有特定的功能:
串口信號RX(0號)、TX(1號): 提供TTL電壓水平的串口接收信號,可與6腳Header通孔相連。
外部中斷(2號和3號):觸發(fā)中斷引腳,可設(shè)成上升沿、下降沿或同時(shí)觸發(fā)。
脈沖寬度調(diào)制PWM(3、5、6、9、10 、11):提供6路8位PWM輸出。
SPI(10(SS),11(MOSI),12(MISO),13(SCK)):SPI通信接口。
LED(13號):Arduino專門用于測試LED的保留接口,輸出為高時(shí)點(diǎn)亮LED,反之輸出為低時(shí)LED熄滅。
6路模擬輸入A0~A5:每一路具有10位分辨率(即輸入有1 024個(gè)不同值),默認(rèn)輸入信號范圍為0~5 V,可通過AREF調(diào)整輸入上限。
TWI接口(SDA A4和SCL A5):支持通信接口(兼容I2C總線)。
3 吸氧計(jì)時(shí)系統(tǒng)的硬件、軟件設(shè)計(jì)
3.1 系統(tǒng)的硬件結(jié)構(gòu)
吸氧計(jì)時(shí)系統(tǒng)的硬件部分包括氣流傳感器、控制系統(tǒng)、LCD顯示屏、雙路電源、電源管理系統(tǒng)等,如圖1所示。
氣流傳感器左右兩端的進(jìn)出氣口與氧氣通路相連,當(dāng)病人吸氧且氧氣通過時(shí)傳感器發(fā)送0~5 V電信號觸發(fā)計(jì)時(shí)系統(tǒng)。LCD顯示模塊屏位于計(jì)時(shí)器主體表面,可以顯示當(dāng)前氧速率、累積吸氧時(shí)間、吸氧計(jì)時(shí)/密碼、費(fèi)率、單次吸氧費(fèi)用、累積吸氧費(fèi)用。電源、控制系統(tǒng)位于計(jì)時(shí)器主體內(nèi)部。
控制系統(tǒng)包括兩塊Arduino pro mini、紅藍(lán)LED、蜂鳴器、紅外接收器和遙控設(shè)備,其中一塊Arduino用于系統(tǒng)計(jì)時(shí)和操作管理,Arduino在接收到模擬信號后先進(jìn)行AD處理,產(chǎn)生當(dāng)前氧氣流速時(shí)開始計(jì)時(shí),計(jì)時(shí)過程中的實(shí)時(shí)時(shí)間、計(jì)時(shí)結(jié)束后的費(fèi)用計(jì)算都由Arduino完成并在LCD上顯示。系統(tǒng)權(quán)限操作指吸氧的費(fèi)率只可由醫(yī)護(hù)人員通過紅外遙控更改,病人的吸氧數(shù)據(jù)必須通過紅外遙控輸入正確的密碼才可清零,系統(tǒng)具有初始密碼,但也可手動(dòng)更改,密碼和相關(guān)的吸氧數(shù)據(jù)存放在E2PROM內(nèi),若系統(tǒng)意外掉電不會(huì)被擦除。另外一塊Arduino用于電源管理功能的實(shí)現(xiàn),為防止意外掉電情況的發(fā)生,實(shí)現(xiàn)監(jiān)控電量并在掉電后報(bào)警。系統(tǒng)為雙路供電,鋰電池給電源管理Arduino、LED和蜂鳴器供電,12 V/5 V雙輸出適配器給主控Arduino、LCD和傳感器供電,同時(shí)控制電路里有兩塊LM393集成運(yùn)算放大器,分別用于檢測適配器電量和鋰電池電量,當(dāng)適配器掉電時(shí)LM393會(huì)給Arduino發(fā)送高電平信號觸發(fā)聲光報(bào)警,當(dāng)鋰電池電量低時(shí)LM393直接輸出高電平點(diǎn)亮LED,若系統(tǒng)及時(shí)上電,則報(bào)警解除。endprint
電源管理模塊主要通過兩塊LM393運(yùn)算放大器實(shí)現(xiàn)主要功能。電源管理核心電路如圖2所示。LM393(適配器掉電檢測)由5 V鋰電池供電,同向端接12 V適配器,反向端接5 V鋰電池,運(yùn)算放大器持續(xù)輸出高電平,當(dāng)出現(xiàn)意外狀況適配器掉電時(shí),運(yùn)算放大器輸出變?yōu)榈碗娖?,此時(shí)Arduino檢測到電平變化,會(huì)控制蜂鳴器和藍(lán)色LED閃爍報(bào)警,若適配器重新連接,則報(bào)警消除;LM393(鋰電池電量檢測)由12V適配器供電,同向端接12 V,限伏在5 V以下,反向端接5V鋰電池,運(yùn)算放大器輸出端接紅色LED。正常工作狀態(tài)下,LM393持續(xù)輸出低電平,紅色LED熄滅。當(dāng)鋰電池處于低電量狀態(tài)時(shí)反向端電壓低于同向端電壓,LM393輸出高電平,從而點(diǎn)亮紅色LED,提醒工作人員需要給鋰電池充電。電源管理模塊同時(shí)檢測適配器電源和鋰電池電源,以提醒醫(yī)護(hù)人員可能影響吸氧計(jì)時(shí)的突發(fā)狀況是否發(fā)生。
計(jì)時(shí)器主體部分還有復(fù)位按鈕可給系統(tǒng)復(fù)位,以防系統(tǒng)死機(jī);具有掉電存儲(chǔ)和累加計(jì)時(shí)功能,以防突然掉電情況下數(shù)據(jù)丟失和無法間斷計(jì)時(shí)的問題出現(xiàn)。
3.2 系統(tǒng)的軟件設(shè)計(jì)
系統(tǒng)的實(shí)時(shí)計(jì)時(shí)部分運(yùn)用Arduino庫函數(shù)millis(),該函數(shù)從燒錄程序運(yùn)行開始計(jì)時(shí)。因?yàn)橛?jì)時(shí)器是從上電起一直運(yùn)行,為實(shí)現(xiàn)對每一次吸氧時(shí)間的精確計(jì)錄,當(dāng)Arduino接收到傳感器傳送的模擬信號時(shí),程序調(diào)用millis函數(shù),并將當(dāng)前時(shí)間點(diǎn)截取并保存到ROM中,若模擬信號消失,將再一次截取時(shí)間并保存至ROM,結(jié)束時(shí)間和起始時(shí)間的差值即為本次吸氧的總時(shí)間。在氧氣流通期間調(diào)用millis函數(shù),用millis函數(shù)的返回值減去截取的起始時(shí)間,并在LCD上顯示,即實(shí)現(xiàn)了每次吸氧開始都可以從0計(jì)時(shí),使用者可以清晰觀察使用情況。計(jì)時(shí)部分主要代碼如下:
if(val>20)//大于20 sccm傳感器輸出電信號
{
if (flag1)
{
T=millis ()/1000;
Start=T;
flag1=0;
flag2=1;
}
lcd.setCursor (10, 0);
Timer=millis ()/1000-T;
lcd.print (timer);
}
else if (flag2)
{
T=millis ()/1000;
Over=T;
flag2=0;
flag1=1;
Time=over-start;
Money=per*Time;
Serial.print (Time);
Serial.println ();
Serial.print (money);
}
掉電存儲(chǔ)則是運(yùn)用Arduino promini上集成的0.5 KB E2PROM,累積吸氧時(shí)間、單次費(fèi)用、吸氧費(fèi)率、累積費(fèi)用和密碼按次序存放在相應(yīng)的E2PROM中,每次吸氧結(jié)束計(jì)算吸氧費(fèi)用,數(shù)據(jù)都會(huì)更新并被重新存放到相應(yīng)的存儲(chǔ)空間中,實(shí)現(xiàn)了間斷吸氧計(jì)時(shí)的功能。若系統(tǒng)意外掉電,重要數(shù)據(jù)不會(huì)丟失。
密碼和費(fèi)率通過紅外傳輸更改,系統(tǒng)包含三種模式,即計(jì)時(shí)模式、清零模式、修改密碼模式,每種模式都通過紅外遙控進(jìn)入。
(1)在計(jì)時(shí)模式下,工作人員可以對費(fèi)率進(jìn)行修改,吸氧結(jié)束后程序會(huì)根據(jù)當(dāng)前輸入的費(fèi)率進(jìn)行計(jì)算;
(2)點(diǎn)擊紅外遙控上的“CL”鍵即進(jìn)入清零模式,在該模式下使用者必須輸入正確的密碼才能將E2PROM中的累積吸氧時(shí)間、單次費(fèi)用、累積費(fèi)用數(shù)據(jù)清零,若輸入錯(cuò)誤不會(huì)進(jìn)行任何修改;
(3)點(diǎn)擊“CH”鍵進(jìn)入修改密碼模式,該模式需先輸入舊密碼才能進(jìn)行新密碼的設(shè)置,輸入錯(cuò)誤則不會(huì)進(jìn)行任何修改。
在計(jì)時(shí)模式下若使用者忘記新設(shè)置的密碼,可以通過“RE”鍵將密碼初始化,但使用者需牢記系統(tǒng)的初始密碼。
4 程序流程圖
4.1 系統(tǒng)主流程圖
將傳感器接口與濕化瓶連接,接上電源,當(dāng)有氣流通過時(shí),傳感器檢測到信號并輸出0~5 V模擬電壓,傳送至芯片;芯片經(jīng)AD轉(zhuǎn)換將信號處理為當(dāng)前的氧氣流速,通過LCD進(jìn)行實(shí)時(shí)顯示并計(jì)時(shí)。LCD顯示屏顯示計(jì)時(shí)時(shí)間的主程序如圖3所示。
4.2 紅外遙控設(shè)計(jì)流程圖
控制芯片在接收到紅外遙控輸入的吸氧費(fèi)率后,吸氧結(jié)束階段計(jì)算出吸氧所需費(fèi)用,在LCD屏上顯示出來。系統(tǒng)的操作管理流程如圖4所示。在按下遙控器上的清零鍵后會(huì)要求輸入密碼,密碼正確則成功清零;在按下遙控器上的重置密碼按鍵后,先輸入原密碼,原密碼輸入正確,則LCD顯示屏顯示“CORRECT”,即可輸入新密碼并保存;若忘記密碼,按下密碼復(fù)位鍵即可恢復(fù)初始密碼。
4.3 電源管理流程圖
系統(tǒng)的電源管理由LM393和Arduino共同控制,自系統(tǒng)運(yùn)行起就進(jìn)行不間斷監(jiān)測,若適配器掉電則會(huì)觸發(fā)聲光報(bào)警,直至重新上電;若鋰電池為低電壓則會(huì)觸發(fā)光報(bào)警,直至工作人員給鋰電池充電。圖5所示為電源管理流程圖。
5 結(jié) 語
本文所研制的醫(yī)用吸氧自動(dòng)計(jì)時(shí)計(jì)費(fèi)裝置以氣流傳感器采集到的氧氣流通信號觸發(fā)計(jì)時(shí)系統(tǒng)工作,通過硬件系統(tǒng)和軟件系統(tǒng)的配合來完成實(shí)時(shí)累積計(jì)時(shí)計(jì)費(fèi)、電源管理和簡單的系統(tǒng)管理。樣機(jī)測試和醫(yī)院試用結(jié)果表明,該裝置可精確計(jì)時(shí)并檢測當(dāng)前氧氣流速,計(jì)費(fèi)數(shù)據(jù)安全可靠,系統(tǒng)穩(wěn)定性符合要求,完全滿足醫(yī)院的實(shí)際需求,有效解決了因吸氧計(jì)費(fèi)產(chǎn)生的糾紛。
參考文獻(xiàn)
[1]王長梅,李鋼,耿斌. QZJ_1型氣流自動(dòng)計(jì)時(shí)器的研制及臨床應(yīng)用[J].醫(yī)療裝備,2013,16(11):15-16.
[2]鮮丕堯.醫(yī)用吸氧計(jì)時(shí)器的研制[J].醫(yī)療裝備,2005,18(2):4-5.
[3]張秀香.醫(yī)用吸氧流量計(jì)量器:中國CN201607250U[P]. 2010.
[4]樊權(quán)民.吸氧同步計(jì)時(shí)器:中國CN202761865U[P].
[5]楊居義.單片機(jī)原理及應(yīng)用項(xiàng)目教程:基于C語言[M].北京:清華大學(xué)出版社,2014.
[6]湯嘉立.單片機(jī)應(yīng)用技術(shù)實(shí)例教程:C51版[M].北京:人民郵電出版社,2014.
[7]陳靜, 李俊濤, 騰文隆,等.單片機(jī)應(yīng)用技術(shù)項(xiàng)目化教程:基于STC單片機(jī)[M].北京:化學(xué)工業(yè)出版社,2015.
[8]張華宇,林海鵬.單片機(jī)原理與接口技術(shù)[M].北京:中國電力出版社,2014.endprint