stm32 cubemx 实现正交编码器等效输出即输出两路相位相差90度,脉冲数任意的PWM

在低压伺服上,因为需要在驱动器上对采集的增量式的编码器脉冲数等效输出,方便上层的控制器做闭环(某些场合需求)

所以需要在stm32上实现正交编码器等效输出即输出两路相位相差90度,脉冲数任意的PWM  相位差使用比较输出功能可以实现

1 中断计数的方式 会影响程序动态性能

2 定时器级联 还是有中断的操作

3 定时器+DMA

4 高级定时器的单脉冲模式

最终采用 高级定时器单脉冲模式+比较输出实现   单脉冲模式脉冲数8位 最高255个脉冲 对于低压伺服来说 20Khz 编码器采集频率,255个脉冲已经能满足很高精度的编码器了。Tim1定时器用来做三相PWM了,所以用高级定时器Tim8来实现

cubemx配置:

stm32 cubemx 实现正交编码器等效输出即输出两路相位相差90度,脉冲数任意的PWM_第1张图片

stm32 cubemx 实现正交编码器等效输出即输出两路相位相差90度,脉冲数任意的PWM_第2张图片

 

 

你可能感兴趣的:(stm32)