stm32 A4988驅動步進電機

2021-09-13 21:49:47 字數 916 閱讀 8796

1.步進電機用的2相四線,下面是某**。

2.驅動器是a4988模組,據說是3d印表機專用。

灰色的腳可以懸空,也可以用上。

enable    使能        1停止

step         pwm(50%)        控制速度   (頻率範圍:我試了下大概1hz-1khz都可以跑的,當然頻率越慢,電機相當於靜止狀態)

dir             控制方向

2b    ->    b+     (這裡網上沒怎麼說清楚,只說了什麼紅綠藍,鬼知道?)

1b    ->    b-

2a    ->    a+

1a    ->    a-

基本重要的就是這些,分步控制就是ms1 ms2 ms3,看後面。接線參考下面。

連線根據上面乙個沒有什麼問題,下面直接上**吧。stm32 通過tim3 ch1輸出pwm,也就是pa6

void pwm1_init()

void set_freq(u16 freq)

初始化就不介紹了,就是設定成不分頻,計數頻率最大為1m,

set_freq函式就是設定頻率,範圍1-1000000對應1hz-1mhz,這裡是理論值,實際上我的步進電機2khz好像就跑不起來了。

所以我認為1-2000的就夠了,注意電機剛起的時不能太高的頻率,一般低於500hz沒有問題。

A4988驅動步進電機

a4988一般用arduino來驅動,我是用stm32f103驅動的。我用的是 驅動比較好寫,首先要弄清楚接線方式。io初始化 void motor init void 細分 x 1 全步 x 2 半步 x 4 1 4步 x 8 1 8步 x 16 1 16步 void step micr u16 ...

STM32 除錯步進電機初級篇

採用驅動器 假設細分數為16細分 步距角為1.8 則每個脈衝產生的電機轉動角度為 1.8 16 0.1125 電機轉 一圈所需的脈衝數量為 s 360 0.1125 3200個脈衝。同理求得64細分 為12800個脈衝 128細分為25600個脈衝。如果步距角為0.9 則在1.8 求得資料上 2倍。...

stm32步進電機控制策略

1.中斷 計數 2.主從定時器方式。主定時器用來傳送脈衝控制速度,從定時器的自動過載暫存器為該次該次執行脈衝個數限制值用來控制電機轉動角度。從定時器的時鐘源為主定時器產生中斷的時鐘,也就是說主定時器溢位一次,從定時器計數值加一,從定時器中斷後手動關閉主定時器。3.dma pwm。dma傳輸的資料中最...