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