【2026 机器人模块大赛】机器人手部夹爪作品提交

【2026 机器人模块大赛】机器人手部夹爪结论帖:闭环步进方案 + 4310 无刷 FOC 方案

项目简介

大家好,这次参加 2026 机器人模块大赛,我做的是一套面向机器人末端执行器的电机夹爪。项目目标很明确:让夹爪能够稳定完成开合动作,并且在夹取物体时具备较好的位置控制、动作一致性和后续扩展能力。

为了验证不同电机方案在夹爪场景下的表现,我一共做了两套实现:

  • 方案一:闭环步进电机夹爪。采用 STM32F103 主控、TB67H450 驱动、MA782 磁角度传感器和 MPM54304 电源模块,重点验证低成本、高保持力、位置闭环控制和夹取状态判断。
  • 方案二:4310 无刷电机夹爪。采用 STM32G431 主控、MPM54304 电源模块和 MA782 磁角度传感器,设计圆形一体化 FOC 控制板,将主控、三相功率驱动、电流采样、位置反馈、电源和调试接口集中到电机端部,重点验证更高功率密度和更平滑的转矩输出。

从最终效果看,闭环步进方案更适合作为当前可落地的夹爪执行方案,结构和控制都相对稳妥;4310 无刷方案完成了控制板设计、焊接和基础 FOC 驱动验证,为后续升级成更高性能的一体化夹爪打下了基础。

一、设计名称

作品名称:机器人手部闭环电机夹爪

方案划分:

  • 闭环步进电机夹爪:主方案,完成夹爪结构、电机驱动、位置反馈和夹取演示。
  • 4310 无刷 FOC 电机夹爪:扩展方案,采用 STM32G431 + MPM54304 + MA782,完成一体化控制板设计、软件验证、焊接、装配和基础 FOC 驱动验证。

二、作品照片

1. 闭环步进电机夹爪实物

2. 步进方案 PCB 与核心模块

3. 4310 无刷电机控制板与装配

这些补充照片用于展示 4310 无刷方案的实物状态和装配细节,和前面的 3D 效果图、控制板正反面照片一起说明从设计到实物验证的过程。

三、作品简介

这套机器人夹爪的核心思路,是将电机、驱动、电源、位置反馈和机械夹爪整合成一个紧凑的末端执行模块。夹爪并不是只做简单的“通电开合”,而是围绕机器人末端应用做闭环控制:电机负责输出扭矩,传动机构把旋转运动转换为夹爪开合,磁角度传感器实时反馈位置,主控根据目标位置、实际位置和速度状态调整驱动输出。

在闭环步进方案中,夹爪通过 MA782 获取电机轴角度,固件以 20 kHz 周期进行位置和速度更新,再通过 PID/DCE 控制算法计算目标电流矢量,由 TB67H450 驱动两相步进电机。相比传统开环步进,这种方式可以降低失步风险,也能通过位置和速度变化判断夹爪是否接触到物体。

在 4310 无刷方案中,我设计了一个与 4310 电机端部匹配的圆形 FOC 控制板。该方案以 STM32G431 作为主控,MPM54304 负责多路电源供电,MA782 磁角度传感器负责转子位置反馈,并把三相逆变桥、栅极驱动、电流采样和调试接口集中在一块 PCB 上。目标是获得更高的集成度、更平滑的转矩输出和更好的后续扩展能力。目前该控制板已经完成焊接、电机基础转动验证,并完成了 MA782 位置反馈与 FOC 控制链路的软件验证。

四、物料清单

