鴿了一段時間,放心不會斷的哈,目前僅僅是顯示屏壞了,不影響后面項目
前文已經(jīng)配置了GPIO、編碼器
本節(jié)講解CubeMX高級定時器TIM1配置帶死區(qū)的6路互補的PWM
同時配置信號觸發(fā)后續(xù)ADC采集
板子引角的原理圖如下
對應的:
Motor1--U+--PA8--TIM1_CH1
Motor1--U---PB13--TIM1_CH1N
Motor1--V+--PA9--TIM1_CH1
Motor1--V---PB14--TIM1_CH1N
Motor1--W+--PA10--TIM1_CH1
Motor1--W---PB15--TIM1_CH1N
接著配置具體參數(shù)如下:
由于pwm控制頻率為10K,芯片的時鐘周期為168Hz,這里采用中心對齊的上下計數(shù)模式的計數(shù)周期為16800/2。計算公式為:
這里重復計數(shù)填1,根據(jù)下圖stm手冊,為的是在后面再每個PWM周期產生一個中斷事件
觸發(fā)事件選擇update?Event(控制adc采樣并進入中斷)
?
?
?死區(qū)配置(這里根據(jù)MOS管具體情況設置,后期可以在程序中直接改)
?最后各路PWM配置只需要把占空比改成周期的一半(16800/2/2),上下管各導通百分之50等效于單路輸出為0,同時便于觀察死區(qū)。
?芯片的時鐘樹配置如下
生成代碼
在初始化中開啟PWM
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
HAL_TIMEx_PWMN_Start(&htim1,TIM_CHANNEL_1);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);
HAL_TIMEx_PWMN_Start(&htim1,TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
HAL_TIMEx_PWMN_Start(&htim1,TIM_CHANNEL_3);
連接PWM1的兩路互補引腳,示波器觀察結果如圖:
文章來源:http://www.zghlxwxcb.cn/news/detail-554138.html
?一格25us,4格100us,剛好10Khz的頻率,并帶有死區(qū),說明配置正確文章來源地址http://www.zghlxwxcb.cn/news/detail-554138.html
到了這里,關于野火STM32電機系列(五)Cubemx配置高級定時器TIM1的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!