黃建輝
(福建中醫(yī)藥大學(xué)附屬人民醫(yī)院,福建福州,350002)
中藥是中國的瑰寶,中藥飲片存放對(duì)周圍的環(huán)境要求較高,其對(duì)溫濕度比較敏感。因此中藥柜內(nèi)的溫濕度調(diào)控是實(shí)現(xiàn)存放關(guān)鍵的環(huán)節(jié)。不同類型的中藥飲片對(duì)溫濕度的要求不同,因此要求管理人員結(jié)藥柜溫度與濕度進(jìn)行實(shí)時(shí)的調(diào)控。為了實(shí)現(xiàn)中藥柜內(nèi)溫度與濕度的自動(dòng)控制,降低人工成本,筆者設(shè)計(jì)了基于單片機(jī)的中藥柜溫濕控制系統(tǒng)。
根據(jù)不同中藥材對(duì)存儲(chǔ)環(huán)境的不同要求,本系統(tǒng)對(duì)儲(chǔ)存中藥材的藥柜內(nèi)的存儲(chǔ)的溫濕度進(jìn)行實(shí)時(shí)監(jiān)測,并在存儲(chǔ)溫濕度超過藥材保存環(huán)境要求時(shí)進(jìn)行自動(dòng)調(diào)節(jié)。系統(tǒng)框圖如圖1所示。
圖1 中藥柜溫濕度控制系統(tǒng)框圖
溫濕度檢測模塊檢測中藥柜內(nèi)的溫濕度并轉(zhuǎn)化為數(shù)字電信號(hào),傳送到單片機(jī)。按鍵部分用于設(shè)置中藥柜內(nèi)存儲(chǔ)的溫濕度上限。液晶顯示部分用于顯示藥斗內(nèi)的當(dāng)時(shí)溫濕度值。當(dāng)藥斗內(nèi)濕度超過預(yù)設(shè)的濕度上限時(shí),啟動(dòng)制冷片除濕;當(dāng)藥柜內(nèi)濕度低于溫度上限值時(shí),關(guān)閉制冷片;當(dāng)藥柜內(nèi)的溫度高于溫度上限時(shí),啟動(dòng)排氣扇降溫;當(dāng)藥柜內(nèi)的溫度低于溫度上限時(shí),關(guān)閉排氣扇。確保藥斗內(nèi)的濕度及溫度不影響藥材的藥效。
本系統(tǒng)應(yīng)用STC89C52RC單片機(jī)做為核心控制器件,電路還包括數(shù)字式溫濕度傳感器DHT11、1602液晶顯示屏、按鍵控制電路、指示燈、繼電器及制冷片、排氣扇等。
電路原理圖見圖2,包括STC89C52RC單片機(jī)電路、4路按鍵控制電路、DHT11溫濕檢測電路、液晶屏顯示電路、溫濕度調(diào)節(jié)電路。
圖2 溫濕控系統(tǒng)電路原理圖
2.2.1 單片機(jī)電路
單片機(jī)電路的電源是5V,STC89C52RC單片機(jī)是核心元件,C3、C2、Y1構(gòu)成時(shí)鐘電路。C1、R2構(gòu)成按鍵復(fù)位電路。
2.2.2 按鍵控制電路
按鍵控制電路由4個(gè)獨(dú)立按鍵組成,用設(shè)置溫濕度的上限值。其中,K2、K3用于設(shè)置溫度上限值,當(dāng)K2每按一次溫度上限值加1,當(dāng)K3每按一次溫度上限值減1。K4、K5用于設(shè)置濕度上限值,當(dāng)K4每按一次濕度上限值加1,當(dāng)K5每按一次濕度上限值減1。
2.2.3 檢測電路
檢測電路采用DHT11溫濕度傳感器芯片,這是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的單總線式溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù)。傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測溫元件,并與一個(gè)高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等優(yōu)點(diǎn)。產(chǎn)品為4針單排引腳封裝,連接方便。
2.2.4 數(shù)據(jù)顯示電路
數(shù)據(jù)顯示電路采用1602液晶顯示屏。該電路顯示藥柜內(nèi)的溫濕度及溫濕度設(shè)置時(shí)的數(shù)值。當(dāng)按鍵有按下時(shí),顯示電路顯示按鍵輸入的狀態(tài)和數(shù)據(jù)。溫濕度上限調(diào)節(jié)的過程,當(dāng)溫濕度調(diào)節(jié)系統(tǒng)工作時(shí)顯示藥柜內(nèi)的時(shí)時(shí)溫度和濕度。
2.2.5 溫濕度調(diào)節(jié)電路
溫濕度調(diào)節(jié)電路包括制冷干燥和散熱電路。單片機(jī)P1.5、P1.6輸 出 信 號(hào)“0”或“1”控 制 繼 電 器KJ1、KJ2,的通斷,從而控制濕度調(diào)節(jié)執(zhí)行元件及溫度調(diào)節(jié)執(zhí)行元件工作與否。當(dāng)L或R為低電平時(shí),繼電器RL2或RL3吸合,相應(yīng)指示燈亮起,制冷干燥裝置或散熱電機(jī)動(dòng)作,否則繼電器斷開,溫濕度調(diào)節(jié)裝置不動(dòng)作。
中藥柜溫濕度控制系統(tǒng)由主程序、初始化程序、溫濕度讀取子程序、1602液晶顯示子程序組成,軟件運(yùn)用C語言進(jìn)行程序設(shè)計(jì)。系統(tǒng)軟件設(shè)計(jì)流程圖如圖3所示。因?yàn)槲恼缕邢蓿绦蛑徊糠质纠?/p>
圖3 溫濕控系統(tǒng)軟件設(shè)計(jì)流程圖
系統(tǒng)上電時(shí)將單片機(jī)各個(gè)參數(shù)初始化,DHT11數(shù)字式傳感器采集中藥柜內(nèi)的溫濕度,1602液晶屏上顯示當(dāng)前濕度與溫度。將當(dāng)前濕度值與設(shè)定的濕度值進(jìn)行比較,如果高于設(shè)定濕度就啟動(dòng)制冷干燥裝置即制冷片;將中藥柜內(nèi)當(dāng)前溫度值與設(shè)定的溫度值進(jìn)行比較,如果高于設(shè)定溫度就啟動(dòng)散熱裝置;當(dāng)濕度符合要求后關(guān)閉制冷干燥裝置。
3.2.1 溫濕度檢測電路
溫濕傳感器DHT11是單總線結(jié)構(gòu),通訊及采集數(shù)據(jù)同用一根總線,一次通訊時(shí)間4毫秒左右,一次完整的數(shù)據(jù)傳輸為40bit。
40bit分別為8bit濕度整數(shù)數(shù)據(jù)、8bit濕度小數(shù)數(shù)據(jù)、8bi溫度整數(shù)數(shù)據(jù)、8bit溫度小數(shù)數(shù)據(jù)、8bit校驗(yàn)和,高位先出。
在主機(jī)發(fā)出開始信號(hào)后,DHT11模式從低功耗到高速轉(zhuǎn)化,主機(jī)開始信號(hào)時(shí)間到后,DHT11向主機(jī)發(fā)送響應(yīng)信號(hào),送出40bit的數(shù)據(jù),同時(shí)進(jìn)行一次信號(hào)采集,用戶可自行選擇想讀取的數(shù)據(jù)。從模式下,DHT11接收到開始信號(hào)觸發(fā)一次溫濕度采集,如果沒有接收到主機(jī)發(fā)送開始信號(hào),DHT11不會(huì)主動(dòng)進(jìn)行溫濕度采集,采集數(shù)據(jù)后轉(zhuǎn)換到低速模式。
當(dāng)總線空閑時(shí)輸出為高電平,單片機(jī)把總線拉低18ms以上,確保DHT11檢測到起始信號(hào)。單片機(jī)在開始信號(hào)結(jié)束后,發(fā)送一個(gè)80μs低電平響應(yīng)信號(hào),延時(shí)等待20-40μs后,讀取DHT11的響應(yīng)信號(hào)。
當(dāng)總線為低電平,DHT11向單片機(jī)發(fā)送響應(yīng)信號(hào),單片機(jī)把總線拉高80μs,準(zhǔn)備發(fā)送數(shù)據(jù),每一bit數(shù)據(jù)都以50μs低電平時(shí)隙開始,每一bit數(shù)據(jù)是0還是1取決于高電平的長短。最后一bit數(shù)據(jù)傳送完畢后,DHT11拉低總線50μs,隨后總線由上拉電阻拉高進(jìn)入空閑狀態(tài)。
傳感器讀取一位數(shù)據(jù)子程序如下:
3.2.2 按鍵設(shè)置子程序
按鍵設(shè)置子程序采用4個(gè)按鍵,進(jìn)行2個(gè)數(shù)值的設(shè)置,分別為溫度上限和濕度上限,由按鍵掃描子程序提供軟件支持。按下一次設(shè)置鍵K2濕度上限設(shè)置加1,按一次鍵K3濕度上限設(shè)置減1,按下一次設(shè)置鍵K4溫度上限設(shè)置加1,按一次鍵K5溫度上限設(shè)置減1。檢測到無按鍵按下時(shí)返回中藥柜時(shí)時(shí)溫濕度顯示。按鍵子程序流程圖4所示。
圖4 按鍵子程序流程圖
3.2.3 自動(dòng)溫濕度控制子程序
程序調(diào)取設(shè)置的濕度上限,與傳感器時(shí)時(shí)檢測的中藥柜內(nèi)空氣濕度進(jìn)行比較,當(dāng)實(shí)際濕度低于設(shè)置的濕度上限時(shí),實(shí)際溫度低于設(shè)置的溫度上限時(shí),溫濕控制系統(tǒng)不工作;當(dāng)大于設(shè)置的濕度時(shí),單片機(jī)通過P1.5口輸出一個(gè)低電平,啟動(dòng)制冷干燥片。中藥柜內(nèi)的溫度與設(shè)置的溫度上限進(jìn)行比較,當(dāng)實(shí)際溫度超出設(shè)置溫度上限時(shí),單片機(jī)通過P1.6口輸出一個(gè)低電平,啟動(dòng)排氣扇降溫。
本系統(tǒng)電路采用萬能板制作,根據(jù)電路圖將電路設(shè)計(jì)完成并焊接好。程序通過下載器下載到STC89C52RC單片機(jī)中后進(jìn)行系統(tǒng)調(diào)試,系統(tǒng)實(shí)物如圖5所示。
圖5 溫濕控系統(tǒng)實(shí)物圖