STM32 除錯步進電機初級篇

2021-07-04 13:26:40 字數 956 閱讀 1731

採用驅動器:

假設細分數為16細分 ,步距角為1.8°,則每個脈衝產生的電機轉動角度為

1.8°/16 = 0.1125°。

電機轉 一圈所需的脈衝數量為 s

360°/0.1125° = 3200個脈衝。

同理求得64細分 為12800個脈衝 ,128細分為25600個脈衝。如果步距角為0.9°則在1.8°求得資料上*2倍。

然後假設電機要達到的轉速為v(r/s),預分頻pre,裝載值arr,pwm初始脈衝寬度pul。

則脈衝頻率 = v * s 。

定時器頻率= fclk/(分頻值 * 裝載值) = fclk/((pre-1)*(arr-1))。

脈衝頻率 = 定時器pwm頻率=>:

v *s   = fclk/((pre-1)*(arr-1))。

pwm占空比 = pul/arr.

arr = fclk/((v * s)*(pre-1) ) + 1。

轉速v r/s

細分數 f/脈衝數

步距角fclk

分頻值裝載值arr

脈衝寬度50%占空比

16/3200

1.872m

312.5

arr/2

16/3200

1.872m

165.25

16/3200

1.872m

104.16

32/6400

1.872m

39.065

32/6400

1.872m

31.25

32/6400

1.872m

26.041

64/12800

1.872m

11.160

128/25600

1.872m

4.88

128/25600

1.872m

4.340

stm32步進電機控制策略

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

stm32控制電機

使用埠gpioa來連線電機,所以給gpioa程式設計就可以控制電機。使用系統時鐘systick來週期性的給電機傳送脈衝。用四個按鈕來控制需要傳送脈衝的個數,每個按鈕被按下就設定給電機傳送脈衝的個數,如果上一次給電機傳送的脈衝沒有傳送完成,這次按鈕傳送的脈衝將不被響應。由於需要控制兩個電機,所以將gp...

stm32 A4988驅動步進電機

1.步進電機用的2相四線,下面是某 2.驅動器是a4988模組,據說是3d印表機專用。灰色的腳可以懸空,也可以用上。enable 使能 1停止 step pwm 50 控制速度 頻率範圍 我試了下大概1hz 1khz都可以跑的,當然頻率越慢,電機相當於靜止狀態 dir 控制方向 2b b 這裡網上沒...