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