You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32 G431RB与SABERTOOTH 2X32通信异常,电机驱动故障求助

SABERTOOTH 2X32与STM32 G431RB通信故障问题

问题背景

此前通过Arduino转接STM32 G431RB与SABERTOOTH 2X32电机驱动器通信,虽能正常驱动电机,但稳定性较差。移除Arduino直接连接两者后,完全无法建立通信。

第一次尝试:复刻Arduino通信信号

通过Hercules桌面软件捕获了Arduino发送给驱动器的有效信号,尝试用STM32的USART发送相同信号,但驱动器无任何响应。代码如下:

uint8_t openRightSS[5] = {0x31, 0x32, 0x30, 0x0D, 0x0A};
// 这些十六进制值是从Hercules捕获的,Arduino发送时驱动器能正常工作
HAL_UART_Transmit(&huart3, openRightSS,5,100);

官方协议尝试:数据包串行通信

查阅了SABERTOOTH 2X32的官方数据包串行通信文档,其中提到了CRC和校验和机制,但按照文档实现后仍无法驱动电机。

第二次尝试:按协议构造驱动指令

尝试按照官方协议构造电机正反转的指令数据包,编写了对应驱动函数,但问题依旧未解决。代码如下:

void driveForwardMotor1(uint8_t address, uint8_t speed)
{
    HAL_UART_Transmit(&huart3, address, strlen(address), 1000);
    HAL_UART_Transmit(&huart3, 0, 1, 1000);
    HAL_UART_Transmit(&huart3, speed, strlen(speed), 1000);
    HAL_UART_Transmit(&huart3, ((address + 0 + speed) & (0b01111111)), strlen((address + 0 + speed) & (0b01111111)), 1000);

}
void driveBackwardMotor1(uint8_t address, uint8_t speed)
{
    HAL_UART_Transmit(&huart3, address, strlen(address), 1000);
    HAL_UART_Transmit(&huart3, 1, 1, 1000);
    HAL_UART_Transmit(&huart3, speed, strlen(speed), 1000);
    HAL_UART_Transmit(&huart3, ((address + 1 + speed) & (0b01111111)), strlen((address + 1 + speed) & (0b01111111)), 1000);
}
void driveForwardMotor2(uint8_t address, uint8_t speed)
{
    HAL_UART_Transmit(&huart3, address, strlen(address), 1000);
    HAL_UART_Transmit(&huart3, 4, 1, 1000);
    HAL_UART_Transmit(&huart3, speed, strlen(speed), 1000);
    HAL_UART_Transmit(&huart3, ((address + 4 + speed) & (0b01111111)), strlen((address + 4 + speed) & (0b01111111)), 1000);

}
void driveBackwardMotor2(uint8_t address, uint8_t speed)
{
    HAL_UART_Transmit(&huart3, address, strlen(address), 1000);
    HAL_UART_Transmit(&huart3, 5, 1, 1000);
    HAL_UART_Transmit(&huart3, speed, strlen(speed), 1000);
    HAL_UART_Transmit(&huart3, ((address + 5 + speed) & (0b01111111)), strlen((address + 5 + speed) & (0b01111111)), 1000);
}

内容的提问来源于stack exchange,提问作者cihadkck

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:31:02