數(shù)字控制已成為無刷直流電動機(jī)(以下簡稱BLDcM)的發(fā)展趨勢,通信系統(tǒng)是BLDcM數(shù)字控制及遙控的重要組成部分,由于大功率BLDcM運(yùn)行時會對通信系統(tǒng)產(chǎn)生強(qiáng)烈的電磁干擾,可靠的通信系統(tǒng)設(shè)計是實(shí)現(xiàn)數(shù)字控制的前提。Rs485串行通訊總線標(biāo)準(zhǔn)及接口技術(shù)已廣泛應(yīng)用于工業(yè)控制、儀器、儀表、多媒體網(wǎng)絡(luò)、機(jī)電一體化產(chǎn)品等諸多領(lǐng)域,在數(shù)據(jù)通信、計算機(jī)網(wǎng)絡(luò)以及工業(yè)上的分布式控制系統(tǒng)中,經(jīng)常需要采用串行通信來達(dá)到遠(yuǎn)程信息交換的目的。由于Rs485具有性能優(yōu)異、組網(wǎng)簡單的優(yōu)點(diǎn),它在集中控制系統(tǒng)、分布式控制系統(tǒng)中的應(yīng)用相當(dāng)廣泛,特別是在要求遠(yuǎn)距離傳輸?shù)膽?yīng)用中:
設(shè)計的Rs485通信系統(tǒng)用MFc(MicrnsonFt0un—dation classes)設(shè)計上位機(jī)界面,MFc是用于在c++環(huán)境下編寫應(yīng)用程序的一個框架和引擎。用TMs320F2812(以下簡稱DsP2812)為核心設(shè)計Bc—DcM通信系統(tǒng)下位機(jī)。通過遠(yuǎn)程控制器對計算機(jī)進(jìn)行遠(yuǎn)程控制,實(shí)現(xiàn)BLDcM起、停和轉(zhuǎn)速的調(diào)節(jié)。
下位機(jī)實(shí)時地將BLDcM的轉(zhuǎn)速、電壓、電流、過壓、欠壓、過流等信息上傳給計算機(jī),同時計算機(jī)對上傳的數(shù)據(jù)進(jìn)行處理,實(shí)時顯示轉(zhuǎn)速、電壓、電流等信息。
遠(yuǎn)程控制器和計算機(jī)通過電磁波進(jìn)行數(shù)據(jù)傳輸。因此BLDcM的運(yùn)行情況都可以通過遠(yuǎn)程控制器進(jìn)行監(jiān)視,并對BLDcM進(jìn)行相應(yīng)的控制。為了保障計算機(jī)和BLDcM通信的可靠性,通信系統(tǒng)采用了雙余度設(shè)計,并實(shí)現(xiàn)兩個余度的自行切換。
為了簡化硬件系統(tǒng)復(fù)雜程度,采用部分冗余的設(shè)計策略,對電平轉(zhuǎn)換電路、收發(fā)器及傳輸介質(zhì)雙絞線進(jìn)行冗余設(shè)計,利用DsP2812的兩個串口通信模塊scIA、scIB,和計算機(jī)的兩個Rs232串口cOMl、cOM2,構(gòu)成了雙余度的通信系統(tǒng)。系統(tǒng)框圖如圖1所示.
正常情況下,余度l處于工作狀態(tài),余度2則作為余度l故障時的備份。通信期間計算機(jī)一直監(jiān)聽余度1的工作狀態(tài),一旦余度1被檢測到故障,經(jīng)軟件處理通信自動切到余度2,保證通信的正常工作。
計算機(jī)接收從DsP上傳的數(shù)據(jù),通過數(shù)據(jù)校驗(yàn)、數(shù)據(jù)處理分析與處理,把接收的數(shù)據(jù)顯示出來,并繪制電機(jī)的轉(zhuǎn)速曲線。下位機(jī)可隨時接收上位機(jī)的命令,對BLDcM進(jìn)行起、停和轉(zhuǎn)速控制。
2基于MFc的上位機(jī)設(shè)計
上位機(jī)軟件系統(tǒng)主要由數(shù)據(jù)采集系統(tǒng)和MFc圖形圖像界面系統(tǒng)構(gòu)成,數(shù)據(jù)采集系統(tǒng)又分為總線監(jiān)聽模塊和數(shù)據(jù)采集模塊,軟件組成結(jié)構(gòu)如圖2所示。圖形圖像界面系統(tǒng)通過調(diào)用數(shù)據(jù)采集模塊町實(shí)現(xiàn)圖形界面的實(shí)時刷新(每10 ms更新一次)。
2.1基于MFc的數(shù)據(jù)采集系統(tǒng)
數(shù)據(jù)采集系統(tǒng)由數(shù)據(jù)采集模塊和總線監(jiān)聽模塊組成,程序流程圖如圖3所示。上位機(jī)采用Mscomm中斷接收數(shù)據(jù),即接收緩沖區(qū)有數(shù)據(jù)時,立刻進(jìn)入中斷程序。根據(jù)本系統(tǒng)特點(diǎn),由于每次上傳的數(shù)據(jù)量較大,為了確保在數(shù)據(jù)接收前數(shù)據(jù)全部到達(dá)接收緩沖區(qū),在接收中斷程序中加了1 ms的延時程序.
系統(tǒng)采用軟件沒計進(jìn)程總線監(jiān)聽和余度的自行切換?偩監(jiān)聽模塊通過監(jiān)聽接收中斷實(shí)現(xiàn)對總線監(jiān)聽的功能。根據(jù)設(shè)計特點(diǎn),上位機(jī)每10 ms進(jìn)行一次接收中斷,當(dāng)在50 ms內(nèi)如果未進(jìn)行接收中斷,則認(rèn)為總線故障。通過50 ms的定時中斷實(shí)現(xiàn)總線監(jiān)聽功能。余度切換過程是:當(dāng)檢查到總線故障時,計算機(jī)把通信從cOMl口轉(zhuǎn)換到cOM2口,發(fā)送余度切換數(shù)據(jù)幀給DsP,由于數(shù)據(jù)是從cOM2口發(fā)出的,數(shù)據(jù)會通過余度2到達(dá)DsP,DsP接收到余度切換命令后,會把數(shù)據(jù)的上傳從scIA切換到scIB,從而實(shí)現(xiàn)了數(shù)據(jù)的上傳與下傳全部切換到余度2。
2.2基于MFc的圖形界面
上位機(jī)的難點(diǎn)是實(shí)時曲線的繪制問題。我們采用面向?qū)ο蟪绦蛟O(shè)計技術(shù),基于MFC框架開發(fā),將顯示數(shù)據(jù)采集封裝 , 顯示曲線進(jìn)一步分為cAxis類和cline類。cAxis類負(fù)責(zé)坐標(biāo)軸的構(gòu)建,包含量程、刻度等,cLine負(fù)責(zé)曲線的數(shù)據(jù)保存。
繪制實(shí)時曲線的難點(diǎn)首先是起點(diǎn)的確定。繪制時首先要判斷起點(diǎn)是否超出了屏幕顯示的范圍,若超出,將超出部分截掉,從超出的位置繪制;沒有超出,繪制曲線。另外,隨著采樣時間的增長,采集的數(shù)據(jù)量越來越大,為了防止數(shù)據(jù)緩沖區(qū)溢出,我們要及時刪除不用顯示的數(shù)據(jù)。這個功能由cLineRemoveUselessP0ints()函數(shù)實(shí)現(xiàn)。實(shí)時曲線繪制的開始和停止通過setimer()和killtimer()函數(shù)實(shí)現(xiàn)。
3下位機(jī)軟件設(shè)計
BCDCM通信系統(tǒng)下位機(jī)系統(tǒng)采用DsP2812 為核心設(shè)計。
DsP2812通過CAP捕獲功能獲得電機(jī)的轉(zhuǎn)速,利用自帶ADc模塊獲得電機(jī)的電壓和電流,通過比較單元產(chǎn)生六路PWM波。DSP2812有兩個串口通信模塊SCIA和scIB,因此用一塊DsP就可以實(shí)現(xiàn)通信的雙余度設(shè)計。DsP采用定時中斷每10 ms向上位機(jī)發(fā)送一次數(shù)據(jù)。scI采用FIFO模式收發(fā)數(shù)據(jù),這樣可以降低Ds=P的中斷次數(shù),加快數(shù)據(jù)處理能力和數(shù)據(jù)傳輸速度。數(shù)據(jù)幀格式如圖5所示。
(I)幀頭(2個字節(jié):)由OxEF和 0x80兩個字節(jié)組成,作為幀起始標(biāo)識。
(2)幀類型(1個字節(jié)):0x01表示參數(shù)設(shè)置指令,0x02表示應(yīng)答幀,0x03表示余度切換。
(3)數(shù)據(jù)簇(4個字節(jié)):數(shù)據(jù)簇由Datal Data4四個字節(jié)組成,其中Datal—Dm3表示所傳輸數(shù)據(jù)的整數(shù)形式,Data4表示該數(shù)據(jù)是在10的n次方的作用下形成整數(shù)的。
(4)校驗(yàn)和(1個字節(jié)):校驗(yàn)和的組成是將校驗(yàn)和之前的8個字節(jié)的數(shù)據(jù)求和OxFF取余后作為校驗(yàn)和。
(5)重傳幀(1個字節(jié)):數(shù)據(jù)校驗(yàn)沒通過,此幀置0x0I表示需要重傳此指令,否則為OxoO。
(6)幀尾(2個字節(jié)):幀尾由()x77~0xBB f個字節(jié)組成,作為幀結(jié)束標(biāo)識。
下位機(jī)軟件流程圖如圖6所示。
4實(shí)驗(yàn)結(jié)果
該系統(tǒng)在15 kw的BLDcM中進(jìn)行了實(shí)驗(yàn)驗(yàn)證,正常情況下通信系統(tǒng)通過余度1工作,七位機(jī)界面如岡7a所示,在余度1斷開的情況下,會自行切換到余度2,不影響數(shù)據(jù)的傳輸,L位機(jī)界面如圖7b所示,從而提高了通信系統(tǒng)的可靠性;上位機(jī)面向?qū)ο蟪绦蛟O(shè)計,保障數(shù)據(jù)采集與顯示的實(shí)時性,雙緩沖技術(shù)解決了屏幕閃爍問題,模塊化的設(shè)計使得程序更具通用性。