一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位移或者速度信息。编码器通常由一个旋转部分和一个固定部分组成,旋转部分随着被测量的物体进行旋转,固定部分则保持不动。当旋转部分发生旋转时,编码器会产生一系列的电数字脉冲信号,这些脉冲信号可以用来确定旋转角度或角速度。
编码器从输出数据类型上分,可以分为增量式编码器和绝对式编码器。
绝对编码器可以直接读取物体的绝对位置或角度,无需进行初始参考点的校准。绝对编码器通常具有高精度和准确性,适用于需要精确位置或角度信息的应用。
增量编码器测量的是物体相对于初始位置的增量角度或角速度。它们通常需要一个初始位置的参考点,因此在启动时需要进行校准。增量编码器适用于需要监测运动变化的应用,但相对于绝对编码器可能需要更多的处理来确定绝对位置
从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。常见的是光电编码器(光学式)和霍尔编码器(磁式)。
光学编码器利用光学原理来测量旋转角度或线性位移。它包含一个光源(通常是发光二极管)和一个光敏元件(通常是光电二极管或光电传感器)。旋转部分上的编码盘或编码条上有一个特定的光学图案,当旋转发生时,光源会照射到光敏元件上,根据光敏元件接收到的光信号变化,可以测量出旋转角度或线性位移。
磁性编码器使用磁场来测量旋转角度或线性位移。它包括一个磁性编码盘或编码条,以及一个或多个磁敏传感器。编码盘上的磁性图案与传感器之间的磁场变化会导致输出信号的变化,从而测量出旋转角度或线性位移。
编码器在工业自动化、机器人控制、医疗设备、航空航天等领域都有广泛的应用,用于测量和控制旋转运动。它们的输出信号可以通过电子设备进行解码,从而得到准确的角度或角速度信息。
光电编码器(Optoelectronic Encoder)是一种常见的增量式编码器,利用光学原理来测量旋转角度或线性位移。
它是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光码盘和光电检测装置组成。光码盘是在一 定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,检测装置检测输出若干脉冲信号,为判断转向,一般输出两组存在一 定相位差的方波信号
它主要是根据光是否被遮挡来输出不同的信号检测物体运动的变化。
下面是光电编码器的检测原理:
编码盘或编码条:光电编码器的旋转部分上通常有一个编码盘或编码条,上面有特定的光学图案,如透明间隔和不透明条纹。这些图案会在旋转过程中使光线与光敏元件之间产生周期性的遮挡和透射,从而生成脉冲信号。
光源:光电编码器中的光源通常是发光二极管(LED),发射的光线照射到编码盘或编码条上的光学图案上。
光敏元件:光电编码器中的光敏元件通常是光电二极管或光电传感器。它们安装在固定位置,用于接收从编码盘或编码条反射回来的光线。当光线经过透明间隔或被不透明条纹遮挡时,光敏元件会产生电信号变化。
信号处理:光敏元件产生的电信号被放大和处理,通常经过电子电路进行脉冲计数。在旋转过程中,光敏元件会在透明间隔和不透明条纹之间切换,从而产生一系列脉冲信号。这些脉冲信号的数量和频率与旋转角度或线性位移成正比。
脉冲输出:光电编码器通过脉冲信号输出来表示旋转角度或线性位移的变化。通常,有两路正交的脉冲信号(通常称为A相和B相),用于测量方向和增量变化。此外,一些光电编码器还可能具有Z相信号,用于标记一个完整的旋转周期。
霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。霍尔编码器是由霍尔码盘和霍尔元件组成。霍尔码盘是在一 定直径的圆板上等分地布置有不同的磁极。霍尔码盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号
它主要是利用外部磁场对半导体材料中电子运动轨迹的影响来检测位置变化。
下面是霍尔编码器的工作原理:
EC11编码器是一种常见的增量式旋转编码器,广泛应用于各种电子设备和产品中,例如旋钮、开关、控制器等。它通常用于检测和测量旋转角度变化,以及提供用户界面控制。
以下是EC11编码器的工作原理:
编码器的信号通常由两组脉冲信号(A相和B相)组成,用于测量旋转角度或线性位移的变化。这些信号是编码器工作原理的核心部分,用于产生计数和判断旋转方向。
以下是关于编码器信号的一些重要信息:
A相和B相脉冲信号:编码器通常输出两组相位差90度的脉冲信号,称为A相和B相。这些信号是正交的,意味着它们的变化情况可以用于判断旋转的方向(顺时针或逆时针)。
Z相信号:一些编码器还可能输出一个Z相信号,也称为索引信号。Z相信号在一个完整的旋转周期内只产生一个脉冲,用于标记一个旋转周期的起始点。当编码器旋转到零点时,Z信号会发出一个脉冲表示现在是零位置 表示编码器转了1圈,可用来记录编码器转了多少圈
3. 脉冲数量:脉冲信号的数量与旋转角度或位移的变化成正比。通过计数这些脉冲,可以确定物体的旋转角度或线性位移的变化。
如果一个编码器是500线,说明这个编码器转一圈对应的信号线会输出500个脉冲
脉冲周期:脉冲信号的周期取决于编码器的分辨率。分辨率越高,每度或每单位位移产生的脉冲就越多,从而提供更精确的测量。
脉冲宽度:脉冲信号的宽度通常是固定的,但也可以在某些编码器中进行调整。脉冲宽度影响到信号的频率和精度。
编码器的信号可以通过适当的电子电路进行捕获和处理,以获取旋转角度或位移的信息。在微控制器或其他数字系统中,这些信号可以进一步用于计数、方向判断和实际的应用控制。
正转的时候信号线A先输出信号,信号线B后输出 A相超前B相90度 证明是正转
反转的时候信号线B先输出信号,信号线A后输出 B相超前A相90度 证明是反转
STM32的定时器编码器模式包括三种。这三种编码器模式是:
仅在TI1计数(A相):在这种模式下,定时器仅根据A相信号(TI1输入通道)进行计数,B相信号(TI2输入通道)不会被计数。
仅在TI2计数(B相):在这种模式下,定时器仅根据B相信号(TI2输入通道)进行计数,A相信号(TI1输入通道)不会被计数。
在TI1和TI2都计数(A相和B相都计数):这种模式下,定时器会同时根据A相和B相信号(TI1和TI2输入通道)进行计数,通过相位差来判断旋转方向。
当TI2(B相)为高电平时:
1时刻: TI1(A相)下降沿, 则向上计数(正转)。
2时刻:TI1(A相)上升沿, 则向下计数(反转)
当TI2(B相)为低电平时:
3时刻: TI1(A相)上升沿, 则向上计数(正转)。
4时刻:TI1(A相)下降沿, 则向下计数(反转)
波形图:
当TI1(A相)为高电平时:
1时刻: TI2(B相)上升沿, 则向上计数(正转)。
2时刻:TI2(B相)下降沿, 则向下计数(反转)
当TI2(B相)为低电平时:
3时刻: TI2(B相)下降沿, 则向上计数(正转)。
4时刻:TI2(B相)上升沿, 则向下计数(反转)
波形图:
在TL1和TL2都计数(A相和B相都计数)特点
一个脉冲信号周期完成4次跳变。精度提高
1时刻:TI2为低电平,TI1上升沿跳变,计数器向上计数;
2时刻:TI1为高电平,TI2上升沿跳变,计数器仍然向上计数;
3时刻:TI2为高电平,TI1下降沿跳变,计数器仍然向上计数;
4时刻:TI1为低电平,TI2下降沿跳变,计数器仍然向上计数。
需要增加测量的精度时,可以采用4倍频方式,即分别在A、B相波形的上升沿和下降沿计数,分辨率可以提高4倍,如果只是测速,不要求方向,那么只需要用单片机随意选择一个信号线就行了,然后定时器边沿触发,检测脉冲计数即可
一般是定时器的通道1和2才能作为编码器输入口,对应编码器输出的两相。
GPIO配置为配置为上拉输入模式一个定时器做一种工作,如果你配置了编码器模式,那么剩下的通道就不能配置其他模式两相计数模式下, 读出来数需要/4
定时器 | A相引脚 | B相引脚 | 编码器模式 |
---|---|---|---|
TIM1 | PA8 | PA9 | TI12 |
TIM2 | PA0 | PA1 | TI12 |
TIM3 | PA6 | PA7 | TI12 |
TIM4 | PB6 | PB7 | TI12 |
TIM5 | PA0 | PA1 | TI12 |
TIM8 | PC6 | PC7 | TI12 |
EC11是一种增量式编码器,其实生活中鼠标的中间的滚轮,汽车用CD上调整频率和音量的旋钮,用的都是编码器 ,了解了编码器是怎样工作之后,下期写一遍文章详细讲讲如何用STM32的定时器来识别编码器的旋转方向跟计数值。