在低压伺服上,因为需要在驱动器上对采集的增量式的编码器脉冲数等效输出,方便上层的控制器做闭环(某些场合需求)
所以需要在stm32上实现正交编码器等效输出即输出两路相位相差90度,脉冲数任意的PWM 相位差使用比较输出功能可以实现
1 中断计数的方式 会影响程序动态性能
2 定时器级联 还是有中断的操作
3 定时器+DMA
4 高级定时器的单脉冲模式
最终采用 高级定时器单脉冲模式+比较输出实现 单脉冲模式脉冲数8位 最高255个脉冲 对于低压伺服来说 20Khz 编码器采集频率,255个脉冲已经能满足很高精度的编码器了。Tim1定时器用来做三相PWM了,所以用高级定时器Tim8来实现
cubemx配置: