步進電機的驅動
stm32為例,使用ULN2003,TB6600電機驅動板,介紹步進電機的常用驅動方式。
步進電機
我使用的是一個教學用的小步進電機,驅動電壓只有5V,所有的步進電機驅動原理都是類似的,電機詳情如圖。
產品參數
該模塊為5線4相步進電機,可以使用普通的uln2003芯片驅動。
驅動要求:能夠提供較快的電流上升和下降速度,使電流波形經量接近矩形。提供具有戒指期間釋放電流流通的賄賂,以前降低繞組兩端的反電動勢,加快電流衰減。具有較高的功率及效率,步進電機的轉速與脈沖信號的頻率姐可以對單機進行調速。
內部結構圖
四拍驅動方式
在四線驅動方式中,每次僅有一個線圈通電,對磁鐵具有吸引作用,從而使電機進行轉動,每次轉動一個相位。改變脈沖方向,才可以正常運轉。
八拍驅動方式
再八相驅動方式中,實現了更精細的角度控制,適用于高精度場合。
ULN2003
步進電機要加驅動才可以正常運轉,其需要較大的驅動電流,單片機的引腳無法輸出電流無法滿足其需求,故需要ULN2003驅動芯片來驅動電機。
接線方式如圖:
程序設計
step_motor.h
這里使用了GPIOB的幾個IO口作為電機的驅動接口,當然你可以根據自己的需要修改。要特殊說明的是斷電狀態函數是由于步進電機在停止轉動時,如果線圈還在通電,會照成電機發熱甚至損壞,故在每次轉動后都要將電機處于斷電狀態。來保護電機。
step_motor.c
該驅動方式采用的是八拍的驅動方式,根據所在的拍數決定引腳的電平變化,電機按步數運行則是每步執行一個節拍,根據節拍的順序07或70來對電機進行轉動方向的控制,用每個節拍的間隔時間來對電機的轉動速度進行控制,間隔越短電機速度越快,扭矩也就越小。
按圈數運行,這里值得說明的是,步進電機每旋轉一個完整的周期(8拍)并使是轉軸旋轉了一圈,電機內部是由減速齒輪的,所以一個周期并不是一圈,這之間有一個轉換關系,不同的電機比例系數不同,這里也可以通過調節系數,來對電機進行旋轉角度的控制。