编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感 器,我们可以通过编码器测量到底位移或者速度信息。编码器从输出数据类型上 分,可以分为增量式编码器和绝对式编码器。从编码器检测原理上来分,还可以分为光学式、磁式、感应式、电容式。常见的是光电编码器(光学式)和霍尔编码器(磁式)。
光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器是由光码盘和光电检测装置组成。光码盘是在一 定直径的圆板上等分地开通若干个长方形孔。由于光电码盘与电动机同轴,电动机旋转时,检测装置检测输出若干脉冲信号,为判断转向,一般输出两组存在一 定相位差的方波信号。
霍尔编码器是一种通过磁电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。霍尔编码器是由霍尔码盘和霍尔元件组成。霍尔码盘是在一 定直径的圆板上等分地布置有不同的磁极。霍尔码盘与电动机同轴,电动机旋转时,霍尔元件检测输出若干脉冲信号,为判断转向,一般输出两组存在一定相位差的方波信号。
可以看到两种原理的编码器目的都是获取 AB 相输出的方波信号,其使用方法也是一样,下面是一个简单的示意图。
编码计数原理
该电机自带的编码器为A/B相霍尔计数编码器,它包含一个磁栅和磁敏检测电路,输出两个通道正交相位角为90度的方波。
上图中 A 和 B 分别连接到两个传感器单元上,黑白相间的圆环称之为栅格。如果两个信号相位相差90度,则这两个信号称为正交。由于两个信号相位相差90度,因此可以根据两个信号哪个先哪个后来判断方向。
正转:A相超前B相90度;
反转:A相滞后B相90度。
在单片机中可通过外部中断判断编码器转向,比如把编码器A相输出到单片机的外部中断输入口,这样就可以通过跳变沿触发中断,然后在对应的外部中断服务函数里面,通过B相的电平来确定正反转。若正向旋转,每个脉冲使计数器+1,若反向旋转,每个脉冲使计数器-1。
正转:A下降沿触发中断且B为高电平,或者A为上升沿触发中断且B为低电平;
反转:A下降沿触发中断且B为低电平,或者A为上升沿触发中断且B为高电平。
编码器单相每圈脉冲13CPR(Counts Per Revolution,每转脉冲的个数)。再考虑减速比1:30,也就是说编码器旋转30圈,小车的轮子才转一圈。
(1)单相作用下:小车轮子转一圈,可以计数13×30=390次。
(2)双相作用下:小车轮子转一圈,可以计数13×30×2=780次。
(3)双相作用下,再考虑上升沿和下降沿变化(四倍频):小车轮子转一圈,可以计数13×30×2×2=1560次。
测速原理
实际应用中,单片机根据脉冲计数来测量转速的方法有以下三种:
(1)在规定时间内测量所产生的脉冲个数来获得被测速度,称为M法测速;
M法是测量单位时间内的脉数换算成频率,因存在测量时间内首尾的半个脉冲问题,可能会有2个脉的误差。速度较低时,因测量时间内的脉冲数变少,误差所占的比例会变大,所以M法宜测量高速。如要降低测量的速度下限,可以提高编码器线数或加大测量的单位时间,使用一次采集的脉冲数尽可能多。
(2)测量相邻两个脉冲的时间来测量速度,称为T法测速;
T法是测量两个脉冲之间的时间换算成周期,从而得到频率。因存在半个时间单位的问题,可能会有1个时间单位的误差。速度较高时,测得的周期较小,误差所占的比例变大,所以T法宜测量低速。如要增加速度测量的上限,可以减小编码器的脉冲数,或使用更小更精确的计时单位,使一次测量的时间值尽可能大。
(3)同时测量检测时间和在此时间内脉冲发生器发出的脉冲个数来测量速度,称为M/T法测速。
M法、T法各且优劣和适应范围,编码器线数不能无限增加、测量时间也不能太长(得考虑实时性)、计时单位也不能无限小,所以往往候M法、T法都无法胜任全速度范围内的测量。因此产生了M法、T法结合的 M/T 测速法:表现为低速时测周期、高速时测频率。
M/T法,在脉冲上升沿开启定时时间计数,在定时时间Tg到达后,继续等待一个上升沿脉冲,时间为Td; 记录在此期间的脉冲数,由脉冲数除以时间,得到准确的频率(速度)。
以上三中测速方法中,M法适合于测量较高的速度,能获得较高分辨率(最容易想到);T法适合于测量较低的速度,这时能获得较高的分辨率;而M/T法则无论高速低速都适合测量。