原驱动器默认设定的PWM最大工作频率为20kHz,在这种配置下,电流检测机制是与PWM定时器同步的,即每当PWM周期循环一次时,ADC便会触发一次电流采样。与此同时,伺服控制算法也以每50微秒(对应于20kHz)的频率进行一次计算更新。尽管20kHz的PWM频率对于大多数电机来说已经足够满足其运行需求,但在面对电感较小的部分电机时,为了优化控制效果和减小纹波,可能需要进一步提高PWM的开关频率。
HC32F4A0在不改变电流采样频率已经运算周期,一种增加pwm频率的方法是,增加pwm频率,间隔触发ADC采样,运算周期同电流采样周期一样。比如原20k 可以将pwm频率增加到40k、60k、 80k 、100k 、120k等。具体配置方法参考寄存器。
关键代码前后比较:
/*源代码 开关频率20k 50us 触发一次adc 采样*/// M4_TMR4_1->SCSRUH = 0x4000U;// M4_TMR4_1->SCMRUH = 0xFF00U;// M4_TMR4_1->SCCRUH = 0x0001U;/*改后代码 开关频率60k 50us 触发一次adc 采样*/M4_TMR4_1->CVPR = 0x0020U;/* Initialize TIMER4 SEVT. */M4_TMR4_1->SCSRUH = 0x4000U;M4_TMR4_1->SCMRUH = 0xFF82U;M4_TMR4_1->SCCRUH = 0x0001U;