李 裴,劉 慧,李滿堂,朱 莉,王換換
(1.徐州醫(yī)科大學(xué)附屬醫(yī)院 信息處,江蘇 徐州 221002; 2 徐州醫(yī)科大學(xué),江蘇 徐州 221000)
醫(yī)療水平的快速發(fā)展使得人們對醫(yī)院整體環(huán)境質(zhì)量提出了更高要求,尤其是病房區(qū)的條件配置,是影響病患病情恢復(fù)的重要因素。而溫濕度等作為病房環(huán)境重要組成因素,如何對其進(jìn)行有效控制,并減少溫控系統(tǒng)資源浪費(fèi),是當(dāng)前病房溫控系統(tǒng)建設(shè)面臨的主要問題。
據(jù)調(diào)研,相似氣候條件下,與發(fā)達(dá)國家相比,我國單位面積建筑所消耗的熱量要高出1~2倍。據(jù)研究,在國內(nèi)供暖系統(tǒng)中,大型供暖系統(tǒng)的節(jié)能潛力平均約為12.5%,造成能源浪費(fèi)的主要原因包括建筑保溫性能差、熱計(jì)量方法不合理,室溫調(diào)節(jié)機(jī)制不完善等[1-2]。
對于溫控系統(tǒng)的設(shè)計(jì),科研人員已經(jīng)開展了多項(xiàng)研究。并根據(jù)溫度控制目標(biāo)的不同,分為動態(tài)溫度跟蹤與恒值溫度控制,在工業(yè)化工生產(chǎn)、農(nóng)業(yè)生產(chǎn)以及室溫控制等方面均有涉及[3-5]。在已開展的各項(xiàng)研究中,研究人員提出的PID控制算法[6-7]、智能溫度控制法[8-9]、基于模糊邏輯描述的控制算法、模糊PID溫度控制技術(shù)[10-11]等常用于工業(yè)化工生產(chǎn)、農(nóng)業(yè)生產(chǎn)以及數(shù)學(xué)模型構(gòu)建等,對于醫(yī)院病房溫度控制的研究相對較少。同時(shí)由于現(xiàn)有部分病房溫控系統(tǒng)分辨率與精度低、管理人員水平有限、系統(tǒng)智能化程度不足,導(dǎo)致病房溫控效果并不理想。
在國外,學(xué)者對溫控系統(tǒng)及室內(nèi)溫控裝置進(jìn)行了較多研究,Monetti等使用Energ- yPlus[12]軟件對某住宅使用散熱器溫控閥使供暖能耗進(jìn)行動態(tài)仿真模擬,使節(jié)能效果提升2%~10%;Tahersima[13]等利用散熱器溫控閥的基礎(chǔ)上提高了維護(hù)結(jié)構(gòu)保溫性能,供暖能耗下降50%;Baek[14]等設(shè)計(jì)了一種基于模糊目標(biāo)溫差的水利地板輻射采暖自適應(yīng)室外復(fù)位控制系統(tǒng),該系統(tǒng)能夠確定熱量供應(yīng)時(shí)間和開關(guān)時(shí)間,且系統(tǒng)具有有效性。
在國內(nèi),宋春寧[15]等提出了基于ADHDP的PEMFC溫度控制方法,利用Matlab/ Simulink仿真平臺設(shè)計(jì)溫度控制器,使電堆溫度超調(diào)量僅為0.59%,小于HDP的0.94%;竇子文等[16]設(shè)計(jì)了基于前饋-反饋符合控制的光學(xué)晶體溫度調(diào)節(jié)器,通過引入雙閉環(huán)控制的前饋補(bǔ)償控制,并基于ARM+FPGA架構(gòu)的TEC驅(qū)動模塊,實(shí)現(xiàn)高頻、高精度的PWM驅(qū)動控制,使系統(tǒng)的精度可控制的寬溫范圍在-30 ℃~130 ℃;宋佳良等[17]對一種具有室溫居里點(diǎn)的新型PTC材料PID控溫性能展開研究,降低了溫度超調(diào),提高了控溫精度。
學(xué)者對溫控系統(tǒng)的設(shè)計(jì)開展了較多研究,但適用于病房的溫控系統(tǒng)卻少有研究,因此該文設(shè)計(jì)了一種基于STC單片機(jī)[10]的智能化病房溫控系統(tǒng)。該系統(tǒng)利用溫濕度傳感器以及CO2濃度傳感器對病房溫濕度及CO2濃度進(jìn)行實(shí)時(shí)檢測,通過LCD1602顯示屏顯示。在病房溫度調(diào)整過程中,可通過PID算法[11]的參數(shù)調(diào)整,實(shí)現(xiàn)病房溫度的自控制,也可利用下位機(jī)通過UART串口通信將數(shù)據(jù)傳輸至PC上位機(jī)系統(tǒng)中,管理員根據(jù)醫(yī)院需要更改病房溫度閾值,調(diào)整病房區(qū)域溫度,病患也可通過室內(nèi)控制器進(jìn)行調(diào)整,確保溫控系統(tǒng)的靈活性。該系統(tǒng)的研究與設(shè)計(jì)對于提高溫控調(diào)節(jié)器靈活性、降低醫(yī)院資源消耗、提升病患入院診療滿意度具有重要幫助。
該系統(tǒng)由軟件部分和硬件部分組成,具體執(zhí)行流程如下:
溫濕度傳感器DHT11對病房實(shí)際溫濕度進(jìn)行監(jiān)測,CO2傳感器、CO傳感器等獲取病房內(nèi)各種氣體濃度,數(shù)據(jù)通過接口及時(shí)上傳至單片機(jī)中。
單片機(jī)對收到的溫濕度、一氧化碳、二氧化碳等數(shù)據(jù)后,進(jìn)行分析與處理;同時(shí)對溫度、濕度的具體值以及CO和CO2的濃度進(jìn)行分析,并通過LCD1602顯示屏展示當(dāng)前溫濕度等的值。
對于所監(jiān)測的各項(xiàng)參數(shù),通過單片機(jī)中獨(dú)立的鍵盤模塊,對溫濕度的閾值進(jìn)行設(shè)置,當(dāng)溫濕度及各類氣體監(jiān)測值超過限值時(shí),蜂鳴器模擬的報(bào)警系統(tǒng)將發(fā)出警報(bào)。警報(bào)出現(xiàn)后,模擬的控溫系統(tǒng)、加濕系統(tǒng)以及通風(fēng)系統(tǒng)將根據(jù)報(bào)警值自動調(diào)節(jié),直到數(shù)值恢復(fù)到正常范圍。
在上述過程中,單片機(jī)通過UART串口通信將傳感器監(jiān)測到的溫濕度數(shù)據(jù)發(fā)送至PC端,上位機(jī)將數(shù)據(jù)保存至數(shù)據(jù)庫中,并通過相關(guān)技術(shù)繪制溫濕度的實(shí)時(shí)曲線。
系統(tǒng)設(shè)計(jì)中需首先保證相關(guān)參數(shù)的設(shè)計(jì)要求,及相關(guān)硬件的使用要求,參數(shù)具體范圍如表1所示。
表1 單片機(jī)相關(guān)參數(shù)參考范圍
為確保基于STC單片機(jī)的智能化病房溫控系統(tǒng)能夠?qū)崟r(shí)監(jiān)測病房溫濕度,檢測病房CO2等氣體濃度,靈活控制病房溫濕度,保證病患住院舒適度,該溫控系統(tǒng)的設(shè)計(jì)需實(shí)現(xiàn)以下幾點(diǎn)目標(biāo)。
1)實(shí)時(shí)性:由于病房存在長時(shí)間不通風(fēng)狀態(tài),尤其是較為寒冷的冬季,會導(dǎo)致室內(nèi)有害氣體濃度上升,對室內(nèi)人員造成危害;同時(shí)為確保病患舒適度提高疾病恢復(fù)速度,需控制室內(nèi)溫度在設(shè)定閾值范圍內(nèi),因此,該溫控系統(tǒng)的設(shè)計(jì)需具備實(shí)時(shí)性。
2)高分辨率、高精度:長時(shí)間不通風(fēng)狀態(tài)下易產(chǎn)生CO2氣體,對病房人員造成不良影響。對此,需要具有高分辨力和高精確度的檢測設(shè)備來實(shí)現(xiàn)對有害氣體的檢測和記錄,當(dāng)濃度接近閾值時(shí),下位機(jī)產(chǎn)生預(yù)警信息,通過無線傳輸至上位機(jī)系統(tǒng),蜂鳴器警報(bào),確保病患安全。
3)靈活性:通常病房溫濕度的控制由醫(yī)院溫控系統(tǒng)統(tǒng)一管理,但由于病房類型和病患需求的不同,要求溫控系統(tǒng)具有一定的靈活性,保證病患或病區(qū)醫(yī)生能夠自主設(shè)定溫濕度閾值,加快病患病情恢復(fù)速度。
為實(shí)現(xiàn)該溫控系統(tǒng)的預(yù)期設(shè)計(jì)目標(biāo),在該病房溫控系統(tǒng)的設(shè)計(jì)中需實(shí)現(xiàn)以下功能:
1)系統(tǒng)各功能模塊獨(dú)立運(yùn)行,當(dāng)模塊出現(xiàn)錯(cuò)誤時(shí),上位機(jī)控制端具備錯(cuò)誤追蹤能力,能夠快速定位錯(cuò)誤點(diǎn),加快系統(tǒng)恢復(fù)進(jìn)程,降低系統(tǒng)故障影響。
2)對于病房的溫濕度等環(huán)境參數(shù),系統(tǒng)具備對病房溫濕度的實(shí)時(shí)監(jiān)測功能,同時(shí)能夠滿足病患和管理人員的靈活自調(diào)整需求。
3)當(dāng)病房溫濕度及有害氣體超出設(shè)定的溫濕度與氣體濃度限值時(shí),系統(tǒng)具備報(bào)警功能,當(dāng)出現(xiàn)問題時(shí),能夠及時(shí)提醒管理員進(jìn)行調(diào)整,提升醫(yī)護(hù)人員處理速度,提高病患入院診療滿意度。
該文設(shè)計(jì)的基于STC單片機(jī)[18]的智能病房溫控系統(tǒng)采用模塊化的設(shè)計(jì)原則,將系統(tǒng)分為主控模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)處理展示模塊、串口通信模塊以及自動控制模塊,各模塊功能如下。
1)主控模塊:該模塊負(fù)責(zé)系統(tǒng)的整體運(yùn)行,提供下位機(jī)終端設(shè)備與各傳感器的控制功能,并通過中央處理器CPU、程序存儲器RAM、數(shù)據(jù)存儲器ROM、多種I/O口和終止系統(tǒng)、定時(shí)器/計(jì)數(shù)器以及UART串口通信與各模塊進(jìn)行通信,保證硬件系統(tǒng)穩(wěn)定運(yùn)行。
2)數(shù)據(jù)采集模塊:數(shù)據(jù)采集模塊包含溫濕度采集板塊和氣體監(jiān)測模塊,由DHT11傳感器、CJMCU-MiCS-6814傳感器以及T6713-5K傳感器組成,可利用主控模塊將傳感器和A/D轉(zhuǎn)換器將傳輸?shù)碾妷盒盘栟D(zhuǎn)化為數(shù)字信號,然后在LCD屏顯示。
3)串口通信模塊:該模塊是單片機(jī)將檢測到的數(shù)據(jù)值發(fā)送到PC端的重要通道。
4)自動控制模塊:該模塊是當(dāng)溫濕度和相關(guān)氣體濃度超過既定閾值,蜂鳴器開啟報(bào)警,溫控板塊、加濕板塊以及通風(fēng)板塊自動工作調(diào)節(jié)溫濕度至正常范圍。
圖1 系統(tǒng)電路圖
病房溫控系統(tǒng)由主控模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)處理與顯示模塊、串口通信模塊以及自動控制模塊組成。整體系統(tǒng)硬件架構(gòu)如圖2所示。
圖2 系統(tǒng)硬件架構(gòu)圖
主控模塊作為下位機(jī)核心單元,需保證下位機(jī)端各模塊穩(wěn)定運(yùn)行,設(shè)計(jì)中采用基于8位單片機(jī)處理芯片STC89C51RC系統(tǒng)的STC89C51單片機(jī),該單片機(jī)基于51核心板,作為8051核的ISP可編程芯片,最高時(shí)鐘頻率為80 MHz,內(nèi)含4 k Bytes的可反復(fù)擦寫一千次,F(xiàn)lash只讀程序存儲器,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片集成通用8位中央處理器、ISP Flash存儲單元以及MAX810專用復(fù)位電路(外部20 M以下時(shí),可省外部復(fù)位電路)。
CPU結(jié)構(gòu)采用流水線和簡化的指令集和,工作電壓為5 V,時(shí)鐘頻率為0~35兆赫茲,正常工作時(shí)電壓為48兆赫茲,應(yīng)用程序存儲空間為12 k、10 k、8 k、6 k、4 k、2 k Byte,隨機(jī)存取存儲器為512字節(jié),EEPROM以512字節(jié)為一個(gè)扇區(qū),起始地址為Flash+1(0×2 000),有23或27個(gè)通用I/O口,電壓幅為之后準(zhǔn)雙向口可設(shè)置成準(zhǔn)雙向口/弱上拉、推挽/強(qiáng)上拉、僅為輸入/高阻以及開漏4種模式,內(nèi)部集成MAX810專用復(fù)位電路,當(dāng)外部晶體晶振低于20兆赫茲,外部復(fù)位電路省略不用。時(shí)鐘源部分,外部有高精度晶體,內(nèi)部采用R/C振蕩器。常溫下內(nèi)部R/C振蕩器頻率為5.2~6.8兆赫茲。
本次設(shè)計(jì)中,單片機(jī)選用PDIP封裝方式,引腳部分P0口由8個(gè)相同結(jié)構(gòu)引腳組成;P1口通常用作通用I/O端口,可用作按拉尋址處理;P2口可作為普通輸入輸出口,也可以在系統(tǒng)外部擴(kuò)展存儲器,輸出高8位地址;RST為復(fù)位端口,ALE/PROG輸出1/6角頻率的方波;PSEN作為外部程序存儲器選通訊號;EA/VPP作為訪問外部程序存儲器的控制信號,XTAL1是振蕩器逆變放大器和內(nèi)部時(shí)鐘發(fā)生器電路的輸入端,XTAL2是XTAL1的輸出端。
數(shù)據(jù)采集模塊包括溫濕度信號采集板塊、CO氣體濃度采集板塊、CO2氣體濃度檢測模塊。
溫濕度傳感器選用DHT11傳感器,包含3個(gè)引腳,P1(GND),接地,電源負(fù)極;P2(DATA),船型數(shù)據(jù),單總線,接單片機(jī)IO口;P3(VCC),電源引腳。數(shù)據(jù)由8 bit濕度整數(shù)數(shù)據(jù)+8 bit濕度小數(shù)數(shù)據(jù)+8 bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8 bit校驗(yàn)位;微處理器(M0)與DHT11通信約定,其中M0作為主機(jī),DHT11為從機(jī)。具體過程M0通知相應(yīng)信息準(zhǔn)備接收數(shù)據(jù),DHT發(fā)送信號準(zhǔn)備結(jié)束內(nèi)部信號,DHT的測試環(huán)境的溫濕度數(shù)據(jù)和記錄數(shù)據(jù)的開始信號為下次M0。整個(gè)過程中,DHT輸出80 μs低電平作為應(yīng)答信號,輸出80 μs高電平,作為通知微處理器準(zhǔn)備接收數(shù)據(jù)的通知。
CO傳感器采用CJMCU-MiCS-6814,該傳感器除可檢測CO濃度外,還可對NH3、NO2等氣體進(jìn)行監(jiān)測。該傳感器具有體積小、適應(yīng)能力強(qiáng)、功耗低、檢測靈敏度高、監(jiān)測范圍廣等優(yōu)勢,傳感器的5個(gè)引腳分別對應(yīng)CO、NH3、NO2、GND、+5 V。具體參數(shù)配置如表2所示。
表2 CJMCU-MiCS-6814參數(shù)表
CO2傳感器選用T6713-5K氣體傳感器,傳感器大小為30 mm×15.6 mm×8.6 mm,準(zhǔn)確率的范圍為400~5 000 ppm+/-30 ppm±3% 到400~2 000 ppm+/-25 ppm±3%之間,溫度依賴性為每攝氏度5 ppm或每攝氏度讀數(shù)的0.5%,以較大者為準(zhǔn),壓力一輛為每毫米汞柱讀數(shù)0.13%,90%的躍階變化響應(yīng)時(shí)間<3分鐘,信號每5秒更新一次,傳感器本身的存儲條件在-30~70攝氏度之間。該傳感器融合了體積小、精度高、可靠性強(qiáng)、功耗小、測量范圍大、響應(yīng)時(shí)間短等優(yōu)勢,相關(guān)參數(shù)如表3所示。
表3 T6713-5K參數(shù)表
設(shè)計(jì)中選擇的各種傳感器所需滿足的各種工作條件互不排斥,且均具有較高的精確度,能夠在復(fù)雜環(huán)境中穩(wěn)定運(yùn)行,保證了溫控系統(tǒng)整體的可靠性。
采用LCD1602液晶顯示屏,雙行顯示,每行16字符,工作電壓為4.5~5.5 V,工作電流為在5 V電壓下為2毫安,字符尺長為2.95×4.35(長×寬)毫米,顯示屏中包含16個(gè)引腳,第2引腳為VCC接V電壓,第3引腳VL為液晶屏顯示對比度調(diào)節(jié)端口,第4腳RS選擇寄存器,RS=0,選擇數(shù)據(jù)寄存器,RS=1,選擇指令寄存器,第6引腳E為Enable,高電平轉(zhuǎn)低電平時(shí),表示可用,能實(shí)現(xiàn)命令,第7~14引腳,D0~D7是8位雙向數(shù)據(jù)線。另外LCD1602中關(guān)鍵性指令設(shè)置了清屏指令、設(shè)置模式指令、顯示開關(guān)控制指令、功能設(shè)定指令等。
預(yù)警模塊主要負(fù)責(zé)對超出預(yù)警值的監(jiān)測信息進(jìn)行報(bào)警,確保病房環(huán)境安全。具體硬件設(shè)計(jì)如下。
預(yù)警模塊由蜂鳴器、發(fā)光二極管以及LED組成。電子蜂鳴器作為集成結(jié)構(gòu),選用直流穩(wěn)壓電源,應(yīng)用場景廣泛,設(shè)計(jì)中通過設(shè)置不同的頻率使蜂鳴器發(fā)出不同聲音,作為不同監(jiān)測值的報(bào)警信息。設(shè)計(jì)中使用有源蜂鳴器,在其兩端加載5V的直流電壓,當(dāng)單片機(jī)P1^5輸出一個(gè)低電平時(shí),蜂鳴器響,實(shí)現(xiàn)報(bào)警。
發(fā)光二極管由含鎵(Ga)、砷(As)、磷(P)、氮(N)等化合物制成,由于LED體積小,常作為電路指示燈。該文設(shè)計(jì)中使用紅色發(fā)光二極管作為自動控制模塊中的一部分,當(dāng)蜂鳴器報(bào)警時(shí),LED模擬加濕系統(tǒng),調(diào)節(jié)病房濕度,控溫系統(tǒng)調(diào)節(jié)病房溫度,通風(fēng)系統(tǒng)調(diào)節(jié)病房空氣質(zhì)量。
該系統(tǒng)對硬件系統(tǒng)按鍵模塊的設(shè)計(jì)中采用獨(dú)立鍵盤的方式,一個(gè)按鍵對應(yīng)單片機(jī)的一個(gè)I/O口引腳。設(shè)計(jì)的總份額從K1到K3,共有3個(gè)按鍵式開關(guān),K1、K2、K3分別連接單片機(jī)P3^1、P3^0以及P3的2個(gè)I/O口,用來改變溫濕度的上下限閾值。鍵盤模塊為低電平,按鍵未按下時(shí),上拉電阻確保單片機(jī)I/O口具有一定的高電平,當(dāng)某個(gè)按鍵按下時(shí),I/O口變成低電平。
系統(tǒng)的軟件設(shè)計(jì)主要分為上位機(jī)和下位機(jī)兩部分,軟件部分采用STC89C51系統(tǒng)進(jìn)行C語言的編輯,Keil C51提供了完整的開發(fā)方案,本次設(shè)計(jì)在Win10環(huán)境下運(yùn)行。
主程序控制各模塊,負(fù)責(zé)接收溫濕度傳感器的溫濕度數(shù)據(jù)、接收CO傳感器和CO2傳感器檢測的氣體數(shù)據(jù),并向PC端傳送串口數(shù)據(jù)、LCD液晶屏顯示溫濕度,進(jìn)行按鍵檢測調(diào)節(jié)溫濕度上下限。主程序設(shè)計(jì)如下:
void main()
{
uchar i:
UsartInit( ); // 串口初始化
LcdInit( ); // 液晶功能初始化
LcdShowInit ); // 顯示功能初始化
Flengshan = 0;
AlarmTL = EEPROM_Read(0x2000);
//從EEPROM的0x2000位置讀取溫度的報(bào)警下限
AlarmTH = EEPROM_Read(0x2001);
AlarmHL = EEPROM_Read(0x2002);
AlarmHH = EEPROM_Read(0x2003);
while(1)
{
sendSeriaPortMessage();//串口傳輸
Datapros();//接收CO2數(shù)據(jù)
ReadDhtData(); //檢測溫濕度數(shù)據(jù)
LcdGotoXY(1,2);//光標(biāo)定位溫度處
LcdPrintNum(temp); //顯示溫度值
LcdGotoXY(1,11); // 定位濕度處
LcdPrintNum(humi); //顯示濕度值
AlarmJudge(); // 判斷報(bào)警信息
for(i=0;i<25;i++)
{
KeyScanf(); // 按鍵掃描
DelayMs(20); // 延時(shí)
}
}
}
DHT11能夠讀取5個(gè)字節(jié),連續(xù)讀40 bit。當(dāng)遇到低電平時(shí),是while(低電平),等待;為高電平時(shí),就延時(shí)30 μs,然后讀電平,若讀到低電平,說明已經(jīng)到達(dá)第二個(gè)bit,而之前那個(gè)bit是0,返回(1);如果是高電平,說明我們還在這個(gè)bit,bit是1,則while(高電平)等待,等轉(zhuǎn)換到bit的低電平,返回(1),具體程序設(shè)計(jì)如下。
圖3 相關(guān)參數(shù)監(jiān)測流程圖
void ReadDhtData()
{
uchar HumiHig; //分別設(shè)置溫濕度的限值
uchar HumiLow;
uchar TemHig;
uchar TemLow;
uchar check;
DHT11_P = 0;
DelayMs(20);
DHT11_P = 1;
Delay10us( );
Delay10us( );
Delay10us( );
while(!DHT11_P); //等待
while(DHT11_P); //將測量數(shù)據(jù)賦予定義好的變量
HumiHig = DhtReadByte( );
HumiLow = DhtReadByte( );
TemHig = DhtReadByte( );
TemLow = DhtReadByte( );
Check = DhtReadByte( );
DHT11_P = 1;
if(check HumiHig+HumiLow+TemHig+TemLow)
{
Temp = TemHig;
Humi = HumiHig;
}
}
接收串口數(shù)據(jù)前首先對串口進(jìn)行初始化操作,注冊串口驅(qū)動程序,在初始化過程中,先取出相應(yīng)的UART_Port,然后對其初始化,獲取虛擬機(jī)地址,獲取終端號,復(fù)位FIFO;接著添加UART_Port-UART_add _one_Port,創(chuàng)建屬性文件,最后初始化動態(tài)頻率調(diào)節(jié),關(guān)鍵代碼如下。
SerialPort1 = newSerialPort (“COM5”, 4800, Parity.None, 8, StopBits.One); //初始化串口設(shè)置
Public delegate void Displaydelegate (byte[] InputBuf);
Byte[] OutputBuf = new Byte[128];
public Displaydelegate disp_delegate;
string str;
Public From1()
{
disp_delegate =new Displaydelegate (DispUI);
serialPort.DeataReceived += new;
SerialDataReceivedEventHandler(Comm_DataReceived);
InitializeComponent( );
}
該部分的設(shè)計(jì)為實(shí)現(xiàn)溫濕度的實(shí)時(shí)監(jiān)測,并實(shí)現(xiàn)溫濕度的可視化,便于管理員實(shí)時(shí)監(jiān)測溫濕度變化趨勢,進(jìn)行相應(yīng)的限值調(diào)整,具體設(shè)計(jì)如下。
private void timer1_Tick(object sender, Event args e)
{
timer1.Interval = 500;
Double newX, newY, newZ;
newX = i;
newY = Convert.Todouble(temp);
newZ = Convert.ToDouble(humi);
Chart1.Series[0].Points.AddXY(newX, newY);
Chart1.Series[1].Points.AddXY(newX, newZ);
i++;
if(chart1.Series[0].Points.Count > 10)//繪畫坐標(biāo)點(diǎn)超過100個(gè)時(shí),更新X時(shí)間坐標(biāo)
{
Chart1.ChartAreas[“ChartAreal”].AxisX.Minimum = i-10;//設(shè)置Y軸最小值
Chart1.ChartAreas[“ChartAreal”].AxisX.Maximum = i+10;//設(shè)置Y軸最大值
Chart1.ChartAreas[“ChartAreal”].AxisX.Interval = 2; //設(shè)置每個(gè)刻度的跨度
}
}
此外,為實(shí)現(xiàn)病房溫控系統(tǒng)的智能化,系統(tǒng)設(shè)計(jì)中使用PID算法[19-21],通過PID算法中的參數(shù)調(diào)整,智能調(diào)節(jié)病房溫度。
圖4 PID算法框架圖
PID是比例、積分與微分的簡稱,該算法的關(guān)鍵是控制參數(shù)KP、KI、KD的設(shè)置。作為比例控制參數(shù)KP,其能夠提高系統(tǒng)的動態(tài)響應(yīng)速度,迅速反應(yīng)誤差,從而減少誤差,但不能消除誤差,即KP值越大越快,KP值越小越慢;KI為積分控制作用,一般用于消除靜態(tài)誤差,靜態(tài)誤差指系統(tǒng)穩(wěn)定后輸入輸出之間存在的差值,當(dāng)系統(tǒng)存在誤差,積分作用便會導(dǎo)致誤差不斷疊加,便需要輸出控制量來消除誤差,當(dāng)誤差為零時(shí),積分停止;KD則是對偏差的變化趨勢做出反應(yīng),根據(jù)偏差的變化趨勢實(shí)現(xiàn)超前調(diào)節(jié),提高反應(yīng)速度。PID算法數(shù)學(xué)表達(dá)如下。
設(shè)定一個(gè)目標(biāo)溫度值,設(shè)為yp(t),實(shí)際溫度是y(t),則偏差值為:
err(t)=yp(t)-y(t)
(1)
由圖6知,得出偏差值err(t)后,根據(jù)PID算法的比例、積分和微分運(yùn)算,得到控制量u(t),其表達(dá)式如下:
圖6 溫濕度范圍設(shè)置測試
(2)
其中:u(t)為控制器輸出值,KP為比例系數(shù),TI為積分時(shí)間常數(shù),TD為微分時(shí)間常數(shù)。
積分項(xiàng)KI可以化簡為:
(3)
微分項(xiàng)KD可以化簡為:
(4)
綜上,控制量u(t)公式化簡為:
KD*[err(k)-err(k-1)]
(5)
算法執(zhí)行過程如下:
圖5 算法執(zhí)行流程圖
系統(tǒng)設(shè)計(jì)完成后,為確保系統(tǒng)各模塊能夠正常運(yùn)行,將病房溫控系統(tǒng)設(shè)計(jì)的軟件、硬件、網(wǎng)絡(luò)等板塊相結(jié)合,開展現(xiàn)實(shí)環(huán)境中的實(shí)踐測試,以便及早發(fā)現(xiàn)潛在問題并進(jìn)行處理。本次實(shí)驗(yàn)主要針對硬件系統(tǒng)是否正常運(yùn)行、溫濕度的限值設(shè)置、溫濕度的實(shí)時(shí)曲線顯示,結(jié)果如下。
該部分對電源模塊、主控模塊、液晶顯示模塊以及DHT11傳感器是否正常工作進(jìn)行檢驗(yàn),首先接通電源查看電源指示燈是否正常亮起,其次檢測DHT11傳感器是否正常監(jiān)測溫度,以及LCD1602顯示屏是否正常開啟,并能顯示溫濕度傳感器上傳的溫濕度數(shù)值,最后檢測單片機(jī)按鍵模塊是否能調(diào)整溫濕度的限值,經(jīng)檢驗(yàn)一切正常。
本次實(shí)驗(yàn)針對冬季病房溫度閾值進(jìn)行設(shè)置,考慮病患舒適度與病患病情恢復(fù)速度等因素,決定將溫度范圍設(shè)置為20~25 ℃,濕度為40%RH~55%RH,結(jié)果如下。
為更好地觀察病房內(nèi)溫濕度的變化過程,以及全天病房溫濕度變化趨勢,系統(tǒng)設(shè)計(jì)中在上位機(jī)部分設(shè)置了溫濕度實(shí)時(shí)變化曲線監(jiān)測功能,橫坐標(biāo)為時(shí)間變化,縱坐標(biāo)為溫濕度范圍,具體結(jié)果如下。
圖7 溫濕度實(shí)時(shí)曲線
經(jīng)檢驗(yàn),該文設(shè)計(jì)的溫控系統(tǒng)各部分能夠正常運(yùn)行,溫濕度傳感器、一氧化碳和二氧化碳等氣體傳感器能夠正常監(jiān)測環(huán)境溫濕度以及其中氣體濃度,并能通過接口將數(shù)據(jù)上傳至單片機(jī)中,LCD顯示屏對數(shù)值進(jìn)行顯示,之后通過UART串口將數(shù)據(jù)上傳至PC上位機(jī)端,實(shí)現(xiàn)溫濕度曲線的實(shí)時(shí)繪制,實(shí)驗(yàn)結(jié)果達(dá)到預(yù)期目標(biāo)。
目前,構(gòu)建智能化的病房溫控系統(tǒng)是解決或緩解醫(yī)院病房溫控資源浪費(fèi)的重要手段,其中通過精密有效的測量方式與儀器形成的軟硬件系統(tǒng)則是智能化病房溫控系統(tǒng)建設(shè)的重點(diǎn)。該文利用STC系列,基于51核心板的8051核ISP可編程芯片,設(shè)計(jì)基于PID算法的智能病房溫控系統(tǒng),通過溫濕度傳感器實(shí)時(shí)監(jiān)測病房溫濕度變化趨勢,期間單片機(jī)通過轉(zhuǎn)換器接收傳感器上傳的溫濕度等數(shù)據(jù),利用UART串口將數(shù)據(jù)上傳至上位機(jī)端進(jìn)行可視化。通過設(shè)置溫濕度限值,使用蜂鳴器建立預(yù)警系統(tǒng),對超出限值的項(xiàng)進(jìn)行報(bào)警,管理員通過操作軟件系統(tǒng)或硬件系統(tǒng)按鍵模塊,實(shí)現(xiàn)對病房溫濕度的范圍控制,確保病房整體環(huán)境質(zhì)量,為病患提供更良好的病房環(huán)境,有助于病患疾病的恢復(fù)。另外,所選用的各類儀器能夠在低功耗下,長時(shí)間穩(wěn)定運(yùn)行,且能保證精確度,有效降低了管理人員的管理難度。針對該文設(shè)計(jì)的系統(tǒng)存在的不足,下一階段研究中,將不斷完善該溫控系統(tǒng)的智能化建設(shè),并通過引入深度學(xué)習(xí)算法,實(shí)現(xiàn)系統(tǒng)的高效自管理。