富聪科技订单满¥1000免运费
关注我们:

给机器人和运动 AI 配驱动与反馈

2026/6/8 11:00:00

当 AI 规划一个动作时,得有别的东西真的让电机转起来、再把电机干了什么报回来。这是驱动和反馈那几样器件的活,它们坐在模型和会动的世界之间。一条指令发出去,一个驱动把它变成电机要的电流,电机动了,一个反馈传感器量出落到了哪,模型据此规划下一步。

这些器件沿着这条回路分工。驱动,步进或直流,把一条低功率指令变成电机吃的功率。反馈传感器,角度和电流,量出电机实际干了什么。而因为电机驱动在电气上很吵,这活里有实打实的一块是把它的噪声挡在跑模型的那块安静板子外面。每一样都在电机周围、在硬件里定下来,然后这条控制回路才可信。

AI 在里面做规划的那个回路

协作机器人臂关节特写
机器人臂的关节,模型规划的运动得在这里发生。

一个控制运动的模型自己什么都动不了。它产出一个目标,一个要到达的位置或要维持的速度,交给一条控制回路,由回路把目标变成电机电流、并盯着结果。回路跑得比模型想得快得多,模型每做一个决定,回路就把电机校正许多次。

这个分工决定了每一样要干什么。模型可以慢、可以精。它下面的回路得快、得靠得住,因为在模型两次决定之间,是它把电机摁在目标上。驱动和反馈那几样是回路的手和眼,模型有多好,只取决于它们让它能指挥和感知到什么。

两个节拍之间的差很大。一个模型也许一秒定几次新目标,而它底下的回路在同一秒里把电机校正成千上万次,每一次都快到、密到模型做不来。这正是分层的意义:回路干"把电机摁在目标上"这件又快又重复的活,模型被腾出来干"目标该设在哪"这件慢活。

驱动步进电机又不丢步

步进电机按固定的步距走,这让它不靠反馈也能定位,因为数步就是在数位置。麻烦在于,步进只有在驱动喂够电流时才稳得住位,推得太狠或太快,它会跳一步、把自己的位置悄没声地丢了。

用 TMC2209 给机器人关节做静音步进驱动。它把电机细分来走得平滑,用一种把可听啸叫压下去的电流控制来跑,这在靠近人工作的设备上要紧。它扛电机要的电流,防过流和过热,接收控制器来的步进和方向信号。安静的驱动和平滑的细分,适合一个会在能被听见的地方运动的关节。

这样驱的步进是开环的,这在出事之前都没问题。

给运动平台用的朴素步进驱动

运动发生在机器上、不在人旁边时,一个更朴素的步进驱动就够。用 DRV8825 驱动运动平台上的步进电机,它每相扛的电压和电流比一个小关节驱动更高,细分用几个引脚设、限流用一个微调电阻设。它适合负载更大、驱动噪声不是问题的直线平台或龙门。

在安静驱动和朴素驱动之间怎么选,由运动发生在哪、负载多大来定。安静驱动在人旁边值它的价钱,朴素的在柜子里的机器上就够。

让一颗小直流电机正反转

不是每个运动都要步进。当精确位置不是重点时,一颗小直流电机更便宜更简单,用在轮子、风扇,或一个只要开合的夹爪上。驱它意味着把它的电流开、关、反向,而控制器自己的引脚干不了这个。

用 TB6612FNG 给小型机器人驱动直流电机,这是一个双 H 桥,从控制器的逻辑信号正反驱两颗直流电机,扛着一个小机器人的电机要的电流。它适合一台轮式机器人,或任何带几颗要方向和速度、但不要精确位置的小电机的设备。

速度和方向出自驱动对什么都在做的同一种开关。脉宽调制设平均电压、也就是速度,反向就是换 H 桥把电机往哪边接,刹车就是把电机两端短接、让它自己发出的电压把它减下来。一个小机器人的方向、速度和停,都出自这几个开关状态。

告诉 AI 轴到底在哪

一颗要落到精确角度的电机,一个伺服关节或一根转向轴,要量出它的轴到底在哪、而不是它被叫去哪。一个磁角度传感器不碰轴就能做到。

