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