新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的多點(diǎn)紅外測溫系統(tǒng)設(shè)計(jì)

基于CAN總線的多點(diǎn)紅外測溫系統(tǒng)設(shè)計(jì)

作者:趙旭(鶴壁職業(yè)技術(shù)學(xué)院,河南鶴壁 458030) 時間:2022-07-28 來源:電子產(chǎn)品世界 收藏

摘要:在工業(yè)控制領(lǐng)域,溫度測量是不可或缺的工作。隨著工業(yè)控制精細(xì)化、多點(diǎn)化要求,的需求空間越來越大。本文基于設(shè)計(jì)了一個,硬件電路由微處理器、CAN控制器與驅(qū)動器、數(shù)字測溫芯片DS18B20、LCD、復(fù)位電路等幾部分組成,單片機(jī)STC89C52RC是硬件電路的核心,承擔(dān) CAN控制器的初始化、數(shù)據(jù)收發(fā)控制等任務(wù)。實(shí)驗(yàn)證明,該系統(tǒng)精度高,可靠性好,結(jié)構(gòu)簡單,成本低,適用范圍內(nèi)可取代傳統(tǒng)測溫系統(tǒng)。

本文引用地址:http://www.butianyuan.cn/article/202207/436784.htm

關(guān)鍵詞;

1 引言

在工業(yè)控制領(lǐng)域,溫度測量是不可或缺的工作。隨著工業(yè)控制精細(xì)化、多點(diǎn)化要求,多點(diǎn)測溫系統(tǒng)的需求空間越來越大。CAN(控制器域網(wǎng),Controller Area Network)總線在組網(wǎng)和通信功能上的優(yōu)點(diǎn)以及它的高價比決定了它在眾多領(lǐng)域具有廣闊的發(fā)展前景,尤其是在分布在多點(diǎn)測溫應(yīng)用方面。本文基于 CAN 總線設(shè)計(jì)了一個多點(diǎn)紅外測溫系統(tǒng),能夠?qū)崟r對多點(diǎn)進(jìn)行測溫,具有測溫范圍廣、精度高、環(huán)境適應(yīng)能力強(qiáng)等特點(diǎn)。

2 硬件設(shè)計(jì)

CAN 總線多點(diǎn)測溫系統(tǒng)主要由現(xiàn)場設(shè)備,主控設(shè)備和計(jì)算機(jī)組成,系統(tǒng)總體結(jié)構(gòu)圖如圖 1。

1659016275696170.png

圖1 系統(tǒng)結(jié)構(gòu)圖

2.1 溫度測量電路設(shè)計(jì)

DS18B20 傳感器可以把溫度直接轉(zhuǎn)換成串行數(shù)字信號供微控制器進(jìn)行處理。由于每個傳感器含有唯一的硅串行數(shù),故一條總線上可以有任意多個 DS18B20 芯片。 本設(shè)計(jì)中的 DS18B20 是在模擬的現(xiàn)場節(jié)點(diǎn)上的,采用不同材質(zhì)的通信電纜,其最大測溫范圍不一樣。因此,使用 DS18B20 設(shè)計(jì)長距離測溫系統(tǒng)時,電容與阻抗匹配問題是不可忽略的一個因素。DS18B20 的寄生電源模式有兩項(xiàng)基本功能,一是保證微處理器和 DS18B20 之間的正常通訊,二是為 DS18B20 提供電源。實(shí)際應(yīng)用中當(dāng)單總線上所掛 DS18B20 超過 8 個時,就需要考慮微總線驅(qū)動問題,這一點(diǎn)進(jìn)行測溫時要尤為注意。

2.2 通訊節(jié)點(diǎn)電路設(shè)計(jì)

本文選用選用 STC 的單片機(jī)做為主控器,選用 CAN 控制器和 CAN 驅(qū)動器來構(gòu)建 CAN 通訊網(wǎng)絡(luò)。主要由三部分構(gòu)成:微控制 STC89C52、獨(dú)立 CAN 通 信控制器 SJA1000 和 CAN 總線收發(fā)器 PCA82C250;微處理器 STC89C52 負(fù)責(zé) SJA1000 的 初始化,通過控制 SJA1000 實(shí)現(xiàn)數(shù)據(jù) 的接收與發(fā)送;SJA1000 的 AD0 ~ AD7 連接到 STC89C52 的 P0 口上,CS 連接到 STC89C52 的 P2.0,P2.0 為 0 的 CPU 片外存貯器地址可選中 SJA1000,CPU 通過這些地址可對 SJA1000 執(zhí)行相應(yīng)的讀寫操作。