模块 主要物料 用途说明
步进主控单元 STM32F103CB 系列 MCU 负责步进方案外设初始化、闭环控制、通信解析、状态管理和保护逻辑
无刷主控单元 STM32G431 系列 MCU 负责 4310 无刷方案 FOC 运算、三相 PWM 输出、ADC 电流采样、FDCAN/USB/串口通信和实时控制
步进驱动单元 TB67H450 及外围电路 驱动两相步进电机线圈,配合正弦电流矢量实现更平滑的闭环控制
步进电机 两相步进电机 作为主方案夹爪执行电机,提供较好的保持力和位置控制基础
位置反馈 MA782 磁角度传感器 + 径向磁铁 读取电机轴绝对角度,用于位置闭环、速度估算和夹取状态判断
电源模块 MPM54304 四路电源模块 为步进方案和 4310 无刷方案的 MCU、传感器、驱动和其他低压电路提供高集成度供电
通信接口 UART、CAN、调试接口 用于参数设置、位置/速度/电流命令下发和运行状态读取
人机交互 按键、状态 LED 用于模式切换、复位、清除堵转状态和运行状态提示
机械结构 夹爪本体、传动件、固定件、螺丝螺柱 将电机旋转运动转换为夹爪开合动作
4310 电机 4310 无刷电机 作为高性能扩展方案的执行电机
4310 功率级 DRV8300 栅极驱动、三相 MOSFET、电流采样网络 实现 4310 无刷电机三相逆变驱动、电流采样和 FOC 控制验证
PCB 与连接件 自制 PCB、Type-C、排针/端子、测试点 完成系统集成、下载调试和外部连接

五、系统总体框图

整体系统可以分成五层:电源层、控制层、驱动层、反馈层和机械执行层。两套电机方案使用不同的驱动方式,但控制目标相同,最终都服务于夹爪开合和夹取动作。

这个框图反映了作品的核心闭环关系:主控下发目标,驱动电机运动,传感器反馈位置,主控再根据误差调整输出。夹爪是否能稳定工作,关键不是某一个器件,而是电源、驱动、传感、控制算法和机械结构能否配合起来。

六、系统组成与结构构图

1. 机械结构构图

夹爪机械结构承担“运动转换”的任务,把电机旋转运动转换为夹爪的开合位移。设计时主要关注三个点:夹爪开合范围、夹持力传递路径、以及电机和传感器的同轴安装精度。

机械部分的设计重点是让夹爪开合动作尽量对称、阻力尽量小,并确保传感器反馈的是电机真实转角。这样软件中的位置控制才有可靠依据,夹爪在不同开合位置下也能保持较一致的动作表现。

2. 电控结构构图

电控部分采用分层设计:底层负责 GPIO、PWM、SPI、CAN、UART 等外设;中间层负责电机驱动和编码器读取;应用层负责模式切换、目标位置设置、参数保存和夹爪动作逻辑。这样做的好处是后续如果更换电机或驱动器,不需要把整套程序重写。

七、闭环步进电机方案

1. 方案定位

闭环步进方案是本次夹爪作品中更完整、更接近最终应用的一套实现。步进电机本身具有较好的保持力和定位能力,适合夹爪这种低速、高控制精度的场景。传统开环步进的问题是无法知道是否失步,也无法直接判断夹爪是否真正夹到物体。因此我加入 MA782 磁角度反馈,把步进电机做成闭环执行器。

2. 控制链路

固件中控制任务以 20 kHz 周期运行。每个周期先读取编码器角度,再计算电机实际位置和速度,然后根据目标位置、目标速度和误差计算输出电流。驱动部分把电流转成两相正弦电流矢量,最终驱动步进电机运动。

3. 功能实现说明

主控与任务调度

主控使用 STM32F103。程序启动后完成 EEPROM 参数读取、电机参数配置、驱动器绑定、编码器初始化、按键回调注册,然后启动两个核心定时任务:

  • TIM1:100 Hz,用于按键扫描、状态 LED 刷新等低速状态任务。
  • TIM4:20 kHz,用于编码器更新、电机闭环控制和校准任务。

对应源码主要在:

  • Ctrl-Step-Driver-STM32F1-fw/UserApp/main.cpp
  • Ctrl-Step-Driver-STM32F1-fw/Core/Src/tim.c

电机闭环控制

电机控制部分位于 Ctrl/Motor/motor.cpp。每次控制周期会执行以下流程:

  1. 读取 MA782 编码器角度;
  2. 根据单圈角度变化计算多圈位置;
  3. 估算速度并进行提前角补偿;
  4. 根据当前模式执行位置、速度或电流控制;
  5. 通过运动规划器生成软目标,避免动作突变;
  6. 检查堵转、过载、未校准等状态;
  7. 输出电流矢量给驱动器。

