背景
之前學習了定時器的一些基本知識,實現了1ms的定時,本次學習定時器的PWM功能,用定時器產生的PWM波作為步進電機的脈沖頻率,實現步進電機轉動控制,并實現電機S型曲線的加減速控制。
步進電機基本知識
步進電機根據接線關系分為雙極性和單極性,單極性兩組線圈中間有抽頭,接電源;而雙極性的線圈中間無抽頭。本次實驗采用雙極性42步進電機,24V供電。
步進電機外觀圖
電機驅動原理圖及控制接線關系
本次電機驅動芯片采用TOSHIBA的TB67S109AFTG芯片來驅動雙極性步進電機,該芯片支持最大驅動電壓為50V,最大驅動電流為5A,最大支持32細分。
驅動電機原理圖
接線關系
細分控制引腳分配
DMODE0 -----> PB0 DMODE1 ------> PB1 DMODE2 ------> PB2
電機正反轉控制引腳
CW/CCW----> PC0
驅動芯片使能控制引腳
ENABLE ---->PC1
電機步進時鐘PWM輸入引腳(定時器2,第4通道)
CLK----->PB11
步進電機加減速原理
步進電機運行加減速控制,若是運行的距離不夠加減速控制的步數,則該軌跡為三角形,即沒有均速運行過程。
電機加減速運行軌跡
加速或減速控制曲線
根據電機加減速的曲線可以通過改變定時器的定時頻率,輸出不同頻率的PWM脈沖波,來實現電機的加減速。
代碼實現過程
cube mx軟件配置基本參數,實現定時器PWM和GPIO口控制的初始化。核心部分如下
定時器2的PWM波基本參數配置
生成代碼工程后,添加電機加減速控制代碼,其核心代碼如下
步進電機控制參數的結構體定義
電機控制參數結構體定義1
電機控制參數結構體定義2
計算電機加減速參數1
計算電機加減速參數2
計算電機加減速參數3
然后在定時的中斷回調函數中添加,電機加減速服務函數即可。
定時器中斷回調函數
本次實驗使用的板子
實驗的主控板
實驗的電機驅動板
-
PWM
+關注
關注
116文章
5320瀏覽量
217489 -
電機驅動
+關注
關注
60文章
1286瀏覽量
87420 -
步進電機
+關注
關注
152文章
3147瀏覽量
148893 -
定時器
+關注
關注
23文章
3273瀏覽量
116821 -
STM32F103
+關注
關注
33文章
481瀏覽量
64888
發布評論請先 登錄
STM32CubeIDE下配置STM32F103輸出帶死區的互補PWM波

F407步進電機梯形加減速算法是如何實現的?
STM32f103系列的定時器
rtt系統堆棧大小影響了定時器PWM的輸出如何解決呢
基于STM32F103系列單片機的11個定時器解析

STM32F103系列單片機中的定時器工作原理解析

STM32F103的4軸步進電機加減速控制工程的源代碼免費下載

用STM32定時器中斷產生PWM控制步進電機

評論