2.3 數(shù)碼管顯示電路設(shè)計(jì)

由于 STC89C52 的 P1、P2、P3 口內(nèi)部都有上拉電阻,為了減少硬件電路的復(fù)雜度,在這里選用 STC89C52 的 P1 口來做為數(shù)碼管的段碼控制口,P2 口的四位做為數(shù)碼管的位選信號,從而省去了數(shù)碼管復(fù)雜的驅(qū)動電路,也降低了硬件設(shè)計(jì)的難度;為了節(jié)省單片機(jī)的端口資源,同時降低成本,這兒選用四位一體的共陰數(shù)碼管做為顯示設(shè)備,采用動態(tài)掃描的方法顯示,比著用四個獨(dú)立的數(shù)碼管來顯示要容易的多,硬件也簡單的多。

2.4 液晶接口電路設(shè)計(jì)

根據(jù)設(shè)計(jì)要求,主控板需要將模擬的三個現(xiàn)場節(jié)點(diǎn)的溫度值讀取過來并在液晶上顯示,為了能夠同時顯示漢字和字符,這兒選用 YJD12864 做為液晶顯示模塊,相比于只能顯示字符的 1602,12864 的顯示更加美觀,更加人性化。YJD12864 有并行數(shù)據(jù)傳輸和串行數(shù)據(jù)傳輸兩種工作方式,本設(shè)計(jì)選用 8 位并行傳輸方式,STC 單片機(jī)的 P1 口做為 12864 的數(shù)據(jù)口;P2.1 接 12864 的 4 腳,用來向 12864 發(fā)送數(shù)據(jù)和控制指令;P2.2 接 12864 的 5 腳,用來通知 12864 本次操作是讀操作還是寫操作;P2.3 接 12864 的 6 腳,對 12864 操作的使能信號,高電平使能操作。

2.5 串口通訊電路設(shè)計(jì)

設(shè)計(jì)要求中規(guī)定,現(xiàn)場設(shè)備將溫度值傳給主控設(shè)備,然后主控設(shè)備再將數(shù)據(jù)傳送到上位機(jī)顯示,并且上位機(jī)可以隨時更改現(xiàn)場設(shè)備參數(shù),從而實(shí)現(xiàn)遠(yuǎn)程控制;為了滿足上述設(shè)計(jì)要求,這里使用 485 加 232 的方式通訊,由于 232 的傳輸距離有限,雖然 CAN 總線寬范圍的傳輸距離能夠彌補(bǔ) 232 這一缺點(diǎn),且設(shè)計(jì)成本低,但考慮到現(xiàn)場的各種干擾信號比較復(fù)雜,一旦現(xiàn)場噪聲到達(dá)極值時可能會連同上位機(jī)一并損壞;而 485 則不同,它是一個半雙工通訊器件,其采用平衡壓差的方式傳輸數(shù)據(jù),使得數(shù)據(jù)線上的衰減和干擾都大大降低,從而加大了傳輸距離,提高了抗干擾能力,故在這里又加了一層 485 的通訊,不僅使現(xiàn)場和上位機(jī)有效地隔離,而且進(jìn)一步加大了數(shù)據(jù)傳輸?shù)木嚯x。

3 軟件設(shè)計(jì)

智能 CAN 總線節(jié)點(diǎn)的軟件主要用來完成三項(xiàng)任務(wù):一是溫度傳感器的采樣;二是現(xiàn)場節(jié)點(diǎn)將數(shù)據(jù)傳送給主控節(jié)點(diǎn),由主控節(jié)點(diǎn)將數(shù)據(jù)處理之后送給上位機(jī)顯示;三是主控節(jié)點(diǎn)隨時準(zhǔn)備接收上位機(jī)傳來的參數(shù),并通過 CAN 總線發(fā)給現(xiàn)場節(jié)點(diǎn)修改相關(guān)參數(shù)。主控節(jié)點(diǎn)的流程如圖 2。

1659016598163337.png

圖2 主控節(jié)點(diǎn)流程圖

3.1 溫度采樣系統(tǒng)軟件設(shè)計(jì)

該系統(tǒng),主要操作包括高低溫報警數(shù)據(jù)的寫入、溫度數(shù)據(jù)的讀取、數(shù)據(jù)處理、碼制轉(zhuǎn)換以及數(shù)碼顯示等幾部分;對 DS18B20 處理時要注意以下幾點(diǎn):①每次讀寫之前要復(fù)位;②收到信號后等待 16 ~ 60 μs 后發(fā)出 60 ~ 240 μs 的存在低脈沖,主 CPU 收到此信號后表示復(fù)位成功;③緊接著依次發(fā)送一條 ROM 指令、RAM 指令,這樣才能對 DS18B20 進(jìn)行正確操作。