程序支持位置模式、速度模式、电流模式、轨迹模式和 Step/Dir 模式。对于夹爪来说,最常用的是位置控制和带时间约束的位置控制,这样可以控制夹爪张开/闭合的位置和动作速度。

步进驱动与电流矢量输出

驱动部分使用 TB67H450。源码中 TB67H450Base::SetFocCurrentVector() 会根据目标电流方向查正弦表,计算 A/B 两相线圈的电流幅值,再通过 PWM/DAC 等效方式设置电流参考,同时用 GPIO 控制两相桥臂方向。

对应源码主要在:

  • Ctrl-Step-Driver-STM32F1-fw/Ctrl/Driver/tb67h450_base.cpp
  • Ctrl-Step-Driver-STM32F1-fw/Port/tb67h450_stm32.cpp

这种方式不是简单给步进电机发脉冲,而是根据闭环误差输出电流矢量,因此动作更平滑,也能根据反馈判断是否到位。

位置反馈与校准

位置反馈使用 MA782 磁角度传感器,通过 SPI 读取角度数据。程序会读取 16 bit 角度字,并根据配置保留对应分辨率,再通过校准表得到修正后的角度。

对应源码主要在:

  • Ctrl-Step-Driver-STM32F1-fw/Ctrl/Sensor/Encoder/ma782_base.cpp
  • Ctrl-Step-Driver-STM32F1-fw/Port/ma782_stm32.cpp

MA782 在这个系统里承担两个作用:一是提供闭环控制所需的位置反馈;二是通过位置和速度变化,为夹爪接触物体、夹取到位、堵转保护等逻辑提供判断依据。

通信与参数设置

固件预留了 UART 和 CAN 两类接口。UART 支持简单命令:

  • c <电流>:设置电流目标;
  • v <速度>:设置速度目标;
  • p <位置>:设置位置目标。

CAN 接口支持电机使能、校准、位置/速度/电流设置、参数写入 EEPROM、读取当前位置/速度/电流、清除配置和复位等功能。

对应源码主要在:

  • Ctrl-Step-Driver-STM32F1-fw/UserApp/protocols/interface_uart.cpp
  • Ctrl-Step-Driver-STM32F1-fw/UserApp/protocols/interface_can.cpp

4. 步进方案小结

闭环步进方案的优点是控制逻辑清晰、定位稳定、夹持状态容易判断,并且在低速夹取场景下有较好的保持能力。缺点是电机体积、效率、发热和高速动态响应不如无刷方案。对这次夹爪作品来说,它是更稳妥的主方案。

八、4310 无刷电机 FOC 方案

1. 方案定位

4310 无刷方案是为了验证更高性能的一体化夹爪驱动。相比步进电机,4310 无刷电机在功率密度、转矩输出平滑度和高速响应上更有优势,但控制复杂度也更高。该方案硬件上采用 STM32G431 主控、MPM54304 多路供电、MA782 磁角度传感器、DRV8300 栅极驱动、三相 MOSFET 逆变桥和相电流采样网络,需要功率级、电流采样、转子位置反馈和 FOC 算法共同配合。

2. 4310 FOC 系统框图

FOC 的核心是把三相电流变换到 d/q 坐标系中,分别控制励磁电流和转矩电流,再通过 SVPWM 输出三相 PWM。这样可以让无刷电机低速更平稳、噪声更低,也更适合后续做夹持力控制。

3. PCB 功能分区

