2

编码器

 2 years ago
source link: https://hucare233.github.io/sundries/encoder.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

旋转编码器(rotary encoder)是将旋转位置或旋转量转换成模拟或数字信号的机电设备,一般安装在旋转物体中垂直旋转轴的一面。
旋转编码器可以分为绝对型(absolute)编码器和增量型(incremental)编码器两种。
具体介绍请自行查看百科旋转编码器

1-1 队内编码器介绍

队内常用编码器如下:

队内俗称 编码器类型 编码器线数 厂商 光电编码器 增量式 1000   小增编 增量式 4096 Accnt 小磁编 增量式 4096 Accnt 大增编 增量式     方形编码器(AS5047) 绝对式&增量式 1000 永钢 大绝编 绝对式    

①光电编码器用于原本的RE电机和EC电机,其他电机不再使用。此种编码器简单经济,不过我们的接线方式非常容易掉,易发生危险。 ②小增编是19年开始使用的一种磁编码器,依靠检测磁场方向得到编码器脉冲。当时用于大四足U10电机。但因其自带轴"大屁股"空间占用较大为之诟病。现在已经基本弃用。
③小磁编是在小增编基础上依然在Accnt购买的一款不带外壳的磁编。需要自行用打印件安装。
④大增编
⑤方形编码器是从永钢买的用于VESC的绝对值编码器,自带5V及3.3V转换接口。
⑥大绝编用于19年发射拐骨那辆车的底盘转向电机。

1-2 基于脉冲式编码器的测距、测速和测加速度方法

伺服电机控制时需要获得其准确的电流、速度及位置信息。通常使用电调或驱动器会有运行信息反馈。但有时会有例外,比如大多数都不会反馈绝对距离而是单圈脉冲,比如RM6025不会反馈速度信息。更退一步,当使用自己的电机驱动板控制电机时,需要自行计算所有参数。
而编码器是最常用的位置传感器,通过一定的处理可以获取想到的数据。

假设编码器每转脉冲数为P,时钟频率为f,M1,M2分别是对编码器脉冲和时钟脉冲进行计数的计数值。
通过计算两次定时器频率之间的编码器脉冲数误差,并在时间尺度上累计,便可得到总编码器脉冲数,并换算到电机轴后总圈数。
M1=∫0TΔM1dt
唯一需要注意的只是编码器数值溢出如何处理。
if|ΔM1|>P2thenΔM1−=sgn(ΔM1)∗P
由此可知电机最大速度 Vmax≤60f2

encoder_m

通过测量一段固定的时间间隔内的编码器脉冲数来计算转速,使用与高速场合。
设在固定时间T内测得的编码器脉冲数为M1,则转速 N=60M1PT ,其相对误差为 |ΔNN|=|ΔM1M1|
当速度越慢时,相对误差越大。

encoder_t

通过测量编码器两个相邻脉冲的时间间隔来计算转速,适用于速度比较低的场合,当转速较高时其准确性较差。
转速N=60fPM2,其相对误差为|ΔNN|=|ΔM2M2+ΔM2|≈ΔM2M2

3.M/T法

encoder_t

"M/T法"是前两中方法的结合,同时测量一定个数编码器脉冲和产生这些脉冲所花的时间,在整个速度范围内都有较好的准确性。
但对于低速情况下,该方法需要较长的检测时间才能保证结果的准确性。
转速N=60fP∗M1M2,式中M1已确定,故其相对误差为|ΔNN|=|ΔM2M2+ΔM2|≈ΔM2M2
通常时钟频率f远大于编码器的输出脉冲频率,因此上面各式中M2远大于M1。

Ⅲ测加速度

加速度测量可以直接使用ΔVΔT进行计算,但这样误差较大,可以用多个速度点先进行最小二乘法拟合直线再计算斜率。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK