背景
之前學習了定時器的一些基本知識,實現(xiàn)了1ms的定時,本次學習定時器的PWM功能,用定時器產生的PWM波作為步進電機的脈沖頻率,實現(xiàn)步進電機轉動控制,并實現(xiàn)電機S型曲線的加減速控制。
步進電機基本知識
步進電機根據(jù)接線關系分為雙極性和單極性,單極性兩組線圈中間有抽頭,接電源;而雙極性的線圈中間無抽頭。本次實驗采用雙極性42步進電機,24V供電。

步進電機外觀圖
電機驅動原理圖及控制接線關系
本次電機驅動芯片采用TOSHIBA的TB67S109AFTG芯片來驅動雙極性步進電機,該芯片支持最大驅動電壓為50V,最大驅動電流為5A,最大支持32細分。

驅動電機原理圖
接線關系
細分控制引腳分配
DMODE0 -----> PB0 DMODE1 ------> PB1 DMODE2 ------> PB2
電機正反轉控制引腳
CW/CCW----> PC0
驅動芯片使能控制引腳
ENABLE ---->PC1
電機步進時鐘PWM輸入引腳(定時器2,第4通道)
CLK----->PB11
步進電機加減速原理
步進電機運行加減速控制,若是運行的距離不夠加減速控制的步數(shù),則該軌跡為三角形,即沒有均速運行過程。

電機加減速運行軌跡

加速或減速控制曲線
根據(jù)電機加減速的曲線可以通過改變定時器的定時頻率,輸出不同頻率的PWM脈沖波,來實現(xiàn)電機的加減速。
代碼實現(xiàn)過程
cube mx軟件配置基本參數(shù),實現(xiàn)定時器PWM和GPIO口控制的初始化。核心部分如下

定時器2的PWM波基本參數(shù)配置
生成代碼工程后,添加電機加減速控制代碼,其核心代碼如下
步進電機控制參數(shù)的結構體定義

電機控制參數(shù)結構體定義1

電機控制參數(shù)結構體定義2

計算電機加減速參數(shù)1

計算電機加減速參數(shù)2

計算電機加減速參數(shù)3
然后在定時的中斷回調函數(shù)中添加,電機加減速服務函數(shù)即可。

定時器中斷回調函數(shù)
本次實驗使用的板子

實驗的主控板

實驗的電機驅動板
-
PWM
+關注
關注
116文章
5828瀏覽量
223274 -
電機驅動
+關注
關注
60文章
1365瀏覽量
88875 -
步進電機
+關注
關注
152文章
3212瀏覽量
151353 -
定時器
+關注
關注
23文章
3350瀏覽量
121422 -
STM32F103
+關注
關注
34文章
486瀏覽量
66908
發(fā)布評論請先 登錄
STM32CubeIDE下配置STM32F103輸出帶死區(qū)的互補PWM波
F407步進電機梯形加減速算法是如何實現(xiàn)的?
STM32f103系列的定時器
rtt系統(tǒng)堆棧大小影響了定時器PWM的輸出如何解決呢
基于STM32F103系列單片機的11個定時器解析
STM32F103的定時器觸發(fā)ADC官方程序免費下載
STM32F103系列單片機中的定時器工作原理解析
STM32F103的4軸步進電機加減速控制工程的源代碼免費下載
STM32F103的4軸步進電機加減速控制工程源代碼免費下載
使用STM32F103單片機實現(xiàn)定時器實驗的詳細資料說明
用STM32定時器中斷產生PWM控制步進電機

STM32F103定時器PWM驅動步進電機加減速
評論