4310 控制板采用圆形 PCB,目的是贴合电机端部,缩短电机三相线和传感器连接。板上主要分为以下区域:

  • 主控区:以 STM32G431 为核心,负责三相 PWM 输出、ADC 电流采样、FOC 运算、FDCAN/USB/串口通信和调试。
  • 三相功率区:由三组半桥构成逆变器,直接驱动 4310 电机 U/V/W 三相绕组。
  • 栅极驱动区:连接 MCU 和 MOSFET,负责上下桥臂驱动和死区控制。
  • 电流采样区:采集相电流,为 d/q 电流环和过流保护提供依据。
  • 位置反馈区:使用 MA782 磁角度传感器获取转子角度,用于电角度计算、零位标定和闭环控制。
  • 电源与接口区:使用 MPM54304 提供多路低压供电,并预留下载调试、Type-C 和外部连接。

4. PCB 布局思路

4310 方案的布局难点主要集中在功率级和反馈信号之间的隔离。三相桥臂电流大、开关速度快,电流采样和位置反馈又比较敏感,因此布局时优先处理功率回路,再安排采样、主控和接口。

主要原则如下:

  • 三相桥臂靠近电机相线输出端,缩短 U/V/W 路径;
  • 母线电容靠近 MOSFET,减小高频电流环路面积;
  • 栅极驱动走线尽量短,并让三相桥臂布局保持一致;
  • 电流采样信号避开开关节点,采样地和功率地谨慎连接;
  • 位置反馈区域围绕电机轴心布置,远离大电流和高频开关区域;
  • 大电流路径使用足够铺铜和过孔,兼顾载流和散热。

5. 4310 软件工程说明

4310 无刷方案的软件工程软件围绕 STM32G431、MA782、DRV8300 和电流采样模块组织,位置反馈直接由 MA782 提供。

  • BSP/Encoder_MA782.h:通过 SPI 读取 MA782 的 16 bit 角度数据,默认取高 12 bit 转换为 0 ~ 2π 机械角度;
  • Applications/Src/FOCTask.cpp:在 FOC 任务中绑定 DRV8300、MA782、电流采样和 4310 控制对象;
  • UserLib/FOC/FOC.cpp:完成电流采样变换、电角度计算、电流环和三相占空比输出;
  • UserLib/4310/4310.cpp:管理控制模式、校准参数、零位和对外控制接口。

这部分软件说明了 4310 方案的最终实现关系:主控为 STM32G431,电源由 MPM54304 提供,位置反馈由 MA782 完成,功率级负责驱动 4310 电机。

6. 4310 方案小结

目前 4310 控制板已经完成 PCB 设计、打样焊接、与电机装配,并成功驱动电机转动,基础 FOC 控制链路已经跑通。软件工程围绕 MA782 位置反馈完成了控制链路组织,说明 STM32G431 主控、三相功率级、MPM54304 电源、MA782 位置反馈和控制算法可以配合工作。

4310 方案的优势是性能上限更高,后续适合做更紧凑、更高响应的夹爪;难点是硬件调试和控制参数整定更复杂,特别是相序、角度方向、电流采样极性、电角度偏置和功率级散热都需要逐项验证。

九、软件源码及说明

这次软件部分分成两套工程:闭环步进电机工程负责夹爪主方案,4310 无刷工程负责 FOC 扩展方案。两套工程的共同思路都是“命令输入 → 运动/控制算法 → 电机驱动 → 传感器反馈 → 状态输出”,区别在于步进方案输出的是两相电流矢量,4310 方案输出的是三相 FOC PWM。

1. 软件总体结构框图

这个结构的好处是硬件和算法被分层隔离。编码器、驱动器、电流采样这些底层硬件发生变化时,优先修改 BSP 或 Port 层;位置环、速度环、FOC 等控制逻辑则尽量保持在中间层,避免每次换芯片都重写整套控制程序。

2. 闭环步进电机方案源码

2.1 工程结构说明

