快速开始

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 的 canX 网络接口控制 CAN 设备

SocketCAN

直接发送 RS485 原始数据(指令间至少保留 3 ms 无数据间隔;连续高速实时控制请使用 SANPO 封装协议)

RS485 原始数据透传

通过 USB 串口控制指定的 CAN 接口

SANPO USB 转 CAN

通过 USB 串口高频实时控制指定的 RS485 接口

SANPO USB 转 RS485

Jetson、树莓派等主控板通过 SPI 实时控制 CAN

SANPO SPI 转 CAN

Jetson、树莓派等主控板通过 SPI 实时控制 RS485

SANPO SPI 转 RS485

调试软件

建议根据电机类型和调试方式选择对应软件:

离线执行

开发板可以预先保存一组指令,并在没有电脑持续发送数据的情况下按设定周期执行。具体命令和测试方法请参考 离线批量执行

固件与二次开发

可以根据需要选择两种开发方式:

开发方式

适合用途

原厂固件二次开发

保留原厂 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 接口。

USB 接线示例

USB 接线示例2

SPI 接入示例(Jetson、树莓派等主控板)

SPI 适合 Jetson Nano、树莓派等主控板与开发板之间的实时通信。

  • 在 Jetson、树莓派等 Linux 主控上,软件中的 CS0 和 CS1 通常分别对应开发板丝印的 CS1 和 CS2。CS1 访问 STM32 MCU(1),CS2 访问 STM32 MCU(2)。

  • Jetson Nano 和树莓派仅作为示例,其他主控板也可以按照对应的 SPI 信号连接。

  • 电机侧可根据实际电机协议选择 CAN 或 RS485 总线连接方式。

SPI 接线示例

Jetson Nano 接线

Jetson Nano SPI 接线示例

树莓派接线

树莓派 SPI 接线示例