<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 基于CAN總線(xiàn)的分布式熱電阻智能節點(diǎn)的設計

基于CAN總線(xiàn)的分布式熱電阻智能節點(diǎn)的設計

作者: 時(shí)間:2011-09-15 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

現場(chǎng)技術(shù)是當今自動(dòng)化領(lǐng)域發(fā)展的熱點(diǎn),德國bosch公司的can是為解決汽車(chē)內部的復雜硬信號接線(xiàn)提出的,而其應用范圍正逐漸向過(guò)程控制、機器人、數控機床、醫療器械及傳感器等領(lǐng)域發(fā)展。can以其獨特的設計、低成本、高可靠性、實(shí)時(shí)性、抗干擾能力強等特點(diǎn)得到了廣泛的應用。本文選用can設計了智能節點(diǎn),利用can總線(xiàn)連接各個(gè)網(wǎng)絡(luò )節點(diǎn),可以直接與主控卡或上位機通信,組建成工業(yè)網(wǎng)絡(luò )測控系統。

本文引用地址:http://dyxdggzs.com/article/187326.htm

2 智能節點(diǎn)硬件設計

2.1智能節點(diǎn)整體結構

智能節點(diǎn)設有4路輸入通道,支持3線(xiàn)制方式,支持熱電阻類(lèi)型有cu50、cu100和pt100,采用freescale mc9s12d64單片機作為微控制器,其內部有一個(gè)can通信模塊(mscan),符合can2.0a/b標準,所以不需要擴展can通訊控制器。can接口收發(fā)器采用pca82c250作為can通信模塊和物理傳輸線(xiàn)路之間的接口。節點(diǎn)通過(guò)24位a/d轉換器ads1216對組態(tài)通道進(jìn)行采樣,由于熱電阻的阻值與溫度成正比關(guān)系,需將已知電流流過(guò)該電阻以得到與溫度成正比的輸出電壓。本文使用ads1216的兩個(gè)8位電流輸出idac1和idac2作為恒流源,通過(guò)模擬開(kāi)關(guān)max355選通相應的組態(tài)通道,然后ads1216對得到的電壓信號進(jìn)行采樣并輸出至微控制器,經(jīng)校正后進(jìn)行標度變換轉化成相應的電阻值,查熱電阻分度表即可得到所測溫度。本節點(diǎn)也可通過(guò)rs485接口并嚴格按照modbus協(xié)議進(jìn)行通信,rs-485收發(fā)器采用sn65lbc184。

本熱電阻智能節點(diǎn)硬件結構框圖如圖1所示。

圖1 熱電阻智能節點(diǎn)硬件結構框圖

2.2信號輸入端電路與采樣電路

信號輸入端電路與采樣電路原理圖如圖2和圖3所示。

圖2 熱電阻信號輸入端電路

圖3 a/樣電路

max355差動(dòng)4通道模擬開(kāi)關(guān)接4路熱電阻信號轉換電路,圖中只畫(huà)出第一路轉換電路,接線(xiàn)方式為三線(xiàn)制,使能端en接高電平,使max355一直有效。a0、a1引腳接至mc9s12d64單片機的pp0和pp1端,用于選通某一路熱電阻信號進(jìn)行轉換與測量。當max355選通某一通道后,該通道將與公共端接通,假設選通通道1,200ua恒定電流由no1a和no1b輸出流經(jīng)熱電阻產(chǎn)生毫伏級電壓信號,此信號在vin1和vin2處被ads1216采樣。

ads1216組成4路全差分通道。單片機通過(guò)porta與ads1216通信,用于控制ads1216選通某一路模擬量輸入通道并進(jìn)行采樣,每一個(gè)控制信號均通過(guò)光耦合器和兩個(gè)施密特觸發(fā)器進(jìn)行數字隔離,這樣做可有效抑制各種噪聲干擾,提高傳輸通道上的信噪比。ads1216采樣每一路通道之前均進(jìn)行偏置與增益自校準。當/drdy變?yōu)榈碗娖?,標志?zhù)數據寄存器中數據已準備好,單片機便從24位數據輸出寄存器(dor)讀取轉換結果。

2.3 can和rs-485通信電路

can和rs-485通信電路原理圖如圖4所示。

mc9s12d64單片機的can輸入與輸出引腳(rxcan0和txcan0)分別接至收發(fā)器pca82c250的txd和rxd引腳。pt2用來(lái)控制數據接收與發(fā)送,當pt2為低電平時(shí),接收數據;當pt2為高電平時(shí),發(fā)送數據。輸入rs通過(guò)一電阻接地,使pca82c250工作在斜率控制模式下。sn65lbc184為具有瞬變電壓抑制的rs485差分收發(fā)器,因此本智能節點(diǎn)可以接入采用canbus或rs485的測控系統,并方便的與各種組態(tài)軟件進(jìn)行通信。

圖4 can和rs-485通信電路

3 熱電阻智能節點(diǎn)軟件設計

3.1概述

單片機程序用mc9s12匯編語(yǔ)言編寫(xiě)。在主程序首先完成各寄存器和存儲單元的初始化,再通過(guò)調用讀取地址子程序,得到i/o板卡的地址和can通信波特率,再完成mscan模塊和ads1216初始化。隨后調用e2prom中組態(tài)信息,對每一路組態(tài)通道進(jìn)行信號轉換,數字濾波及溫度查表計算等,其主程序流程圖如圖5所示。

圖5 熱電阻智能節點(diǎn)主程序流程圖

由于現場(chǎng)的各種干擾很容易使信號失真,從而使a/d轉換結果產(chǎn)生比較大的誤差。因此在對信號進(jìn)行有效的硬件濾波后還需進(jìn)行軟件濾波,本節點(diǎn)采用了數字中值濾波、算術(shù)平均、加權濾波等方式。