模块 主要文件 作用
应用入口 UserApp/main.cpp 读取 EEPROM 参数,绑定电机驱动和编码器,启动 100 Hz/20 kHz 定时任务,处理按键逻辑
参数配置 UserApp/configurations.h 保存 CAN 节点、电流限制、速度限制、加速度、DCE 参数、堵转保护开关等
电机控制 Ctrl/Motor/motor.cpp 闭环控制核心,完成角度读取、位置展开、速度估算、PID/DCE 运算和状态判断
运动规划 Ctrl/Motor/motion_planner.cpp 对位置、速度、电流目标做平滑处理,避免夹爪动作突变
步进驱动 Ctrl/Driver/tb67h450_base.cpp 将目标电流转换成两相正弦电流矢量
STM32 驱动适配 Port/tb67h450_stm32.cpp 使用 GPIO 和 TIM2 PWM 输出 TB67H450 所需控制信号
角度反馈 Ctrl/Sensor/Encoder/ma782_base.cpp 读取 MA782 角度,判断校准表是否有效
SPI 适配 Port/ma782_stm32.cpp STM32 平台下 MA782 的 SPI 通信实现
UART 命令 UserApp/protocols/interface_uart.cpp 支持 c 电流、v 速度、p 位置三类调试命令
CAN 命令 UserApp/protocols/interface_can.cpp 支持使能、校准、位置/速度/电流设置、参数保存和状态读取

2.2 闭环步进控制流程

步进方案不是简单开环发脉冲,而是把步进电机作为一个带位置反馈的闭环执行器使用。MA782 提供实际角度,程序根据目标位置和实际位置之间的误差计算输出电流,再由 TB67H450 驱动两相线圈。

2.3 步进方案核心算法

闭环步进算法主要包含四个关键点:

  1. 位置展开:MA782 只能直接提供单圈角度,程序会判断本次角度和上次角度的差值。如果跨过 0 点,就对差值进行补偿,从而得到连续的多圈位置。
  2. 速度估算:根据位置差和控制频率估算速度,并加入简单滤波,使速度反馈更稳定。
  3. DCE/PID 控制:位置模式下根据目标位置、估算位置和估算速度计算目标电流;速度模式下通过速度 PID 得到目标电流;电流模式下直接输出目标电流。
  4. 两相电流矢量:驱动层根据目标电流方向查正弦表,让 A/B 两相电流相差 90°,再通过 PWM 等效 DAC 设置电流参考值,使步进电机输出更平滑。

简化后的控制关系如下:

在夹爪应用中,这套算法的价值主要体现在两个方面:一是能够让夹爪按目标位置稳定开合;二是当夹爪遇到物体时,位置误差、速度下降和输出电流状态会发生变化,可以作为判断“是否夹到物体”或“是否发生堵转”的依据。

2.4 步进方案命令与调试

UART 调试命令比较直接:

  • c <电流>:进入电流模式并设置目标电流;
  • v <速度>:进入速度模式并设置目标速度;
  • p <位置>:进入位置模式并设置目标位置。

CAN 命令更适合后续接入机器人主控,支持设置位置、速度、电流、加速度、节点 ID、零位偏移、DCE 参数、堵转保护开关,并可以读取当前电流、速度、位置和偏移量。

3. 4310 无刷 FOC 方案源码

3.1 工程结构说明

模块 主要文件 作用
FOC 任务入口 Applications/Src/FOCTask.cpp 绑定 DRV8300 驱动、MA782 编码器、电流采样和 4310 控制对象,启动实时控制
通信任务 Applications/Src/CommunicateTask.cpp 使用 FreeRTOS 队列处理 FDCAN/UART 命令,并返回电流、速度、角度和状态
Shell 调试 Applications/Shell/ShellPlugs.cpp 提供参数查看、PID 调整、控制模式切换等调试入口
MA782 驱动 BSP/Encoder_MA782.h 通过 SPI 读取 MA782 角度并转换为弧度
三相驱动 BSP/BLDC_Driver_DRV8300.h 封装 DRV8300 三相互补 PWM 输出
电流采样 BSP/CurrentSensor_Embed.h 读取 ADC1/ADC2 注入通道,计算 U/V/W 三相电流
FOC 算法 UserLib/FOC/FOC.cpp Clarke/Park 变换、电流环、反变换、占空比输出、校准和齿槽补偿
4310 封装 UserLib/4310/4310.cpp 管理校准数据、PID 参数、限幅、零位和用户控制接口
参数配置 Applications/Inc/FOC_config.h 4310 电机极对数、额定电压、最大电流、PID 参数等