3.2 CAN通訊控制器初始化

CAN 初始化主要是設(shè)置 SJA1000 的參數(shù)。需要初始化的 CAN 控制寄存器有:模式寄存器、時鐘分頻寄存器、接收代碼寄存器、輸出控制寄存器等。SJA1000 的初始化程序如下:

1659016710925092.png

1659016735348075.png

1659016784840618.png

1659016808768787.png

3.3 LCD顯示及串口發(fā)送接收軟件設(shè)計(jì)

液晶 YJD12864 的初始化程序流程圖如圖 3 所示。

1659016886376347.png

在這里需要說明一下,上位機(jī)給主控板發(fā)數(shù)據(jù)時,當(dāng)發(fā)送的第1個數(shù)據(jù)是字符“$”,最后1個數(shù)據(jù)是字符“*”時,主控板才認(rèn)為接收到的是有效數(shù)據(jù),否則,主控板不對接收到的數(shù)據(jù)進(jìn)行處理;用發(fā)送的第 2 個字符來區(qū)分要發(fā)送的數(shù)據(jù)是送給哪一個現(xiàn)場節(jié)點(diǎn)的,字符“A” 表示現(xiàn)場節(jié)點(diǎn) 1,字符“B”表示現(xiàn)場節(jié)點(diǎn) 2,字符“C”表示現(xiàn)場節(jié)點(diǎn) 3;第 3 ~ 6 個字符是要傳送的高低溫報警值,高溫在前,低溫在后。

4 實(shí)驗(yàn)結(jié)果分析

為了驗(yàn)證設(shè)計(jì)系統(tǒng)的穩(wěn)定性和準(zhǔn)確性,對系統(tǒng)顯示模塊、測溫模塊、CAN 總線模塊及串口通信進(jìn)行調(diào)試。調(diào)試完畢后,我們用設(shè)計(jì)的測溫系統(tǒng)在實(shí)驗(yàn)室不同時間段不同地點(diǎn)采集十組數(shù)據(jù),其中上午測試五組,下午測試五組,除了測溫方式不同,其他因素全部相同,具體數(shù)據(jù)如表 1 所示。

1659016977906765.png

由表可知,系統(tǒng)對照值與測量值,最大偏差小于0.2,系統(tǒng)測溫方案的可靠性較強(qiáng)。

5 結(jié)語

本文利用紅外輻射測溫的原理,計(jì)了一種基于 CAN 總線和 DS18B20 為傳感器的多點(diǎn)紅外測溫系統(tǒng),硬件電路由單片機(jī) STC89C52、CAN 控制器、測溫芯片 DS18B20、LCD、LED、串行通訊口、復(fù)位電路等幾部分組成?;?CAN 總線的多點(diǎn)紅外測溫系統(tǒng)具有測溫范圍廣、精度高、環(huán)境適應(yīng)能力強(qiáng)等特點(diǎn)。該系統(tǒng)通過 CAN 適配器與計(jì)算機(jī)連接,可以方便地構(gòu)成分布式測控系統(tǒng)。實(shí)驗(yàn)表明,該系統(tǒng)不僅具有高精度溫度測控功能,而且通過 CAN 總線實(shí)現(xiàn)對多個地區(qū)溫度進(jìn)行集中監(jiān)控,具有測溫范圍廣、精度高、環(huán)境適應(yīng)能力強(qiáng)等特點(diǎn)。

參考文獻(xiàn):

[1] 王奧運(yùn),范冰新,潘文強(qiáng)等.基于CAN總線的遠(yuǎn)程溫度采集系統(tǒng)[J].山西電子技術(shù),2015(3)19-21.

[2] 湯鍇杰,栗燦,王迪等.基于DSB18B20的數(shù)字式溫度采集報警系統(tǒng)設(shè)[J].傳感器與微系統(tǒng),2014,33(3):99-102.

[3] 周鵬.基于STC89C52單片機(jī)的溫度檢測系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012,35(22):10-13.

[4] 楊盛泉,劉海泉,劉白林.ZigBee與RS485混合網(wǎng)絡(luò)的糧情監(jiān)控系統(tǒng)的研究[J].西安工業(yè)大學(xué)學(xué)報,2016,36(9):749-756.

[5] 楊博雄,倪玉華.無線傳感網(wǎng)絡(luò)[M].北京:人民郵電出版社,2015.

(注:本文轉(zhuǎn)載自《電子產(chǎn)品世界》2022年7月期)



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