因?yàn)橹麟娐分杏?/strong>3300uf的大電容,所以需要較長(zhǎng)的充電時(shí)間,為了避免過(guò)大的充電電流,主電路中有NTC負(fù)溫度系數(shù)的熱敏電阻,所以一定要等控制器的液晶上顯示“電源:開(kāi)啟”,才能進(jìn)行下一步的操作,并且每次打開(kāi)主電源距離上次關(guān)閉主電源需要有5分鐘以上的間隔時(shí)間。
6. 在“Watch window”窗口中雙擊變量“EnableFlag”右側(cè)的“Value“值并修改為1后回車(chē),此時(shí)應(yīng)能觀(guān)察到變量“IsrTicker”也在不斷變化,說(shuō)明主中斷服務(wù)程序已經(jīng)正常運(yùn)行。而此時(shí)電機(jī)應(yīng)該轉(zhuǎn)動(dòng),并穩(wěn)定在740轉(zhuǎn)/分左右的速度上,說(shuō)明控制系統(tǒng)PWM輸出部分和IPM逆變部分硬件以及機(jī)組和連線(xiàn)都是正確的,如果電機(jī)不轉(zhuǎn),請(qǐng)檢查INF2電路板上的LED2指示燈是否熄滅,如果熄滅說(shuō)明產(chǎn)生了功率保護(hù)中斷,可以更換DSPCPU板測(cè)試,也可更換機(jī)組測(cè)試,如果現(xiàn)象依舊則需要返修。如果電機(jī)運(yùn)轉(zhuǎn)了,但是控制器上沒(méi)有速度顯示,請(qǐng)檢查DSPCPU電路板下面那塊INF2電路板上的JP1撥碼開(kāi)關(guān)是否撥向左邊。7. 分別右鍵點(diǎn)擊圖形顯示窗口“Channel1&2”、“Channel3&4”,選擇連續(xù)刷新模式“Continuous Refresh” ,觀(guān)察rg1.Out、Ta、Tb以及Tc的波形,如圖1-1-3和圖1-1-4所示。rg1.Out是給定磁鏈斜坡函數(shù)的輸出,它是以360度為PU基值的Q15格式數(shù)據(jù)表示的,將豎線(xiàn)光標(biāo)移至第一個(gè)圖形的零點(diǎn)處,注意觀(guān)察圖形窗口“Channel1&2”左下角的第一個(gè)坐標(biāo)值的第一個(gè)值是時(shí)間,單位為ms,我們可以看到給定的磁鏈周期為40ms,這樣可以計(jì)算出給定磁鏈的頻率為25Hz,這和我們?cè)O(shè)定的SpeedRef=0.5是對(duì)應(yīng)的,設(shè)定為1時(shí),對(duì)應(yīng)頻率為50Hz,周期應(yīng)為20ms。Ta、Tb、Tc表示的是三組PWM控制信號(hào)在每個(gè)調(diào)制周期中的占空比,也是Q15格式的數(shù)據(jù)。將光標(biāo)移至Channel2的第一個(gè)馬鞍波的波峰中點(diǎn),讀出時(shí)間坐標(biāo)為14.8ms,將光標(biāo)移至Channel3的第一個(gè)馬鞍波的波峰中點(diǎn),讀出時(shí)間坐標(biāo)為28.2ms,那么得出結(jié)論:Ta相位超前Tb=(28.2-14.8)/40*360=120度。如圖1-1-5和圖1-1-6所示。設(shè)定speedref為不同值,完成表1-1-1。表1-1-1:Speedref | 0.1 | 0.3 | 0.5 | -0.5 |
Ta峰值時(shí)間ms |
|
|
|
|
Tb峰值時(shí)間ms |
|
|
|
|
Ta超前Tb相位度 |
|
|
|
|
8. 改變SpeedRef的值,觀(guān)察波形的周期值是否和設(shè)定值對(duì)應(yīng)。同時(shí)VdTesting、VqTesting的值也跟著變化,此時(shí)可以觀(guān)測(cè)圖形顯示窗口波形幅值的變化。變量VdTesting、VqTesting相當(dāng)于IPARK逆變換的輸入值,在程序中做了一個(gè)函數(shù),隨著SpeedRef的值變化而變化,所以不能修改。根據(jù)speedref的值完成表1-1-2。表1-1-2:Speedref | 0.1 | 0.3 | 0.5 | -0.5 |
給定磁鏈周期 |
|
|
|
|
給定磁鏈頻率 |
|
|
|
|
電機(jī)轉(zhuǎn)速 |
|
|
|
|
9. 分別右鍵點(diǎn)擊圖形顯示窗口“Channel1&2”、“Channel3&4”,取消連續(xù)刷新模式“Continuous Refresh”,點(diǎn)擊“Debug--Halt” ,再點(diǎn)擊“Debug--Real time Mode” ,最后點(diǎn)擊“Debug--Reset CPU” ,“Debug—Restart ”,退出實(shí)時(shí)運(yùn)行模式,并停止程序運(yùn)行。10. 如果繼續(xù)實(shí)驗(yàn),請(qǐng)轉(zhuǎn)實(shí)驗(yàn)二。否則請(qǐng)關(guān)閉控制器的功率部分主電源(按下電源鍵),然后關(guān)閉CCS軟件退出程序,關(guān)閉控制電源。 
圖1-1-3 rg1.out和Ta波形 圖1-1-4 Tb和Tc波形

