完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在阅读AP32370配套的源码,在力矩PI控制的KPKI计算时,有用到三个宏定义,无法理解其含义,求前辈们解答该宏定义实际的含义。
#define DEFAULT_L_NO_SCALEUP (float)((3.0f/2.0f)*(2.0f*USER_PI*USER_CCU8_PWM_FREQ_HZ) * (N_I_ALPHABETA_A/N_VREF_ALPHABETA_V) *(USER_MOTOR_L_PER_PHASE_uH/1000000)/(1<<16))//#define DEFAULT_L_SCALEDUP (uint32_t)((DEFAULT_L_NO_SCALEUP) * (1<<(uint32_t)DEFAULT_SCALE_OF_L))#define DEFAULT_L_SCALEDUP ((DEFAULT_L_NO_SCALEUP) * (1<<(uint32_t)DEFAULT_SCALE_OF_L))#define DEFAULT_SCALE_OF_L (uint32_t)(log2f((((1<<16) - 1)/(SPEED_HIGH_LIMIT_RPM/(1<< USER_RES_INC)))/(DEFAULT_L_NO_SCALEUP))) 查看的例程版本是“Infineon-AP32370_PMSM_FOC_for_XMC1000_4000-ApplicationNotes-v01_06-EN.zip” 使用的是XMC1302+PMSM_LV15W的开发板组合。 |
|
相关推荐
1个回答
|
|
首先,我们需要逐步分析这个宏定义。宏定义如下:
#define DEFAULT_L_NO_SCALEUP (float)((3.0f/2.0f)*(2.0f*USER_PI*USER_CCU8_PWM_FREQ_HZ)) 我们可以将其分解为以下几个部分: 1. 3.0f / 2.0f:这是一个简单的浮点数除法,结果为1.5f。 2. 2.0f * USER_PI:USER_PI是一个用户定义的宏,通常用于表示圆周率π的值。这里将其乘以2.0f,结果为2 * π。 3. USER_CCU8_PWM_FREQ_HZ:这是一个用户定义的宏,表示PWM频率(单位:赫兹)。 4. 将上述三个部分相乘:(1.5f * (2.0f * USER_PI * USER_CCU8_PWM_FREQ_HZ)) 现在我们来解释这个宏定义的实际含义: DEFAULT_L_NO_SCALEUP宏定义用于计算力矩PI控制器的比例增益(KP)和积分增益(KI)的初始值。这个宏定义的计算公式是基于电机控制中的一些基本参数,如PWM频率和圆周率π。 在电机控制中,力矩PI控制器用于调整电机的电流,以实现对电机力矩的精确控制。比例增益(KP)和积分增益(KI)是PI控制器的两个关键参数,它们决定了控制器的性能和稳定性。 这个宏定义的计算公式可能是基于某种特定的电机控制策略或经验公式。具体的计算原理和应用场景可能需要参考AP32370的官方文档或相关论文。 总之,DEFAULT_L_NO_SCALEUP宏定义用于计算力矩PI控制器的初始增益值,其计算公式涉及PWM频率和圆周率π。要完全理解这个宏定义的含义,可能需要进一步研究AP32370的官方文档和相关电机控制理论。 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5707 浏览 2 评论
4090 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3606 浏览 9 评论
1214 浏览 8 评论
3508 浏览 7 评论
432浏览 2评论
257浏览 2评论
365浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
5733浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
434浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 08:53 , Processed in 0.583794 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号