基于CAN總線的智能型溫濕度采集系統(tǒng)設計
0 引言
溫濕度監(jiān)測系統(tǒng)是在環(huán)境試驗、科學研究(諸如種植、養(yǎng)殖、生物工程、化工工程)、工業(yè)生產(chǎn)等領(lǐng)域應用廣泛的現(xiàn)場環(huán)境控制系統(tǒng)。它能模擬各種環(huán)境條件,即按照實際要求精確控制環(huán)境的溫度和濕度,為研究不同的生化過程創(chuàng)造了良好的環(huán)境條件。因此,溫濕度監(jiān)測系統(tǒng)廣泛應用在科研、現(xiàn)代農(nóng)業(yè)、醫(yī)藥、冶金、化工、林業(yè)、環(huán)境科學及生物遺傳工程等領(lǐng)域。
為了滿足化學工業(yè)過程對環(huán)境條件的需求,我們在傳感器智能控制方案和具體應用中做了大量的研究和可行性分析,開發(fā)了一種具有智能化功能的溫濕度監(jiān)測系統(tǒng)。該系統(tǒng)由數(shù)據(jù)采集模塊和接口模塊組成。其中數(shù)據(jù)采集模塊采用了以單片機AT89S52為核心外接傳感器的結(jié)構(gòu)框架,保證了系統(tǒng)對現(xiàn)場溫濕度信號采集的實時性和準確性。而接口模塊則采用了處于當前通信領(lǐng)域前沿的USB-CAN轉(zhuǎn)換接口模塊,為整個系統(tǒng)的實時性提供了堅實的通信保障,而且筆者認為這種通信方式已經(jīng)成為了工業(yè)化通信的發(fā)展方向。
1 溫濕度采集模塊的硬件電路設計
溫濕度采集模塊的硬件電路由CAN總線的SJA1000控制器、TJA1050收發(fā)器、溫度傳感器ADS90、濕度傳感器HM1500和單片機 TA89S52芯片組成,其電路框圖如圖1所示。
1.1 溫度檢測電路
溫度檢測電路的核心采用美國AD公司生產(chǎn)的二端式集成溫度-電流傳感器AD590,該器件體積小、重量輕、性能穩(wěn)定,且非線性誤差小和校準方便、互換性好、功耗極低、適合于動態(tài)溫度測試和遠距離測溫。溫度信號采集電路設計如圖2所示。
在傳感器輸出信號處理方面,由于被測量含有一定的干擾信號,所以采用放大器芯片LM324和穩(wěn)壓管D對被測信號進行二次處理。AD590的電源電壓范圍為 4~30 V,可以承受44 V正向電壓和20 V反向電壓,因而即使反接也不會損壞器件。穩(wěn)壓管D1連接可調(diào)電阻用于保證A點(即放大器反相端)的輸入電壓;穩(wěn)壓管D2限制了電源所提供的電壓電流,通過連接可調(diào)電阻,保證了B點(即放大器同相端)的輸入電壓,而且適當?shù)馗淖僐8和R9的電阻值,可以改變輸出電壓的線性放大倍數(shù)。
1.2 濕度檢測電路
濕度檢測電路采用集成溫度傳感器HM1 500,其輸出電壓在1~4 V間隨溫度線性變化。由于該設計采用的是單電源結(jié)構(gòu),濕度信號采集電路設計如圖3所示。
線性電壓輸出式集成濕度傳感器HM1500采用濕敏電阻HS1101設計制造,其濕度測量范圍為5%~99%(相對濕度);相對濕度精度為3%;工作溫度為-30~+60℃;工作濕度范圍為O%~100%(相對濕度);供電電壓為5 V(最大電壓為DC 16 V);可輸出DC電壓為1~4 V;響應時間為5 s,適用于動態(tài)溫度測量。
由于該電路中沒有負壓,電路的主體采用差分式減法電路。通過設置R3,R4,R6,R7這四個精密電阻可調(diào)節(jié)增益,其輸出電壓的計算公式為:
圖3中R1可以用來消除由于傳感器差異而帶來的誤差。
2 CAN總線接口電路
本系統(tǒng)選取PHILIPS公司CAN總線控制器SJA1000以及收發(fā)器TJA1050,考慮到SJA1000是一種獨立的CAN總線控制器,同時支持 CAN 2.OA和CAN 2.0B協(xié)議,通信速率可達1 Mb/s,能夠完成通信協(xié)議的所有要求。JA1050是CAN總線控制器與物理總線之間的接口,是一種標準的高速CAN收發(fā)器,其可以為總線提供差動發(fā)送性能,為CAN控制器提供差動接收性能。SJA1000主要負責數(shù)據(jù)鏈路層的工作,把發(fā)送緩沖器的信息經(jīng)過處理后送到TJA1050,數(shù)據(jù)經(jīng)過處理后放到接收緩沖器等待微處理器的讀取,CAN總線接口電路框圖如圖4所示。
3 USB-CAN轉(zhuǎn)換模塊接口電路
由于計算機沒有專用的CAN總線接口,所以需要設計一個模塊單元將CAN總線上的數(shù)據(jù)轉(zhuǎn)換成USB接口數(shù)據(jù),模塊的一端接監(jiān)控計算機的USB接口,另一端接CAN總線網(wǎng)絡接口。本系統(tǒng)設計選用Atmel公司的ATmega 162芯片??偩€控制器SJA1000實現(xiàn)CAN數(shù)據(jù)的發(fā)送和接收,接收方式仍采用中斷方式;USB通信控制芯片F(xiàn)T245BM實現(xiàn)USB數(shù)據(jù)的發(fā)送和接收;ATF16V8負責對兩個接口芯片得地址進行編碼。USB-CAN轉(zhuǎn)換模塊結(jié)構(gòu)框圖如圖5所示。
4 系統(tǒng)軟件設計
系統(tǒng)軟件主要包括:監(jiān)控PC機通信處理軟件、溫濕度控制算法軟件和現(xiàn)場測控節(jié)點數(shù)據(jù)采集與處理軟件。軟件系統(tǒng)采用模塊化設計,分成若干相對獨立功能模塊,并為各模塊安排適當?shù)娜肟诤统隹趨?shù),使得模塊之間的相互連接組合靈活方便。系統(tǒng)軟件模塊主要由數(shù)據(jù)采集、溫度傳感器的線性化校正、鍵盤輸入、測量數(shù)據(jù)顯示、輸出控制、CAN總線通信等組成,各模塊在監(jiān)控程序的調(diào)度下協(xié)調(diào)工作。
4.1 通信處理軟件
采用Window XP SP3作為平臺、VC++語言進行編程。包括系統(tǒng)參數(shù)設置、監(jiān)控狀態(tài)設置、數(shù)據(jù)發(fā)送和接收、本機狀態(tài)查詢、上下限報警、中斷接收數(shù)據(jù)管理等功能模塊。監(jiān)控 PC機首先對CAN總線適配器及自身進行初始化,然后發(fā)送命令通知特定節(jié)點向CAN總線上發(fā)送數(shù)據(jù),通過CAN總線適配器轉(zhuǎn)換后,由監(jiān)控PC機根據(jù)實際情況進行相應處理,監(jiān)控PC機采用定時循環(huán)掃描方式向各節(jié)點發(fā)布命令,采用中斷方式接收數(shù)據(jù)。
4.2 節(jié)點軟件
節(jié)點軟件由初始化、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收三部分組成。初始化程序放在主程序的最前端,考慮到系統(tǒng)對程序運行效率的要求,數(shù)據(jù)發(fā)送和數(shù)據(jù)接收采用中斷方式進行。當監(jiān)控PC機請求數(shù)據(jù)采集時,將采樣點所在區(qū)域的溫濕度和CAN節(jié)點狀態(tài)等數(shù)據(jù)傳送給上位計算機,完成溫濕度傳感器的采樣和控制算法。
5 結(jié)語
基于CAN總線的智能型傳感器實現(xiàn)了對工業(yè)過程中溫濕度的自動測量,為實現(xiàn)自動化遠程溫控濕控、保持環(huán)境溫濕度符合工藝要求提供了高效的測控手段。 USB-CAN數(shù)據(jù)轉(zhuǎn)換的使用,使數(shù)據(jù)的傳輸速率遠遠超過了傳統(tǒng)的RS 232轉(zhuǎn)換,而且支持“熱插熱拔”,使用方便,具有廣泛的應用前景。