【基础知识】【模块介绍】电机编码器
目录
概述
电机编码器常见的是AB相电机编码器,和旋转编码器类似,传送门
常见的有光电和霍尔等,属于非接触测转速的方法
测速原理
不管是光电还是霍尔的编码器本质上都是在电机的旋转轴上放上一个码盘,
不同的是光点的码盘是一个透光和不透光交替出现
而霍尔的是N极和S极交替出现
之后通过一个检测装置(光电的是检测是否存在激光,霍尔的是检测N极(或S极))
A相和B相的存在一个角度差,因此A和B相会根据旋转方向出现超前和延后
A相先出现信号则为正转,反之则为反转
每经过一个透光(N极)则AB相会出现脉冲信号
因此,电机转一圈就会出现码盘N个信号,这N个信号与透光和不透光(N极和S极)的对数相等,也就是常说的线数(如96线)
波形分析
可以看出,电机正转时A相超前B相,电机反转时A相落后B相,下图是示意图
不管是光电还是霍尔的编码器本质上都是在电机的旋转轴上放上一个码盘,
不同的是光点的码盘是一个透光和不透光交替出现
而霍尔的是N极和S极交替出现
之后通过一个检测装置(光电的是检测是否存在激光,霍尔的是检测N极(或S极))
A相和B相的存在一个角度差,因此A和B相会根据旋转方向出现超前和延后
A相先出现信号则为正转,反之则为反转
每经过一个透光(N极)则AB相会出现脉冲信号
因此,电机转一圈就会出现码盘N个信号,这N个信号与透光和不透光(N极和S极)的对数相等,也就是常说的线数(如96线)
可以看出,电机正转时A相超前B相,电机反转时A相落后B相,下图是示意图
解码
我们需要统计脉冲的次数,尽量避免毛刺(单脉冲)
一般情况是要算出转速n,所以我们每隔固定的时间(一般是几到几十毫秒),检测一下这段时间内脉冲的数值
因为物理的限制(电机不可能在几毫秒的时间内多次正反转),
所以我们可以规定接收到正转的脉冲时向上计数(正数),
接收到反转的脉冲时向下计数(负数),
根据间隔时间,码数,计数值可以确定电机的方向和转速
单相计数
A相
我们需要统计脉冲的次数,尽量避免毛刺(单脉冲)
一般情况是要算出转速n,所以我们每隔固定的时间(一般是几到几十毫秒),检测一下这段时间内脉冲的数值
因为物理的限制(电机不可能在几毫秒的时间内多次正反转),
所以我们可以规定接收到正转的脉冲时向上计数(正数),
接收到反转的脉冲时向下计数(负数),
根据间隔时间,码数,计数值可以确定电机的方向和转速
我们在A相的边沿检测B相的电平高低
A相上升沿,B低电平,则向上计数
A相下降沿,B高电平,则向上计数
(也就是黄虚线)
A相上升沿,B高电平,则向下计数
A相下降沿,B低电平,则向下计数
(也就是蓝虚线)
毛刺处理(AB相均出现毛刺且毛刺出现重叠的概率偏低)
可以看出,处理毛刺(短时单脉冲),会出现数值的波动,但不会累积,因此数据的误差很小
B相
和A相类似,这里不赘述了
单相计数最后的脉冲数为计数值的一半
双相计数
双相计数也就是常说的4倍频方式
即在A相B相的上下边沿都进行计数,这样可以提高分辨率
也就是这样,在黄虚线处向上计数,在蓝虚线处向下计数,也就是分别进行AB相的单相计数
毛刺处理和单项类似
双相计数最后的脉冲数为计数值的
1 / 4
转速计算
有些电机会有配套的减速齿轮组,可以将电机的转速改变,提高力矩
减速比:
输入转速 / 输出转速
这里的转速是经过减速机构后的轴的转速 n
设间隔 t 进行一次采样(读取计数值并清零)
这段时间内读取到的脉冲数为x(正反代表方向)
设码盘线数为 N
设减速比为 i
有些电机会有配套的减速齿轮组,可以将电机的转速改变,提高力矩
减速比:
输入转速 / 输出转速
这里的转速是经过减速机构后的轴的转速 n
设间隔 t 进行一次采样(读取计数值并清零)
这段时间内读取到的脉冲数为x(正反代表方向)
设码盘线数为 N
设减速比为 i
输出轴转1圈,电机轴转 i 圈 ,编码器输出 i * N 个脉冲
那输出轴在t时间内转动的圈数是
那1秒转动的圈数是
每分钟有60s,所以要乘60
t 的单位是秒 ( s )
x的正反代表方向单位是 次
N的单位是 次/转
n 的正反代表方向单位是 转每分钟 (r / min)