This commit is contained in:
2026-03-27 23:10:59 +08:00
parent 427b4f4eb8
commit 38258ca6e5
5 changed files with 15 additions and 13 deletions

View File

@@ -38,7 +38,7 @@ void MX_CAN1_Init(void)
/* USER CODE END CAN1_Init 1 */
hcan1.Instance = CAN1;
hcan1.Init.Prescaler = 4;
hcan1.Init.Prescaler = 2;
hcan1.Init.Mode = CAN_MODE_NORMAL;
hcan1.Init.SyncJumpWidth = CAN_SJW_2TQ;
hcan1.Init.TimeSeg1 = CAN_BS1_16TQ;
@@ -46,7 +46,7 @@ void MX_CAN1_Init(void)
hcan1.Init.TimeTriggeredMode = DISABLE;
hcan1.Init.AutoBusOff = ENABLE;
hcan1.Init.AutoWakeUp = DISABLE;
hcan1.Init.AutoRetransmission = DISABLE;
hcan1.Init.AutoRetransmission = ENABLE;
hcan1.Init.ReceiveFifoLocked = DISABLE;
hcan1.Init.TransmitFifoPriority = DISABLE;
if (HAL_CAN_Init(&hcan1) != HAL_OK)

View File

@@ -17,7 +17,7 @@ volatile uint32_t g_dbg_valid_accept = 0U;
/* ================= 机器人底盘物理参数 ================= */
#define WHEEL_RADIUS_M 0.06f
#define WHEEL_RADIUS_M 0.04f
#define WHEEL_TRACK_M 0.30f
#define PI_F 3.14159265358979323846f

View File

@@ -136,9 +136,9 @@ int main(void)
MX_CAN1_Init();
MX_UART4_Init();
/* USER CODE BEGIN 2 */
FourWheel_LADRC_Init();
HAL_Delay(1000);
CAN_App_Init();
FourWheel_LADRC_Init();
/* 启动 10ms 硬实时控制节拍。 */
if (HAL_TIM_Base_Start_IT(&htim6) != HAL_OK)

View File

@@ -261,9 +261,10 @@ void Motor_Update_RPM(float dt_s)
s_last_count[MOTOR_RR] = curr_count_rr;
/* 左侧输入镜像修正:让“车体前进”统一表现为正脉冲 / 正 RPM。 */
delta[MOTOR_FL] = (int16_t)(-delta[MOTOR_FL]);
delta[MOTOR_RL] = (int16_t)(-delta[MOTOR_RL]);
// delta[MOTOR_FL] = (int16_t)(-delta[MOTOR_FL]);
// delta[MOTOR_RL] = (int16_t)(-delta[MOTOR_RL]);
delta[MOTOR_FR] = (int16_t)(-delta[MOTOR_FR]);
delta[MOTOR_RR] = (int16_t)(-delta[MOTOR_RR]);
/* 用 32 位内部累加,避免偶发高速度时 16 位回绕。 */
s_odom_acc_ticks[MOTOR_FL] += delta[MOTOR_FL];
s_odom_acc_ticks[MOTOR_RL] += delta[MOTOR_RL];

View File

@@ -5,11 +5,12 @@ CAD.provider=
CAN1.ABOM=ENABLE
CAN1.BS1=CAN_BS1_16TQ
CAN1.BS2=CAN_BS2_4TQ
CAN1.CalculateBaudRate=500000
CAN1.CalculateTimeBit=2000
CAN1.CalculateTimeQuantum=95.23809523809524
CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,Prescaler,BS1,BS2,SJW,ABOM
CAN1.Prescaler=4
CAN1.CalculateBaudRate=1000000
CAN1.CalculateTimeBit=1000
CAN1.CalculateTimeQuantum=47.61904761904762
CAN1.IPParameters=CalculateTimeQuantum,CalculateTimeBit,CalculateBaudRate,Prescaler,BS1,BS2,SJW,ABOM,NART
CAN1.NART=ENABLE
CAN1.Prescaler=2
CAN1.SJW=CAN_SJW_2TQ
File.Version=6
GPIO.groupedBy=