朱會東, 趙洪瑞
1.阜新高等專科學校 機械系 遼寧阜新 1230002.煤科集團沈陽研究院有限公司 沈陽 110015
糧食是人類生存的必需品,溫度與濕度是保存好糧食的先決條件,儲存大量糧食對穩定國民經濟起著至關重要的作用[1-2]。糧庫溫濕度控制系統可以對一個糧庫的溫濕度進行控制,以保證糧庫儲糧的安全性[3]。筆者以AT89C51單片機為核心,設計糧庫多點溫濕度監測系統,實現對糧庫溫濕度的實時監測與控制。
系統控制器采用AT89C51單片機,硬件包括數據采集電路、傳感器測量電路、模數轉換電路、擴展接口、鍵盤及顯示單元、通信電路、通風控制電路和報警電路等,原理如圖1所示。
采用AT89C51單片機對所采集的數據進行處理,實現對采集數據的儲存、顯示和打印功能,直觀地再現所采集的數據。看門狗電路、復位電路和掉電保護由MAX690A監控集成芯片來實現。上位機接口電路采用MAX232電平轉換芯片進行電平轉換,并經過DB9連接器與上位機相連,通過AT89C51單片機的串行口將數據向上位機傳輸。采用TPup-40A微型打印機,實現采集時間和數據的打印。鍵盤及顯示單元采用8279接口芯片,實現溫度、濕度、時間的并行顯示。

圖1 系統原理
溫度檢測電路選用DS18b20數字溫度傳感器,將三個溫度傳感器放置在房間的不同位置,實現對糧庫環境溫度的檢測,可以很好地保持溫度的恒定[4]。獲得溫度信息時,先由AT89C51單片機發送一個1 ms的復位脈沖,使溫度傳感器復位后向AT89C51單片機發送一個回應脈沖。AT89C51單片機接收到回應脈沖后,發送讀溫度傳感器序列號的命令,分別讀取三個溫度傳感器的序列號。由AT89C51單片機再發送定位命令,選擇在線的溫度傳感器并進行溫度轉換。溫度測量原理如圖2所示。

圖2 溫度測量原理
濕度檢測電路選用HIH3610濕度傳感器,濕度傳感器以探頭形式安裝在糧倉內,其原理如圖3所示。濕度傳感器的工作原理為:將金屬氧化物粉末燒結成陶瓷物,由燒結的程度可得到一個多孔狀的物體;此多孔狀的物體表面會吸收水分子中的離子,使濕度傳感器產生物理變化,進而使感測部分的材料阻抗發生改變;當濕度高時,多孔狀物體表面的吸附層會變厚,阻抗變低,進而使電流容易通過,因此可以很容易測量到濕度的大小[5-6]。

圖3 HIH3610濕度傳感器原理
定時主要用于提前預熱儀器設備和定時語音提醒等,這些功能的實現由AT89C51單片機來完成。時鐘頻率選擇為32.768 kHz,該頻率可使AT89C51單片機工作在最低功耗狀態,并可簡化分頻、定時程序的編寫。定時基準選用內部定時器。控制驅動電路控制風機、加濕機等,可分別采用過零型固態繼電器來控制。為了便于擴展裝置的功能,系統應留有足夠的擴展空間,因此,設計時可用AT89C51單片機的P.6口作為控制口。系統最多可控制16個設備,以滿足不同需要。繼電器采用交流固態繼電器,其內部采用光電隔離方式,可有效避免電磁干擾[7-8]。當AT89C51單片機檢測到溫濕度信號超過設定值時,從P.6口發出控制信號,并通過光耦產生大于5 mA的觸發電流,使固態繼電器啟動相應的電器工作,從而實現對設備的控制。設計時應注意各個電器不要同時啟動,以免沖擊電網,這部分工作可由軟件延時完成。固態繼電器可選擇國產的H220D15型。
語音電路由AT89C51單片機系統、語音芯片及音頻功率放大電路等組成。AT89C51單片機通過8255接口芯片與語音電路連接,如圖4所示。AT89C51單片機檢測是否有報警信號發出,如有,則再進一步分析前端送來的數據信息,以判別報警類別,然后啟動語音芯片,并發出相應的報警提示信息。
通信程序包括兩方面,一方面是AT89C51單片機的通信程序,另一方面是計算機的通信程序。MAX232接口電路如圖5所示,其中一路R1OUT接AT89C51單片機的RXD,T1IN接AT89C51單片機的TXD,T1OUT接計算機的RD,R1IN接計算機的TD。因為MAX232接口具有驅動能力,所以不需要外加驅動電路。
系統采用逐次逼近型ADC0809模數轉換器,原理如圖6所示。逐次逼近型模數轉換器是一種速度快、精度高的模數轉換器,通過最高位到最低位的逐次檢測來逼近被轉換的輸入電壓。
系統采用8279作為鍵盤及顯示單元的接口芯片,可簡化系統的軟硬件設計,充分提高中央處理器的工作效率。
打印設備選擇便攜式TP-up40A微型打印機,打印機與8255接口芯片連接在輸入電路中,有鎖存器。在輸出電路中,由三態門來控制,因此在和AT89C51單片機的接口電路中,低八位地址不經過鎖存器。打印機通過8255接口芯片的PB口進行連接,如圖7所示。

圖4 語音電路

圖6 逐次逼近型模數轉換器原理
對復位電路的基本要求是,在單片機通電時能可靠復位,在斷電時能防止程序亂飛而導致可擦寫可編程可讀存儲器中的數據被修改。另外,系統在工作時,由于干擾等各種因素的影響,有可能出現死機現象,導致AT89C51單片機無法正常工作。為了避免這一現象,除了充分利用AT89C51單片機自身的看門狗定時器外,還需外加看門狗電路[9]。除此以外,系統還要求在失電瞬間AT89C51單片機能將重要數據保存下來,因為失電的發生往往是隨機的,所以系統需要電源監控電路[10],在失電剛發生時告知AT89C51單片機。MAX813L芯片可以滿足以上要求,其典型應用電路如圖8所示。

圖7 打印機連接電路

圖8 MAX813L典型應用電路
軟件設計與硬件設計相對應,采用模塊化結構,共包括五個程序模塊:主程序模塊、上位機通信程序模塊、模數轉換程序模塊、搜索溫度傳感器系列號程序模塊、中斷程序模塊,程序流程如圖9~圖12所示。
通過主程序和中斷處理程序,將各程序模塊連接起來,這樣有利于程序的修改和調試,增強程序的可移植性。

圖9 主程序流程

圖10 上位機通信程序流程

圖11 模數轉換程序流程

圖12 搜索溫度傳感器系列號程序流程
設計了糧庫多點溫濕度監測系統,采用先進的AT89C51單片機和溫濕度傳感器,實現了對糧庫內溫濕度的自動測量和調節。所設計的系統應用場合廣泛,特別適用于多點溫濕度的測量與控制,可以增加傳感器的數量,具有很強的可擴展性。使用時可以根據情況選用空調等加熱設備,與同類產品相比,不僅精度高,而且成本低,可靠性好。