3.2 4310 软件结构框图

4310 方案的软件结构比步进方案更复杂,因为 FOC 对实时性要求更高。ADC 注入采样完成后立即更新相电流并执行电流环;TIM6 周期中断负责速度环和角度环;通信任务只负责接收目标和回传状态,避免通信逻辑阻塞电流环。

3.3 FOC 控制算法流程

FOC 核心代码在 UserLib/FOC/FOC.cpp。运行时主要做以下事情:

  1. 电流采样:CurrentSensor_Embed 读取 ADC1/ADC2 注入通道,得到 U/V/W 三相电流。
  2. Clarke/Park 变换:把三相静止坐标系电流转换到随转子旋转的 d/q 坐标系,得到 IdIq
  3. 角度读取:Encoder_MA782 通过 SPI 读取 MA782 角度,结合极对数计算电角度。
  4. 速度估算:根据本次角度和上次角度差值计算转速,并用低通滤波降低抖动。
  5. 外环控制:角度模式下角度环输出速度目标,速度环输出 q 轴电流目标;电流模式下直接给 q 轴电流目标。
  6. 电流环控制:d 轴电流通常控制到 0,q 轴电流用于控制转矩输出。
  7. 反 Park / 反 Clarke:把 d/q 轴电压重新变换成三相电压占空比。
  8. PWM 输出:通过 DRV8300 驱动三相 MOSFET,最终驱动 4310 电机。

3.4 MA782 位置反馈实现说明

4310 方案使用 MA782 作为转子位置反馈。软件层将 MA782 封装为统一 Encoder 接口:

  • init():初始化片选状态并标记驱动可用;
  • enable() / disable():控制编码器读取状态;
  • get_angle():通过 SPI 读取两个字节角度数据,取高 12 bit 转换为 0 ~ 2π 弧度;
  • FOCTask.cpp 中将该编码器对象传入 4310 / FOC 控制对象,使 FOC 算法可以直接使用 MA782 机械角度计算电角度。

这样上层 FOC 算法不需要关心具体传感器通信细节,只通过统一角度接口获得转子位置。

3.5 4310 通信与控制模式

CommunicateTask.cpp 中把 CAN/UART 接收到的命令统一转换为控制对象命令,再由 4310 调用底层 FOC 控制。当前支持的主要控制模式包括:

  • 使能 / 失能;
  • 电流控制;
  • 速度控制;
  • 角度控制;
  • 低速控制;
  • 角度步进控制。

反馈数据中包含电机 ID、运行状态、错误码、q 轴电流、速度和角度,并带 CRC8 校验,便于后续接入主控或上位机调试。

十、演示视频

1. 完整作品演示视频

该视频作为最终提交的完整演示素材,覆盖自我介绍、物料实物展示、应用方向、设计思路、硬件正反面、接线说明和功能演示。

2. 闭环步进电机夹爪演示

该视频用于证明闭环步进方案已经可以带动夹爪完成开合动作,并能够用于实际夹取测试。

3. 4310 无刷电机 FOC 运行演示

该视频用于证明 4310 一体化控制板已经完成基础 FOC 驱动验证,电机可以在自制控制板上正常运行。

4. 4310 夹爪扩展演示素材

这些视频可作为 4310 方案后续联调、夹爪动作或补充演示素材,根据最终发布平台支持情况选择上传。

十一、两套方案对比

对比项 闭环步进电机方案 4310 无刷 FOC 方案
项目定位 当前主方案,更适合完成夹爪实际动作 扩展方案,更适合高性能一体化方向
控制难度 中等,闭环位置控制逻辑清晰 较高,需要 FOC、电流采样、角度对齐和功率级调试
低速表现 稳定,保持力好 平滑,低速效果依赖 FOC 参数
功率密度 一般 更高
结构集成 适合普通夹爪结构 适合电机控制器一体化设计
调试风险 较低 较高,功率级错误可能直接损坏器件
夹爪适配性 更适合作为本次成品方案 更适合作为后续升级版本

