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