Przeglądaj źródła

优化加减速效果.修改PWM启动位置

1
JIU JIALIN 1 miesiąc temu
rodzic
commit
7267e3fa33
4 zmienionych plików z 455 dodań i 455 usunięć
  1. +10
    -10
      PLSR/PLSR/Core/Src/tim.c
  2. +2
    -2
      PLSR/PLSR/EWARM/settings/test.1.dnx
  3. +443
    -443
      PLSR/PLSR/EWARM/test.1.dep
  4. BIN
      PLSR/PLSR/EWARM/test.1/Exe/test.1.sim

+ 10
- 10
PLSR/PLSR/Core/Src/tim.c Wyświetl plik

@@ -648,10 +648,10 @@ void PLSR_PWM_Init(void)
MX_TIM2_Init(); // TIM2恢复用于脉冲计数
MX_TIM6_Init();

HAL_TIM_PWM_Start(&htim10, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim13, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim14, TIM_CHANNEL_1);
// __HAL_TIM_SET_COMPARE(&htim10, TIM_CHANNEL_1, htim10.Init.Period); // 确保PWM停止,避免意外输出
// __HAL_TIM_SET_COMPARE(&htim11, TIM_CHANNEL_1, htim11.Init.Period); // 确保PWM停止,避免意外输出
// __HAL_TIM_SET_COMPARE(&htim13, TIM_CHANNEL_1, htim13.Init.Period); // 确保PWM停止,避免意外输出
// __HAL_TIM_SET_COMPARE(&htim14, TIM_CHANNEL_1, htim14.Init.Period); // 确保PWM停止,避免意外输出

BackupSRAM_RestoreData();
}
@@ -1706,6 +1706,7 @@ void PLSR_Route_Init(PLSR_RouteConfig_t* route)
g_last_freq = 0; // 清零上一次计算的频率

PLSR_TIM6_SetUpdateFreq(50); //初始化TIM6更新频率为1000us(1ms)
PLSR_PWM_Stop(); // 确保PWM停止,避免意外输出
}

/**
@@ -1743,6 +1744,10 @@ void PLSR_Route_Start(PLSR_RouteConfig_t* route)
// 启动定时器
PLSR_TIM6_Start(); // 启动TIM6用于频率更新和等待时间计时
HAL_TIM_Base_Start_IT(&htim2); // 启动TIM2中断用于段切换
HAL_TIM_PWM_Start(&htim10, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim11, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim13, TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim14, TIM_CHANNEL_1);
}

/**
@@ -2306,12 +2311,7 @@ uint32_t PLSR_Calculate_FreqByPosition(PLSR_RouteConfig_t* route, uint8_t is_acc
// 更新全局变量(保存当前脉冲结束时的频率,供下次使用)
g_last_freq = freq_end;
// 限制频率范围
if (calculated_freq < PLSR_PWM_FREQ_MIN)
{
calculated_freq = PLSR_PWM_FREQ_MIN;
}
else if (calculated_freq > PLSR_PWM_FREQ_MAX)
if (calculated_freq > PLSR_PWM_FREQ_MAX)
{
calculated_freq = PLSR_PWM_FREQ_MAX;
}


+ 2
- 2
PLSR/PLSR/EWARM/settings/test.1.dnx Wyświetl plik

@@ -12,12 +12,12 @@
<ByteLimit>50</ByteLimit>
</Stack>
<StLinkDriver>
<stlinkserialNo>46232557</stlinkserialNo>
<stlinkfoundProbes />
<CStepIntDis>_ 0</CStepIntDis>
<LeaveTargetRunning>_ 0</LeaveTargetRunning>
<stlinkResetStyle>0</stlinkResetStyle>
<stlinkResetStrategy>2</stlinkResetStrategy>
<stlinkserialNo>46232557</stlinkserialNo>
<stlinkfoundProbes />
</StLinkDriver>
<DebugChecksum>
<Checksum>2012208745</Checksum>


+ 443
- 443
PLSR/PLSR/EWARM/test.1.dep
Plik diff jest za duży
Wyświetl plik


BIN
PLSR/PLSR/EWARM/test.1/Exe/test.1.sim Wyświetl plik


Ładowanie…
Anuluj
Zapisz