2020-9-25 18:13:25 [显示全部楼层]
4802浏览
查看: 4802|回复: 1

[知识点] 机器人大赛传感器系统及其选型(旋转编码器专篇)

[复制链接]

大赛传感器系统及其选型(旋转编码器专篇)

旋转编码器基本原理

旋转编码器是很多需要精确控制的场合的必须,一般配合电机使用。具体如图,电机尾端的电路板和黑色圆环就是霍尔式旋转编码器。
机器人大赛传感器系统及其选型(旋转编码器专篇)图1
本质上,旋转编码器是将旋转角度转化为高低电平变化的传感器。在霍尔式旋转编码器上,黑色的圆环是一个拥有若干对磁极的磁环,固定在电机轴上;电路板上有微型霍尔元件,可以检测其所在位置磁场的变化。当电机旋转时,霍尔传感器所处位置的磁场不断变化,从而输出高低电平。当电机匀速旋转时,波形如图:
机器人大赛传感器系统及其选型(旋转编码器专篇)图2
可以看到,输出信号是双相的,相位差为90°,这是因为在电路板上就有两个相位差为90°的霍尔元件。这种编码器叫作双相编码器,大部分旋转编码器均采用这种模式,主要原因在于,双相编码器可以根据两相脉冲电平跳变的规律判断电机的正反转。具体原因请参考图中正旋输出和反旋输出的规律。

要记住,旋转编码器的电位是随着电机的位置(角度)变化的,而非速度、加速度或其他;旋转编码器的信号跳变一次,对应电机旋转了一固定角度。

旋转编码器的应用及PID

实际应用中,一般将脉冲间隔记录下来,或者记录固定时间内的脉冲数,从而计算电机的速度、位置等信息,进而对其进行控制。不同的单片机有不同的方式来接受编码器传来的信息,需要注意,不同的记录方法往往有天壤之别。

接受、得到了需要的信息,我们需要对其(一般是电机)进行一定的控制。经典的控制算法为PID算法,即比例、积分、微分算法,在此我会作简单介绍。其中,P是核心算法,I或D通常必须配合P而存在

我们用旋转编码器接收信号、单片机输出PWM波来控制电机。我们可以简单地把PWM的占空比认为是油门,把旋转编码器经过处理后得到的速度值认为是汽车表盘速度。

P控制

P控制,即比例控制。可以这么理解:当汽车速度低于我们的期望值时,就踩油门,差距越大就越用力,当这个差距缩小时就把油门放小。如果这个差距为零,油门就松开——当然,大家清楚,这样是不可能达到我们的期望值的,因为汽车的速度本身就需要油门来维持,随着油门渐渐放小,汽车的加速也会放缓,最终稳定在一个和目标速度有一定差距的固定值上。在控制学上,这个差距称为“稳态误差”,基本上任何纯比例控制都无法避免稳态误差的存在。

具体算法上:

油门=kp*(目标速度-实际速度)

式中kp为比例调节量的比例系数,也就是所谓“调PID”时需要调试的内容之一。

对于电机速度的P控制:
PWM占空比=kp*(目标转速-实际转速)

电机角度的P控制:
PWM占空比=kp*(目标角度-实际角度)

PI控制

I控制,即微分控制,是为了消除比例控制下的稳态误差而存在。

还是以汽车为原型。之前我们用P来踩油门,存在稳态误差。见半天达不到目标速度,发了火,用力一脚油门,速度就上去了,也就没了稳态误差。

当然,电子线路可不会发火。它是把当前和之前几次的误差量加起来(积分),乘以比例系数,作为控制信号输出。算法累积之前误差量的数量,就叫作积分时间。

对于电机速度的PI控制:
PWM占空比=kp*(目标转速-实际转速)+∑(目标转速-实际转速)
(输入法限制,在∑处应当写上积分时间的内容的,见谅)

对电机角度的PI控制同上,不再重复。在调试I的时候,不光要调试ki,还要调试积分时间。I项的正负与P项保持一致。

PD控制

D控制是为了抑制系统的超调趋势的——超调,其实就是俗称的“过了头”。

汽车上,就是一大脚油门,速度过了头,或者错过了路口;电机上,就是PWM值过高,速度或角度超过了期望值。当然,司机开车过头就过头了,但电机在超调以后会立即进入另一个反向的控制过程中,然后继续超调,继续反向控制,在若干次超调振动的过程中,振幅逐渐减小,最后稳定下来。如果没有D来抑制系统超调趋势,这样的振动会存在较长的一段时间,影响控制的效果;在某些系统中,这样的振动还会一直存在下去。超调的幅度和超调振动存在的时间受P和I的影响,kp和ki越大,超调越严重。

