1.引言 Matlab是一個強大的分析、計算和可視化工具,特別適用于控制系統的分析和模擬,但由于其依賴的平臺是計算機及其 CPU,因而由于 CPU系統功耗的原因,使得 MATLAB程序的執行速度相對于高速信號的輸入/輸出顯得很慢,遠不能滿足實時信號處理的要求,而 DSP就其軟件的編程能力而言,與單片機及計算機的 CPU的編程設計方法有類似之處,但 DSP比單片機的運算速度快得多,又比 CPU 的功耗及設計復雜度低得多,但是其分析和可視化能力遠不及 Matlab,開發過程比較復雜。不過,目前有一種新的技術,可以將 DSP和 Matlab兩者密切結合起來,充分利用兩者的特長,有力的促進控制系統的實現。 伺服驅動裝置是印刷機無軸傳動[3]控制系統中重要的組成部分,國內大部分產品是采用帶速度傳感器的專用變頻器調速,控制精度不高 [4],而國外的產品價格又非常昂貴,由此,本文自行開發了一套基于 PI調節器的無速度傳感器矢量控制系統,并且在自行搭建的實驗平臺進行了調速實驗,在實驗過程中,運用了 Matlab與 DSP混合編程的調試方法,實驗結果表明,采用 Matlab調試及直接目標代碼生成的方法能避免傳統計算機模擬的復雜編程過程,減少了工作量,有助于提高系統的綜合效率 , 且能夠保持系統良好的動靜態調速控制性能,很好地滿足了印刷機無軸傳動控制系統的要求。 2. 無速度傳感器矢量控制系統介紹 由于采用高性能的矢量控制方法且缺省了速度傳感器,那么如何準確的獲取轉速信息,且保持伺服系統較高的控制精度,滿足實時控制的要求,也就成為本課題研究的重要方向。在這里我們采用 PI自適應控制方法 ,利用在同步軸系中 q軸電流的誤差信號實現對電機速度的估算 ,整體結構如圖 1所示。角速度給定值 ω*與推算角速度反饋值 ω的誤差送入速度調節器,速度調節器的輸出即為電磁轉矩的給定值 Te*,由 iq1 = LrTe/PmLmФd2可以計算出電流的 q軸分量給定值 iq1*,當 q軸電流沒達到設定值時,可由 Rs產生的 q軸電壓和 ω1σLs產生的 d軸電壓來調節。因此,iq1*與定子電流 q軸分量的實際值 iq1的誤差信號送入 PI調節器調節器的輸出 uq1’為定子電流 q軸分量誤差引起定子電壓 q軸分量的調節量。 其中速度推算模塊以不含有真實轉速的轉子磁鏈方程以及坐標變換方程作為參考模型,以含有待辨識轉速的 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模塊窗,建立異步電動機矢量控制變頻調速系統的模型,如圖 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所示。 我們可以在 Matlab中修改一個參數或變量,并把修改值傳遞給正在運行的 DSP,從而可以實時地調整或改變處理算法,并通過觀察探針點數據來調試程序。最后把 CCSlink和 Embedded Target for C2000 DSP Platform. 相結合,可以直接由調試好的 Simulink模型生成 DSP2812 的可執行代碼,并加載到 DSP目標板中,這樣我們就可以在同一的 Matlab環境中完成系統算法的設計、仿真、調試、測試,并最終在 DSP2812目標板上運行。 4. 系統調試 實驗臺硬件結構如圖 4所示,變頻器系統用 DSP作為運算控制單元,用 IPM模塊作為功率電路交換單元,用霍爾電流傳感器檢測電機三相電的兩相電流。DSP控制器在對檢測到的電流信號進行相應的運算處理之后,將 PI控制算法產生的三對 SVPWM脈沖信號,作用于 IPM來驅動異步電機,通過改變輸出脈沖信號的頻率來實現異步電動機的變頻調速。 電機參數為: Rs=10Ω;Rr=5.6Ω;Ls =0.3119H;Lr=0.3119H;Lm = 0.297H;P = 4;J=0.001 kg.m2 通過 DSP與 CCS的連接,可在 Matlab環境下對目標 DSP的存儲器數據進行訪問,再利用 Matlab強大的分析和可視化工具對其數據進行訪問,也可以實現對工程的編譯、鏈接、加載、運行,設置斷點和探點,最后將滿意的調試結果生成的目標代碼直接加載到實驗臺上。轉速輸入設定為一階躍函數,電機帶額定負載運行,獲得的動態響應曲線如下圖所示。 5 實驗結果 Figure5 Experimental results由圖 5可見, d-q軸電壓電流及磁通角響應曲線平穩,在動態過程中,在 Matlab環境下的電機轉矩和實際 DSP實驗平臺下的轉矩曲線基本一致,系統響應快,且超調量小,只需 0.6S即可達到穩定。轉速的階躍響應如圖 5(d)所示,系統在電機起動時有一定的波動,但是在 PI自適應控制器的作用下,只需 0.5S系統就可以達到穩定狀態,證明速度觀測器下的轉速能夠較好地跟蹤實際速度變化,在穩態時實際速度等于仿真速度值。 5.結論 本文提出的 Matlab下的 DSP集成設計方法確實可行,實驗證明:在此環境下可以完成對 DSP目標板的操作,包括訪問 DSP存儲器和寄存器等,又可利用 Matlab的強大工具對 DSP存儲器中的數據進行分析和可視化處理,因此系統結構簡單,調試工作量小,易于實現。同時,具有一定自適應能力的 PI速度估算方法能夠對電機轉速做出準確的估計,實驗結果驗證了此系統設計方案的正確性和可行性。 作者:遲寧 楊建武 來源:微計算機信息 |