引言
CAN是控制器局域網(wǎng)絡(ControllerAreaNet-work,CAN)的簡稱,是由研發(fā)和生產(chǎn)汽車電子產(chǎn)品著稱的德國BOSCH公司開發(fā),并最終成為國際標準(ISO11898)。是目前國際物聯(lián)網(wǎng)應用最廣泛的現(xiàn)場總線之一。在北美和西歐,CAN總線協(xié)議已經(jīng)成為汽車計算機控制系統(tǒng)和嵌入式工業(yè)控制局域網(wǎng)的標準總線,并且擁有以CAN為底層協(xié)議的專為大型貨車和重工機械車輛設計的J1939協(xié)議。
近年來,其所具有的高可靠性和良好的錯誤檢測能力受到重視,故其也被廣泛應用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強和振動大的工業(yè)環(huán)境。溫濕度是一種最基本的環(huán)境參數(shù),人民的生活與環(huán)境的溫濕度息息相關,在工業(yè)生產(chǎn)過程中,通常也需要實時測量溫濕度,在農業(yè)生產(chǎn)中也離不開溫濕度的測量,因此,研究溫濕度的測量方法和裝置具有重要的意義。但是,溫度和濕度兩個各自獨立的傳感器和儀表往往給工作帶來不便,而一體化的溫濕度傳感器與配套儀表則很受用戶歡迎。曾有人試圖設計一種既能測量溫度,又能測濕度的單一敏感元件,但至今仍未能有一個能上市的,可見其難度之大。問題的關鍵是如何把兩種功能參數(shù)區(qū)分開來。所以,全世界都在同一傳感器內分別采用測溫、測濕兩種敏感元件。這樣的溫濕度一體化傳感器的發(fā)展方向首先就是選用優(yōu)質熱敏和濕敏元件;其次是需要有先進的電路和測量、控制、顯示等配套儀表;再次,需要能實現(xiàn)溫濕度信息的遠程傳輸。所以,本課題具有重要的應用前景。
1 器件的選擇
1.1PIC18F458微控制器
PIC單片機系列是美國微芯公司(Microchip)的產(chǎn)品,是當前市場份額增長最快的單片機之一,其
CPU采用RISC結構,分別有33,35,58條指令(視單片機的級別而定),屬精簡指令集。該控制器采用雙總線的哈佛結構,運行速度快(指令周期約160?200ns),能使程序存儲器的訪問和數(shù)據(jù)存儲器的訪問并行處理,這種指令流水線結構可在一個周期內完成兩部分工作,一是執(zhí)行指令,二是從程序存儲器取出下一條指令,這樣總的看來,每條指令只需一個周期(個別除外),故其效率較高。此外,它還具有低工作電壓、低功耗、驅動能力強等特點。PIC18系列單片機內含CAN控制器,可減小電路設計的難度。
1.2 數(shù)字溫濕度傳感器的選用
DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器。它采用專用的數(shù)字模塊采集技術和溫濕度傳感技術,具有很高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此,該產(chǎn)品具有品質卓越、響應快、抗干擾能力強、性價比高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進行了校準。校準系數(shù)以程序的形式儲存在OTP內存中,傳感器內部在檢測信號的過程中會調用這些校準系數(shù)。單線制串行接口可使系統(tǒng)集成變得簡易快捷。且具有超小的體積、極低的功耗,信號傳輸距離可達20米以上,故其可作為各類應用甚至最為苛刻的應用場合的最佳選則。
1.3 CAN總線收發(fā)器MCP2551
MCP2551是一個可容錯的高速CAN器件,可作為CAN協(xié)議控制器和物理總線接口。MCP2551可為CAN協(xié)議控制器提供差分收發(fā)能力,它完全符合ISO-11898標準,包括能滿足24V電壓要求,工作速率高達1Mb/s。MCP2551的CAN輸出可以驅動最小45V的負載,最多允許連接112個節(jié)點(假設最小差分輸入阻抗為20kV和標稱終端電阻為120Q)。
2 系統(tǒng)硬件電路設計
2.1 系統(tǒng)設計框圖
本系統(tǒng)采用模塊化設計,包括溫濕度信號采集模塊、CAN總線模塊和顯示模塊。溫濕度信號采集模塊用來采集環(huán)境溫濕度;CAN總線模塊用來傳輸采集到的溫濕度信號;顯示模塊用來顯示溫濕度值。系統(tǒng)的設計框圖如圖1所示。
2. 2 各模塊電路設計
2.2.1 數(shù)據(jù)采集模塊
DHT11的1腳與電源相連,4腳接地,2腳為信號線,可將采集到的信號傳給微控制器MCU,連接時需要一上拉電阻。3腳懸空,其電路如圖2所示。
2.2.2 CAN通信模塊電路
本模塊選用MCP2551作為CAN總線收發(fā)器,通過P1的2、3引腳與CAN總線連接。CAN通信模塊電路如圖3所示。
3 系統(tǒng)軟件設計
系統(tǒng)軟件設計包括上位PC機程序和單片機程序兩個部分。PC機程序采用VisualBasic編寫,用來顯示溫濕度值和控制下位機的運行。通信處理程序在VisualBasic中MSComm控件的基礎上編制。MSComm控件提供有標準的事件處理函數(shù)和過程,通過修改相應的屬性參數(shù)可方便地設置串行通信參數(shù)。單片機程序采用C語言編寫。它既具有高級語言的特點,又具有匯編語言的特點,故可作為工作系統(tǒng)設計語言編寫系統(tǒng)應用程序,也可以作為應用程序設計語言編寫不依賴計算機硬件的應用程序。
系統(tǒng)軟件設計流程如圖4所示。主機先發(fā)送開始信號,DHT響應后讀出溫濕度,各CAN節(jié)點將采集到的數(shù)據(jù)傳輸?shù)街鞴?jié)點,最后主節(jié)點將數(shù)據(jù)傳輸?shù)缴衔粰C。
4 系統(tǒng)軟硬件調試與結果分析
整個實驗裝置由一塊溫濕度采集卡、一塊CAN總線通信卡和上位機監(jiān)測軟件組成。溫濕度采集卡采集到溫濕度信號以后,即通過CAN總線傳輸?shù)酵ㄐ趴@示溫濕度值,同時通過串口通信傳輸?shù)接嬎銠C。圖5所示為溫濕度測量裝置示意圖。
本設計的CAN總線通信速率設置為125KB/s,傳輸距離在1km以上。串口通信速率設置為9600B/s。從實際測試結果可以看到,當環(huán)境溫濕度值升高以后,所得到的溫濕度隨之增大。從表1所列的溫度測量結果可以看出,測量值與實際值的最大誤差為1. 8°C,而DHT11標稱的溫度誤差為±2°C,可滿足精度要求。
5 結論
本文給出了一種基于CAN總線的溫濕度測量裝置的設計方法。該裝置可應用于對現(xiàn)場溫濕度的監(jiān)控,而且具有簡單易用,通信結果準確,誤碼率低等優(yōu)點。