用 AS5047P 给伺服电机做磁角度反馈,它从轴端一颗小磁铁读出角度。它在整整一圈里读出绝对角度,并把它送给控制器,快到能闭合一条运动回路。装在轴上磁铁的上方,它每个周期都把真实角度给回路,这才让控制器能顶着负载稳住一个位置,而不是指望电机到了那。

有两件事决定这个角度读数信不信得过。传感器得是绝对的,一上电就报出真实角度、而不是从它启动时那里开始数,这样一个关节复位后不用回零动作就知道自己在哪。还有磁铁得在公差内对中地坐在传感器上方,因为磁铁偏心或太远会读出一个失真的角度,而回路会忠实地照着它动。安装是测量的一部分。

读电流来感知负载

工作台上的工业齿轮电机
一颗齿轮电机,驱动和电流采样就是围着它建的。

电机拉的电流是它干得多吃力的直接读数,控制回路用它来限扭矩、抓堵转、把电机跑得高效。量它意味着采一颗串在电机电流路径里的分流电阻两端的小电压,而那个点常常随驱动开关上下摆。

用 INA240 给电机控制做相电流采样。它造出来就是为了在共模电压随开关摆动时也能读分流电压,这才让它在电机驱动里用得了、而不只是在安静的台架电路里。它把一个干净的电流读数交给控制器,去闭合扭矩环、去抓一颗已经堵转或卡住的电机。

分流电阻放在哪,改变读数显示什么。一颗串在电机相里的分流读出真实电机电流,却浮在开关电压上,这是放大器要应付的难情形。一颗放在地回流里的分流更好读,却只在下管导通时看到电流,所以它漏掉一部分画面。位置是按回路要看到什么、对着放大器能扛什么来选的。

回路怎么把误差变成电流

在指令和电机之间,坐着把差变成校正的那条律。回路拿目标减去反馈量到的,作用在差上,也就是误差。一条只对误差本身反应的回路是跳的,一条还把误差随时间累加的能抹掉负载留下的稳态偏差,一条盯着误差变多快的能压下超调。这三样合起来,就是一条运动回路所建在其上的比例、积分、微分三项,按它驱的电机和负载调出来。

调参是这事变具体的地方。比例增益太大,电机绕着目标振;太小,它朝目标拖、半天到不了。积分太多,它超调、振铃;太少,它在负载下停在差一点的地方。增益是对着电机的惯量和它驱动之物的刚度定的,一条为轻臂调的回路会把重臂抖起来。没有一套通用的数,这就是为什么调参是设计的一部分、不是一个默认值。

校正还得以电机吃得下的形式到达。一个驱动不直接设电流。它把电源飞快地开关,让平均值定电流,这就是脉宽调制。回路设占空比,也就是每个周期电源接通的那一份,而电机的电感把这些脉冲抹成稳定的电流。开关频率挑得够高来保持平滑安静,够低来不让驱动在每次开关里烧掉功率。

无刷电机在上面又加了换相。它的绕组得随轴转、按正确顺序通电,所以回路得知道转子角度才能驱它,这把角度反馈绑到了驱动上、而不是留作一个可选项。一颗有刷直流电机和一颗步进靠机械或步进图案自己换相,这是它们更好驱的部分原因,而无刷电机拿那份简单换了效率和平滑。

模型在这条回路里还有一件活,塑造目标走的那条路。一个跳变的目标让电机猛冲、超调,而一个平滑加减、在电机能力之内升降的目标,让回路不费劲就跟得上。这种轨迹规划坐在模型这边,它知道运动要去哪,它把一串位置变成不在每一步都猛抽的运动。

这事的器件很轻,功夫在于为这颗电机和这个负载把增益调对。

开环、闭环,以及 AI 能信什么

