北京永光高特微電機有限公司
Beijing  YongGuang  Micro-Motor  Manufacturing  Co.,Ltd.
 
新聞詳情

基于CAN總線分布式無刷電動機控制系統的設計

來源:北京永光高特微電機有限公司作者:李利網址:http://www.zgdlzj.com瀏覽數:2369


   摘要:介紹一種利用積分編碼器來檢測轉子磁極位置,形成電子換相邏輯,由DSP56F807計算處理,進行速度和電流的PI控制調節,通過CAN現場總線進行數據的發送和接收,形成的分布式電機控制系統。詳細描述了控制系統的硬件構成和軟件實現流程,最后給出了實驗結果和結論。

1引  言

   CAN(Contoller Area Network)總線是一種分布式實時控制系統的串行通信局域網。其信號傳輸采用短幀結構,因而傳輸時間短,受干擾的概率低,具有實時性強、高性能、高可靠性等優點,被廣泛應用于各種控制系統中的檢測和執行機構之間的數據通信。無刷直流電動機在運行過程中要進行換相控制和轉速控制,而換相控制需要有位置反饋機制,比如霍爾元件、光電碼盤,或者利用梯形反電動勢特點進行反電動勢過零檢測等。電機速度控制也需要根據位置反饋信號,計算出轉子速度,再利用PI或PID等控制方法,實時調整PWM占空比等來實現定子電流調節。MOTOROLA公司的DSP56F80X系列整合了通用數字信號處理器快速運算功能和單片機外圍豐富的特點,具有較強的數據處理能力和控制功能。其中DSP56F807是該系列中適用于工控領域應用而設計的一款新型芯片,它內部集成有GPIO、ADC、SPI、SCI、PWM、編碼器輸入、錯誤檢測控制、CAN控制器等豐富的控制資源。在本系統中,利用DSP56F807和CAN總線的各自優點構建一個高速、穩定的分布式電機控制系統。

2分布式控制系統的結構

   本系統主要分為兩部分:其一為CAN網絡通訊,實現分布式監控;其二為執行部件,控制電機動作。硬件整體框圖如圖l所示。

   圖1分布式控制系統的整體框圖

   該系統結構可分為三個層次:第一層是PC機與CAN總線接口層。實現PC機與CAN通訊總線之間的可視化操作控制,采用CAN總線通訊適配卡實現,本系統中采用了PCl9820CAN總線接口卡;第二層為CAN總線與DSP控制器56F807接口層。該層實現CAN總線和DSP56F807控制板的CAN控制器的物理接口和通信;第三層作為56F807的GPIO口無刷直流電機的驅動接口,采用對56F807控制板的電氣隔離保護和電機的大電流驅動,完成電機的實際動作。圖1中的外虛框為控制板,內虛框為DSP56F807控制芯片。

   CAN總線與內嵌CAN控制器的DSP56FS07接口電路如圖2所示,在圖2中,PCA82C250T為DSP56F807內嵌式CAN控制器與CAN總線接口的收發器,是驅動CAN控制器和物理總線間的接口。8引腳封裝,傳輸速率可達1Mbps。它提供了對CAN總線的差動發送能力以及對CAN控制器的差動接收能力;電阻R10為CAN驅動器的終端匹配電阻。J1是一個六端口接插件,用于連接到PC機上的CAN總線適配卡PCCAN的D型九針接口。R10可以通過J13連接器來實現允許或禁止。

 圖2控制器的CAN通訊接口電路

 圖3控制器的電機驅動接口電路

   DSP控制芯片與無刷直流電動機的驅動接口電路如圖3所示,DSP56F807內部有兩個PWM模塊,可以控制兩個電機,我們采用了PWMA模塊進行三相無刷電動機控制,驅動電路接口中MCl4504B實現DSP的TL到CMOS的轉換,用以驅動三相TMOS功率橋MPM3003,對三相無刷電動機通電。其中MPM3003是MOTOROLA公司的三相功率橋,采用12引腳的單列直插封裝,內部由上橋臂的三個P溝道功率場效應管和下橋臂的三個N溝道功率場效應管組成,能正常工作于60 V電壓下,輸出電流10A。DSP56F807主要作用是接受來自CAN總線的命令控制字,并按控制字對三相電機執行加速、減速、正反轉等動作控制,即對DSP56F807芯片進行編程,采集積分編碼器的數據,判斷轉子的位置,并計算轉子的轉速,經PI運算后,輸出六路占空比可控PWM信號,經電路的轉換和功率驅動,依次控制電機三相繞組的導通。在此無刷電動機控制中要用到DSP56F807的相位檢測模塊、錯誤保護模塊、過

電流保護模塊、PWM模塊等。需注意的是在電機控制過程中,首先要根據所用電機參數,估計控制電機的頻率范圍,頻率過高會引起電機的失步,而過低則不能驅動電機。

3分布式控制系統的軟件設計

  本系統的軟件設計是完成基于CAN總線的分布式控制系統的關鍵所在。CAN總線的多機通訊由軟件編程實現數據的接受和發送。在兩個CAN節點中,一個為上位計算機中的PCICAN接口卡,另一個為DSP56F807控制板,進行現場的三相無刷直流電動機的控制,同時又與上位計算機進行CAN通訊,實現兩節點通訊,接受遠程節點的請求數據幀,并發送數據幀,把現場的狀態和相關數據通過CAN接口,發送到上位計算機,便于計算機監視和處理。

