- 积分
- 2009
- 回帖
- 0
- 西莫币
-
- 贡献
-
- 威望
-
- 存款
-
- 阅读权限
- 35
- 最后登录
- 1970-1-1
该用户从未签到
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 as27185 于 2013-9-4 19:27 编辑
对于FOC,理论上计算出两相静止坐标系的电压,再进行SVPWM运算即可得到三相的占空比即可。
但是我看到的renesas的FOC代码(单片机78f1213),是将两相静止坐标系的电压变换到三相静止坐标系,然后经过一个看不懂的过程,产生了三相占空比,不知道是为什么?请高手指教,谢谢,部分代码如下,其中TDR02 、TDR04、TDR06是三个写占空比的寄存器
//Calculate Va,Vb,Vc to decide the time duration of each vector
Va=U_beta_set; //Va=U_beta_set
Vb=temp1+temp2; //Vb=(sqrt(3)*U_alpha_set+U_beta)/2
Vc=temp2-temp1; //Vc=(-Sqrt(3)*U_alpha_set+U_beta)/2
switch(SV_sector)
{
case 3:
if(G_Modeflag==1)
{
TOE0=0x00fd; //0x00fc;
TO0=0x0000;
TOL0=0x0054;
}
else
{
TO0=0x0000;
TOE0=0x0000;
TO0=0x0000;
TOE0=0x0001; //20121120 add
}
TDR02=Va-Vc;
TDR04=Va;
TDR06=0;
G_PWM_Mid=TDR04;
G_PWM_Max=TDR02;
break;
case 2:
if(G_Modeflag==1)
{
TOE0=0x00fd;;
TO0=0x0000;
TOL0=0x0054;
}
else
{
TO0=0x0000;
TOE0=0x0000;
TO0=0x0000;
TOE0=0x0001; //20121120 add
}
TDR02=Vb-Va;
TDR04=0;
TDR06=-Va;
G_PWM_Mid=TDR06;
G_PWM_Max=TDR02;
break;
|
|