编码器的作用(编码器概述原理及应用特点是什么?)
编码器的作用(编码器的原理和应用特点是什么?)
编码器的一般原理和应用特点是什么?
编码器是科学技术发展的产物,是应用广泛的工业设备,但编码器的具体功能是什么?编码器用在哪些行业?我觉得还是有很多工业新手不熟悉。现在就让编码器制造商石硕电子(gdshishuo.com)边肖在这里给大家简单介绍一下吧!结合一些帖子和申请过程中的一些问题,再进行总结归纳。
首先,概述编码器。
编码器是将角位移或角速度转换成一系列电子数字脉冲的旋转传感器。我们可以通过编码器测量底部位移或速度信息。编码器根据输出数据的类型可以分为增量编码器和绝对编码器。
从编码器检测原理来看,也可以分为光学型、磁性型、电感型和电容型。常用的有光电编码器(光学)和霍尔编码器(磁性)。
二、编码器原理。
光电编码器是通过光电转换将输出轴上的机械几何位移转换为脉冲或数字量的传感器。光电编码器由光学码盘和光电检测装置组成。光学编码器是具有一定直径的圆盘,并均匀地设有多个矩形孔。由于光电编码器与电机同轴,当电机旋转时,检测装置检测并输出多个脉冲信号。为了判断旋转方向,通常输出两组具有一定相位差的方波信号。
霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移转换成脉冲或数字量的传感器。霍尔编码器由霍尔编码器和霍尔元件组成。霍尔码盘在一定直径的盘上等距排列,磁极不同。霍尔码盘与电机同轴。当电机旋转时,霍尔元件检测并输出几个脉冲信号。为了判断旋转方向,通常输出两组具有一定相位差的方波信号。
三、电机编码器接线。
然后是平衡车上的编码器。
车轮上有一根电线,最远的两边是电机电源线,由tb6612驱动,可以用来控制电机的速度和转向。然后中间四个是编码器接口。
注意~使用的两个编码器是颠倒连接的。如果测试时车轮同向旋转,计数值相反,只需改变AB相位即可。或者在其中一个数字前加一个减号。
那么编码器电源是5v,电源问题是这是一个增量输出的霍尔编码器。编码器有AB相输出,不仅可以测量速度,还可以确定旋转方向。根据上图的接线说明,我们可以看到我们只需要给编码器电源提供5V,当电机旋转时,我们可以通过AB相输出方波信号。编码器自带上拉电阻,不需要外部上拉,可由单片机IO直接读取。
当然,这并不意味着编码器必须使用定时器作为接口。有些微控制器没有编码器接口的功能,可以用外部中断代替。将编码器A相的输出连接到单片机的外部中断输入口,通过跳边触发中断,然后在相应的外部中断服务功能中,用B相的电平来判断正反转。当A相当于一个跃迁沿时,B相的高电平为正旋转,低电平为负旋转。那么普通的io端口也可以处理。
然而,使用stm32作为编码器接口的优点是计数更智能,并且在不影响结果的情况下允许接口抖动。而且配置代码很多,拉过来用就行了。因此,引入stm32定时器作为编码器接口。
第四,定时器作为编码器接口的配置方法。
1.计数模式。
对应以上两个数字,很明显T1和T2一起计数更准确,即实现“四倍频”。
2.过滤级别。
3.计算重载值。
就是给“时间基结构”赋值。蒂姆_句号”。
这些都写在代码的注释中。
第五,关注编码器应用。
1.编码器有速度上限。如果超过此限制,它将无法正常工作。这是一个硬件限制。原则上,线路越多,速度越低。选择类型时要注意这一点。一般编码器的输出有开漏,所以MCU的io必须拉高输入状态。
2.定时器初始化后,CNT寄存器的值就是编码器随时的位置信息。正向旋转时增加,反向旋转时减少。这部分不需要软件干预。初始化时给定的TIM_Period的值应该是代码合并圆的刻度值,减法溢出后会自动修正到这个数字。如果增加值超过此值,将返回0。
3.如果你想扩展到多圈计数,你需要一个溢出中断。
4.编码器各定时器的输入引脚可以通过软件设置和滤波。
5.如果应用中没有绝对位置信号,或者初始化完成后收到绝对位置信号前的计数,只能是相对计数。收到绝对位置信号后,再次修改CNT值。编码器通常有零位置信号,可以与定时器结合来捕获输入。上电后需要来回移动才能找到这个位置。
6.即使有过滤器计数值,偶尔也会出现错误。大部分或者几圈都是正常的,尤其是速度比较高的时候,非常需要有绝对位置信号进行修正。绝对位置信号不需要在零位,接收到信号后可以将CNT校正到固定值。
7.编码器启动定时器的输入中断,每一步都可以处理,但在高速运行时,你可能无法处理。
光电编码器是通过光电转换将输出轴上的机械几何位移转换成脉冲或数字量的传感器。光电编码器由光学码盘和光电检测装置组成。光学编码器是在一个固定直径的圆板上等分开几个矩形孔。由于光电编码器与电机同轴,当电机旋转时,检测装置检测并输出多个脉冲信号。为了判断转向,一般输出两组相位差固定的方波信号。
霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移转换成脉冲或数字量的传感器。霍尔编码器由霍尔编码器和霍尔元件组成。霍尔码盘是一个固定直径的圆板,其中不同的磁极均匀排列。霍尔码盘与电机同轴。当电机旋转时,霍尔元件检测并输出几个脉冲信号。为了判断转向,一般输出两组有一定相位差的方波信号。
三、电机编码器接线。
然后这是平衡车上的编码器。
车轮上有一根电线,最边的两根是电机电源线,可以配合tb6612控制电机的转速和转向。然后中间四个是编码器接口。
应该注意两个编码器是反向的。如果测试过程中车轮同向旋转,且计数值相反,只需更换AB即可。或者在你读到的一个数字前面放一个符号。
然后编码器由5v供电,是一个增量输出的霍尔编码器。编码器具有AB相位输出,因此它不仅可以测量速度,还可以区分转向方向。根据上图的接线描述,我们只需要给编码器提供5V,当电机旋转时,我们可以通过AB相输出方波信号。编码器自带上拉电阻,可以直接连接单片机IO读取,无需外部上拉。
当然,并不是说编码器一定要用定时器作为接口。有些单片机没有编码器接口的功能,但也可以用外部中断代替。将编码器的A相输出连接到MCU的外部中断输入端口,这样可以通过跳转沿触发中断,然后在相应的外部中断服务功能中,再通过B相的电平来决定正转和反转。当A相当于一个跳变沿时,B相的高电平为正旋转,低电平为负旋转。然后,普通io端口也可以处理。
但使用stm32作为编码器接口的好处是计数更智能,接口抖动可以容忍而不影响结果。此外,配置的代码太多了,你可以通过拉它们来使用它们。所以下面是stm32定时器作为编码器接口的介绍。
第四,定时器用于配置编码器接口。
1、计数模式。
从以上两个数字可以明显看出,与T1、T2一起计数更为准确,即实现“四倍频”。
2.过滤级别。
3.计算重装值。
就是给“时间基结构”赋值。Tim _ period”,
这些都写在代码的注释中。
六、编码器应用注意事项。
1.编码器有一个速度上限,超过这个上限就不能正常工作。这是硬件的限制。原则上,导线数量越多,速度越低。选择编码器时请注意这一点。编码器的输出一般是开漏的,所以MCU的io必须拉高输入状态。
2.定时器初始化后,CNT寄存器的值就是编码器随时的位置信息。如果定时器正转,会加反,会减少这部分,不需要软件干预。初始化时给出的TIM_Period值应该是代码合并圆的刻度值,当溢出减少时会自动修正到这个数字。如果超过这个数字,它将返回到0。
3.如果要扩展到多圈计数,需要溢出和中断。就像楼主说的,只需要在程序上加减圆内的方向位就可以了。
4.编码器各定时器的输入引脚可以通过软件设置进行滤波。
5.在应用中,如果初始化完成后没有绝对位置信号或接收绝对位置信号前的计数,则只能是相对计数。收到绝对位置信号后,再次修改CNT值。通常,码盘有一个零位置信号,可以与定时器捕获输入相结合。上电后,需要来回移动才能找到这个位置。
6.即使有过滤器计数,偶尔也会有错误。一圈多算一个或者少算一个都是正常的,尤其是转速比较高的时候。有必要校正绝对位置信号。绝对位置信号不需要在零位置点,接收到该信号后可以将CNT校正到固定值。
7.编码器启动定时器的输入中断可以达到处理每一步计数的效果,但高速运行时你可能无法处理。
最新评论