野火STM32电机系列(四)Cubemx配置TIM捕获编码器

接上一节内容,目前已经配置好了按键和LED灯控制、串口和显示屏配置、ADC和DMA的配置

生成后的代码将移植到之前的项目中,移植方法和之前一样

1 CubemxTIM配置输入捕获

由于我们使用驱动接口1连接PMSM

采用定时器3的CH1-CH3通道

CH1和CH2位AB相CH3为Z相,对应芯片管脚PC6,PC7,PC8

 

 在选择好通道后,配置TIM3

这里选择编码器模式,该模式可以直接读取脉冲数(不用特意设置捕获了,非常方便)

channel3作为脉冲中断触发,找到每一圈的零点位置

野火电机编码器是1000线的(转一圈1000个脉冲),这里4分频后变4000脉冲

 

配置TIM的中断

生成代码

2 函数配置

这里有几个函数需要配置

1.开启编码器模式函数

 

2.设定时定计数器的值

 3.打开TIM3通道3中断

4.中断回调函数

当编码器Z相出脉冲时进去中断,即可知道编码器到达零点

 通过下面的函数就知道编码器的脉冲数,即可算出电机的位置

可以通过之前配置的串口打印当前的计数值

猜你喜欢

转载自blog.csdn.net/qq_49552487/article/details/127520304