这一切底下最深的决定,是回路开还是闭,因为它定了 AI 被允许相信什么。一颗开环电机,一颗数自己步数的步进,假定它到达了被指挥的每一个位置,而大多数时候它确实到了。麻烦的是它没到的那次。一颗撞上卡阻、或被推过它扭矩的步进会跳步、还照旧数着像什么都没发生,于是控制器对位置的认知就和真相漂开、没有任何错误来标记它,而一条手臂以为自己在一个地方、其实坐在另一个地方,这是安全问题、不是小故障。闭合回路靠量真实结果来修这个,轴上传感器给的角度和电机抽的电流,把它喂回去,让控制器每个周期都校正到真相。角度说轴在哪。电流说电机干得多吃力、有没有不动了。两者都在,控制器就能顶着扰动稳住一个位置、负载尖峰时退一步、并在一个动作失败时告诉模型,而不是报一个从没发生的成功。代价是反馈传感器、通到它们的布线、和一条快到能对它们所报作出反应的回路。付不付,取决于一个错位置的代价:一台打印机跳几步是废一张打印,而一台机器人丢了位置会弄坏自己或伤到人,所以后者无论价钱都把回路闭上。上面的模型只和它下面的回路一样可信,因为一个从一个悄悄错了的位置去规划的模型,会自信地发出脱靶的指令。

一台会弄坏自己或周遭的机器人,正是为这个原因把回路闭上。

把电机噪声挡在 AI 板外

一个电机驱动飞快地开关大电流,这让它成了一个电路能有的最吵的电气邻居之一。开关把噪声耦合到电源和地上、并辐射进附近的走线,而 AI 板,带着它又快又低压的逻辑和它敏感的传感器输入,正是那种会被噪声搅乱的电路。

把电机驱动噪声和 AI 板隔开,本身是一项设计活。从安静一侧过到电机一侧的控制信号,可以走数字隔离器,把逻辑带过去、同时切断那条吵闹的地连接。电机电源走自己通回源头的路、不和逻辑共用,布局在开关和敏感器件之间放上距离和一块干净的地。

电流采样就坐在这场仗中间,因为它读的分流就住在噪声最坏的开关节点上,这正是一颗电机电流放大器造出来要在周围电压乱摆时稳住读数的原因。辐射是问题的地方,屏蔽有用,快走线下面一块地平面、最坏处罩一个屏蔽罩,而更大的赢来自一开始就把吵闹的回流电流挡在干净的地之外。

做好了,电机使劲驱、模型干净地读它的传感器。做差了,电机一动设备就复位或读错。

给电机供电又不饿着逻辑

一颗电机拉的电流远比指挥它的逻辑多,而且是一阵阵地拉,在它启动、反向、或顶着负载时。这份需求落在电源上,而一条按安静逻辑定大小的电源轨,会在电机猛地一冲时塌下去,可能在最坏的时刻把控制器复位。

所以电机拿自己的供电路径,按它抽的峰值、不是平均来定大小,在驱动近旁放大容量电容来喂电源来不及应的那一冲。逻辑跑在自己的稳压轨上,从电机抽流之前那一段取出来,这样电机的塌陷够不到它。两者共用一个地,而它们汇合在哪是选过的,好让电机的回流不流过逻辑的地。

回馈能量是会让头一版设计吃惊的那部分。一颗被驱着减速的电机充当发电机、把电流推回电源、把轨抬起来,得有一个驱动或一个钳位把那份能量吸掉,而不是让轨一路爬到下游某样东西失效。

驱动自己的热也是这事的一部分。把电机电流过它的开关会以热的形式损耗功率,电流越高越多,一个过热的驱动会降额或在动作中途关断。所以它拿到铜皮、热焊盘、有时还有气流,按电机实际抽的电流、按最坏情形而非样本表的平均来散这份热。

回路跑在什么节拍上

一条控制回路有多好,取决于它多久跑一次、反应多快。反馈得被读到、校正得被算出、新电流得被送到电机,一秒许多次,而把一颗电机稳住的速率,远高于模型做决定的速率。

这把时序分成两层。快回路,读角度和电流、驱电机,跑在靠近电机的一颗专用控制器上,那里它的时序紧而可预测。模型在它上面按自己更慢的步调跑,把目标往下发、把结果读回来。把快回路放在和模型同一颗处理器上,让模型又重又不定的时序拖住它,就是一颗本该稳住的电机最后抖起来的原因。

