基于CAN總線的高精度溫濕度監(jiān)控系統(tǒng)
圖3 CAN總線模塊電路
CAN總線主要用于遠(yuǎn)距離的數(shù)據(jù)通訊,因而系統(tǒng)必須具有一定的防雷擊的能力。在MCP2515和收發(fā)器MCP2551之間必須采用高速的光耦進(jìn)行完全的電氣隔離,做—個低通濾波器與抑制電壓瞬態(tài)變化電路提高節(jié)點(diǎn)的抗干擾性能。從而大大提高節(jié)點(diǎn)的穩(wěn)定性與安全性。
(3)各個節(jié)點(diǎn)采用高精度溫濕度傳感器SHT75進(jìn)行數(shù)據(jù)采集。它是一款含有已校準(zhǔn)的兩線串行數(shù)據(jù)通信的相對濕度和溫度傳感器,實(shí)現(xiàn)了溫濕度直接數(shù)字量的輸出,從而大大簡化各節(jié)點(diǎn)的電路,保證采集數(shù)據(jù)的精度。其性能如表l所示。
表1 SHT75芯片性能
3 軟件設(shè)計
系統(tǒng)的軟件設(shè)計中,上位機(jī)軟件采用基于面向?qū)ο蟮腣isual Basic 6.0開發(fā)平臺設(shè)計系統(tǒng)的控制和顯示界面,提供一個良好的人機(jī)操作界面。其主要包括上位機(jī)與CAN—RS232轉(zhuǎn)換器的通信設(shè)置模塊、CAN總線通信模塊、節(jié)點(diǎn)發(fā)送的數(shù)據(jù)的接收和顯示模塊、后臺數(shù)據(jù)庫的調(diào)用模塊、數(shù)據(jù)處理、數(shù)據(jù)保存及數(shù)據(jù)查詢等。
溫濕數(shù)據(jù)采集節(jié)點(diǎn)軟件分成若干相對獨(dú)立的驅(qū)動程序,各個驅(qū)動程序在監(jiān)控程序的總調(diào)度下協(xié)調(diào)工作。其軟件驅(qū)動程序主要由溫濕度數(shù)據(jù)程序、實(shí)時時鐘芯片程序、液晶顯示程序、繼電器控制輸出程序、鍵盤輸入程序、LED顯示程序及CAN總線通信程序等組成。其中為了使總線節(jié)點(diǎn)有效、實(shí)時地完成通信任務(wù),通信模塊的設(shè)計是關(guān)鍵,也是難點(diǎn)。
CAN總線通信模塊在系統(tǒng)的監(jiān)控程序調(diào)用下完成儀表的數(shù)據(jù)發(fā)送及命令接收任務(wù),其程序可看成由各個相對獨(dú)立的程序模塊組成,流程如圖4所示。通信模塊的程序包括MCP2515的初始化、節(jié)點(diǎn)自收自發(fā)檢測、通信速率偵測程序、全局通信檢測。通信模塊的中斷處理程序包括CAN總線錯誤處理子程序、發(fā)送接收子程序、放棄發(fā)送子程序等。
圖4 通信模塊流程圖
4 結(jié)束語
本文采用CAN總線技術(shù)設(shè)計了系統(tǒng)遠(yuǎn)程數(shù)據(jù)通信模塊的硬件部分及軟件部分,克服了傳統(tǒng)通信系統(tǒng)(如RS-485)的傳輸數(shù)率低、實(shí)時性差等問題,實(shí)現(xiàn)了高效及時的數(shù)據(jù)傳輸,保障了系統(tǒng)數(shù)據(jù)傳輸?shù)目煽啃院涂垢蓴_性;采用SHq75芯片進(jìn)行溫濕度的數(shù)據(jù)采集。解決了濕度傳感器受溫度影響而導(dǎo)致的測量誤差大、穩(wěn)定性差等問題,提高了溫濕度測量的準(zhǔn)確度和可靠性,能夠滿足日益嚴(yán)格的溫濕度環(huán)境條件監(jiān)控需求。
評論