TI公司官网源代码基于TMS320F2812的永磁同步电动机空间矢量控制的算法实现

第7章基于TMS320F2812的永磁同步电动机控制例1、空间矢量算法实现SVGEN_DQ对象结构体定义typedefstruct{_iqUalpha;//输入:轴参考电压_iqUbeta;//输入:轴参考电压_iqTa;//输出:参考相位a开关函数_iqTb;//输出:参考相位b开关函数_iqTc;//输出:参考相位c开关函数void(*calc)();//函数指针}SVGENDQ;typedefSVGENDQ*SVGENDQ_handle;SVGEN_DQ模块调用方法:main(){}voidinterruptperiodic_interrupt_isr(){svgen_dq1.Ualpha=Ualpha1;//提供输入参数:svgen_dq1svgen_dq1.Ubeta=Ubeta1;//提供输入参数:svgen_dq1svgen_dq2.Ualpha=Ualpha2;//提供输入参数:vgen_dq2svgen_dq2.Ubeta=Ubeta2;//提供输入参数:svgen_dq2svgen_dq1.calc(&svgen_dq1);//调用函数模块svgen_dq1svgen_dq2.calc(&svgen_dq2);//调用函数模块svgen_dq2Ta1=svgen_dq1.Ta;//访问运算结果svgen_dq1Tb1=svgen_dq1.Tb;//访问运算结果svgen_dq1Tc1=svgen_dq1.Tc;//访问运算结果svgen_dq1Ta2=svgen_dq2.Ta;//访问运算结果svgen_dq2Tb2=svgen_dq2.Tb;//访问运算结果svgen_dq2Tc2=svgen_dq2.Tc;//访问运算结果svgen_dq2}为进一步了解空间矢量算法的基本原理,下面给出空间矢量模块的源代码:voidsvgendq_calc(SVGENDQ*v){_iqVa,Vb,Vc,t1,t2;_iqsector=0;/*设相位置(sector)等于Q0*//*逆clarke变换*/Va=v->Ubeta;Vb=_IQmpy(_IQ(-0.5),v->Ubeta)+_IQmpy(_IQ(0.8660254),v->Ualfa);/*0.8660254=sqrt(3)/2*/Vc=_IQmpy(_IQ(-0.5),v->Ubeta)-_IQmpy(_IQ(0.8660254),v->Ualfa);/*0.8660254=sqrt(3)/2*//*60度sector的确定*/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)的计算*/Va=v->Ubeta;/*X=Va*/Vb=_IQmpy(_IQ(0.5),v->Ubeta)+_IQmpy(_IQ(0.8660254),v->Ualfa);/*Y=Vb*/Vc=_IQmpy(_IQ(0.5),v->Ubeta)-_IQmpy(_IQ(0.8660254),v->Ualfa);/*Z=Vc*/if(sector==1)/*sector1:t1=Zandt2=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*/}elseif(sector==2)/*sector2:t1=Yandt2=-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*/}elseif(sector==3)/*sector3:t1=-Zandt2=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*/}elseif(sector==4)/*sector4:t1=-Xandt2=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*/}elseif(sector==5)/*sector5:t1=Xandt2=-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*/}elseif(sector==6)/*sector6:t1=-Yandt2=-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*/}v->Ta=_IQmpy(_IQ(2),(v->Ta-_IQ(0.5)));v->Tb=_IQmpy(_IQ(2),(v->Tb-_IQ(0.5)));v->Tc=_IQmpy(_IQ(2),(v->Tc-_IQ(0.5)));}在相位置(sector)3中的一个矢量的例子:T0/4T6/2T6/2T0/4T0/4T6/4T4/4T0/4V0V6V4V7V7V6V4V0TtttPWM1PWM3PWM5tCMPR1CMPR3CMPR2tcontbontaon图相位置(sector)PWM实例及其占空比例2、事件管理器配置EvaRegs.T1PR=p->n_period;/*SYSTEM_FREQUENCY*1000000*T/2*//*初始化Timer1周期寄存器*//*预定标器X1(T1),ISR周期=Tx1*/EvaRegs.T1CON.all=PWM_INIT_STATE;/*对称操作模式*/EvaRegs.DBTCONA.all=DBTCON_INIT_STATE;EvaRegs.ACTRA.all=ACTR_INIT_STATE;EvaRegs.COMCONA.all=0xA200;EvaRegs.CMPR1=p->n_period;EvaRegs.CMPR2=p->n_period;EvaRegs.CMPR3=p->n_pe...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?