快速开始
SANPO 机器人集成开发板用于将电脑或主控板连接到 CAN/RS485 关节电机。开发板支持 USB、SPI、串口和 Linux SocketCAN,并提供离线执行、IIC(I²C)/ADC/串口外设扩展和固件二次开发能力。
本文适用于基于 STM32F407、预装 V4 固件的标准版、CAN 隔离版和 RS485 隔离版。STM32G473 FDCAN 升级版请访问 V6 版本说明文档。
本页目录
产品概览
SANPO 机器人集成开发板内置两颗 STM32F407,可以同时连接多路 CAN 和 RS485 电机。电脑可以通过 USB 串口或 SocketCAN 接入,Jetson、树莓派等主控板也可以通过 SPI 接入。
项目 |
参数 |
|---|---|
处理器 |
2 颗 STM32F407 |
主控接入方式 |
USB / SPI / 串口 / SocketCAN |
电机通信接口 |
4 路独立 CAN + 4 路独立 RS485 |
电机系统供电 |
0 V~58 V |
控制系统供电 |
USB、5 V 接线座、上位机 5 V GPIO |
输出电源 |
0 V~58 V / 3.3 V |
瞬态保护能力 |
峰值 1.5 kW,钳位电压 93 V |
供电和电机接口 |
1 个 XT60 电源输入;8 个独立 XT30 电机接口 |
扩展和调试接口 |
IIC(I²C)/ ADC / 串口 / SWD |
开发板适合机器人关节电机调试、CAN/RS485 混合总线控制和产品原型开发。针对电机启动、急停和换向时可能产生的瞬态电压,开发板提供了相应的保护。
强弱电分区供电
XT60 接口用于 0 V~58 V 电机系统供电;控制系统可以通过 USB、5 V 接线座或上位机 5 V GPIO 供电。强弱电分区供电可以减少电机启动、急停和换向对控制系统的影响。CAN 隔离版和 RS485 隔离版还使用了隔离收发器,可以进一步减少总线信号之间的相互影响。
开发板接口图
具体接线时,请以开发板实物丝印和接口定义为准。如需查看完整电路和 MCU 引脚定义,请参考 原理图与引脚定义。

控制协议
请根据主控设备和电机接口选择对应说明:
使用方式 |
推荐文档 |
|---|---|
Linux 通过 SocketCAN 的 |
|
直接发送 RS485 原始数据(指令间至少保留 3 ms 无数据间隔;连续高速实时控制请使用 SANPO 封装协议) |
|
通过 USB 串口控制指定的 CAN 接口 |
|
通过 USB 串口高频实时控制指定的 RS485 接口 |
|
Jetson、树莓派等主控板通过 SPI 实时控制 CAN |
|
Jetson、树莓派等主控板通过 SPI 实时控制 RS485 |
调试软件
建议根据电机类型和调试方式选择对应软件:
SANPO 关节电机调试软件(支持各类标准关节电机):Sanpo Studio Motor Tools
CAN 调试工具:Linux
can-utils、Windows CANgaroo 等小米电机官方调试软件(USB 转 CAN):小米 CyberGear 调试软件
宇树电机官方调试软件(USB 转 RS485):宇树 GOM8010 调试软件
离线执行
开发板可以预先保存一组指令,并在没有电脑持续发送数据的情况下按设定周期执行。具体命令和测试方法请参考 离线批量执行。
固件与二次开发
可以根据需要选择两种开发方式:
开发方式 |
适合用途 |
|---|---|
保留原厂 USB、SocketCAN、SPI、CAN、RS485 功能,使用 STM32CubeIDE 或 Keil 增加传感器、IIC、ADC 和串口外设 |
|
使用 Keil 的 CAN 标准帧、CAN 扩展帧或 RS485 样例,自己开发通信和设备控制逻辑 |
如果只是增加 IIC、ADC、串口设备或自己的指令,优先选择原厂固件二次开发;如果需要完全控制 CAN/RS485 协议和程序结构,再选择自定义固件开发。
固件烧录和版本更新请参考 固件更新。两颗 STM32 需要通过各自的 SWD 接口分别烧录;使用相同功能时可以烧录同一个固件文件。
重要: 更新固件时不要执行全片擦除。MCU Flash 的 Sector 7 保存了出厂初始化配置,擦除后需要重新进行出厂初始化。
USB 接入示例(PC / 上位机调试)
USB 适合 PC 调试、联机控制和功能验证。接线完成后,可以使用 SANPO Studio、设备厂家提供的调试软件或自己的上位机程序控制 CAN/RS485 电机。
Windows 可以使用 SANPO Studio、设备厂家提供的调试软件或自己的程序。
Linux 可以使用 USB 串口;V4.6 及以后固件也支持通过
canX网络接口使用 SocketCAN。电机侧应根据实际协议连接 CAN 或 RS485 接口。


SPI 接入示例(Jetson、树莓派等主控板)
SPI 适合 Jetson Nano、树莓派等主控板与开发板之间的实时通信。
在 Jetson、树莓派等 Linux 主控上,软件中的 CS0 和 CS1 通常分别对应开发板丝印的 CS1 和 CS2。CS1 访问 STM32 MCU(1),CS2 访问 STM32 MCU(2)。
Jetson Nano 和树莓派仅作为示例,其他主控板也可以按照对应的 SPI 信号连接。
电机侧可根据实际电机协议选择 CAN 或 RS485 总线连接方式。

Jetson Nano 接线

树莓派接线
