广东湘恒智能科技有限公司
主营产品: 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
SIEMENS内蒙古兴安盟 西门子代理商——西门子华北一级总代理


如下图,电机正转时,编码器的通道A(TI1)的信号超前通道B,计数器向上计数,反转时,通道A的信号滞后,向下计数。

设置信号的极性反相,可以使向下计数代表电机正转。


2定时器编码器模式配置


以STM32 芯片为例,其内部有专门用来采集增量式编码器方波信号的接口,这些接口实际上是STM32 定时器的其中一种功能。不过编码器接口功能只有gaoji定时器TIM1、TIM8 和通用定时器的TIM2~TIM5 才有。


正交编码器有两路正交的输入信号(关于正交编码的介绍,可查看之前的文章:编码器计数原理与电机测速原理——多图解析),根据实际需要,可以设置只捕获某个通道的上升沿或下降沿,也可以设置同时捕获两个通道的上升沿与下降沿,这样就可以提高编码器的计数精度,实现倍频。


编码器模式的配置实际上是通过配置SMCR寄存器和CCER寄存器来实现。

2.1 SMCR寄存器配置触发模式

SMCR即从模式控制寄存器(slave mode control register),查阅STM32F4的参考手册,可以找到类似如下信息,现在我们只需关注SMS这几位:


位 15 ETP:外部触发极性 (External trigger polarity)

位 14 ECE:外部时钟使能 (External clock enable)

位 13:12 ETPS:外部触发预分频器 (External trigger prescaler)

位 11:8 ETF[3:0]:外部触发滤波器 (External trigger filter)

位 7 MSM:主/从模式 (Master/Slave mode)

位 6:4 TS:触发选择 (Trigger selection)

位 3 保留,必须保持复位值

位 2:0 SMS:从模式选择 (Slave mode selection)

000:禁止从模式––如果 CEN =“1”,预分频器时钟直接由内部时钟提供。

001:编码器模式 1––计数器根据 TI1FP1 电平在 TI2FP2 边沿 递增/递减计数。

010:编码器模式 2––计数器根据 TI2FP2 电平在 TI1FP1 边沿 递增/递减计数。

011:编码器模式 3––计数器在 TI1FP1 和 TI2FP2 的边沿计数,计数的方向取决于另外一个信号的电平。

100:复位模式––在出现所选触发输入 (TRGI) 上升沿时,重新初始化计数器并生成一个寄存器更新事件。

101:门控模式––触发输入 (TRGI) 为高电平时使能计数器时钟。只要触发输入变为低电平,计数器立即停止计数(但不复位)。计数器的启动和停止都是受控的。

110:触发模式––触发信号 TRGI 出现上升沿时启动计数器(但不复位)。只控制计数器的启动。

111:外部时钟模式 1––由所选触发信号 (TRGI) 的上升沿提供计数器时钟。


上面的SMCR寄存器介绍中,关于TI1、TI2等的函数:

TI1TI2对应编码器的A、B两相输入信号。

TI1FP1TI2FP2 是进行输入滤波器和极性选择后 TI1 和 TI2 的信号,如果不进行滤波和反相,则 TI1FP1=TI1,TI2FP2=TI2。


从上面的SMCR寄存器的功能介绍可知,选择编码器接口模式时:

如果计数器仅在 TI2 边沿处计数,在 TIMx_SMCR 寄存器中写入 SMS=001

如果计数器仅在 TI1 边沿处计数,写入 SMS=010

如果计数器在 TI1 和 TI2 边沿处均计数,则写入 SMS=011


定时器的编码器模式根据两个输入的信号转换序列,产生计数脉冲方向信号。根据该信号转换序列,计数器相应递增或递减计数,同时硬件对 TIMx_CR1 寄存器的DIR位进行相应修改。

展开全文
相关产品
拨打电话 微信咨询 发送询价