劉海斌,張海強(qiáng),王 毅,包西平,詹凱良
(徐州工業(yè)職業(yè)技術(shù)學(xué)院,江蘇徐州 221005)
內(nèi)置式永磁同步電機(jī)以其高效率、高功率密度、低噪聲、高轉(zhuǎn)矩電流比、強(qiáng)魯棒性等優(yōu)點(diǎn)[1],在電動(dòng)汽車領(lǐng)域得到了廣泛應(yīng)用[2]。根據(jù)IPMSM交/直軸電感不相等的特性,為了充分利用IPMSM的磁阻轉(zhuǎn)矩,在恒轉(zhuǎn)矩區(qū)常采用最大轉(zhuǎn)矩電流比(Maximum Torque Per Ampere,MTPA)的控制策略,即利用最小的定子電流獲得最大的電磁轉(zhuǎn)矩輸出,并且提高母線電壓利用率。
為實(shí)現(xiàn)新能源汽車內(nèi)置式永磁同步電機(jī)(IPMSM)在低速區(qū)的最優(yōu)控制[3-4],相同電流幅值下能夠出更大的扭矩即MTPA控制,如圖1所示。實(shí)際臺(tái)架標(biāo)定可以尋找到全扭矩范圍內(nèi)的最優(yōu)id/iq,并由此產(chǎn)生由扭矩指令生成的id/iqMAP電流表,但其需要很長(zhǎng)的標(biāo)定周期,嚴(yán)重影響新產(chǎn)品的開(kāi)發(fā)周期;若能夠離線計(jì)算出在低轉(zhuǎn)速范圍內(nèi)不同扭矩指令下對(duì)應(yīng)的最優(yōu)id/iq,這些id/iq的點(diǎn)集便組成了一張電流MAP表,大大縮短了開(kāi)發(fā)周期,并且實(shí)際扭矩Te精度也能滿足控制需求。
圖1 電機(jī)最優(yōu)控制曲線圖
基于上述要求,本文設(shè)計(jì)了基于MATLAB 2017/GUI的離線計(jì)算的id/iq—MAP表,使電機(jī)能夠?qū)崿F(xiàn)四象限安全可靠的運(yùn)行且同時(shí)能夠滿足具體的技術(shù)輸出需求[5],如扭矩精度、最大功率輸出、最大扭矩輸出、電機(jī)效率、電壓利用率等。系統(tǒng)平臺(tái)特點(diǎn):扭矩精度滿足設(shè)定需求;縮短IPMSM新電機(jī)的標(biāo)定周期;該算法能夠適用所有IPMSM。
內(nèi)置式永磁同步電機(jī)(IPMSM)最大轉(zhuǎn)矩電流比離線計(jì)算電流分配表控制算法包含3個(gè)子系統(tǒng)[6]。如圖2所示。
圖2 系統(tǒng)程序結(jié)構(gòu)
(1)曲線擬合模塊。根據(jù)電機(jī)仿真參數(shù)擬合出電感參數(shù)Ld/Lq、永磁體磁鏈ψf隨電流變化的規(guī)律。
(2)MTPA計(jì)算模塊。根據(jù)最大轉(zhuǎn)矩電流比原理,在全轉(zhuǎn)矩范圍內(nèi),且扭矩步長(zhǎng)為1 N·m,尋找出一張最優(yōu)的id/iq電流MAP表。
(3)數(shù)據(jù)處理模塊。將吻合算法需求的id/iq寫(xiě)入.CSV文件并保存起來(lái),以MTPA-id/iq.CSV格式輸出。最終將.CSV格式的文件轉(zhuǎn)化為.C的文件輸出。
根據(jù)系統(tǒng)架構(gòu),所設(shè)計(jì)的系統(tǒng)軟件界面如圖3所示。界面由標(biāo)題、曲線擬合類型選擇列表、數(shù)據(jù)處理按鈕等操作按鈕組成。
圖3 主界面
曲線擬合類型選擇列表用于選擇擬合曲線的類型。“首先運(yùn)行”按鈕用于對(duì)擬合出來(lái)的數(shù)據(jù)進(jìn)行讀??;“數(shù)據(jù)處理”該按鈕用于將id/iq數(shù)據(jù)寫(xiě)入.CSV文件。各控制按鈕詳細(xì)的使用說(shuō)明可以點(diǎn)擊“用戶指導(dǎo)手冊(cè)”按鈕進(jìn)行參考,點(diǎn)擊“退出系統(tǒng)”按鈕則退出并關(guān)閉系統(tǒng)的運(yùn)行[7-8]。
根據(jù)圖1與圖2所示的子系統(tǒng)組成模塊結(jié)構(gòu)、系統(tǒng)平臺(tái)界面,采用MATLAB2017/GUI進(jìn)行各系統(tǒng)模塊的界面操作設(shè)計(jì),通過(guò)編寫(xiě)GUI回調(diào)函數(shù)來(lái)對(duì)操作進(jìn)行響應(yīng)。用戶通過(guò)控制按鈕進(jìn)行系統(tǒng)的設(shè)計(jì)。下面介紹幾個(gè)關(guān)鍵控制模塊。
“打開(kāi)數(shù)據(jù)文件”按鈕選擇需要加載的.CSV文件,該文件主要是電機(jī)仿真參數(shù);若用戶沒(méi)有選擇任何文件,則系統(tǒng)會(huì)出現(xiàn)如圖4所示的提示界面。
圖4 錯(cuò)誤提示
加載.CSV文件與出錯(cuò)報(bào)警部分關(guān)鍵代碼如下:
[filename, pathname]= uiputfile ({′*.csv′,′CSV files′},′) ;
if isequal(filename,0) ||isequal(pathname,0)
return;
else
fpath=fullfile(pathname, filename);
end
function edit56_Callback (hObject, eventdata, handles)
function edit56_Create Fcn (hObject, eventdata, handles)
if ispc&&isequal(get(hObject,′Background Color′),get(0,′default Uicontrol Background Color′)) set(hObject,′Background Color′,′white′) ;
end
選擇“曲線擬合類型選擇”下拉菜單,可以選擇Ld曲線擬合、Lq曲線擬合、永磁磁鏈擬合。點(diǎn)擊“d軸電感Ld曲線擬合”選項(xiàng),則進(jìn)行d軸電感隨電流變化的擬合工作。若選定一組電機(jī)的設(shè)計(jì)參數(shù),已通過(guò)Open File文件打開(kāi)了,則擬合的效果如圖5所示,由圖可知Ld與id/iq呈非線性變化,符合客觀規(guī)律。
圖5 Ld與id-iq的關(guān)系曲線
點(diǎn)擊“q軸電感Lq曲線擬合”選項(xiàng),則進(jìn)行q軸電感隨電流變化的擬合工作,若選定一組電機(jī)的設(shè)計(jì)參數(shù),已通過(guò)Open File文件打開(kāi)了,則擬合的效果如圖6所示,由圖中可知Lq與id/iq呈非線性變化,符合內(nèi)在式永磁同步電機(jī)交直軸電流客觀規(guī)律。
圖6 Lq與id-iq的關(guān)系曲線
點(diǎn)擊“永磁體磁鏈曲線擬合”選項(xiàng)則進(jìn)行永磁體磁鏈隨電流變化的擬合工作,若選定一組電機(jī)的設(shè)計(jì)參數(shù),已通過(guò)Open File文件打開(kāi)了,則擬合的效果如圖7所示。
圖7 永磁體磁鏈曲線擬合
曲線擬合類型選擇部分關(guān)鍵代碼如下:
list=get(handles.FB,′String′) ;
val1=get(handles.FB,′value′);
selectedval=list{val1};
if(qy==1) trans_ratio=str2num (get(handles.transformer,′String′)) ;
Lr=str2num (get(handles.Lr,′String′));Lf=str2num(get(handles.Lf,′String′)) ;
C=str2num(get(handles.C ,′String′));
RL=str2num(get(handles.RL ,′String′));
Vin=str2num(get(handles.Vin ,′String′));
A=(trans_ratio*Vin)/(Lf*C);
B1=(2* (trans_ratio^2) *Lr*fre/Lf) +1/(RL*C);B2=(2*(trans_ratio^2)*Lr*fre/Lf)*1/(RL*C)+1/(Lf*C);
num=[A];
den=[1,B1,B2];
Gvd=tf(num,den);
%elseif(TFB==1)
elseif(qy==2)
trans_ratio=str2num (get (handles.transformer ,′String′)) ;
Lf=str2num(get(handles.Lf,′String′));
C=str2num(get(handles.C ,′String′));
RL=str2num(get(handles.RL ,′String′));
Vin=str2num(get(handles.Vin ,′String′));
A=(trans_ratio)*Vin;
B1=Lf*C;
B2=Lf/RL;
num=[A];
den=[B1,B2,1];
Gvd=tf(num,den);
end;
elseif(qy==2) trans_ratio=str2num (get(handles.transformer,′String′)) ;
Lf=str2num(get(handles.Lf,′String′));
C=str2num(get(handles.C ,′String′));
RL=str2num(get(handles.RL ,′String′));
Vin=str2num(get(handles.Vin ,′String′));
A=(trans_ratio)*Vin;
B1=Lf*C;
Gvd=tf(num,den);end;
點(diǎn)擊“首先運(yùn)行”按鈕就開(kāi)始對(duì)擬合出來(lái)的數(shù)據(jù)進(jìn)行讀取,并進(jìn)行MTPA算法的運(yùn)算,在數(shù)據(jù)讀取的過(guò)程中會(huì)彈出如下對(duì)話框,讀完之后且MTPA算法部分處理完成之后該對(duì)話框自動(dòng)關(guān)閉,如圖8所示。
圖8 首先運(yùn)行按鈕
首先運(yùn)行按鈕關(guān)鍵代碼如下:
function Wp_Callback(hObject, eventdata, handles)
if ispc&&isequal(get(hObject,′Background Color′),get(0,′default Uicontrol Background Color′))
set(hObject,′Background Color′,′white′) ;
if CONNECTED~=1
msgbox(′′) ;
if ispc&&isequal(get(hObject,′Background Color′),
get(0,′default Uicontrol Background Color′))
set(hObject,′Background Color′,′white′) ;
Max Voltage=uint16 (str2num (get (handles.edit1,′String′))); MinVoltage=uint16(str2num(get(handles.edit2,′String′))); Multiply_Cof=uint16(str2num (get(handles.edit3,′String′) ) ); Addition_Cof=uint16(str2num(get(handles.edit4,′String′)));
end
根據(jù)MTPA控制原理,點(diǎn)擊“繪制圖形”按鈕,此時(shí)系統(tǒng)軟件會(huì)繪制整個(gè)過(guò)程中的圖像,并保存起來(lái),以直觀的形式呈現(xiàn)出來(lái)便于用戶進(jìn)行分析整個(gè)過(guò)程的可靠性,圖9所示為MTPA控制id/iq與轉(zhuǎn)矩關(guān)系曲線。iq>0,id<0,內(nèi)置式永磁同步電機(jī)控制系統(tǒng)進(jìn)入了弱磁工作狀態(tài)。
圖9 MTPA控制id/iq與轉(zhuǎn)矩關(guān)系曲線
圖10 id與控制轉(zhuǎn)矩關(guān)系曲線
圖10 所示為不同轉(zhuǎn)速情況下直軸電流id的一簇曲線。id<0,顯示內(nèi)置式永磁同步電動(dòng)機(jī)此時(shí)進(jìn)入了弱磁的工作狀態(tài),圖10表明直軸電流id數(shù)值絕對(duì)量越大,控制轉(zhuǎn)矩也越大,與理論分析保持一致。圖11所示為基于MTPA的控制策略時(shí)最大電流曲線。由圖中可以看出,定子總電流變大,也符合內(nèi)置式永磁同步電動(dòng)機(jī)運(yùn)行變化規(guī)律。
圖11 MTPA控制時(shí)最大電流曲線
本文通過(guò)對(duì)永磁同步電機(jī)弱磁控制原理的分析,基于MABLAB/GUI自動(dòng)解算出高效的(id,iq)工作點(diǎn),并生成電流參考指令表滿足MTPA曲線控制,同時(shí)減少開(kāi)發(fā)人員的電機(jī)標(biāo)定的工作量。設(shè)計(jì)的系統(tǒng)已在實(shí)際系統(tǒng)中得到了實(shí)驗(yàn)驗(yàn)證,電機(jī)的輸出特性均滿足實(shí)際的需求,滿足產(chǎn)品的升級(jí)開(kāi)發(fā),對(duì)永磁同步電機(jī)高性能控制系統(tǒng)的設(shè)計(jì)有一定的指導(dǎo)意義。