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