为了抑制超调,以使用更大的kp和ki达到更快的控制速度,便引入了微分控制,即D控制。

同样以汽车为例,D控制就是人感觉加速的“推背感”太强了,仪表盘飞快地上升,害怕了,就收了一脚油门。

对于电机速度的PD控制:
PWM占空比=kp(目标转速-实际转速)+kd((本次目标转速-本次实际转速)-(上次目标转速-上次实际转速))

式中,D项和P项的正负保持相反。

PID控制

而PID控制,就是把P、I、D这三者均引入。

对于电机速度的PID控制:
PWM占空比=kp(目标转速-实际转速)+ki∑(目标转速-实际转速)+kd((本次目标转速-本次实际转速)-(上次目标转速-上次实际转速))

所谓的“调PID”,就是调试该式中的kp、ki、kd以及积分时间,以达到更快的响应速度和更小的超调。

我并没有太多调PID的经验,所以不好给出详细的PID调试说明,见谅。百度可以搜到不少PID调试教程,大家可以参考。
实际使用

事实上,我们往往用不到完整的PID。一般在保证电机一致性较好、工况较稳定的情况下,PD足以达到较好的控制效果。调试PD参数时,可以采取P多(超调过大)加D,D多(速度被抑制较严重)加P的方式,调废了就降下来……才疏学浅,不再献丑……

编码器的种类和选型

之前介绍了霍尔编码器,这是比赛中最常见的旋转编码器。另外一种是光电编码器,在性能上要超过霍尔编码器,但较容易损坏,价格也更高。
机器人大赛传感器系统及其选型(旋转编码器专篇)图3
上图是光电式旋转编码器的原理图,和霍尔编码器原理类似,不过磁环变成了光栅,霍尔元件成了光电对射传感器。同样,光电编码器也多采用双相结构,使用方法与霍尔编码器无异。

以下是两种常见的光电编码器:
机器人大赛传感器系统及其选型(旋转编码器专篇)图4机器人大赛传感器系统及其选型(旋转编码器专篇)图5
左边的编码器结构保护完善、结实,性能也更可靠,但是体积大、价格高,安装要求也比较高,极少用于我们的比赛中;右边则是机器人比赛中常见的光电旋转编码器,体积小、价格低,缺点是较容易损坏。

光电编码器相比霍尔编码器有着压倒性的优势——光电编码器的线数很容易就可以做到500、1000甚至2000,市面上有成熟的产品,而霍尔编码器的霍尔极对数一般也就十几对,精度完全是两个概念。线数的压倒性优势使得光电编码器有着更高的控制响应和精度,更加适应低速场合。当然,光电编码器对单片机和程序的要求也更高一些,因为有更多的数据需要处理。

一般而言,磁环编码器绰绰有余,只有少部分电机直驱或者追求高精度、快速响应控制的时候才需要光电编码器。

另外,编码器中还有更高精度(线数达到2^16)、性能更全面的绝对值磁环编码器,一般集成在云台里面,我们基本用不到,不再赘述。

购买与选型

首先讲霍尔编码器。霍尔编码器一般不单卖,而是直接安装在电机上,作为编码电机出售。没有太多要挑选的,把电机选好即可,霍尔编码器基本不会出什么问题,出了问题也只能换电机。

光电编码器可以自己搜索,但是产品的种类大多不齐全,特别是光栅的安装孔经常不和电机轴配套。这里我推荐博丰盛的光电编码器,主要是其提供从1mm直10mm甚至更大的安装孔。当然,价格也更贵一些,大约50RMB左右,还算可以接受。要注意的是,光电旋转编码器的尺寸一般都较大,如果要安装在电机尾端,那么就需要555甚至更大直径的电机才合适,因为光电编码器的尺寸是稍大于霍尔编码器的。

购买光电编码器时一定要特别注意安装问题,包括光栅直径、光栅安装孔直径等等。

大多数情况,建议大家直接购买霍尔编码电机。

作者:南京航空航天大学,周子阳
本文未获得作者授权,不得转载
2019/7/6



相关文章跳转:
机器人大赛动力系统及其选型(电源篇)
机器人大赛传感器系统及其选型(旋转编码器专篇)
机器人大赛传感器系统及其选型(循迹、颜色、测距)
机器人大赛动力系统及其选型(执行机构篇)(上)
机器人大赛动力系统及其选型(执行机构篇)(中)
机器人大赛动力系统及其选型(执行机构篇)(下)

gada888  版主

发表于 2020-10-4 16:12:51

介绍的很好很全
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail