基于CAN總線的分布式車間溫濕度檢測(cè)系統(tǒng)
摘要 闡述了一種基于CAN總線溫濕度檢測(cè)系統(tǒng)的方法,重點(diǎn)介紹了通信與溫濕度檢測(cè)部分的實(shí)現(xiàn)。該系統(tǒng)以PIC18F25K80單片機(jī)為主控器,選用集成溫度傳感器與濕度傳感器。高集成度的元器件使得項(xiàng)目開(kāi)發(fā)周期大大縮短,經(jīng)試運(yùn)行證實(shí),該系統(tǒng)具有性能穩(wěn)定、通信距離遠(yuǎn)的優(yōu)勢(shì)。
關(guān)鍵詞 CAN總線;PIC18225K80;溫濕度檢測(cè)
許多行業(yè)如紡織、卷煙、化工、食品加工等對(duì)生產(chǎn)車間的溫濕度都有一定的要求,其中有些企業(yè)往往需要一種能夠獨(dú)立于空調(diào)控制系統(tǒng)的車間溫濕度檢測(cè)系統(tǒng)。這種車間溫濕度檢測(cè)系統(tǒng)作為空調(diào)控制的一種冗余設(shè)計(jì)或者說(shuō)輔助手段,成本往往相對(duì)較低。
溫濕度檢測(cè)系統(tǒng)作為一種應(yīng)用廣泛的非標(biāo)準(zhǔn)化檢測(cè)系統(tǒng),不同的設(shè)計(jì)者、不同的應(yīng)用需求,使得目前此類檢測(cè)系統(tǒng)的設(shè)計(jì)方案呈現(xiàn)出種類各異、五花八門的現(xiàn)象。文獻(xiàn)介紹了一種應(yīng)用于蔬菜大棚的溫濕度測(cè)控系統(tǒng)的設(shè)計(jì),以P87LPC76x單片機(jī)作為主控器,能利用PID算法,通過(guò)控制執(zhí)行器加熱、加濕起到調(diào)節(jié)蔬菜大棚溫濕度的目的,該系統(tǒng)現(xiàn)已廣泛應(yīng)用于吉林松原農(nóng)村蔬菜大棚,運(yùn)行良好。文獻(xiàn)介紹了一種能應(yīng)用于多種工業(yè)場(chǎng)合的溫濕度檢測(cè)系統(tǒng)的設(shè)計(jì),該系統(tǒng)基于AT89C52單片機(jī)開(kāi)發(fā),能將傳感器采集到的溫濕度信號(hào)通過(guò)RS485網(wǎng)絡(luò)傳送至上位計(jì)算機(jī),該系統(tǒng)簡(jiǎn)單實(shí)用,具有良好的性價(jià)比。文獻(xiàn)介紹了一種應(yīng)用于檢測(cè)安裝有中央空調(diào)的建筑物的內(nèi)部環(huán)境溫濕度的數(shù)據(jù)采集器的設(shè)計(jì),該檢澍裝置獨(dú)立于中央空調(diào)而工作,為評(píng)價(jià)中央空調(diào)運(yùn)行質(zhì)量、調(diào)試空調(diào)系統(tǒng)提供基礎(chǔ)數(shù)據(jù)。該系統(tǒng)基于16位單片機(jī)MSP430F開(kāi)發(fā),與PC機(jī)實(shí)時(shí)通信,能通過(guò)PC機(jī)設(shè)置數(shù)據(jù)采集器參數(shù),并控制數(shù)據(jù)采集器工作。
1 系統(tǒng)設(shè)計(jì)
系統(tǒng)自主設(shè)計(jì)了兩種模塊電路:(1)檢測(cè)模塊。每一塊檢測(cè)模塊將被安裝于車間不同的地點(diǎn),用于檢測(cè)車間內(nèi)不同位置的溫濕度,系統(tǒng)最多支持64個(gè)檢測(cè)模塊同時(shí)工作。(2)通信模塊。監(jiān)視計(jì)算機(jī)與各檢測(cè)模塊之間的通信“橋梁”,一個(gè)通信模塊含有4路通信通道,每1路通信通道可連接至1個(gè)計(jì)算機(jī)COM口,實(shí)現(xiàn)監(jiān)視計(jì)算機(jī)對(duì)檢測(cè)模塊的分組輪詢。
檢測(cè)模塊與通信模塊之間通過(guò)CAN總線通信。CAN(Controller Area Network)總線于1986年由德國(guó)BOSCH公司提出,是一種多主方式的串行通訊總線,最早用于汽車電路中,經(jīng)過(guò)數(shù)十年的發(fā)展日趨完善,目前被廣泛應(yīng)用于汽車、石油、化工、制造業(yè)等許多領(lǐng)域,被譽(yù)為“最有前途的總線技術(shù)之一”。選擇CAN總線,是因?yàn)镃AN總線相比傳統(tǒng)的RS485總線優(yōu)勢(shì)明顯,主要體現(xiàn)在以下3點(diǎn):(1)傳統(tǒng)的RS485總線僅有電氣協(xié)議,而CAN總線則具有完善的通信協(xié)議,易于開(kāi)發(fā)。(2)傳統(tǒng)的RS485總線通信距離不超過(guò)1.5 km,而CAN總線的通信距離在5 kbit·s-1速率時(shí)最遠(yuǎn)可達(dá)10 km。(3)傳統(tǒng)的RS485總線當(dāng)系統(tǒng)有錯(cuò)誤出現(xiàn)多節(jié)點(diǎn)同時(shí)向總線發(fā)送數(shù)據(jù)時(shí),導(dǎo)致總線呈現(xiàn)短路從而損壞某些節(jié)點(diǎn),而CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出的功能,不會(huì)影響到整個(gè)CAN總線。
在本系統(tǒng)中,通信模塊與COM口的串行通信速率成為整個(gè)系統(tǒng)的通信瓶頸,但仍然考慮使用計(jì)算機(jī)COM口采集數(shù)據(jù)而非專業(yè)接口卡,主要是出于對(duì)成本的考慮。為緩解系統(tǒng)瓶頸的考慮,計(jì)算機(jī)安裝了PCI轉(zhuǎn)RS-232串口擴(kuò)展卡(SYBA 9865-4S),將計(jì)算機(jī)串口擴(kuò)充為4個(gè),同時(shí)通信模塊設(shè)計(jì)了4個(gè)通信通道,平均每個(gè)通信通道能與最多16個(gè)檢測(cè)模塊進(jìn)行分組通信,以加快數(shù)據(jù)更新速率。
由于通信模塊與計(jì)算機(jī)COM口采用RS232通信方式,理論上RS232通信距離為15 m,因此通信模塊與計(jì)算機(jī)之間必須保持在15 m以下,實(shí)際安裝1.5 m以內(nèi),通信速率可保證在38.4 kbit·s-1下穩(wěn)定通信。
2 上位機(jī)監(jiān)視計(jì)算機(jī)程序的設(shè)計(jì)
計(jì)算機(jī)監(jiān)視程序采用C#2010開(kāi)發(fā)控制臺(tái)程序,Access2010開(kāi)發(fā)后臺(tái)數(shù)據(jù)庫(kù)。程序主要具有如下功能:(1)管理員與技術(shù)員二級(jí)用戶權(quán)限。(2)溫濕度警報(bào)上下限設(shè)定。(3)溫濕度歷史數(shù)據(jù)記錄。(4)溫濕度報(bào)表打印。
這里主要介紹監(jiān)視程序通信部分的程序設(shè)計(jì)思路:
(1)監(jiān)視程序可打開(kāi)4個(gè)計(jì)算機(jī)COM口,根據(jù)設(shè)定的每個(gè)COM口輪詢的檢測(cè)模塊編號(hào)范匿向連接的COM口發(fā)送數(shù)據(jù)串并激活通信模塊輪詢各個(gè)檢測(cè)模塊,發(fā)送的數(shù)據(jù)串長(zhǎng)度為5 Byte,如圖2所示,格式為:第1 Byte為“讀數(shù)據(jù)”命令字段,第2 Byte為與連接到COM口的通信通道所連接的第1個(gè)檢測(cè)模塊的站號(hào),第3 Byte為與該通道所連接的最后1個(gè)檢測(cè)模塊的站號(hào),第4個(gè)和第5 Byte為CRC校驗(yàn)碼。
(2)通信模塊的每個(gè)通道主控器輪詢一遍所有與之相連接的檢測(cè)模塊之后,便主動(dòng)向計(jì)算機(jī)返回一次數(shù)據(jù),刷新監(jiān)視程序顯示的溫濕度數(shù)據(jù),某通信通道返回的數(shù)據(jù)串長(zhǎng)度由連接到該通信通道的檢測(cè)模塊數(shù)目而決定,當(dāng)檢測(cè)模塊數(shù)目為n時(shí),如圖3所示,格式為:第1 Byte為“讀數(shù)據(jù)”命令字段,監(jiān)視計(jì)算機(jī)通過(guò)第1 Byte可辨識(shí)此數(shù)據(jù)串為下位機(jī)返回?cái)?shù)據(jù),第2個(gè)到第3n+1 Byte為與該通信通道連接的所有檢測(cè)模塊返回的溫濕度數(shù)據(jù),連續(xù)3 Byte為一組,記錄了單個(gè)檢測(cè)模塊的返回?cái)?shù)據(jù),第3n+2個(gè)和第3n+3 Byte為CRC校驗(yàn)碼。
pid控制相關(guān)文章:pid控制原理
土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理
評(píng)論