基于CAN總線的智能型溫濕度采集系統設計
1.2 濕度檢測電路
濕度檢測電路采用集成溫度傳感器HM1 500,其輸出電壓在1~4 V間隨溫度線性變化。由于該設計采用的是單電源結構,濕度信號采集電路設計如圖3所示。本文引用地址:http://www.104case.com/article/195489.htm
線性電壓輸出式集成濕度傳感器HM1500采用濕敏電阻HS1101設計制造,其濕度測量范圍為5%~99%(相對濕度);相對濕度精度為3%;工作溫度為-30~+60℃;工作濕度范圍為O%~100%(相對濕度);供電電壓為5 V(最大電壓為DC 16 V);可輸出DC電壓為1~4 V;響應時間為5 s,適用于動態溫度測量。
由于該電路中沒有負壓,電路的主體采用差分式減法電路。通過設置R3,R4,R6,R7這四個精密電阻可調節增益,其輸出電壓的計算公式為:
圖3中R1可以用來消除由于傳感器差異而帶來的誤差。
2 CAN總線接口電路
本系統選取PHILIPS公司CAN總線控制器SJA1000以及收發器TJA1050,考慮到SJA1000是一種獨立的CAN總線控制器,同時支持CAN 2.OA和CAN 2.0B協議,通信速率可達1 Mb/s,能夠完成通信協議的所有要求。JA1050是CAN總線控制器與物理總線之間的接口,是一種標準的高速CAN收發器,其可以為總線提供差動發送性能,為CAN控制器提供差動接收性能。SJA1000主要負責數據鏈路層的工作,把發送緩沖器的信息經過處理后送到TJA1050,數據經過處理后放到接收緩沖器等待微處理器的讀取,CAN總線接口電路框圖如圖4所示。
3 USB-CAN轉換模塊接口電路
由于計算機沒有專用的CAN總線接口,所以需要設計一個模塊單元將CAN總線上的數據轉換成USB接口數據,模塊的一端接監控計算機的USB接口,另一端接CAN總線網絡接口。本系統設計選用Atmel公司的ATmega 162芯片??偩€控制器SJA1000實現CAN數據的發送和接收,接收方式仍采用中斷方式;USB通信控制芯片FT245BM實現USB數據的發送和接收;ATF16V8負責對兩個接口芯片得地址進行編碼。USB-CAN轉換模塊結構框圖如圖5所示。
4 系統軟件設計
系統軟件主要包括:監控PC機通信處理軟件、溫濕度控制算法軟件和現場測控節點數據采集與處理軟件。軟件系統采用模塊化設計,分成若干相對獨立功能模塊,并為各模塊安排適當的入口和出口參數,使得模塊之間的相互連接組合靈活方便。系統軟件模塊主要由數據采集、溫度傳感器的線性化校正、鍵盤輸入、測量數據顯示、輸出控制、CAN總線通信等組成,各模塊在監控程序的調度下協調工作。
4.1 通信處理軟件
采用Window XP SP3作為平臺、VC++語言進行編程。包括系統參數設置、監控狀態設置、數據發送和接收、本機狀態查詢、上下限報警、中斷接收數據管理等功能模塊。監控PC機首先對CAN總線適配器及自身進行初始化,然后發送命令通知特定節點向CAN總線上發送數據,通過CAN總線適配器轉換后,由監控PC機根據實際情況進行相應處理,監控PC機采用定時循環掃描方式向各節點發布命令,采用中斷方式接收數據。
4.2 節點軟件
節點軟件由初始化、數據發送和數據接收三部分組成。初始化程序放在主程序的最前端,考慮到系統對程序運行效率的要求,數據發送和數據接收采用中斷方式進行。當監控PC機請求數據采集時,將采樣點所在區域的溫濕度和CAN節點狀態等數據傳送給上位計算機,完成溫濕度傳感器的采樣和控制算法。
5 結 語
基于CAN總線的智能型傳感器實現了對工業過程中溫濕度的自動測量,為實現自動化遠程溫控濕控、保持環境溫濕度符合工藝要求提供了高效的測控手段。USB-CAN數據轉換的使用,使數據的傳輸速率遠遠超過了傳統的RS 232轉換,而且支持“熱插熱拔”,使用方便,具有廣泛的應用前景。
評論