我的结论是:如果目标是尽快做出稳定可演示的机器人夹爪,闭环步进方案更稳妥;如果目标是继续提高功率密度、动作平滑度和一体化程度,4310 无刷 FOC 方案更有潜力。

十二、AI 辅助设计、检查与软件开发

这次项目中,AI 主要起到“资料整理、设计复核、代码阅读和调试辅助”的作用。它不是替代实际测量和上电验证,而是帮助我更快地把复杂信息整理成可执行的检查清单,减少反复查资料和翻代码的时间。

1. 硬件资料查询与方案确认

在硬件选型和原理图设计阶段,我使用 AI 辅助查阅和整理 MPS 相关芯片资料,重点包括 MPM54304 电源模块和 MA782 磁角度传感器。

AI 在这部分主要帮助我完成几类工作:

  • 快速整理 MPM54304 的供电能力、典型应用、电源输出配置方式、外围电容和布局注意事项;
  • 梳理 MA782 的供电、SPI 通信、角度数据格式、磁铁安装和传感器摆放要求;
  • 对照数据手册检查关键引脚连接,避免电源脚、通信脚、片选脚、反馈脚等基础连接错误;
  • 把芯片资料中的布局要求转换成 PCB 检查项,例如输入/输出电容靠近芯片、散热焊盘和过孔处理、敏感信号远离功率开关节点等。

2. 原理图和 PCB 检查

在原理图和 PCB 检查阶段,AI 帮我把“看图检查”拆成了更系统的项目清单。尤其是电机驱动板,很多错误不是单个网络能看出来的,而是要结合功率回路、采样回路、控制信号和机械安装一起判断。

实际检查时,重点看了以下内容:

  • MPM54304 输入输出电容是否靠近芯片,电源路径是否短而宽;
  • MA782 是否放在电机轴心附近,周围是否避开大电流和高频开关走线;
  • 4310 三相半桥的 MOSFET 方向、栅极驱动连接、三相输出网络是否一致;
  • 电流采样电阻、运放输入方向、ADC 通道和固件中的电流方向定义是否一致;
  • STM32G431 的 SPI、ADC、TIM1 PWM、FDCAN、USB、调试接口等引脚复用是否和软件工程一致;
  • 安装孔、螺柱、接插件、Type-C 位置是否会影响焊接和装配。

这些检查不能完全代替人工 DRC/DFM 和实物测量,但能显著减少遗漏项,尤其适合在打样前做最后一轮复核。

3. 软件编写与调试辅助

软件部分 AI 的作用更直接:帮助我梳理工程结构、确认各模块职责,并辅助编写 MA782 角度读取、FOC 任务绑定和调试说明。

这次 4310 工程需要围绕实际硬件完成 STM32G431 + MA782 + DRV8300 + 电流采样的 FOC 控制链路。AI 辅助完成了以下工作:

  • 阅读 FOCTask.cpp,确认编码器、驱动器、电流采样和 4310 控制对象的绑定关系;
  • 梳理 Encoder 基类接口,确定 MA782 驱动需要实现 init()enable()disable()get_angle()
  • 编写 Encoder_MA782.h 的 SPI 角度读取逻辑;
  • 将 MA782 角度数据转换为弧度,保证输出格式和 FOC 库一致;
  • 辅助整理 FOC 控制流程,包括电流采样、角度读取、电角度计算、电流环和三相 PWM 输出;
  • 辅助整理源码说明和框图,让发帖内容能说明软件结构,而不是只列文件名。

对应的软件实现链路如下:

这个过程的关键不是让 AI 直接重写整套 FOC,而是让它辅助梳理调用关系和接口边界。真正涉及功率级和实时控制的部分仍然要保持小步修改、逐项验证。

4. 调试排查辅助

在电机调试过程中,AI 也帮助我建立排查顺序。比如电机抖动、不转、转动方向不对、电流异常、角度跳变等问题,可能来自硬件、传感器、相序、采样方向或控制参数。AI 可以把现象拆成检查路径:

