注意,星号公众号,是的,令人兴奋的内容作者:StrongHuang微信公众号:StrongerHuang编码器是较常见的产品(可以理解为传感器),最常见的是与电动机一起工作,那么您就是编码您如何理解设备? 1.关于编码器有多种类型的编码器:增量编码器,绝对编码器,轴或无轴编码器,电压输出,推挽输出,集电极开路输出等。
但是无论哪种类型的编码器,其目的都是相似的,以获得旋转角度,角速度,位移等。
本文介绍了常见的增量式编码器。
增量编码器也可以称为正交编码器。
也就是说,您可以通过A和B相位知道编码器是正向还是反向,也可以基于编码器参数。
找出已经旋转了多少个角度,等等。
普通增量编码器A,B和Z的三行表示什么意思?对于使用编码器的人来说并不难理解,这里是对初学者的简要介绍:A和B两条线提供相位差为90度的脉冲信号,并使用它们来计算旋转角度; Z线是过零线,也就是说,每转,在特定点之后将输出脉冲信号,该脉冲信号主要用于“过零校正”。
三线信号大致如下图所示:一些编码器线具有对应的“ not”信号。
信号线(如上图右侧所示)实际上,它主要用于抗干扰。
有关编码器的更多说明,请在Internet上搜索相关知识以了解,本文将不对其进行描述。
2.STM32编码器接口模式在STM32芯片中,存在这样的定时器,称为通用定时器“通用定时器”,在定时器中存在这种模式,称为编码器接口模式“编码器接口模式”。
。
当然,您可以参考与芯片相对应的数据手册以了解详细信息。
STM32提供的编码器接口模式主要针对“正交编码器”,其可以使用定时器的“计数”计数器。
用于获取编码器计数的脉冲数的功能;同时,可以根据编码器的相位获得AB指示编码器是正向还是反向旋转。
(图片来自STM32参考手册)1.计算脉冲数类似于TIM的捕获功能,捕获A相和B相的脉冲信号;但是编码器模式是捕获A(TI1)和B(TI2)相的边沿信号(如上图所示),它等效于在一个周期内对4个脉冲信号的值进行计数。
2.计数器的增加和减少(方向)STM32计数器将根据方向(+或-)进行计数。
TI1和TI2之间的相位差为90,四级边沿对应于TI1和TI2的不同电平信号。
信号,硬件本身可以确定其方向。
在编码器模式下,寄存器(TIMx_CR1)中有一个方向位(DIR),该方向位将随编码器旋转方向的变化而变化。
我们可以读取该位来确定编码器是正向旋转还是向后旋转。
转动。
3. TIM时基STM32编码器接口模式实际上是通过使用AB相位TIM时基来提供时钟信号来进行计数的。
3.应用程序编程我相信,在阅读了上面的一些描述之后,每个人都应该对编码器有所了解。
实际上,在STM32中,您可以通过配置与编码器模式相对应的功能来获取有关编码器传感器的信息。
使用STM32提供的标准外设库,或使用STM32CubeMX工具轻松将TIM配置为编码器模式。
1.标准外围设备库配置编码器TIM_EncoderInterfaceConfig,它是编码器接口的配置功能。
只需配置此功能,并使TIM能够收集有关编码器的信息。
(当然,需要复杂的操作,并且需要其他相应的配置)。
2. STM32CubeMX配置STM32CubeMX是一组快速开发工具,允许许多不了解底层STM32的朋友快速在STM32上编写应用程序。
在本文提到的配置编码器接口中,存在一个“组合通道”。
在一些TIM上的配置可以被理解为“连接信道”,其也可以被认为是TIM的复用模式。
选择“编码器模式”。
里面。
4.示例代码本文提供的代码是使用标准外围设备库编写的简单Demo项目,该项目随附一个项目(用于模拟编码器AB相波形的项目),如下所示:该项目主要用于配置TIM,R的编码器模式