背景
之前學(xué)習(xí)了定時器的一些基本知識,實現(xiàn)了1ms的定時,本次學(xué)習(xí)定時器的PWM功能,用定時器產(chǎn)生的PWM波作為步進電機的脈沖頻率,實現(xiàn)步進電機轉(zhuǎn)動控制,并實現(xiàn)電機S型曲線的加減速控制。
步進電機基本知識
步進電機根據(jù)接線關(guān)系分為雙極性和單極性,單極性兩組線圈中間有抽頭,接電源;而雙極性的線圈中間無抽頭。本次實驗采用雙極性42步進電機,24V供電。
步進電機外觀圖
電機驅(qū)動原理圖及控制接線關(guān)系
本次電機驅(qū)動芯片采用TOSHIBA的TB67S109AFTG芯片來驅(qū)動雙極性步進電機,該芯片支持最大驅(qū)動電壓為50V,最大驅(qū)動電流為5A,最大支持32細分。
驅(qū)動電機原理圖
接線關(guān)系
細分控制引腳分配
DMODE0 -----> PB0 DMODE1 ------> PB1 DMODE2 ------> PB2
電機正反轉(zhuǎn)控制引腳
CW/CCW----> PC0
驅(qū)動芯片使能控制引腳
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ù)的結(jié)構(gòu)體定義
電機控制參數(shù)結(jié)構(gòu)體定義1
電機控制參數(shù)結(jié)構(gòu)體定義2
計算電機加減速參數(shù)1
計算電機加減速參數(shù)2
計算電機加減速參數(shù)3
然后在定時的中斷回調(diào)函數(shù)中添加,電機加減速服務(wù)函數(shù)即可。
定時器中斷回調(diào)函數(shù)
本次實驗使用的板子
實驗的主控板
實驗的電機驅(qū)動板
-
PWM
+關(guān)注
關(guān)注
116文章
5493瀏覽量
219229 -
電機驅(qū)動
+關(guān)注
關(guān)注
60文章
1308瀏覽量
87799 -
步進電機
+關(guān)注
關(guān)注
152文章
3165瀏覽量
149666 -
定時器
+關(guān)注
關(guān)注
23文章
3298瀏覽量
118787 -
STM32F103
+關(guān)注
關(guān)注
33文章
483瀏覽量
65484
發(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)定時器實驗的詳細資料說明

基于定時器中斷的ULN2003驅(qū)動器/步進電機驅(qū)動程序

步進電機驅(qū)動算法之梯形加減速算法

用STM32定時器中斷產(chǎn)生PWM控制步進電機

學(xué)習(xí)STM32F103的定時器功能

評論