人形机器人技术热度持续攀升,但不少人仍存在认知误区:这类设备结构复杂、造价高昂。今天我们带来的设计大幅降低了该领域入门门槛,成品为等比例真人尺寸人形机械臂,共计 8 个自由度:肩部 2 个、肘部 1 个,剩余 5 个自由度分配给五根手指各 1 个。
整套方案在机械结构与电控系统两方面均贯彻极简设计理念。该机械臂是火神一号(VulcanV1)整台人形机器人的组成部件,依托 Arduino 主控板,搭配专属控制代码即可独立管控每一处关节与自由度。各主动自由度由舵机驱动,可在各个转动轴上实现较精准角度定位。
这套机械臂可应用于全尺寸人形机器人、协作机器人以及各类智能机械臂开发场景。全套结构均由作者原创定制设计,只需配齐所需元器件与配套软件,就能直接 3D 打印零件、完成组装并投入运行。图 1 为作者制作的样机实物,可见可活动关节布局与完整布线方案。

图1:作者制作的实物机械臂
该机械臂由肩部、肘部、腕部和手指四个部分组成,各部位均由伺服电机驱动,可实现精准的角度控制。电线布设于机械臂内部,将所有执行机构与主控单元相连。设备通电后, Arduino 主控会按照预设程序,向各个伺服电机发送控制信号。各个关节可单独运转,配合完成类似人类手臂的联动动作。图中高亮区域为可旋转、活动的关节位置。通过伺服电机同步运作,手指能够完成抓取与松放物体的动作。整套装置可将程序指令转化为机械运动,实现精准定位与物件操作,适用于人形机器人、辅助设备以及协作机器人等场景。
整套系统除 3D 打印结构件外,还需配套舵机控制电子元器件。主控可选用 Arduino Mega 或 Arduino Uno 外加专用舵机驱动拓展板;根据机械臂负载大小与运动需求,搭配三款不同规格舵机,保障输出扭矩充足、运转顺滑。
调试与运行供电方案:舵机可采用 12 伏或 24 伏直流电源供电,既可以使用交流转直流适配器,也能选配适配锂电池;Arduino 主控板需单独接入稳定 5 伏稳压电源,可通过 USB 接口外接供电或独立 5V 电源适配器供电,保障主控稳定工作。
表 1 为整套机械臂电子元器件物料清单,表 2 罗列机械结构件、耗材与所需工具。
表1 机械臂电子元器件物料清单

表2 机械结构件、耗材及工具清单

电路原理图
图 2 为本款全尺寸人形机械臂完整电路原理图。整套控制系统以 Arduino Uno(模块 1)、PCA9685 舵机驱动拓展板(模块 2)为核心,搭配 25kg・cm 大扭矩舵机、DH03-X 重载舵机、SG90 微型舵机等多规格伺服电机,辅以各类基础电气元器件搭建而成。

图2:人形机械臂电路原理图
原理图清晰展示了如何借助 PCA9685 模块多路并行控制多台舵机。Arduino 主控通过 I²C 通信总线,利用 SDA、SCL 引脚与 PCA9685 驱动板交互,大幅节省主控通用 IO 引脚占用量。
PCA9685 模块最多可输出 16 路独立 PWM 控制信号,原理图中标注 S1–S11 共 11 路通道分别对接对应舵机;所有舵机的信号线由 PCA9685 统一驱动,全部舵机共用一组正极电源与公共地线。舵机回路独立外接稳压 12V 电源,保障大扭矩工况下电流供给充足。Arduino 主控、PCA9685 驱动板、动力电源三者必须共地连接,控制系统才能稳定运行。
本方案采用 Arduino Uno 搭配 PCA9685 驱动板架构,按照腕部、肘部、肩部、手指的不同动作功能,将每一路舵机接入驱动板对应通道。若改用 Arduino Mega 主控,舵机也可直接接至主板 PWM 引脚驱动;但多路舵机同步控制场景下,依然推荐搭配 PCA9685 拓展板,稳定性更佳。
软件程序部分
本设计采用通用标准伺服舵机,程序编写难度较低;也可根据使用者自身技术水平与实际功能需求,拓展开发复杂控制逻辑。
若选用 PWM 引脚数量大于 8 路的 Arduino 主控,可直接调用官方标准 Servo 库(Servo.h)编程;外接 PCA9685 拓展板时,本文代码推荐使用 HCPCA9685 库。
编程第一步:给每一路舵机设定初始零位,同时标定单台舵机转动角度上下极限值。参数标定完成后,即可编写动作程序控制机械臂完成预设运动。出于调试安全与动作精度考量,建议先对每一个舵机单独烧录程序、单独调试,确认单关节动作无误后,再把全部动作逻辑整合进一套总程序。
本系统搭载 PCA9685 拓展板,配套代码可实现五根手指同步张开、握紧;肘部动作采用循环语句控制舵机从 60°(完全下摆)匀速转动至 200°(完全抬起),再自动复位;修改循环内延时参数,即可自由调节肘部运动速度。图 3 为舵机引脚分配、各关节行程限位配置代码片段。

