用MATLAB繪製電機效率MAP圖?

Tags: 效率, 電機,

今天給大家介紹如何用MATLAB繪製電機效率MAP圖。所謂效率MAP圖,就是電機(和控制器)在給定轉速和轉矩下的效率分佈。電機(和控制器)的效率是電機轉速和輸出轉矩的二元函式,在三維座標中是一個曲面。當我們用不同值的效率平面(平行於T-n平面的平面)去“切”這個曲面,並將切線投影到T-n平面上,即是電機的效率MAP圖。這與地理上的等高線圖非常相像,所以我們用contour函式來繪製電機效率MAP圖。

工具/原料

試驗資料(xls格式)

MATLAB

方法/步驟

資料準備

以一臺2kW無刷直流電機為例,效率試驗和載入試驗獲得的資料如下圖,為常見的xls格式(即Excel表格),載入試驗的資料主要用於繪製電機的機械特性。

用MATLAB繪製電機效率MAP圖

用MATLAB繪製電機效率MAP圖

資料匯入

將試驗資料匯入MATLAB,並生成轉速向量、轉矩向量和效率向量。注意,三個向量的長度必須一致。這裡我們用到xlsread函式。

【參考指令】

speed_load=xlsread('location.xls','sheet1','A2:A14'); %匯入載入試驗轉速資料

torque_load=xlsread('location.xls','sheet1','B2:B14'); %匯入載入試驗轉矩資料

speed_eff=xlsread('location.xls','sheet2','A2:A1492'); %匯入效率試驗轉速資料

torque_eff=xlsread('location.xls','sheet2','B2:B1492'); %匯入效率試驗轉矩資料

efficiency_eff=xlsread('location.xls','sheet2','C2:C1492'); %匯入效率試驗效率資料

解釋:“location”為載入試驗資料的儲存路徑;“sheet1”為資料所在的頁;“A2:A14”為轉速資料所在的單元格;句尾分號可加可不加,若不加,MATLAB將在指令視窗中輸出各向量的全部值,方便檢查。

設定效率曲線數值向量

【參考指令】

value_eff=[70, 75, 80,81, 84,90];

解釋:value_eff向量用於設定效率MAP圖中各曲線的標定數值,作為contour函式的呼叫引數。向量值和長度根據實際電機設定,向量維數越高,MAP曲線越密。

擬合機械特性曲線

【參考指令】

t1=polyfit(speed_load, torque_load,1)

解釋:polyfit函式用於擬合轉速和轉矩的關係。直流無刷電機的機械特性是一條直線,所以維數設為“1”,具體用法參見MATLAB的Help文件。輸入該指令後按“Enter”鍵,得到兩個引數-0.0782和90.1554,即可得到電機的機械特性函式Tor=-0.0782*spd+90.1554。

編寫機械特性函式

新建一個M檔案,建立機械特性函式

【參考指令】

function Tor=T(spd)

Tor=-0.0782*spd+90.1554;

end

並儲存在MATLAB的文件路徑中,一般為“C:\Users\使用者名稱\Documents\MATLAB”。這時,MATLAB的Current Directory中就會出現一個新的M檔案“T”,供MATLAB呼叫。

用MATLAB繪製電機效率MAP圖

繪製機械特性曲線

【參考指令】

%根據實際測量資料,設定擬合的機械特性曲線的範圍

spd_high=1124:5:1153; %設定高轉速範圍

spd_low=0:5:697; %設定低轉速範圍

figure

%繪製低轉速機械特性

Tor=T(spd_low);

plot(spd_low,Tor,'r--','linewidth',3);

hold on

%繪製高轉速機械特性

Tor=T(spd_high);

plot(spd_high,Tor,'r--','linewidth',3);

hold on

%繪製試驗機械特性

plot(speed_load,torque_load,'r--','linewidth',3);

hold on

得到下圖的機械特性曲線

用MATLAB繪製電機效率MAP圖

繪製效率MAP

這裡用到contour函式,具體參見Help文件。

【參考指令】

[SPEED,TORQUE]=meshgrid(0:10:1200,0:1:100); %標定座標範圍

EFFICIENCY=griddata(speed_eff,torque_eff,efficiency_eff,SPEED,TORQUE,'v4'); %插值

[c,h]=contour(SPEED,TORQUE,EFFICIENCY,value_eff); %MAP圖

用MATLAB繪製電機效率MAP圖

標定效率數值

【參考指令】

clabel(c,h,value_eff);

用MATLAB繪製電機效率MAP圖

【設定座標、標題等】

可用指令設定,也可以在figure的insert選單中直接設定。

用MATLAB繪製電機效率MAP圖

其他

電機效率MAP圖通常只要求機械特性以下的部分,這個可以截圖到各種圖片處理軟體進行處理,最後得出的電機效率MAP圖見下圖。

用MATLAB繪製電機效率MAP圖

注意事項

轉速向量、轉矩向量和效率向量的維數必須一致;

理論上同一轉速-轉矩下的效率值是唯一的,若試驗資料出現衝突,最好剔除,否則MATLAB會取效率的平均值;

機械特性函式務必儲存在上述路徑,否則MATLAB不能識別這個自定義函式。

相關問題答案