抖动和速率一样要紧。一条每毫秒跑一次、却时不时迟到的回路,会照着过时的信息校正,运动会把它显成毛糙,哪怕平均速率看着没事。所以快回路要一颗能承诺它何时跑的控制器,一个按时触发的定时器或中断,因为稳定的运动更需要回路按时跑、而不是跑得快。

不交给模型的那部分安全

一个驱动运动的模型可能出错,而一条错指令发给电机会推动真实的质量。所以让一台机器安全的那几样,是建在模型之下的,在不依赖模型正确的硬件和简单逻辑里。

一个急停直接切掉电机电源,走一条不经过处理器的路,这样哪怕软件挂了,人也能停住机器。限位开关标出行程的两端,运动到达时在硬件里切断或反转驱动,这样一条失控指令没法把一根轴驱过它能去的地方。这些不是模型给的功能,它们是对着模型设的防。

看门狗管的是控制器不出声的情形。如果快回路停止收到新指令,一个看门狗定时器会把电机带到一个安全停止,而不是让它永远保持着最后一条指令,这在通往模型的链路掉了、或模型崩了时要紧。安全状态是设计出来的、不是假定的,无论是断电、抱闸,还是一次受控停止,看机器需要哪个。

大机器上,这个停不只是一个继电器。一个有等级的安全转矩关断输入,以一种按失效安全设计的方式撤掉驱动,让机器达到它所在场合要求的安全标准,而不是靠设计者自己的接线。质量越大、人越近,安全状态就越要是被认证的、而不是临时拼的。

规矩是:模型可以请求运动,但不能掀掉加在它上面的限制。

从模型驱动运动时常见的问题

为什么步进不带反馈会丢位置?

步进只在它对负载有足够扭矩时稳得住位。如果它撞上卡阻或被驱得太快,它跳步、而控制器照旧在数,于是记录的位置和真实的漂开、没有错误被报出来。反馈,一个角度传感器或电流采样,正是抓这个的。

电机什么时候该上闭环反馈?

当一个错位置有真实代价时。一个只要速度的风扇或轮子可以开环跑。一个伺服关节、一根转向轴、或任何会弄坏自己或周遭的手臂,都要把角度和电流喂回去,让控制器校正到真相、并知道一个动作什么时候失败了。

机器人用步进还是直流电机?

步进靠数步定位得好,适合稳住一个精确位置的关节和平台。直流电机对要方向和速度、但不要精确角度的轮子、风扇和夹爪更便宜更简单。是运动决定它,在选驱动之前。

为什么要量电机抽的电流?

因为电流是扭矩和负载的直接读数。回路用它来限扭矩、把电机跑得高效、并在电流尖峰的那一刻抓住一次堵转或卡死,这是单看角度读数更慢才显出来的。

电机噪声怎么到 AI 板的,又怎么挡?

驱动飞快开关大电流,把那份噪声耦合到共用的电源和地、以及附近走线上。挡它靠隔离控制信号、给电机电源自己的回流路径、并在开关和敏感的逻辑与传感器之间留出距离和一块干净的地。

运动回路能跑在和模型同一颗处理器上吗?

最好别。快控制回路要紧而可预测的时序,而一个模型又重又不定的负载会拖住它,显成抖动的运动。快回路跑在靠近电机的一颗专用控制器上,模型从上面把目标发给它。

把驱动和反馈拼起来

这个次序让这些器件不互相别着劲。按运动选电机,要精确位置就步进、要朴素转动就直流。为这颗电机和这个负载选驱动。决定回路要不要闭,要闭就加上闭合它的角度传感器和电流采样。把电机的噪声和跑模型的板子隔开。然后把快回路放在自己的控制器上,模型从上面指挥它。

贯穿这一切的线是:模型只通过这些器件去指挥和感知会动的世界,所以它们定了它能做什么、能信什么。把它们做对,模型的规划到得了电机、真相回得来。做错了,模型就在指挥一个它再也读不懂的世界。

相关信息

富聪科技

搜索

富聪科技

产品

富聪科技

电话

富聪科技

用户