STM32的电机控制库2.0中有关SVPWM实现的计算PWM高电平时间的代码问题
- UID
- 826437
|
STM32的电机控制库2.0中有关SVPWM实现的计算PWM高电平时间的代码问题
1、
STM32的电机控制库2.0中有关SVPWM实现的计算PWM高电平时间的代码问题
switch(bSector)
{
case SECTOR_1:
case SECTOR_4:
hTimePhA =(T/8) + ((((T + wX) - wZ)/2)/131072);
hTimePhB= hTimePhA + wZ/131072;
hTimePhC= hTimePhB - wX/131072;
break;
case SECTOR_2:
case SECTOR_5:
hTimePhA =(T/8) + ((((T + wY) - wZ)/2)/131072);
hTimePhB = hTimePhA + wZ/131072;
hTimePhC= hTimePhA - wY/131072;
break;
case SECTOR_3:
case SECTOR_6:
hTimePhA =(T/8) + ((((T - wX) + wY)/2)/131072);
hTimePhC= hTimePhA - wY/131072;
hTimePhB= hTimePhC + wX/131072;
break;
default:
break;
}
这里面的131072是怎么来的?困惑好久 |
|
|
|
|
|
- UID
- 826524
- 性别
- 男
|
没看过它的SVPWM库,我都是自己写。
原理上这个位置应该是2。 但不知道STM32库中间数据是怎么处理的,所以不好说它的意义。
但我发现一个线索 2*65536 (2^16)= 131072,估计是程序前面某个地方把数据放大了65536倍,在这个地方又把它除掉 |
|
|
|
|
|