摘要: 本文介紹了以臺式計算機為上位機和89C51單片機為前置機的集散式糧庫溫度自動檢測系統的設計,闡述了利用單片機控制多個模擬開關構成的電子矩陣并進行多點溫度實時檢測的方法。
關鍵詞: 計算機 89C51單片機 電子矩陣
大型糧庫如何更好地保存糧食,防止糧食變質發霉,對糧食溫度的檢測是重要環節之一。由于大型糧庫每個庫房的體積大,存放的糧食多,不同位置的糧食溫度是不同的,因此在糧溫檢測過程中,必須進行多點測量,及時發現問題。因為隨著測量點的增加,測量費用會大幅增加。為降低系統總的造價,筆者采用了模擬開關構成的電子矩陣并進行多點溫度實時檢測,以最大限度地降低多點溫度檢測的成本,下面分硬、軟件兩部分介紹本系統的設計與構成。
1.硬件系統設計
本系統設計采用了一臺臺式計算機作為該集散系統的上位機,通過RS-485串行通信總線與多臺由89C51單片機為控制核心的前置機相連,每臺前置機是一個獨立的智能多點溫度檢測系統,通過單片機控制電子矩陣模擬開關的切換,可分時檢測64個點的溫度。每個前置機上的撥碼開關定義了本機的號碼,實際應用中可以根據需求量,靈活配置前置機的個數,本系統最多可帶32個。即整個系統由一臺上位機最多可以檢測2048個點的溫度。硬件系統主要由溫度傳感器、電子矩陣開關、A/D轉換器、電源電壓和程序看門狗、串行通信接口等電路組成,其系統結構如圖1所示。
(1)溫度傳感器電路的設計
本系統使用的溫度傳感器是DS18B20半導體溫度傳感器,它以PN結作為敏感元件,具有反應快、價格低等特點。在正常工作時輸入端必須設置為恒流偏置,其工作電流在200uA左右。由于傳感器中PN結兩端的電壓隨溫度變化而變化,因此在系統中只需檢測這個PN結兩端的電壓,再將其轉換成與之對應的溫度數值即可。
?。?)電子矩陣開關輸入電路的設計
為了完成對64個檢測點溫度的動態檢測,系統中設計了由4片CD4052雙四選一模擬開關組成的電子矩陣開關。每片模擬開關可用來切換四條支路,設計中用兩片CD4052模擬開關完成對8個支路的行切換,分時將傳感器供電支路的正極和A/D轉換器的輸入端相連,當8個支路中某個支路被唯一接通時,另外兩片模擬開關控制的8個支路列開關再分時輪流接通,依次將傳感覺器輸出的電壓值送入A/D轉換芯片的模擬信號輸入端,這樣組合出8×8的矩陣
開關電路。其工作原理如圖2所示。
(4)電源電壓與程序看門狗電路的設計
為預防和減少因電源電壓的變化和程序跳飛造成死機所帶來的破壞和影響,本系統設計了由電源電壓監測器TL7705和雙單穩態觸發器74LS123構成的電源電壓和程序的看門狗電路。系統工作時由于電源電壓的波動可能影響89C51的正常運行,此時負責監測電源電壓的TL7705將發出觸發信號到89C51的第9腳,強迫89C51復位,使其重新初始化開始正常工作。由于TL7705自身功耗低,上電時可自動發出復位信號,因此本設計將其作為89C51的上電復位電路。另外設計還選用了74LS123雙單穩態觸發器,作為89C51單片機自動復位電路,通過對單穩態觸發器設置適當的RC時間常數,當程序跳飛造成死機時,使89C51單片機不能給單穩態觸發器輸送小于該時間常數的觸發信號時,單穩態觸發器將因超過該時間常數所規定的時間,使其輸出狀態發生翻轉,強迫89C51單片機復位,并使其重新回到初始狀態開始正常工作。其電路如圖3所示。
?。?)上位機與前置機串行通信接口電路的設計
由于RS-232通信協議只允許點對點的通信,且最大通信距離為15米,本系統要求用一臺計算機作為上位機管理多臺前置機,由于實際應用時通信線路距離不等,最長達幾百米。根據RS-232通信要求,系統設計了專用通信電路板,利用臺式計算機的串口,將RS-232串行通信接口轉換成可以進行多點通信的RS-485串行通信接口方式。這樣,在上位計算機軟件編程時,仍可直接使用串口管理多臺前置機。能實現RS-485通信功能的芯片很多,本系統選用了抗干擾能力強、功耗小、傳輸距離遠的SN75176半雙工差動輸出芯片,在數字信號傳輸過程中,自動完成TTL電平與EIA電平之間的轉換。89C51單片機構成的前置機與SN75176通信接口電路,如圖4所示。
2.軟件系統設計
本系統軟件設計分為兩大部分,即上位計算機軟件和前置機軟件。
?。?)上位計算機軟件設計
上位計算機軟件采用C++完成界面設計,其控制程序完成對各個分布在糧庫不同位置的傳感器的實時溫度檢測,并對糧庫中各點溫度進行記錄、分析和打印,等等。流程圖如圖5所示。
?。?)前置機軟件設計
前置機軟件主要包括電子矩陣開關切換的控制、A/D轉換啟動及讀取結果和與上位計算機的串行通信。前置機軟件設計了電子開關切換后的延時,以確保A/D轉換時輸入端有穩定的電壓。由于AD574A是逐次逼近型A/D轉換器,轉換時間較短,因而本系統對多點溫度檢測速度較快,是完全可以滿足大型糧庫對糧食溫度的檢測要求的。89C51單片機與上位計算機通信設定為串口工作模式二的多機通信方式,并以中斷方式完成。下面給出了該主程序和電子矩陣控制程序的流程圖,如圖6所示。
3.結語
本系統用DS18B20溫度傳感器、89C51單片機構成的多點溫度測量前置機,使用普通臺式計算機為多臺前置機管理的上位計算機,這樣的系統結構簡單,人機界面友好,方便實用。經過多家糧庫使用性能穩定可靠,產生了很好的經濟效益。
參考文獻:
?。?]張友德.單片機原理,應用與實驗[M].北京:復旦大學出版社,2008.
?。?]胡漢才.單片機原理及其接口技術[M].北京:清華大學出版社,2010.
?。?]陳海宴.51單片機原理及應用[M].北京:北京航空航天大學出版社,201