关键词不能为空

当前您在: 主页 > 英语 >

PMSM电机无传感器FOC矢量控制_图文.

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-01 12:23
tags:

-

2021年3月1日发(作者:walkman是什么意思)



说明


:


下面程序取自


IFX 16


位机无传感器


PMSM< /p>


电机矢量控制程序。程序架构



C


语言嵌套汇编。其中坐标系变换是汇编编写。有插图说明


,

< p>
便于更好的理解。


其中包括坐标系变换


,


磁链角估算


,PI


速度环电流环调节。


(


单片机


XC2236N,Tasking


编译器


Cavin


整理


坐标系变换说明


:


双电阻采样得 到两相电流


(ia, ib,



abc 120°


静止坐标系


Clarke


变换 到直角坐标系


(iα, iβ,



(iα, iβ


静止直角坐标 系


Park


变换到直角旋转坐标系


(i q,


id


。直流


id


不变


,


通过


PI


速度环电流环得到期望直流


iq,


进行限幅控制。由 旋转坐标



(vq, vd


经过


Park


逆变换到静止坐标系


(vα, vβ ,


然后再经过矢量调制成


PWM


控制< /p>


电机。



无传感器角度估算


:



Clarke


变换得到


(iα, iβ


和由


Park


逆变换得到的


(vα, vβ,



过低通滤波器


PT1,


再由直角坐标系变极坐标系得 到磁链估算角无传感器开环启动


策略


:


在定子中加入幅值及频率都受控的电流


,


PLL


收敛


,


切换到


FOC


闭环控制。






/************** ************************************************** ***


*********


*************** ************************************************** *******


****/


/************** ************************************************** *******


*****



*** ************************************************** ***************


********/


//* ************************************************** ***************


********** // @Function int clarke_trans(int Phase_s, int Phase_t, int *ia;


//




//-------------------------------------------- --------------------------------// @Description ia


= is


// ib = 1/sqrt(3*( (2 * it + is


//


//--------------- -------------------------------------------------- -----------


// @Returnvalue (ib * 16 ,


//


//----------------------- -------------------------------------------------- ---// @Parameters


//


//----- -------------------------------------------------- ---------------------// @Date


09.01.2005


// Condition optimization off / one


//************** ************************************************** **


********** inline int clarke_trans(int Phase_s, int Phase_t, int *ia


{


int retvalue;


__asm(









< p>






:


:


:


;


return retvalue;


}




< /p>


**************************************** ****************************


********/ < /p>


//************************************** ****************************


********** // @Function int park_trans(int e_a,int e_b,int phi,int *a_b


//


//---------- -------------------------------------------------- ----------------// @Description


park transformation


//


//-------- -------------------------------------------------- ------------------// @Returnvalue


Id_comp , Iq_comp


//


//-------------------------------------------- --------------------------------// @Parameters




//


/ /------------------------------------------------- ---------------------------// @Date


09.01.2005


// Condition optimization off / one


inline int park_trans(int i_a,int i_b,int phi,int *o_q


{


int retvalue;


__asm(








< p>









< p>


:


:


:


;


return retvalue;


}


/************************* ******************************************

< br>*********




< /p>


**************************************** ****************************


********/ < /p>


//************************************** ********************************


****** // @Function int inv_park_trans(int e_a,int e_b,int phi,int *a_b


//


//-- -------------------------------------------------- ------------------------// @Description


inverse park transformation


//


//----------------------- -------------------------------------------------- ---// @Returnvalue


I_alpha , I_beta


//


//----------------------- -------------------------------------------------- ---// @Parameters


//




//------------------------- -------------------------------------------------- -// @Date


09.01.2005


// Condition optimization off / one


//**** ************************************************** ************


********** inline int inv_park_trans(int i_d,int i_q,int phi,int *o_b


{


int retvalue;


__asm(








< p>









< p>




:


:


registers */


;


return retvalue;


}





//* ************************************************** ***************


********** // @Function int cart_polar_conv(int x,int y, int *angle;


//


//----------------------- -------------------------------------------------- ---// @Description




//


//----------------------- -------------------------------------------------- ---// @Returnvalue


//


//---- -------------------------------------------------- ----------------------// @Parameters


//


//------------------------------------- ---------------------------------------// @Date


09.01.2005


// Condition optimization off / one


//************** ************************************************** **


********** unsigned int cart_polar_conv(int x,int y, int *angle


{


unsigned int retvalue;


__asm(












< p>










CoACC = x * sqrt( 1 + (y/x^2 n







arctan( y/x n




< /p>












?


- arctan( y/x n





?


+ arctan( y/x n
























< p>
?


- arctan( x/y = 90


?


- arccot( y/x = arctan( y/x n









?


+ arctan( x/y = -(90


?


- arccot( y/x = -arctan( y/x n








?


+ arctan( x/y = 180


?


- (90


?


- arccot( y/x = 180


?


-


arctan( y/x n





< p>
?


- arctan( x/y = -180


?


+ (90


?


- arccot( y/x = -180


?


+


arctan( y/x n







:


:


:


;


return retvalue;


}




< /p>


//************************************** ****************************


********** // @Function: a low pass filter 2012-9-13 17:58:43


// C calling format:


//


// int inline int pt1_controller32( int *pt1_parameter, int X


//


//- -------------------------------------------------- -------------------------// @Description


//


// PT1-Controller


// derived from transfer function




//


// Y_(k = Y_(k-1 + Z1_(k * X_(k - Z2_(k * Y_(k-1


//---------------------------- ------------------------------------------------// Computing time


42 CPU-cycle


//


//----------------------- -------------------------------------------------- ---// @Returnvalue


//


// int


//------------------------------------- ---------------------------------------// @Parameters


//------------------------- -------------------------------------------------- -// Condition


optimization off / one


//*************************************** ***************************


**********


inline int pt1_controller32( PT1_array *pt1_parameter, int X


//inline int pt1_controller32( int *pt1_parameter, int X


{


int retvalue;


__asm(














< p>
















:


:


:


;


return retvalue;


}

//********************************************** ********************


**********


// @Function void ADC0_vStartSeq0ReqChNum(ubyte ubExtTrg, ubyte


// ubEnIntr, ubyte ubRFill, ubyte ubChannelNum


//


//---------- -------------------------------------------------- ----------------


// @Description This function starts the conversion of the requested


// channel.


// NOTE -


// Before passing ubEnIntr argument as 1,make sure that Seq 0




// source interrupt is enabled.


// External Trigger -> 0,Indicates software trigger


// (Conversion starts once this function is executed


//

< p>
//------------------------------------------ ----------------------------------


// @Returnvalue None


//


//----- -------------------------------------------------- ---------------------


// @Parameters ubExtTrg:


// External Trigger : defines external trigger.


// @Parameters ubEnIntr:


// Enable Source Interrupt : defines source interrupt


// @Parameters ubRFill:


// Refill : defines the refill


// @Parameters ubChannelNum:


// Channel number : Name of the Request Channel Number (0 -


// 15- see macros defined in the header file


//

//---------------------------------------------- ------------------------------


-


-


-


-


-


-


-


-



本文更新与2021-03-01 12:23,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/688278.html

PMSM电机无传感器FOC矢量控制_图文.的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文