Matlab與 DSP混合實現(xiàn)無傳感器矢量控制
遲寧 楊建武
摘要: 本文介紹了一種采用 MATLAB及 CCS對異步電機無速度傳感器交流調(diào)速系統(tǒng)進行調(diào)試的方法。應(yīng)用 MATLAB語言強大的分析能力和繪圖功能,與 DSP高速運算的優(yōu)勢相結(jié)合,在自行搭建的無傳感器矢量控制系統(tǒng)平臺進行了調(diào)速實驗,實驗結(jié)果表明,采用 Matlab調(diào)試及直接目標代碼生成的方法能避免傳統(tǒng)計算機模擬的復(fù)雜編程過程,減少了工作量,有助于提高系統(tǒng)的綜合效率, 且能夠保持系統(tǒng)良好的動靜態(tài)調(diào)速控制性能。
Abstract:
Key words :
摘要: 本文介紹了一種采用 MATLAB及 CCS對異步電機無速度傳感器交流調(diào)速系統(tǒng)進行調(diào)試的方法。應(yīng)用 MATLAB語言強大的分析能力和繪圖功能,與 DSP高速運算的優(yōu)勢相結(jié)合,在自行搭建的無傳感器矢量控制系統(tǒng)平臺進行了調(diào)速實驗,實驗結(jié)果表明,采用 Matlab調(diào)試及直接目標代碼生成的方法能避免傳統(tǒng)計算機模擬的復(fù)雜編程過程,減少了工作量,有助于提高系統(tǒng)的綜合效率, 且能夠保持系統(tǒng)良好的動靜態(tài)調(diào)速控制性能。
Matlab是一個強大的分析、計算和可視化工具,特別適用于控制系統(tǒng)的分析和模擬,但由于其依賴的平臺是計算機及其 CPU,因而由于 CPU系統(tǒng)功耗的原因,使得 MATLAB程序的執(zhí)行速度相對于高速信號的輸入/輸出顯得很慢,遠不能滿足實時信號處理的要求,而 DSP就其軟件的編程能力而言,與單片機及計算機的 CPU的編程設(shè)計方法有類似之處,但 DSP比單片機的運算速度快得多,又比 CPU 的功耗及設(shè)計復(fù)雜度低得多,但是其分析和可視化能力遠不及 Matlab,開發(fā)過程比較復(fù)雜。不過,目前有一種新的技術(shù),可以將 DSP和 Matlab兩者密切結(jié)合起來,充分利用兩者的特長,有力的促進控制系統(tǒng)的實現(xiàn)。
伺服驅(qū)動裝置是印刷機無軸傳動[3]控制系統(tǒng)中重要的組成部分,國內(nèi)大部分產(chǎn)品是采用帶速度傳感器的專用變頻器調(diào)速,控制精度不高 [4],而國外的產(chǎn)品價格又非常昂貴,由此,本文自行開發(fā)了一套基于 PI調(diào)節(jié)器的無速度傳感器矢量控制系統(tǒng),并且在自行搭建的實驗平臺進行了調(diào)速實驗,在實驗過程中,運用了 Matlab與 DSP混合編程的調(diào)試方法,實驗結(jié)果表明,采用 Matlab調(diào)試及直接目標代碼生成的方法能避免傳統(tǒng)計算機模擬的復(fù)雜編程過程,減少了工作量,有助于提高系統(tǒng)的綜合效率 , 且能夠保持系統(tǒng)良好的動靜態(tài)調(diào)速控制性能,很好地滿足了印刷機無軸傳動控制系統(tǒng)的要求。
2.無速度傳感器矢量控制系統(tǒng)介紹
由于采用高性能的矢量控制方法且缺省了速度傳感器,那么如何準確的獲取轉(zhuǎn)速信息,且保持伺服系統(tǒng)較高的控制精度,滿足實時控制的要求,也就成為本課題研究的重要方向。在這里我們采用 PI自適應(yīng)控制方法 ,利用在同步軸系中 q軸電流的誤差信號實現(xiàn)對電機速度的估算 ,整體結(jié)構(gòu)如圖 1所示。角速度給定值 ω*與推算角速度反饋值 ω的誤差送入速度調(diào)節(jié)器,速度調(diào)節(jié)器的輸出即為電磁轉(zhuǎn)矩的給定值 Te*,由 iq1 = LrTe/PmLmФd2可以計算出電流的 q軸分量給定值 iq1*,當 q軸電流沒達到設(shè)定值時,可由 Rs產(chǎn)生的 q軸電壓和 ω1σLs產(chǎn)生的 d軸電壓來調(diào)節(jié)。因此,iq1*與定子電流 q軸分量的實際值 iq1的誤差信號送入 PI調(diào)節(jié)器調(diào)節(jié)器的輸出 uq1’為定子電流 q軸分量誤差引起定子電壓 q軸分量的調(diào)節(jié)量。
其中速度推算模塊以不含有真實轉(zhuǎn)速的轉(zhuǎn)子磁鏈方程以及坐標變換方程作為參考模型,以含有待辨識轉(zhuǎn)速的 PI自適應(yīng)律為可調(diào)模型,以定子電流轉(zhuǎn)矩分量作為比較輸出量,采用比例積分自適應(yīng)律進行速度估計,經(jīng)過 PI調(diào)節(jié)后,輸出量就是待求的電機轉(zhuǎn)速。這種方法計算量小,結(jié)構(gòu)簡單,容易實現(xiàn)。
3. Matlab與 DSP混合編程的調(diào)試方法
在傳統(tǒng)的開發(fā)過程中,總是先用 MATLAB進行仿真。當仿真結(jié)果滿意時再把算法修改成 C/C++語言,再在硬件的 DSP目標板上實現(xiàn)。發(fā)現(xiàn)偏差,需要再用 Matlab對算法進行修正,再在 DSP上編寫修正的算法程序。如此過程反復(fù)進行,在 DSP的開發(fā)工具、 Matlab工作空間之間來回多次切換,非常不便,當系統(tǒng)比較復(fù)雜時,還需要分步驗證各個中間結(jié)果和最終結(jié)果。如果能夠把 Matlab和 DSP集成開發(fā)環(huán)境 CCS及目標 DSP連接起來,利用 Matlab的分析能力來調(diào)試 DSP代碼,那么操作 TI DSP的存儲器或者寄存器就可以像操作 Matlab變量一樣簡單。工具包 Matlab Link for CCS Development Tools的使用,可以使上述問題迎刃而解,利用此工具箱,在 Matlab環(huán)境下,就可以完成對 CCS的操作,即整個目標 DSP對于 Matlab像透明的一樣,所有操作只利用 Matlab命令和對象來實現(xiàn),簡單、方便、快捷。以下用調(diào)試上述無速度傳感器矢量控制系統(tǒng)的例子來說明 Matlab-DSP集成開發(fā)環(huán)境在控制系統(tǒng)中的應(yīng)用。在 Matlab命令窗口中輸入 Simulink,打開 Simulink模塊窗,建立異步電動機矢量控制變頻調(diào)速系統(tǒng)的模型,如圖 2所示,結(jié)構(gòu)簡單明了,全部實現(xiàn)模塊化,容易擴展,可以根據(jù)實際需要,改變每一模塊的參數(shù)。
接下來設(shè)置仿真參數(shù)和 Real-Time Workshop選項,編譯仿真模型。并利用 MATLABLink for CCS Development Tools建立與目標 DSP的連接。利用 CCSLink工具,可以把數(shù)據(jù)從 CCS中傳送到 Matlab工作空間中,也可以把 Matlab中的數(shù)據(jù)傳送到 CCS中,而且通過 RTDX(實時數(shù)據(jù)交換技術(shù)),可以在 Matlab和實時運行的 DSP硬件之間建立連接,在它們之間實時傳送數(shù)據(jù)而不使正在 DSP上運行的程序停止,這項功能可以在程序運行期間為我們提供一個觀察 DSP實時運行狀態(tài)的窗口,大大簡化了調(diào)試工作。Matlab、CCSlink、CCS和硬件目標 DSP的關(guān)系如圖 3所示。
我們可以在 Matlab中修改一個參數(shù)或變量,并把修改值傳遞給正在運行的 DSP,從而可以實時地調(diào)整或改變處理算法,并通過觀察探針點數(shù)據(jù)來調(diào)試程序。最后把 CCSlink和 Embedded Target for C2000 DSP Platform. 相結(jié)合,可以直接由調(diào)試好的 Simulink模型生成 DSP2812 的可執(zhí)行代碼,并加載到 DSP目標板中,這樣我們就可以在同一的 Matlab環(huán)境中完成系統(tǒng)算法的設(shè)計、仿真、調(diào)試、測試,并最終在 DSP2812目標板上運行。
4. 系統(tǒng)調(diào)試
實驗臺硬件結(jié)構(gòu)如圖 4所示,變頻器系統(tǒng)用 DSP作為運算控制單元,用 IPM模塊作為功率電路交換單元,用霍爾電流傳感器檢測電機三相電的兩相電流。DSP控制器在對檢測到的電流信號進行相應(yīng)的運算處理之后,將 PI控制算法產(chǎn)生的三對 SVPWM脈沖信號,作用于 IPM來驅(qū)動異步電機,通過改變輸出脈沖信號的頻率來實現(xiàn)異步電動機的變頻調(diào)速。
電機參數(shù)為: Rs="10"Ω;Rr=5.6Ω;Ls =0.3119H;Lr=0.3119H;Lm = 0.297H;P = 4;J=0.001 kg.m2
通過 DSP與 CCS的連接,可在 Matlab環(huán)境下對目標 DSP的存儲器數(shù)據(jù)進行訪問,再利用 Matlab強大的分析和可視化工具對其數(shù)據(jù)進行訪問,也可以實現(xiàn)對工程的編譯、鏈接、加載、運行,設(shè)置斷點和探點,最后將滿意的調(diào)試結(jié)果生成的目標代碼直接加載到實驗臺上。轉(zhuǎn)速輸入設(shè)定為一階躍函數(shù),電機帶額定負載運行,獲得的動態(tài)響應(yīng)曲線如下圖所示。
5 實驗結(jié)果
由圖 5可見, d-q軸電壓電流及磁通角響應(yīng)曲線平穩(wěn),在動態(tài)過程中,在 Matlab環(huán)境下的電機轉(zhuǎn)矩和實際 DSP實驗平臺下的轉(zhuǎn)矩曲線基本一致,系統(tǒng)響應(yīng)快,且超調(diào)量小,只需 0.6S即可達到穩(wěn)定。轉(zhuǎn)速的階躍響應(yīng)如圖 5(d)所示,系統(tǒng)在電機起動時有一定的波動,但是在 PI自適應(yīng)控制器的作用下,只需 0.5S系統(tǒng)就可以達到穩(wěn)定狀態(tài),證明速度觀測器下的轉(zhuǎn)速能夠較好地跟蹤實際速度變化,在穩(wěn)態(tài)時實際速度等于仿真速度值。
本文提出的 Matlab下的 DSP集成設(shè)計方法確實可行,實驗證明:在此環(huán)境下可以完成對 DSP目標板的操作,包括訪問 DSP存儲器和寄存器等,又可利用 Matlab的強大工具對 DSP存儲器中的數(shù)據(jù)進行分析和可視化處理,因此系統(tǒng)結(jié)構(gòu)簡單,調(diào)試工作量小,易于實現(xiàn)。同時,具有一定自適應(yīng)能力的 PI速度估算方法能夠?qū)﹄姍C轉(zhuǎn)速做出準確的估計,實驗結(jié)果驗證了此系統(tǒng)設(shè)計方案的正確性和可行性。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。