黃建輝
(福建中醫藥大學附屬人民醫院,福建福州,350002)
中藥是中國的瑰寶,中藥飲片存放對周圍的環境要求較高,其對溫濕度比較敏感。因此中藥柜內的溫濕度調控是實現存放關鍵的環節。不同類型的中藥飲片對溫濕度的要求不同,因此要求管理人員結藥柜溫度與濕度進行實時的調控。為了實現中藥柜內溫度與濕度的自動控制,降低人工成本,筆者設計了基于單片機的中藥柜溫濕控制系統。
根據不同中藥材對存儲環境的不同要求,本系統對儲存中藥材的藥柜內的存儲的溫濕度進行實時監測,并在存儲溫濕度超過藥材保存環境要求時進行自動調節。系統框圖如圖1所示。

圖1 中藥柜溫濕度控制系統框圖
溫濕度檢測模塊檢測中藥柜內的溫濕度并轉化為數字電信號,傳送到單片機。按鍵部分用于設置中藥柜內存儲的溫濕度上限。液晶顯示部分用于顯示藥斗內的當時溫濕度值。當藥斗內濕度超過預設的濕度上限時,啟動制冷片除濕;當藥柜內濕度低于溫度上限值時,關閉制冷片;當藥柜內的溫度高于溫度上限時,啟動排氣扇降溫;當藥柜內的溫度低于溫度上限時,關閉排氣扇。確保藥斗內的濕度及溫度不影響藥材的藥效。
本系統應用STC89C52RC單片機做為核心控制器件,電路還包括數字式溫濕度傳感器DHT11、1602液晶顯示屏、按鍵控制電路、指示燈、繼電器及制冷片、排氣扇等。
電路原理圖見圖2,包括STC89C52RC單片機電路、4路按鍵控制電路、DHT11溫濕檢測電路、液晶屏顯示電路、溫濕度調節電路。

圖2 溫濕控系統電路原理圖
2.2.1 單片機電路
單片機電路的電源是5V,STC89C52RC單片機是核心元件,C3、C2、Y1構成時鐘電路。C1、R2構成按鍵復位電路。
2.2.2 按鍵控制電路
按鍵控制電路由4個獨立按鍵組成,用設置溫濕度的上限值。其中,K2、K3用于設置溫度上限值,當K2每按一次溫度上限值加1,當K3每按一次溫度上限值減1。K4、K5用于設置濕度上限值,當K4每按一次濕度上限值加1,當K5每按一次濕度上限值減1。
2.2.3 檢測電路
檢測電路采用DHT11溫濕度傳感器芯片,這是一款含有已校準數字信號輸出的單總線式溫濕度復合傳感器,它應用專用的數字模塊采集技術和溫濕度傳感技術。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產品具有品質卓越、超快響應、抗干擾能力強、性價比極高等優點。產品為4針單排引腳封裝,連接方便。
2.2.4 數據顯示電路
數據顯示電路采用1602液晶顯示屏。該電路顯示藥柜內的溫濕度及溫濕度設置時的數值。當按鍵有按下時,顯示電路顯示按鍵輸入的狀態和數據。溫濕度上限調節的過程,當溫濕度調節系統工作時顯示藥柜內的時時溫度和濕度。
2.2.5 溫濕度調節電路
溫濕度調節電路包括制冷干燥和散熱電路。單片機P1.5、P1.6輸 出 信 號“0”或“1”控 制 繼 電 器KJ1、KJ2,的通斷,從而控制濕度調節執行元件及溫度調節執行元件工作與否。當L或R為低電平時,繼電器RL2或RL3吸合,相應指示燈亮起,制冷干燥裝置或散熱電機動作,否則繼電器斷開,溫濕度調節裝置不動作。
中藥柜溫濕度控制系統由主程序、初始化程序、溫濕度讀取子程序、1602液晶顯示子程序組成,軟件運用C語言進行程序設計。系統軟件設計流程圖如圖3所示。因為文章篇幅有限,程序只部分示例。

圖3 溫濕控系統軟件設計流程圖
系統上電時將單片機各個參數初始化,DHT11數字式傳感器采集中藥柜內的溫濕度,1602液晶屏上顯示當前濕度與溫度。將當前濕度值與設定的濕度值進行比較,如果高于設定濕度就啟動制冷干燥裝置即制冷片;將中藥柜內當前溫度值與設定的溫度值進行比較,如果高于設定溫度就啟動散熱裝置;當濕度符合要求后關閉制冷干燥裝置。
3.2.1 溫濕度檢測電路
溫濕傳感器DHT11是單總線結構,通訊及采集數據同用一根總線,一次通訊時間4毫秒左右,一次完整的數據傳輸為40bit。
40bit分別為8bit濕度整數數據、8bit濕度小數數據、8bi溫度整數數據、8bit溫度小數數據、8bit校驗和,高位先出。
在主機發出開始信號后,DHT11模式從低功耗到高速轉化,主機開始信號時間到后,DHT11向主機發送響應信號,送出40bit的數據,同時進行一次信號采集,用戶可自行選擇想讀取的數據。從模式下,DHT11接收到開始信號觸發一次溫濕度采集,如果沒有接收到主機發送開始信號,DHT11不會主動進行溫濕度采集,采集數據后轉換到低速模式。
當總線空閑時輸出為高電平,單片機把總線拉低18ms以上,確保DHT11檢測到起始信號。單片機在開始信號結束后,發送一個80μs低電平響應信號,延時等待20-40μs后,讀取DHT11的響應信號。
當總線為低電平,DHT11向單片機發送響應信號,單片機把總線拉高80μs,準備發送數據,每一bit數據都以50μs低電平時隙開始,每一bit數據是0還是1取決于高電平的長短。最后一bit數據傳送完畢后,DHT11拉低總線50μs,隨后總線由上拉電阻拉高進入空閑狀態。
傳感器讀取一位數據子程序如下:

3.2.2 按鍵設置子程序
按鍵設置子程序采用4個按鍵,進行2個數值的設置,分別為溫度上限和濕度上限,由按鍵掃描子程序提供軟件支持。按下一次設置鍵K2濕度上限設置加1,按一次鍵K3濕度上限設置減1,按下一次設置鍵K4溫度上限設置加1,按一次鍵K5溫度上限設置減1。檢測到無按鍵按下時返回中藥柜時時溫濕度顯示。按鍵子程序流程圖4所示。

圖4 按鍵子程序流程圖
3.2.3 自動溫濕度控制子程序
程序調取設置的濕度上限,與傳感器時時檢測的中藥柜內空氣濕度進行比較,當實際濕度低于設置的濕度上限時,實際溫度低于設置的溫度上限時,溫濕控制系統不工作;當大于設置的濕度時,單片機通過P1.5口輸出一個低電平,啟動制冷干燥片。中藥柜內的溫度與設置的溫度上限進行比較,當實際溫度超出設置溫度上限時,單片機通過P1.6口輸出一個低電平,啟動排氣扇降溫。
本系統電路采用萬能板制作,根據電路圖將電路設計完成并焊接好。程序通過下載器下載到STC89C52RC單片機中后進行系統調試,系統實物如圖5所示。

圖5 溫濕控系統實物圖