3. 电机选型与驱动:直流有刷/无刷电机、步进电机、伺服电机对比、驱动器选型、编码器接口

电机选型,说白了就是给AGV选“腿”。腿选错了,底盘再好的算法也跑不起来。我见过太多项目,控制算法调得漂漂亮亮,结果电机扭矩不够,爬个小坡就趴窝。或者编码器分辨率太低,定位精度死活上不去。

今天咱们就把AGV上常用的几种电机掰开揉碎讲清楚。直流有刷、无刷、步进、伺服,它们到底有什么区别?什么时候该用哪个?驱动器怎么配?编码器接口怎么接?

AGV电机选型 电机类型对比 驱动器选型 编码器接口 直流有刷 直流无刷 步进电机 伺服电机 电压/电流匹配 控制接口类型 保护功能 增量式/绝对式 ABZ/SSI/BiSS 分辨率与抗干扰

3.1 四种电机,四种脾气

先说说直流有刷电机。这玩意儿结构最简单,两根线一接就能转。控制也粗暴——给电压就转,电压越高转得越快。我在做第一台AGV原型机时就用它,便宜、好买、驱动电路也简单,一个H桥加几路PWM就搞定。

但它的缺点也很明显。电刷和换向器会磨损,时间长了会产生火花,干扰编码器信号。我有个项目在粉尘环境里跑,三个月不到电机就冒烟了。所以有刷电机适合:预算有限、对寿命要求不高、环境干净的场合。

直流无刷电机(BLDC)就不一样了。它没有电刷,靠电子换向器驱动。效率高、寿命长、噪音小。AGV行业里用得最多就是它。我建议,只要预算允许,优先考虑无刷电机。

不过无刷电机需要专门的驱动器,控制逻辑也比有刷复杂。你得知道霍尔传感器的安装位置,或者用无传感器方案做反电动势检测。嗯,这里要注意,无刷电机的启动扭矩不如有刷,重载启动时要留余量。

步进电机呢?它靠脉冲信号控制转角,开环就能定位。听起来很美好对吧?但实际用起来坑不少。我踩过最大的坑就是——步进电机在低速时共振,高速时丢步。AGV在重载起步时,步进电机经常“咔咔”响,然后位置就跑偏了。

所以步进电机适合:轻载、低速、对成本敏感的场合。比如AGV上的升降机构、小角度转向,这些地方用步进电机挺合适。

最后是伺服电机。它本质上就是无刷电机加高精度编码器加闭环控制。精度高、响应快、扭矩大。但价格也贵,驱动器也复杂。我一般只在需要精确位置控制的场合用伺服,比如AGV的举升平台、机械臂关节。

一句话总结:

  • 有刷电机——便宜、简单、爱坏
  • 无刷电机——均衡、主流、推荐
  • 步进电机——开环、低速、易丢步
  • 伺服电机——精准、贵、复杂

3.2 驱动器选型,别只看功率

电机选好了,驱动器怎么配?很多人只看功率——电机多大功率就配多大驱动器。其实远远不够。

我习惯按这个顺序来选:

  1. 电压匹配——驱动器的工作电压范围要覆盖电机的额定电压。AGV常用24V、48V电池,驱动器要能工作在宽电压范围(比如18V~60V)。
  2. 电流余量——驱动器的额定电流最好是电机额定电流的1.5~2倍。为什么?电机启动和堵转时电流会飙升,余量不够直接烧驱动器。
  3. 控制接口——你用的主控是STM32还是ROS主控板?驱动器要支持对应的接口。常见的有:PWM+方向、CAN总线、RS485 Modbus、EtherCAT。
  4. 保护功能——过流、过温、欠压、堵转保护,一个都不能少。我有个项目没注意过温保护,夏天驱动器直接罢工。

举个例子,AGV上常用的无刷电机驱动器,我推荐带CAN接口的。为什么?因为CAN总线抗干扰强,还能通过报文实时读取电机状态——转速、电流、温度、故障码,调试时太方便了。

我的小技巧:选驱动器时,先看它的“控制模式”是否支持速度环、位置环、扭矩环。AGV底盘一般用速度环就够了,但如果你要做精确停车,位置环必不可少。

3.3 编码器接口,信号质量决定一切

编码器是AGV的“眼睛”。没有它,你根本不知道轮子转了多少圈。编码器接口看似简单,但信号处理不好,定位精度直接崩。

先分清楚两种编码器:

  • 增量式编码器——输出A、B两路正交脉冲,Z相是零位信号。便宜、简单,但断电后位置丢失,每次上电要回零。
  • 绝对式编码器——输出绝对位置值,断电不丢失。贵,但省心。AGV上如果做高精度定位,我建议用绝对式。

接口类型上,最常见的是:

接口类型 信号方式 特点 适用场景
ABZ(推挽/差分) 脉冲+方向 简单、成本低 短距离、低干扰环境
SSI 同步串行 抗干扰强、距离远 工业AGV、长线传输
BiSS 双向同步串行 高速、实时性好 伺服电机、高动态响应
CANopen 总线式 多设备共享、抗干扰 多轴AGV、分布式系统

我曾经在一个项目里,编码器线走了5米长,用的普通推挽输出。结果信号衰减得一塌糊涂,脉冲数丢了一半。后来换成差分输出(RS422),问题立刻解决。所以,编码器线长超过1米,我建议都用差分信号。

避坑指南:编码器供电和电机供电不要共用一根线!电机启动时电流波动会拉低电压,编码器瞬间掉电,位置数据全乱。我曾经因为这个bug排查了整整两天。正确的做法是:编码器单独供电,或者用带隔离的编码器接口模块。

最后说一句,编码器分辨率不是越高越好。分辨率太高,脉冲频率也高,主控的定时器可能来不及处理。AGV轮子直径200mm,编码器1024线,每圈脉冲数4096(4倍频),算下来每个脉冲对应0.15mm。这个精度对大多数AGV已经足够了。

好了,电机选型这块就聊到这儿。记住一个原则:先算负载,再选电机,最后配驱动器和编码器。顺序别搞反了,不然返工成本够你喝一壶的。

专注资料整理