圖1-1-5 rg1.out和Ta波形 圖1-1-6 Tb和Tc波形
實(shí)驗(yàn)文檔:
1、 分析實(shí)驗(yàn)結(jié)果,并根據(jù)表1-1-1的測(cè)試結(jié)果,解釋電機(jī)速度設(shè)定參考值和電機(jī)實(shí)際運(yùn)行速度之間的差異是怎么產(chǎn)生的。
2、 閱讀實(shí)驗(yàn)程序,理解IPARK和SVPWM軟件模塊的工作原理。繪制出IPARK和SVPWM模塊的詳細(xì)軟件流程圖。
3、 讀懂LEVEL1實(shí)驗(yàn)程序,并給出LEVEL1程序流程圖。
4、 總結(jié)實(shí)驗(yàn)經(jīng)驗(yàn),回答本實(shí)驗(yàn)中提出的問(wèn)題,并整理實(shí)驗(yàn)文檔。
附錄:
/*=====================================================================================
File name: IPARK.C (IQ version)
Originator: Digital Control Systems Group
Texas Instruments
Dsscription: Inverse Park Transformation
=====================================================================================
History:
-------------------------------------------------------------------------------------
04-15-2005 Version 3.20
-------------------------------------------------------------------------------------*/
#include "IQmathLib.h" // Include header for IQmath library
// Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file
#include "dmctype.h"
#include "ipark.h"
void ipark_calc(IPARK *v)
{
_iq Cosine,Sine;
// Using look-up IQ sine table
Sine = _IQsinPU(v->Angle);
Cosine = _IQcosPU(v->Angle);
v->Alpha = _IQmpy(v->Ds,Cosine) - _IQmpy(v->Qs,Sine);
v->Beta = _IQmpy(v->Qs,Cosine) + _IQmpy(v->Ds,Sine);
}
/*=====================================================================================
File name: SVGEN_DQ.C (IQ version)
Originator: Digital Control Systems Group
Texas Instruments
Description: Space-vector PWM generation based on d-q components
=====================================================================================
History:
-------------------------------------------------------------------------------------
04-15-2005 Version 3.20
-------------------------------------------------------------------------------------*/
#include "IQmathLib.h" // Include header for IQmath library
// Don't forget to set a proper GLOBAL_Q in "IQmathLib.h" file
#include "dmctype.h"
#include "svgen_dq.h"
float f_t1,f_t2;
void svgendq_calc(SVGENDQ *v)
{
_iq Va,Vb,Vc,t1,t2;
Uint32 Sector = 0; // Sector is treated as Q0 - independently with global Q
// Inverse clarke transformation
Va = v->Ubeta;
Vb = _IQmpy(_IQ(-0.5),v->Ubeta) + _IQmpy(_IQ(0.8660254),v->Ualpha); // 0.8660254 = sqrt(3)/2
Vc = _IQmpy(_IQ(-0.5),v->Ubeta) - _IQmpy(_IQ(0.8660254),v->Ualpha); // 0.8660254 = sqrt(3)/2
// 60 degree Sector determination
if (Va>_IQ(0))
Sector = 1;
if (Vb>_IQ(0))
Sector = Sector + 2;
if (Vc>_IQ(0))
Sector = Sector + 4;
// X,Y,Z (Va,Vb,Vc) calculations
Va = v->Ubeta; // X = Va
Vb = _IQmpy(_IQ(0.5),v->Ubeta) + _IQmpy(_IQ(0.8660254),v->Ualpha); // Y = Vb
Vc = _IQmpy(_IQ(0.5),v->Ubeta) - _IQmpy(_IQ(0.8660254),v->Ualpha); // Z = Vc
if (Sector==0) // Sector 0: this is special case for (Ualpha,Ubeta) = (0,0)
{
v->Ta = _IQ(0.5);
v->Tb = _IQ(0.5);
v->Tc = _IQ(0.5);
}
if (Sector==1) // Sector 1: t1=Z and t2=Y (abc ---> Tb,Ta,Tc)
{
t1 = Vc;
t2 = Vb;
v->Tb = _IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); // tbon = (1-t1-t2)/2
v->Ta = v->Tb+t1; // taon = tbon+t1
v->Tc = v->Ta+t2; // tcon = taon+t2
}
else if (Sector==2) // Sector 2: t1=Y and t2=-X (abc ---> Ta,Tc,Tb)
{
t1 = Vb;
t2 = -Va;
v->Ta = _IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); // taon = (1-t1-t2)/2
v->Tc = v->Ta+t1; // tcon = taon+t1
v->Tb = v->Tc+t2; // tbon = tcon+t2
}
else if (Sector==3) // Sector 3: t1=-Z and t2=X (abc ---> Ta,Tb,Tc)
{
t1 = -Vc;
t2 = Va;
v->Ta = _IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); // taon = (1-t1-t2)/2
v->Tb = v->Ta+t1; // tbon = taon+t1
v->Tc = v->Tb+t2; // tcon = tbon+t2
}
else if (Sector==4) // Sector 4: t1=-X and t2=Z (abc ---> Tc,Tb,Ta)
{
t1 = -Va;
t2 = Vc;
v->Tc = _IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); // tcon = (1-t1-t2)/2
v->Tb = v->Tc+t1; // tbon = tcon+t1
v->Ta = v->Tb+t2; // taon = tbon+t2
}
else if (Sector==5) // Sector 5: t1=X and t2=-Y (abc ---> Tb,Tc,Ta)
{
t1 = Va;
t2 = -Vb;
v->Tb = _IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); // tbon = (1-t1-t2)/2
v->Tc = v->Tb+t1; // tcon = tbon+t1
v->Ta = v->Tc+t2; // taon = tcon+t2
}
else if (Sector==6) // Sector 6: t1=-Y and t2=-Z (abc ---> Tc,Ta,Tb)
{
t1 = -Vb;
t2 = -Vc;
v->Tc = _IQmpy(_IQ(0.5),(_IQ(1)-t1-t2)); // tcon = (1-t1-t2)/2
v->Ta = v->Tc+t1; // taon = tcon+t1
v->Tb = v->Ta+t2; // tbon = taon+t2
}
// Convert the unsigned GLOBAL_Q format (ranged (0,1)) -> signed GLOBAL_Q format (ranged (-1,1))
// v->Ta = _IQmpy(_IQ(2.0),(v->Ta-_IQ(0.5)));
// v->Tb = _IQmpy(_IQ(2.0),(v->Tb-_IQ(0.5)));
// v->Tc = _IQmpy(_IQ(2.0),(v->Tc-_IQ(0.5)));
}
程序:無(wú)
原理圖:無(wú)
仿真工程:無(wú)
以上圖文的Word格式文檔下載(內(nèi)容和本網(wǎng)頁(yè)上的一模一樣,方便大家保存):
空間矢量脈寬調(diào)制(SVPWM)實(shí)驗(yàn)-案例.doc
(345 KB, 下載次數(shù): 8)
2024-1-8 13:21 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
日韩av免费在线观看
|
在线免费观看欧美
|
成人免费在线播放视频
|
国产精品福利在线
|
看片wwwwwwwwwww
|
91看片官网
|
国产精品久久久久一区二区三区
|
欧美日韩最新
|
国产91丝袜在线播放
|
国产日韩视频在线
|
www国产成人免费观看视频,深夜成人网
|
欧美另类视频在线
|
九色www|
影音先锋中文字幕在线观看
|
国产成人精品一区二区三区在线观看
|
日韩在线视频一区
|
国产精品一区在线观看你懂的
|
亚洲国产看片
|
午夜小视频在线观看
|
99精品欧美一区二区三区
|
97精品国产
|
2020天天操
|
欧美一区二区免费
|
一级做a爰片久久毛片免费看
|
国产免费麻豆视频
|
操网站|
99精品国产成人一区二区
|
福利av在线
|
毛片网在线观看
|
一二三四在线视频观看社区
|
成人不卡视频
|
精品视频免费
|
亚洲午夜精品一区二区三区他趣
|
精品在线播放
|
久久青青
|
色视频成人在线观看免
|
国产精品久久久久久久三级
|
视频一区二区国产
|
精品国产久
|
日韩一区二区三区av
|
国产精品揄拍一区二区
|