你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

ST电机库PWMC_SetPhaseVoltage函数中262144的作用是什么

[复制链接]
error#29 提问时间:2023-8-23 15:42 / 已解决
 wTimePhA = ( int32_t )( pHandle->PWMperiod ) / 4 + ( ( wY - wZ ) / ( int32_t )262144 ); 
 wTimePhB = wTimePhA + wZ / 131072;
 wTimePhC = wTimePhA - wY / 131072;

计算矢量作用时间时,为什么要除262144,有些帖子说是因为ADC转换结果为左对齐,所以是Q15格式的,计算PWM比较值时要转为Q0格式,所以这里计算需要先右移15位,但从使用手册上看,这种说法好像不对image.png

收藏 评论1 发布时间:2023-8-23 15:42

举报

1个回答
弗兰克 最优答案 回答时间:2023-10-17 14:29:31

将除数因子乘以32768(由于Valphabeta表示法 注1) 2(由于wUAlphaBeta内部因子 注2) 2(由于公式本身) 2(由于ARR = PWM_PERIOD / 2)=327688= 262144

注1: Valpha和Vbeta值是数字表示,我们必须将其除以32768以获得相对于总线电压的归一化值。我们将在操作结束时进行除法运算。

注2: 此外,两个U值都包括所谓的T的PWM周期的持续时间。 让我们考虑以下内容: PWM_PERIOD_CYCLES = hPWMperiod是一个PWM周期内的定时器时钟周期数= Ftimer / PWM Freq 定时器的自动重装寄存器(ARR)为PWM_PERIOD_CYCLES / 2,因为定时器正在向上和向下计数。 wUBeta乘以2 hPWMperiod,uWAplha通过hT_Sqrt3也是如此。 hT_Sqrt3 = sqrt(3) PWM_PERIOD_CYCLES * 2 因此,最终的除数必须考虑到稍后的额外除以2。

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版