3.1現場控制器的軟件設計

   現場控制器采用DSP56F807芯片,軟件部分主要由現場控制電機部分和CAN通訊部分組成。對于DSP56800/E系列產品,Motorola公司提供了兩個有力的軟件開發工具:一個是Codewarrior集成開發環境,另外一個是Embedded SDK。較高版本的Codewareior集成開發環境具有一個ProcessorExpert(PE)插件接口,PE繼承了SDK的開發經驗,并且得到進一步優化和提高。開發者可以不用SDK,而在帶有PE的Codewarrior集成開發環境下進行軟件開發,并且還可以把以前SDK下的程序移植到PE環境下。作者的開發是在Codewarrior 6.0下進行的,主要包含由以下幾個內容:

   (1)現場控制系統的系統初始化,包括CPU的初始化、中斷相量的初始化、CAN模塊的初始化、PWM的模塊的初始化、相位檢測塊模塊的初始化等。根據電機的起動指令和轉子位置信號,經運算后生成電機控制PWM頻率信號,PWM模塊被設置為互補模式,轉換頻率為16 kHz,PWM通道的屏蔽和交換由PWM通道控制寄存器控制,PWM通道控制寄存器的內容來自于相位檢測信號,速度控制采用PI控制算法,實現電機的轉速控制。程序的主流程如圖4所示。

 圖4控制器的主程序流程

   (2)CAN信息的發送部分,CAN發送和接收采用定時中斷方式,每50 ms中斷一次。MSCAN模塊具有三個發送緩沖器結構,可預先安排多個等待發送的信息,獲得最優化的實時性能。每個發送緩沖器帶有一個優先級寄存器(TBPR),用戶可以通過編程確定信息發送的順序。CPU通過一組發送緩沖器空標志位(TXE[2=0]),確認有效的發送緩沖器,當標志位為1時,CPU將標識符、控制位和數據內容存儲到發送緩沖器中,并將該標志位清零。當標志位再次置為1時,說明緩沖器成功地發送了信息,并產生發送中斷,重裝發送緩沖器。發送流程圖如圖5所示。

(3)CAN信息的接收部分,MSCAN具有雙緩沖器的接收結構,兩個緩沖器輪流映射到一個存儲器區域。后臺的接收緩沖器(RxBG)單獨地與MSCAN相聯系,而CPU只能訪問前臺的接收緩沖器(RxFG),這一結構簡化了軟件的處理過程。接收流程圖如圖6所示。當MSCAN控制器接收信息時,先將要接收的信息的標識符與接收緩沖器的標識符進行比較,只有標識符相同的信息才能被接收。MSCAN控制器的接收濾波器使得接收緩沖器可以忽略更多的位來接收信息。

          

 圖5  MSCAN的發送流程          圖6 MSCAN的接收流程

3.2上位計算機的監控軟件設計

   本系統使用工業控制計算機作為上位機,采用PCI一9820雙路非智能CAN接口卡,該接口卡配備兩通道的九針D型邏輯獨立CAN接口,每個通道有光電隔離增強系統在惡劣環境中使用的可靠性,接口卡采用WDM驅動程序支持WIN98、WIN2000和XP操作系統。PCI_9820提供如VCI_[nitCAN()、VCI_ResetCAN()、VCI_SkmCAN()、VCI_ReadCAN—Status()、VCI—GetReceiveNum()、VCI_ClearBuffet()、VCI_Transmlt()和VCI_Receive()等豐富的函

數,方便用戶調用和編程。

   系統的監控軟件采用Visual c++6.0來編程施實現的。本設計根據軟件總體設計的要求和過程,對系統的信息管理及監控程序按不同的功能進行功能分解,劃分為不同的模塊。計算機控制系統的信息管理及監控軟件主要包括CAN總線數據通信、設備狀態控制和數據管理三個部分。數據采集和通信模塊利用PCCAN接口卡,接收現場控制器上傳的電流、轉子位置、故障點、電機的運行狀態等數據,用于記錄、存儲和分析。設備控制部分根據采集到的數據判斷系統當前的運行狀態,并可通過修改運行參數對設備工作狀態進行調整。數據管理部分負責數據的統計、查詢、打印輸出以及數據庫的備份和維護。系統軟件整體結構框圖如圖7所示。

    圖7系統軟件整體結構框圖

4結語

   DSP56F800/E系列兼有DSP的高速信號處理能力和MCU的豐富外設,在很多控制領域,都是較為理想的控制芯片,而CAN總線具有多主站運行和分散仲裁以及廣播通信的特點,CAN總線不分主次節點可在任意時刻主動向網絡上其它節點發送信息,實現數據的可靠通信。因此將CAN總線與DSP控制系統的技術融合,將是分布式控制系統的發展趨勢之一。

   本系統是針對三相無刷直流電動機的分布式監控系統而設計的,目前運行良好,其技術完全可以移植到樓宇自動化、工業機器人等其它需要遠程監控的場合。

聯系方式
 
 
 工作時間
周一至周五 :8:00-17:00
 聯系方式
于海騰:010-83971821
姜宇:010-83510840
周圍:010-61402950