【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.cppCtrl-Step-Driver-STM32F1-fw/Core/Src/tim.c
电机闭环控制
电机控制部分位于 Ctrl/Motor/motor.cpp。每次控制周期会执行以下流程:
- 读取 MA782 编码器角度;
- 根据单圈角度变化计算多圈位置;
- 估算速度并进行提前角补偿;
- 根据当前模式执行位置、速度或电流控制;
- 通过运动规划器生成软目标,避免动作突变;
- 检查堵转、过载、未校准等状态;
- 输出电流矢量给驱动器。
程序支持位置模式、速度模式、电流模式、轨迹模式和 Step/Dir 模式。对于夹爪来说,最常用的是位置控制和带时间约束的位置控制,这样可以控制夹爪张开/闭合的位置和动作速度。
步进驱动与电流矢量输出
驱动部分使用 TB67H450。源码中 TB67H450Base::SetFocCurrentVector() 会根据目标电流方向查正弦表,计算 A/B 两相线圈的电流幅值,再通过 PWM/DAC 等效方式设置电流参考,同时用 GPIO 控制两相桥臂方向。
对应源码主要在:
Ctrl-Step-Driver-STM32F1-fw/Ctrl/Driver/tb67h450_base.cppCtrl-Step-Driver-STM32F1-fw/Port/tb67h450_stm32.cpp
这种方式不是简单给步进电机发脉冲,而是根据闭环误差输出电流矢量,因此动作更平滑,也能根据反馈判断是否到位。
位置反馈与校准
位置反馈使用 MA782 磁角度传感器,通过 SPI 读取角度数据。程序会读取 16 bit 角度字,并根据配置保留对应分辨率,再通过校准表得到修正后的角度。
对应源码主要在:
Ctrl-Step-Driver-STM32F1-fw/Ctrl/Sensor/Encoder/ma782_base.cppCtrl-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.cppCtrl-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 步进方案核心算法
闭环步进算法主要包含四个关键点:
- 位置展开:MA782 只能直接提供单圈角度,程序会判断本次角度和上次角度的差值。如果跨过 0 点,就对差值进行补偿,从而得到连续的多圈位置。
- 速度估算:根据位置差和控制频率估算速度,并加入简单滤波,使速度反馈更稳定。
- DCE/PID 控制:位置模式下根据目标位置、估算位置和估算速度计算目标电流;速度模式下通过速度 PID 得到目标电流;电流模式下直接输出目标电流。
- 两相电流矢量:驱动层根据目标电流方向查正弦表,让 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。运行时主要做以下事情:
- 电流采样:
CurrentSensor_Embed读取 ADC1/ADC2 注入通道,得到 U/V/W 三相电流。 - Clarke/Park 变换:把三相静止坐标系电流转换到随转子旋转的 d/q 坐标系,得到
Id和Iq。 - 角度读取:
Encoder_MA782通过 SPI 读取 MA782 角度,结合极对数计算电角度。 - 速度估算:根据本次角度和上次角度差值计算转速,并用低通滤波降低抖动。
- 外环控制:角度模式下角度环输出速度目标,速度环输出 q 轴电流目标;电流模式下直接给 q 轴电流目标。
- 电流环控制:d 轴电流通常控制到 0,q 轴电流用于控制转矩输出。
- 反 Park / 反 Clarke:把 d/q 轴电压重新变换成三相电压占空比。
- 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设计
本次机器人夹爪作品完成了两条技术路线的验证:
- 闭环步进电机方案完成了夹爪结构、电机驱动、位置反馈、闭环控制和动作演示,能够证明作品可以完成既定的夹爪开合与夹取功能。
- 4310 无刷电机方案完成了基于 STM32G431、MPM54304 和 MA782 的一体化 FOC 控制板设计、软件验证、实物焊接、装配和基础运行验证,证明该方案具备继续向高性能夹爪升级的可行性。
从参赛作品角度看,闭环步进方案保证了作品完整性和可演示性;4310 无刷方案展示了后续提升方向和更高的技术扩展空间。两套方案共同构成了这次项目的完整探索:先用闭环步进实现稳定可用,再用 4310 无刷 FOC 探索更高集成度和更高性能。
到这里,这个机器人夹爪项目已经完成了从方案设计、PCB 制作、源码调试到实物演示的完整闭环。后续我会继续基于这次结果优化机械结构和控制策略,让夹爪在实际机器人末端应用中更加稳定、紧凑和可靠。































