1. 引言
Matlab 是一個強大的分析、計算和可視化工具,特別適用于控制系統的分析和模擬,但由于其依賴 的平臺是計算機及其CPU,因而由于CPU系統功耗的原因,使得MATLAB 程序的執行速度相對于高速信 號的輸入/輸出顯得很慢,遠不能滿足實時信號處理的要求,而DSP 就其軟件的編程能力而言,與單片機
及計算機的CPU 的編程設計方法有類似之處,但DSP 比單片機的運算速度快得多,又比CPU 的功耗及
設計復雜度低得多,但是其分析和可視化能力遠不及Matlab,開發過程比較復雜。不過,目前有一種新的技術,可以將DSP 和Matlab兩者密切結合起來,充分利用兩者的特長,有力的促進控制系統的實現。
伺服驅動裝置是印刷機無軸傳動[3]控制系統中重要的組成部分,國內大部分產品是采用帶速度傳感器
的專用變頻器調速,控制精度不高[4],而國外的產品價格又非常昂貴,由此,本文自行開發了一套基于PI
調節器的無速度傳感器矢量控制系統,并且在自行搭建的實驗平臺進行了調速實驗,在實驗過程中,運用 了Matlab 與DSP混合編程的調試方法,實驗結果表明,采用Matlab 調試及直接目標代碼生成的方法能避免傳統計算機模擬的復雜編程過程,減少了工作量,有助于提高系統的綜合效率,且能夠保持系統良好的動靜態調速控制性能,很好地滿足了印刷機無軸傳動控制系統的要求。
2. 無速度傳感器矢量控制系統介紹
由于采用高性能的矢量控制方法且缺省了速度傳感器,那么如何準確的獲取轉速信息,且保持伺服系
統較高的控制精度,滿足實時控制的要求,也就成為本課題研究的重要方向。在這里我們采用PI 自適應控 制方法 [9] ,利用在同步軸系中q軸電流的誤差信號實現對電機速度的估算 [9-10] ,整體結構如圖1 所示。 角速度給定值ω*與推算角速度反饋值ω的誤差送入速度調節器,速度調節器的輸出即為電磁轉矩的給定值Te*,由iq1 = LrTe/PmLmФd2 可以計算出電流的q 軸分量給定值iq1*,當q軸電流沒達到設定值時,可由 Rs 產生的q 軸電壓和ω1σLs 產生的d 軸電壓來調節。因此,iq1*與定子電流q 軸分量的實際值iq1 的誤差 信號送入PI調節器調節器的輸出 uq1’為定子電流q 軸分量誤差引起定子電壓q 軸分量的調節量。

圖1 算法原理結構框圖
其中速度推算模塊以不含有真實轉速的轉子磁鏈方程以及坐標變換方程作為參考模型,以含有待辨識 轉速的PI 自適應律為可調模型,以定子電流轉矩分量作為比較輸出量,采用比例積分自適應律進行速度估 計,經過PI 調節后,輸出量就是待求的電機轉速。這種方法計算量小,結構簡單,容易實現。
3. Matlab 與DSP 混合編程的調試方法
在傳統的開發過程中,總是先用MATLAB 進行仿真。當仿真結果滿意時再把算法修改成C/C++語 言, 再在硬件的DSP 目標板上實現。發現偏差,需要再用Matlab 對算法進行修正,再在DSP 上編寫修 正的算法程序。如此過程反復進行,在DSP 的開發工具、Matlab 工作空間之間來回多次切換,非常不 便,當系統比較復雜時,還需要分步驗證各個中間結果和最終結果。
如果能夠把Matlab 和DSP 集成開發 環境CCS 及目標DSP 連接起來,利用Matlab 的分析能力來調試DSP 代碼,那么操作TI DSP 的存儲器 或者寄存器就可以像操作Matlab 變量一樣簡單。工具包Matlab Link for CCS Development Tools 的 使用,可以使上述問題迎刃而解,利用此工具箱,在Matlab 環境下,就可以完成對CCS 的操作,即整 個目標DSP 對于Matlab 像透明的一樣,所有操作只利用Matlab 命令和對象來實現,簡單、方便、 快 捷。以下用調試上述無速度傳感器矢量控制系統的例子來說明Matlab-DSP
集成開發環境在控制系統中的 應用。 在Matlab 命令窗口中輸入Simulink, 打開Simulink 模塊窗,建立異步電動機矢量控制變頻調速系統的模型[12],如圖2 所示,結構簡單明了,全部實現模塊化,容易擴展,可以根據實際需要,改變每一模 塊的參數。

