STM32入门(六) 编码器

 

1.编码器概述

编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感 器,我们可以通过编码器测量到底位移或者速度信息。编码器从输出数据类型上 分,可以分为增量式编码器和绝对式编码器。

从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。常 见的是光电编码器(光学式)和霍尔编码器(磁式)。

2.编码器原理

光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光码盘和光电检测装置组成。光码盘是在一 定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,检测装置检测输出若干脉冲信 ,为判断转向,一般输出两组存在一 定相位差的方波信 。

霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。霍尔编码器是由霍尔码盘和霍尔元件组成。霍尔码盘是在一 定直径的圆板上等分地布置有不同的磁极。霍尔码盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信 ,为判断转向,一般输出两组存在一定相位差的方波信 。

可以看到两种原理的编码器目的都是获取 AB 相输出的方波信 ,其使用方法也是一样,下面是一个简单的示意图。

3.编码器接线说明

具体到我们的编码器电机,我们可以看看电机编码器的实物。

这是一款增量式输出的霍尔编码器。编码器有 AB 相输出,所以不仅可以测 速,还可以辨别转向。根据上图的接线说明可以看到,我们只需给编码器电源5V 供电,在电机转动的时候即可通过 AB 相输出方波信 。编码器自带了上拉电阻,所以无需外部上拉,可以直接连接到单片机 IO 读取。

4.编码器软件四倍频技术

下面我们说一下编码器倍频的原理。为了提高大家下面学习的兴趣,我们先明确,这是一项实用的技术,可以真正地把编码器的精度提升 4 倍。作用可类比 于单反相机的光学变焦,而并非牺牲清晰度来放大图像的数码变焦。OK,先看看下面编码器输出的波形图。

这里,我们是通过软件的方法实现四倍频。首先可以看到上图编码器输出的AB 相波形,正常情况下我们使用 M 法测速的时候,会通过测量单位时间内 A 相输出的脉冲数来得到速度信息。常规的方法,我们只测量 A 相(或 B 相)的上升 沿或者下降沿,也就是上图中对应的数字 1234 中的某一个,这样就只能计数 3次。而四倍频的方法是测量 A 相和 B 相编码器的上升沿和下降沿。这样在同样的 时间内,可以计数 12 次(3 个 1234 的循环)。这就是软件四倍频的原理。

我将一些初始化函数给粘贴出来

5.单片机如何采集编码器数据

因为编码器输出的是标准的方波,所以我们可以使用单片机(STM32 STM8 51等)直接读取。在软件中的处理方法是分两种,自带编码器接口的单片机如STM32,可以直接使用硬件计数。而没有编码器接口的单片机如 51 单片机,可以 通过外部中断读取,比如把编码器 A 相输出接到单片机的外部中断输入口,这样 就可通过跳变沿触发中断,然后在对应的外部中断服务函数里面,通过 B 相的电平来确定反转。如今A相当于一个跳变沿的时候,如果B相就认为是正转,低电平就认为是反转。

 

参考:https://blog.csdn.net/qq_38721302/article/details/83448078ps_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161225466716780274163497%252522%25252C%252522scm%252522%25253A%25252220140713.130102334..%252522%25257D&request_id=161225466716780274163497&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-2-83448078.first_rank_v2_pc_rank_v29&utm_term=%25E6%2599%25BA%25E8%2583%25BD%25E8%25BD%25A6%25E7%25BC%2596%25E7%25A0%2581%25E5%2599%25A8
 

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月2日
下一篇 2021年1月2日

相关推荐