最终调试仍然以实测为准:限流电源、万用表、示波器、串口输出和实际电机状态才是判断依据。AI 在这里更像一个系统化的检查助手,帮助我明确“下一步该查什么”,减少盲目试错。

十三、调试过程总结

这次项目最大的收获,是进一步认识到机器人夹爪不是单独的机械问题,也不是单独的电控问题,而是电机、驱动、传感、控制算法和机械结构之间的系统协同。

闭环步进方案中,最关键的是位置反馈和控制策略。只要 MA782 反馈稳定,主控就能实时知道电机位置,进一步判断夹爪动作是否到位,避免传统开环步进中“控制器以为到了、实际可能没到”的问题。

4310 无刷方案中,最关键的是功率级、角度反馈和 FOC 参数。电机能转起来只是第一步,后续还需要继续优化电流采样、零位标定、速度环/位置环参数和温升表现,才能真正用于夹爪负载。

AI 在硬件资料整理、原理图/PCB 检查、软件编写和调试排查中都提供了辅助,但最终的设计判断仍然以数据手册、原理图、PCB 实物、波形和运行结果为准。
硬件.zip (524.2 KB)
软件源码.zip (29.1 MB)

十四、最终结论

由于总结视频文件过大,已上传链接
https://training.eeworld.com.cn/video/43328

十五、帖子汇总

【2026 机器人模块大赛】+ 4310 电机一体化 FOC 控制板 + PCB 焊接与 FOC 调试进展
【2026 机器人模块大赛】+ 4310 电机一体化 FOC 控制板 + PCB 设计分享
【2026 机器人模块大赛】机器人手部闭环电机夹爪整机装配完成分享
【2026 机器人模块大赛】 机器人手部闭环电机夹爪 + PCB设计

本次机器人夹爪作品完成了两条技术路线的验证:

  1. 闭环步进电机方案完成了夹爪结构、电机驱动、位置反馈、闭环控制和动作演示,能够证明作品可以完成既定的夹爪开合与夹取功能。
  2. 4310 无刷电机方案完成了基于 STM32G431、MPM54304 和 MA782 的一体化 FOC 控制板设计、软件验证、实物焊接、装配和基础运行验证,证明该方案具备继续向高性能夹爪升级的可行性。

从参赛作品角度看,闭环步进方案保证了作品完整性和可演示性;4310 无刷方案展示了后续提升方向和更高的技术扩展空间。两套方案共同构成了这次项目的完整探索:先用闭环步进实现稳定可用,再用 4310 无刷 FOC 探索更高集成度和更高性能。

到这里,这个机器人夹爪项目已经完成了从方案设计、PCB 制作、源码调试到实物演示的完整闭环。后续我会继续基于这次结果优化机械结构和控制策略,让夹爪在实际机器人末端应用中更加稳定、紧凑和可靠。

期待你后续把4310方案的**力控(阻抗控制)**加上去,届时这个夹爪就真正具备了“灵巧手”的内核了!祝大赛取得好成绩!

这个机器手很实用,看电机个头,这个夹紧力应该不小,楼主太强悍了

楼主能力太强了,牛!

能控制夹紧力度就更好了。下次夹个鸡蛋试试。哈哈。

能通过设置电流参数,控制夹紧力度,有做,忘记拍视频展示这部分了 :joy:

看到楼主在帖子中详细对比了两种方案的优劣,闭环步进方案在低速保持力和控制稳定性上确实更有优势,非常适合作为成熟的末端执行器;而4310无刷方案在功率密度和转矩平滑度上的潜力,为后续升级指明了方向。 注意到你在两套方案中都使用了MPM54304作为电源模块,以及MA782作为位置反馈,这很好地验证了MPS芯片在不同电机控制架构下的通用性和稳定性。在4310无刷方案中,从PCB布局(功率级与反馈信号隔离)到FOC算法(Clarke/Park变换、SVPWM)的实现非常完整,特别是关于MA782角度读取和电角度计算的代码逻辑,写得很清晰。在调试总结中提到AI辅助了资料整理和代码检查,这个工作流很高效!最后祝大赛取得好成绩!