基于CAN總線的電流、電壓變送器的設(shè)計(jì)與實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
0.引言
現(xiàn)場(chǎng)總線技術(shù)和智能化儀表技術(shù)是目前自動(dòng)與控制行業(yè)發(fā)展最快的兩大技術(shù)。在現(xiàn)場(chǎng)總線技術(shù)中,CAN總線是發(fā)展較為迅速的一種協(xié)議標(biāo)準(zhǔn),已經(jīng)被廣泛應(yīng)用于自動(dòng)化領(lǐng)域。本文介紹的是一種基于CAN總線的智能變送系統(tǒng)??刂破骶钟蚓W(wǎng)(ControllerAreaNetwork,CAN)是德國(guó)Bosch公司在20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開發(fā)的一種數(shù)據(jù)通信協(xié)議。CAN總線能有效地支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。通信介質(zhì)可以是雙絞線、同軸電纜和光導(dǎo)纖維。
1 系統(tǒng)網(wǎng)絡(luò)構(gòu)成
為滿足該控制系統(tǒng)既要集中管理又要分散控制的要求,基于CAN總線的電流、電壓變送系統(tǒng)采用總線式網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),結(jié)構(gòu)簡(jiǎn)單且成本低。其網(wǎng)絡(luò)組成方式如圖1所示。
圖1. CAN總線的電流/電壓變送系統(tǒng)總體結(jié)構(gòu)。
現(xiàn)場(chǎng)CAN智能變送節(jié)點(diǎn)以微控制器為核心,配有CAN通信接口,其主要功能是采集各現(xiàn)場(chǎng)設(shè)備的實(shí)時(shí)數(shù)據(jù),并通過(guò)CAN總線將采集的數(shù)據(jù)交送給監(jiān)控站,供監(jiān)控站獲得采集數(shù)據(jù)的基本信息,從而進(jìn)行數(shù)據(jù)分析。監(jiān)控站(PC機(jī))通過(guò)插槽中的CAN2PC總線適配卡實(shí)現(xiàn)與CAN智能測(cè)控節(jié)點(diǎn)的通信。在該系統(tǒng)結(jié)構(gòu)中,并沒有采用多主結(jié)構(gòu)方式,而是采用了一主多從的網(wǎng)絡(luò)架構(gòu)。該方式在一定程度上減輕了網(wǎng)絡(luò)的負(fù)荷。
2 CAN智能變送節(jié)點(diǎn)的硬件設(shè)計(jì)
CAN智能變送節(jié)點(diǎn)具有現(xiàn)場(chǎng)數(shù)據(jù)采集、控制以及與CAN總線通信功能。該節(jié)點(diǎn)以Microchip公司生產(chǎn)的具有較高性價(jià)比的8bit增強(qiáng)型帶CAN控制器的Flash單片機(jī)PIC18F258為核心。該內(nèi)置CAN模塊兼容于ISO的CAN性能測(cè)試要求,位速率最大為1Mb/s,執(zhí)行CAN2.0B協(xié)議規(guī)范。變送器節(jié)點(diǎn)主要由信號(hào)調(diào)理單元、A/D采集模塊、單片機(jī)控制器和CAN總線通信模塊4部分組成。該智能變送節(jié)點(diǎn)面向的檢測(cè)對(duì)象主要是工業(yè)上使用的標(biāo)準(zhǔn)電流信號(hào)(420mA/020mA/010mA)和電壓信號(hào)(05V/010V/±5V/±10V)。首先,電流、電壓信號(hào)通過(guò)多路開關(guān)選擇相應(yīng)通道,進(jìn)入信號(hào)調(diào)理環(huán)節(jié),將信號(hào)轉(zhuǎn)換成ADC可以接受同時(shí)又能有效利用ADC輸入范圍的電壓信號(hào)。調(diào)理后的信號(hào)經(jīng)過(guò)A/D轉(zhuǎn)換,實(shí)現(xiàn)對(duì)原模擬信號(hào)的數(shù)字轉(zhuǎn)換。并通過(guò)單片機(jī)I/O口存儲(chǔ)到其內(nèi)部相應(yīng)RAM區(qū),對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的軟件濾波設(shè)計(jì)。當(dāng)上位機(jī)發(fā)出命令,要求下位機(jī)回送采集數(shù)據(jù)時(shí),下位機(jī)利用CAN總線接口單元將采集數(shù)據(jù)等基本信息發(fā)送到CAN總線上。圖2為系統(tǒng)結(jié)構(gòu)的總體框圖。
圖2 系統(tǒng)結(jié)構(gòu)框圖。
2.1 檢測(cè)電路設(shè)計(jì)
由于該系統(tǒng)對(duì)于電壓、電流檢測(cè)所要求的精度較高,在系統(tǒng)設(shè)計(jì)時(shí)并沒有采用PIC18F258內(nèi)置的10bitADC,而是采用美國(guó)Maxim公司生產(chǎn)的逐次逼近型16bit模數(shù)轉(zhuǎn)換器MAX1166作為外置ADC.該芯片片內(nèi)除集成了逐次逼近型ADC所必須的逐次逼近寄存器SAR、高精度比較器和控制邏輯外,還集成了時(shí)鐘、4.096V精密參考源和接口電路。MAX1166的數(shù)據(jù)總線為8bit,故與目前廣泛使用的8bit微處理器連接非常方便。在該系統(tǒng)設(shè)計(jì)中,如何實(shí)現(xiàn)多種電壓、電流信號(hào)檢測(cè)方案的設(shè)計(jì)是重點(diǎn)之一。
2.1.1 電流檢測(cè)原理
被檢測(cè)電流經(jīng)過(guò)電流檢測(cè)芯片MAX472內(nèi)置采樣電阻RSENSE轉(zhuǎn)換為電壓信號(hào),MAX951進(jìn)行信號(hào)運(yùn)算,將其轉(zhuǎn)換為符合ADC模擬電壓輸入范圍的信號(hào)(05V)。圖3為420mA電流的檢測(cè)原理圖。
圖3 420mA電流檢測(cè)原理。
MAX472輸出電流為IOUT=ILOADRSENSE/RG1(1)
由此得輸出電壓為UOUT=ILOADROUTRSENSE/RG1(2)
式中RSENSE——檢測(cè)電阻ILOAD——檢測(cè)電流RG1——增益電阻ROUT——OUT腳輸出電阻由于電流檢測(cè)電路是把輸入的小信號(hào)電流轉(zhuǎn)換為適合A/D轉(zhuǎn)換的電壓信號(hào)。故UOUT的范圍已經(jīng)被確定為ADC可允許輸入的最大電壓范圍。將UOUT代入式(2),依據(jù)UOUT輸出范圍和RSENSE、ILOAD及RG值,可得ROUT值。420mA電流經(jīng)過(guò)MAX472被轉(zhuǎn)換為1.256.25V.MAX951對(duì)該信號(hào)進(jìn)行了相應(yīng)的減法運(yùn)算,從而得到05V.對(duì)于020mA/010mA可通過(guò)類似方法得到ROUT阻值,從而得到相應(yīng)UOUT.2.1.2電壓檢測(cè)原理。電壓信號(hào)的處理主要是采用電阻分壓的方法。通過(guò)對(duì)輸入端子進(jìn)行不同的輸入,使得經(jīng)過(guò)分壓后的電壓達(dá)到ADC要求的輸入范圍,從而滿足不同電壓范圍輸入的要求。電壓檢測(cè)原理如圖4所示。根據(jù)UO電壓推算INA、INB、INC輸入范圍,它們所對(duì)應(yīng)的INA、INB、INC輸入方法如表1所示。
圖4電壓檢測(cè)原理。
表1電壓輸入對(duì)應(yīng)表。注:本系統(tǒng)設(shè)計(jì)中Uref=5V.
2.2 CAN總線通信硬件電路設(shè)計(jì)
CAN控制器采用單片機(jī)的內(nèi)置CAN控制器,其接口電路使用CAN收發(fā)器PCA82C250、電源隔離模塊和高速光電隔離器6N137,并采用保護(hù)電路。PCA82C250是Philips公司生產(chǎn)的CAN收發(fā)器,是CAN控制器和物理總線間的接口,用來(lái)提高總線驅(qū)動(dòng)和通信抗干擾能力。其差分接收器共模抑制比寬,抗電磁干擾。它與ISO11898標(biāo)準(zhǔn)兼容,速度高達(dá)1Mb/s,抗汽車環(huán)境下的瞬間干擾。它內(nèi)部有總線保護(hù)電路和限流電路,并具有電流待機(jī)工作方式和降低射頻干擾的斜率控制。采用PCA82C250可以最多連接110個(gè)節(jié)點(diǎn),并且未上電的節(jié)點(diǎn)對(duì)總線無(wú)影響。
信號(hào)在傳輸線上遠(yuǎn)距離傳送時(shí),如果遇到阻抗不連續(xù)的情況時(shí),就會(huì)出現(xiàn)反射現(xiàn)象使信號(hào)扭曲,通常在傳輸線的末端接上120Ω的終端電阻來(lái)消除反射。為了保證信號(hào)質(zhì)量,PCA82C250與CAN總線的接口部分采用了一定的安全和抗干擾措施。PCA82C250的內(nèi)部CANH和CANL引腳各自通過(guò)一個(gè)5Ω的電阻與CAN總線相連,該電阻可以起到一定的限流的作用,使引腳免受過(guò)電流的沖擊;總線與地各自并聯(lián)一個(gè)30pF的小電容,具有一定的防電磁輻射和抗高頻干擾的功能;在總線和地之間分別反接一個(gè)IN4148反向保護(hù)二極管,起過(guò)壓保護(hù)作用。
3 CAN智能變送節(jié)點(diǎn)的軟件設(shè)計(jì)
3.1 主程序系統(tǒng)初始化
主要包括I/O口、CAN控制器、中斷以及用戶標(biāo)志數(shù)據(jù)的初始化。該過(guò)程主要對(duì)PIC18F258的基本資源進(jìn)行配置定義,將復(fù)用的PORTA資源配置為通用數(shù)字I/O口,并通過(guò)設(shè)置其輸入輸出特性,保證MAX1166的輸入、輸出以及控制信號(hào)引腳都得以正確配置,開啟相應(yīng)的中斷源,配置CAN接口,用戶標(biāo)志數(shù)據(jù)賦初值,初始化過(guò)程結(jié)束。通過(guò)設(shè)置模擬信號(hào)輸入的相應(yīng)數(shù)據(jù)通道后,單片機(jī)上電即開始進(jìn)行電流、電壓信號(hào)的檢測(cè)。上位機(jī)一旦發(fā)送命令請(qǐng)求下位機(jī)回送采集數(shù)據(jù)等相關(guān)信息后,下位機(jī)馬上產(chǎn)生中斷,回送一幀數(shù)據(jù)信息。監(jiān)控流程圖如圖5所示。
圖5系統(tǒng)監(jiān)控流程圖。
3.2 A/D轉(zhuǎn)換模塊軟件設(shè)計(jì)
A/D轉(zhuǎn)換是通過(guò)MAX1166實(shí)現(xiàn)的。MAX1166的一次轉(zhuǎn)換過(guò)程可分為轉(zhuǎn)換準(zhǔn)備、模數(shù)轉(zhuǎn)換和轉(zhuǎn)換結(jié)果輸出3個(gè)階段。PIC18F258通過(guò)I/O口時(shí)序模擬MAX1166的控制信號(hào),從而使MAX1166正常工作。MAX1166具體控制過(guò)程如圖6所示。
圖6 ADC轉(zhuǎn)換流程圖。
3.3CAN總線通信模塊軟件設(shè)計(jì)
該系統(tǒng)設(shè)計(jì)中,變送器節(jié)點(diǎn)以中斷方式接收上位機(jī)所發(fā)送命令,回答被放在中斷服務(wù)程序中進(jìn)行,數(shù)據(jù)傳輸方式采用CAN總線。當(dāng)上位機(jī)發(fā)送命令要求下位機(jī)回送數(shù)據(jù)信息時(shí),下位機(jī)立即進(jìn)入中斷服務(wù)程序(該接收中斷被定義為高優(yōu)先級(jí)中斷),發(fā)送采集數(shù)據(jù)等基本信息。圖7為CAN總線發(fā)送的流程圖。
圖7 CAN總線發(fā)送流程圖。
4上位機(jī)通信界面
上位機(jī)采用周立功公司的PCI5121適配卡與變送器節(jié)點(diǎn)進(jìn)行通信。測(cè)試軟件采用ZLG2CANTest,通過(guò)正確設(shè)置波特率、數(shù)據(jù)通道、幀格式、幀類型以及ID,可以實(shí)現(xiàn)上、下位機(jī)的通信。通信界面如圖8所示。
圖8 上位機(jī)通信界面。
5 結(jié)束語(yǔ)
本文所設(shè)計(jì)的智能變送系統(tǒng)實(shí)現(xiàn)了通用電流、電壓的檢測(cè)功能,采用CAN總線通信方式。系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,安裝維護(hù)方便。數(shù)據(jù)采集精度基本達(dá)到預(yù)期指標(biāo),控制精度較高。該系統(tǒng)通過(guò)硬件抗干擾措施和軟件濾波,有望進(jìn)一步提高各項(xiàng)性能指標(biāo)。