MG90S微型舵机怎么驱动?Arduino接线和堵转发热避坑

舵机老炮硬件DIY 2026-10-13 16:21:04 13阅读 举报

自己装机器狗、六足或者小型机械臂,舵机是最蛋疼也最上头的一环。市面上最火的除了MG996R这种大金齿,还有一个被新手当成"平替"的MG90S。别看它又小又便宜,踩的坑一点也不比大的少。今天就把MG90S从接线、驱动到堵转发热这堆坑一次说透。

MG90S到底是什么水平

MG90S是9克舵机家族里的"金属齿加强版",重量大约13克,尺寸20mm×11mm×27mm,扭矩标称2.2kg·cm(4.8V下)左右。跟塑料齿的SG90比,MG90S最大的区别是输出齿轮是金属的,齿轮不容易扫齿,也更耐用一些。

但它终究是微型舵机,扭矩摆在那,别指望把它当大力士用。给机器狗做腿、给小型爪子做关节没问题,想扛重负载或者当机械臂主关节,那就是硬上,后续基本是扫齿轮或者堵转烧驱动板的下场。

三根线怎么接,很多人第一步就错

MG90S引出三根线:红(VCC,电源)、棕(GND,地)、橙(信号)。接线顺序别搞混,电源接错极,舵机当场就寄。

很多人第一坑是拿Arduino的5V直接喂多个MG90S。一块舵机堵转电流能到700mA到1A,三个一起动,主板5V根本扛不住,轻则电压被拉垮、单片机复位,重则直接烧掉板载稳压。正确做法是单独给舵机一路5V供电,主控另一路,两头共地。

信号:PWM频率和脉宽别照抄MG996R

标准模拟舵机用20ms周期、也就是50Hz的PWM信号,脉宽500到2500微秒对应当前角度或位置。MG90S虽然跟MG996R协议一样,但很多人直接拿大舵机的库和参数套过来,结果出现抖舵、转不到位。

原因多半是脉宽范围和实际中立点有偏差。稳妥做法是用Servo.h这种标准库,写servo.attach(pin)之后先write(90)确认中立,再分别测一下0度和180度脉宽边界,按实际校准,别迷信默认参数。

堵转发热:小舵机最隐蔽的杀手

MG90S堵转是新手最容易忽略的坑。所谓堵转,就是舵机想转却转不动,比如夹爪夹死了、腿卡住了,这时候电机还在拼命给电,电流持续走高,一分钟不到外壳就烫手。

解决办法分层:软件上给舵机运行加超时保护,检测到目标角度长时间没到位就断电重试;硬件上给舵机供电加限流或者带过流保护的驱动,别让堵转电流直接无脑灌。

供电和延长线的隐藏坑

小舵机供电还怕电源纹波大。2200mAh的镍氢或者2S锂电直接给舵机,动态响应差,一堵转电压就跳水。可以在舵机电源端并一颗几百到上千微法的电解电容缓冲,能明显缓解电压跌落和系统复位。

还有一堆人用超长杜邦线或者细线串联多块舵机。线材一长,电阻变大,远端舵机电压被压掉一大截,表现就是"最后一个舵机总是不够力"。给舵机就近取电、线尽量粗短,能省掉一堆玄学问题。

总结

MG90S是个性价比很高的入门金属齿舵机,做好这几点够你玩很久:电源单独供、信号50Hz校准中立点、堵转加保护、延长线粗短、测试时先单舵机再并联。把这几关过了,你的机器狗和机械臂就不会老是莫名其妙地抽搐罢工了。

版权声明:
作者:舵机老炮
链接:https://www.aiddithome.com/p/3928dce659746.html
来源:硬件DIY
实践版权归作者所有,未经允许请勿转载,若此实践存在违规行为,您可以点击 “举报”。


登录 后发表评论
5条评论
默默点赞的路人
1楼 · 2026-10-13 16:21:21

补充一句:测试一定先单舵机再接一排,不然出了锅都不知道是谁的错?

拆开看看再说
2楼 · 2026-10-13 16:21:20

延迟线那个点很实在,我六足最后一个舵机老感觉无力,线换粗短之后立马正常了。

隔壁工位的好奇宝
3楼 · 2026-10-13 16:21:20

信号脉宽我也遇过,套MG996R的库抖得不行,按你说的先write(90)校准中立点就顺了。

阿伟不emo
4楼 · 2026-10-13 16:21:19

这个坑我踩过,5V直接带三个MG90S,结果单片机复位得我怀疑人生,后来才懂要单独供电+共地。

阿强焊点总飞
5楼 · 2026-10-13 16:21:19

堵转发热是真的,我夹爪夹太紧,外壳烫到我直接去摸,差点起泡。后来加了超时保护就好了。