图3:舵机引脚定义与各关节运动限位配置代码片段
结构设计与 3D 打印
图 4 展示了机械臂全部 3D 打印零件,并标注各零件名称与使用数量。手指分段件、手掌壳体、小臂外壳、肘部关节座、肩部基座等所有零部件均清晰标注,方便分拣装配;连接器、转轴、卡扣等小型结构件保障关节顺畅转动,尤其满足手指弯曲抓取动作。小臂与上臂壳体预留舵机安装位与内部走线通道,肘部、肩部总成承担结构支撑与旋转运动功能。全部零件造型均做适配优化,可直接 3D 打印成型,使用标准紧固件即可完成拼装。

图4:带零件名称及数量标注的机械臂 3D 打印件
图 5 为分类整理后的全套打印部件,分为肩部、肘部、小臂、手掌、手指五大模块。整套结构采用模块化设计,每个模块各司其职:双自由度肩部可实现多方向摆动,肘部完成屈伸动作,小臂内置全部电控元器件,手掌与手指依靠舵机联动实现抓取操作。模块化设计大幅降低装配、分段调试和后期维护难度。

图5:分模块整理后的全套 3D 打印机械臂部件(肩部、肘部、小臂、手掌、手指)
机械臂所有零件先通过 CAD 软件三维建模,导出 STL 打印文件,切片软件分层处理后即可上机打印(如图 4)。零件可按照表 3 推荐打印参数自行打印,也可外发至 3D 打印服务商代加工。
表3 3D 打印工艺参数参考

尼龙耗材(选配高应力件)打印参数
喷嘴温度:255–300 摄氏度
热床温度:65–70 摄氏度
机械臂整机装配流程
装配分为两大阶段:第一阶段装配手指与手掌总成,第二阶段装配上臂与小臂主体结构。
1. 手指与手掌装配
3D 打印零件成型后,优先组装手指结构。使用 M3 螺丝固定每一节指骨段,形成可活动铰接关节,装配时对齐安装孔位(见图 6)。截取约 30 厘米尼龙钓鱼线,一端打结限位,依次穿入各节手指预留走线孔,该尼龙线充当肌腱牵引手指弯曲。拉扯牵引线测试手指弯折是否顺滑,按需微调;松开牵引线后,手指应能在回弹结构或低摩擦铰接设计配合下复位;装配时需要检查各关节是否卡滞。五根手指全部重复上述装配步骤。

图6:机械手指装配示意图
装配完成后得到带活动关节的 3D 打印机械手,动作形态高度复刻人手。分段铰接结构保证手指柔性,指尖造型优化抓取摩擦力;肌腱牵引结构可精准控制手指蜷缩、张开。全部手指统一固定在手掌基座内部,手掌壳体可内置舵机等执行元件,该机械手既可用作机器人手部、义肢,也能完成物料拾取、放置自动化作业。
2. 机械臂主体装配
接下来组装手臂主体:取用两根长连接件、四颗 M3×8mm 螺丝,将手掌中段与小臂前段对接固定,根据安装孔间距选配适配连接件。用长转轴穿入四根手指根部,搭配 M3 螺丝锁紧固定;拇指单独套入拇指转轴,加装轴卡限位防脱落。全部尼龙牵引线统一从手掌根部预留孔穿出,后续可统一调节牵引松紧度。
小臂前段与中段壳体用螺丝拼接固定,分别使用 M3×12mm、M3×18mm 螺丝锁紧舵机安装底座。将 25kg 大扭矩舵机装入配套支架,舵机摇臂固定在肘部转动关节上;随后把舵机信号线接入 Arduino 主控,标定舵机转角最大、最小限位,校准完整运动行程(见图 7)。

图7:小臂腕部与机械手装配示意图
再次将 25kg 舵机固定至安装基座内,舵机摇臂锁紧在小臂肘部左侧壳体,螺丝加固;舵机接线接入 Arduino,重新标定转角极限,确认肘部可达完整转动范围。剩余壳体零件参照图纸依次螺丝拼接。
最后装入第二台 180kg 重载大扭矩舵机,装配时可用台虎钳夹紧臂体固定操作。每台舵机锁紧安装前,务必预先转动至目标初始角度,完整确认转角行程,否则后续程序无法精准标定动作点位。图 8 为舵机装配过程,以及所有零件集成完毕后的完整机械臂成品。

图8:舵机装配过程与全部零件组装完成后的整机机械臂
整机调试测试
将完整源代码正确烧录至 Arduino Uno 主控,全部机械结构装配完毕后,即可开展整机功能测试。
调试供电方案:Arduino 主控单独接 5V 适配器供电;大扭矩舵机外接 12V 电源,电源额定输出电流不低于 20 安培;微型小舵机工作电压更低,无需高压供电。运行控制程序,机械臂各关节会自动转动至预设角度(90°、180° 等标定位置),手指按照程序设定时序自动开合抓取。
动作验证无误后,该机械臂可继续迭代开发:新增自定义控制逻辑,或是接入机器人操作系统(ROS)等上位控制系统,完成更多定制化作业任务。图 9 为加载示例代码后的机械臂运动实测场景。

图9:加载示例代码进行机械臂运动测试
补充提示
Arduino 主控板、PCA9685 驱动板、舵机外部动力电源三者的地线必须可靠连通、共地连接。
(本文编译自:electronicsforu,原文作者:Kelvin Gonzalez Amador)
关注视频号 EEPW芯视角
洞察芯世界 了解芯趋势

END

↓↓↓↓点击阅读原文,查看更多新闻
夜雨聆风