圖2 算法原理結構框圖
接下來設置仿真參數和Real-Time Workshop 選項,編譯仿真模型。并利用Matlab Link for CCS Development Tools 建立與目標DSP 的連接。利用CCSLink 工具 ,可以把數據從CCS 中傳送到 Matlab 工作空間中,也可以把Matlab 中的數據傳送到CCS 中,而且通過RTDX(實時數據交換技 術),可以在Matlab 和實時運行的DSP 硬件之間建立連接,在它們之間實時傳送數據而不使正在DSP 上 運行的程序停止,這項功能可以在程序運行期間為我們提供一個觀察DSP 實時運行狀態的窗口,大大簡化了調試工作。Matlab、CCSlink、CCS 和硬件目標DSP 的關系如圖3 所示。

圖3 CCSlink 把Matlab 和CCS 及目標DSP 連接在一起
我們可以在Matlab 中修改一個參數或變量,并把修改值傳遞給正在運行的 DSP,從而可以實時地調 整或改變處理算法,并通過觀察探針點數據來調試程序。最后把CCSlink 和Embedded Target for C2000 DSP Platform. 相結合,可以直接由調試好的Simulink 模型生成DSP2812 的可執行代碼,并加載 到DSP 目標板中,這樣我們就可以在同一的Matlab 環境中完成系統算法的設計、仿真、調試、測試,并最終在DSP2812 目標板上運行。
4. 系統調試
實驗臺硬件結構[14-15]如圖4 所示,變頻器系統用DSP 作為運算控制單元,用IPM 模塊作為功率電
路交換單元,用霍爾電流傳感器檢測電機三相電的兩相電流。DSP 控制器在對檢測到的電流信號進行相應 的運算處理之后,將PI 控制算法產生的三對SVPWM 脈沖信號,作用于IPM 來驅動異步電機,通過改變 輸出脈沖信號的頻率來實現異步電動機的變頻調速。

圖4 系統整體結構框圖
電機參數為:Rs=10Ω;Rr=5.6Ω;Ls =0.3119H;Lr=0.3119H;Lm = 0.297H;P = 4;J=0.001kg.m2
通過DSP 與CCS 的連接,可在Matlab 環境下對目標DSP 的存儲器數據進行訪問,再利用Matlab
強大的分析和可視化工具對其數據進行訪問,也可以實現對工程的編譯、鏈接、加載、運行,設置斷點和
探點,最后將滿意的調試結果生成的目標代碼直接加載到實驗臺上。轉速輸入設定為一階躍函數,電機帶 額定負載運行,獲得的動態響應曲線如下圖所示。


圖5 實驗結果
由圖5 可見,d-q 軸電壓電流及磁通角響應曲線平穩,在動態過程中,在Matlab 環境下[10]的電機轉矩和實際DSP 實驗平臺下[11-13]的轉矩曲線基本一致,系統響應快,且超調量小,只需0.6S 即可達到穩定。轉速的階躍響應如圖5(d)所示,系統在電機起動時有一定的波動,但是在PI 自適應控 制器的作用下,只需0.5S 系統就可以達到穩定狀態,證明速度觀測器下的轉速能夠較好地跟蹤實際 速度變化,在穩態時實際速度等于仿真速度值。
5. 結論
本文提出的Matlab 下的DSP 集成設計方法確實可行,實驗證明:在此環境下可以完成對DSP 目標 板的操作,包括訪問DSP 存儲器和寄存器等,又可利用Matlab 的強大工具對DSP 存儲器中的數據進行
分析和可視化處理,因此系統結構簡單,調試工作量小,易于實現。同時,具有一定自適應能力的PI 速度
估算方法能夠對電機轉速做出準確的估計,實驗結果驗證了此系統設計方案的正確性和可行性。