3.2 節點(diǎn)與上位機的can通信

智能節點(diǎn)與主控卡或上位機的通信主要基于can通信協(xié)議來(lái)完成,它的優(yōu)點(diǎn)是能夠實(shí)時(shí)處理數據、在惡劣環(huán)境下正常工作、成本低且擁有比較高的帶寬。由于上位機內部無(wú)can網(wǎng)絡(luò )適配器,因此需外接rs-232/can轉接卡,實(shí)現上位機與智能節點(diǎn)的通信。通過(guò)節點(diǎn)上的跳線(xiàn)設置節點(diǎn)地址,當上位機發(fā)出命令時(shí),節點(diǎn)進(jìn)入can接收中斷,對數據解包放入接收緩沖區并調用數據處理函數。當上位機發(fā)出組態(tài)命令時(shí),單片機會(huì )將收到的組態(tài)通道信息和信號類(lèi)型寫(xiě)入e2prom保存,并回送一幀數據通知上位機組態(tài)信息已成功接收。當接收到上傳rtd值命令時(shí),單片機會(huì )將內存中的4路rtd溫度值以多幀形式發(fā)送給上位機。

3.3 rtd阻值變換算法

軟件設計中關(guān)鍵算法在于rtd電壓阻值的轉化,刻度點(diǎn)間的線(xiàn)性化及標度變換。以pt100熱電阻的溫度刻度表為例,

pt100tab:fcb 04h,00h,07h,39h,08h,0e8h,0ah,94h,0ch,3ch,

fcb 0dh,0e1h, 0fh,83h,11h,23h,12h,0c0h,14h,5bh,

fcb 15h,0f3h,17h,89h,19h,1eh,1ah,0b1h,1ch,41h,

……

fcb 91h,84h,92h,0afh,93h,0d8h,95h,01h,96h,28h,

fcb 97h,4eh,98h,72h,9ah,0cah

分度表由-210℃開(kāi)始每間隔10℃作為一個(gè)刻度點(diǎn),每一個(gè)刻度點(diǎn)的電阻值擴大100倍后轉換為十六進(jìn)制數即構成上表??紤]到表格的一致性,cu100和cu50熱電阻的分度表也從-210℃開(kāi)始計算。

當得到校正后的ad轉換數值后,需要將采樣到的電壓信號轉換為電阻值以便于查表。阻值計算公式如下:



r即為實(shí)際熱電阻阻值,在這里將其擴大100倍以便于查表。

3.4 分段線(xiàn)性化查表

得到的對應阻值后,則從第0個(gè)刻度點(diǎn)開(kāi)始比較,如果該采樣值大于第0個(gè)刻度點(diǎn),則再與下一個(gè)刻度點(diǎn)比較,同時(shí)記錄小于該采樣值的刻度點(diǎn)的個(gè)數n,如果采樣值小于某一溫度刻度點(diǎn),則溫度位于該刻度點(diǎn)b與前一個(gè)刻度點(diǎn)a之間,溫度線(xiàn)性化在a、b兩刻度點(diǎn)之間進(jìn)行,線(xiàn)性化得到的溫度加上a點(diǎn)對應的溫度(n×10)即為采樣溫度。

以pt100熱電阻為例,某一通道得到校正后的采樣值為$9343,則前8個(gè)刻度點(diǎn)均小于$9343,第9個(gè)刻度點(diǎn)值大于$9343,記錄小于該采樣值的刻度點(diǎn)的個(gè)數n=101,此時(shí)a點(diǎn)(第101個(gè)刻度點(diǎn)$92af)對應溫度為10×101=1010℃,b點(diǎn)(第9個(gè)刻度點(diǎn)$93d8)溫度為1020℃,線(xiàn)性化在a、b兩點(diǎn)間進(jìn)行,具體公式為:

[($934-$92af)/($93d8-$92af)]×10=5℃

所以$9343對應的溫度為:

a點(diǎn)(第101個(gè)刻度點(diǎn))對應溫度1010℃+線(xiàn)性化溫度5℃-210℃=805℃

其中,各表均以-210℃作為起始,故計算溫度時(shí)應減去210℃。

4 結束語(yǔ)

本智能測控節點(diǎn)主要完成對現場(chǎng)熱電阻信號進(jìn)行采集和處理。在實(shí)驗室條件下,利用電阻計代替現場(chǎng)的熱電阻信號,經(jīng)過(guò)反復測試,溫度測量值均正確,并且誤差在±1%以?xún)?。另外在監控程序的控制下,節點(diǎn)能夠有效配合上位機完成系統的組態(tài)、信號校正和上傳等功能,具有可靠、實(shí)時(shí)、靈活等特點(diǎn)。

作者簡(jiǎn)介

閆志紅(1986-)女 在讀碩士,現就讀于山東大學(xué)控制科學(xué)與工程學(xué)院,研究方向為自動(dòng)化裝置的集成化與智能化。

參考文獻

[1]李正軍.計算機測控系統設計與應用[m].北京:機械工業(yè)出版社,2004.

[2]李正軍.現場(chǎng)總線(xiàn)及其應用技術(shù)[m].北京:機械工業(yè)出版社,2005.

[3]孫同景.freescale十六位單片機原理及嵌入式開(kāi)發(fā)技術(shù)[m].北京:機械工業(yè)出版社,2008.

[4]邵貝貝著(zhù).單片機嵌入式應用的在線(xiàn)開(kāi)發(fā)方法[m].北京:清華大學(xué)出版社,2004.



關(guān)鍵詞: CAN 總線(xiàn) 分布式 熱電阻

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>