|
|
target_pulse_count:1600 8微分 電機(jī)旋轉(zhuǎn)角1.8° 正常來說1600應(yīng)該是一整圈.
1.設(shè)定TIM1 通道一輸出PWM占空比50%的脈沖.
2.在中斷這里計算當(dāng)前脈沖數(shù)值,達(dá)到目標(biāo)后停止電機(jī)使能,關(guān)閉PWM輸出 ,關(guān)閉定時器中斷.
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if (htim->Instance == TIM1) {
pulse_count++;
if (pulse_count >= target_pulse_count) { ;
MotorEnableCLOSE;
HAL_TIM_PWM_Stop(&htim1, TIM_CHANNEL_1);
HAL_TIM_Base_Stop_IT(&htim1);
}
}
}
3.在循環(huán)任務(wù)里延時幾秒后 pulse_count清零,再開啟電機(jī)使能,打開PWM輸出,打開定時器中斷.
實際上電機(jī)走個一二十圈就會有五六度的差異了.有大佬知道為什么嗎
|
|