步進(jìn)電機(jī)每輸入一個(gè)脈沖信號(hào),轉(zhuǎn)子就轉(zhuǎn)動(dòng)一個(gè)角度或前進(jìn)一步,其輸出的角度輸入的脈沖數(shù)成正比,轉(zhuǎn)速與脈沖頻率成正比。它的驅(qū)動(dòng)方式也比普通的有刷直流電機(jī)復(fù)雜。
本節(jié)我們就來(lái)講講步進(jìn)電機(jī)最基礎(chǔ)的驅(qū)動(dòng)方式。
1)步進(jìn)電機(jī)的內(nèi)部結(jié)構(gòu)
先簡(jiǎn)單介紹一下主要的兩種步進(jìn)電機(jī):?jiǎn)螛O性和雙極性。
如下圖所示,左邊是單極性電機(jī);右邊是雙極性電機(jī)。單極性電機(jī)線圈內(nèi)的電流只有一個(gè)方向,雙極性電機(jī)線圈內(nèi)的電流是雙向的:
而相數(shù),則是內(nèi)部線圈的組數(shù);一般的步進(jìn)電機(jī)都可以看作是兩相電機(jī)變化而來(lái)的。
本文我們使用最簡(jiǎn)單的五線四相制的電機(jī)(28BYJ-48),驅(qū)動(dòng)方法也都是以它來(lái)講的,其他種類的大同小異。就是如下圖這種步進(jìn)電機(jī),以及驅(qū)動(dòng)板:
它內(nèi)部的接線關(guān)系如下圖所示,正極是公共的,其他四個(gè)端口各對(duì)應(yīng)一組線圈的負(fù)極:
驅(qū)動(dòng)板的原理圖如下,就是一個(gè)nln2003的達(dá)林頓管驅(qū)動(dòng)器(忽略右下角的燈,基本毫無(wú)用處⊙﹏⊙b汗),IN1IN4處輸入高電平,對(duì)應(yīng)的OUT1OUT4會(huì)輸出低電平:
2)步進(jìn)電機(jī)的驅(qū)動(dòng)方法
最基本的方法有3種,單4拍法、雙4拍法、單雙8拍法。
a)單4拍法驅(qū)動(dòng)
驅(qū)動(dòng)過(guò)程如下圖所示,4個(gè)步驟一個(gè)周期,每個(gè)時(shí)刻只有一相通電:
先給A相通電,其他相斷電,則轉(zhuǎn)子的對(duì)應(yīng)極被吸引到A相處,如步驟1;
后續(xù)依次給B、C、D相通電,則轉(zhuǎn)子會(huì)轉(zhuǎn)到B、C、D處,如步驟2、3、4;
最后再給A相通電,其他相斷電,轉(zhuǎn)子又回到A處;周而復(fù)始,使得轉(zhuǎn)子不斷旋轉(zhuǎn)。
各相的導(dǎo)通過(guò)程如下圖所示:
這種方法每次都只有一相通電,所以稱為單4拍法。
b)雙4拍法驅(qū)動(dòng)
驅(qū)動(dòng)過(guò)程如下圖所示,也是4個(gè)步驟一個(gè)周期,不同的是每個(gè)時(shí)刻都有相鄰的兩相通電:
先給A相、B相通電,其他相斷電,則轉(zhuǎn)子的對(duì)應(yīng)極被吸引到A、B相中間處,如步驟1;
后續(xù)依次給BC、CD、DA相通電,如步驟2、3、4;
最后再給A、B相通電,其他相斷電,轉(zhuǎn)子又回到AB相之間;周而復(fù)始,使得轉(zhuǎn)子不斷旋轉(zhuǎn)。
雙4拍法每個(gè)時(shí)刻會(huì)有兩組線圈導(dǎo)通,所以電機(jī)的輸出力矩比單4拍法更大。
各相的導(dǎo)通過(guò)程如下圖所示:
c)單雙8拍法驅(qū)動(dòng)
驅(qū)動(dòng)過(guò)程如下圖所示,8個(gè)步驟一個(gè)周期:
這種方法類似于單4拍和雙4拍的組合。
先給A相通電,其他相斷電,轉(zhuǎn)子在A處;
再給A、B相通電,其他相斷電,則轉(zhuǎn)子來(lái)到AB之間;
然后給B相通電,其他相斷電,轉(zhuǎn)子來(lái)到B處;
再給B、C相通電,其他相斷電,轉(zhuǎn)子來(lái)到BC之間;
之后類似,一共8個(gè)步驟可以完成一個(gè)周期的運(yùn)動(dòng)。
8拍法驅(qū)動(dòng)時(shí),轉(zhuǎn)子的位置比4拍法多兩個(gè)中間態(tài),所以轉(zhuǎn)動(dòng)時(shí)的位置控制更加精確一些,但是由于它有時(shí)是一相通電,有時(shí)是兩相通電,所以在不同位置的力矩是不同的。
各相的導(dǎo)通過(guò)程如下圖所示:
3)使用stm32編程驅(qū)動(dòng)電機(jī)
先看連接方式,使用PA0、PA1、PA2、PA3驅(qū)動(dòng)A、B、C、D四相。PA03連接到驅(qū)動(dòng)板的IN1IN4;驅(qū)動(dòng)板使用5V供電。
經(jīng)過(guò)上一節(jié)了解了上述三種驅(qū)動(dòng)方法后,就很容易寫(xiě)出驅(qū)動(dòng)代碼了。
如下是單4拍驅(qū)動(dòng)的主要代碼:
定義兩個(gè)常量數(shù)組,F(xiàn)_Rotation存正向旋轉(zhuǎn)的各相導(dǎo)通值,B_Rotation存反向旋轉(zhuǎn)的值;
主循環(huán)中,每隔一個(gè)周期,去改變接通的相,4個(gè)拍一循環(huán),就能實(shí)現(xiàn)電機(jī)轉(zhuǎn)動(dòng)了。
雙四拍只要將定義的數(shù)組值更改一下就可以實(shí)現(xiàn)。
如下是8拍驅(qū)動(dòng)的代碼,原理是一樣的,就不多解釋了:
4)注意事項(xiàng)
對(duì)于確定的驅(qū)動(dòng)方式,步進(jìn)電機(jī)每拍轉(zhuǎn)過(guò)的角度是相同的,所以,如果想要改變轉(zhuǎn)速,只要改變每拍的延時(shí)就可以了,也就是改變周期。
但是要注意,不能超過(guò)電機(jī)參數(shù)要求,如我們使用的這個(gè)電機(jī)(28BYJ-48)的參數(shù):
最大空載牽出頻率>900pps,最大空載牽入頻率>500pps。
也就是說(shuō)空載轉(zhuǎn)動(dòng)時(shí),最快的驅(qū)動(dòng)拍頻率最好不要超過(guò)900Hz;空載啟動(dòng)時(shí),最快的驅(qū)動(dòng)拍頻率最好不要超過(guò)500Hz,因?yàn)閱?dòng)時(shí)初始轉(zhuǎn)速?gòu)牧汩_(kāi)始,驅(qū)動(dòng)拍太快的話會(huì)失步,可能無(wú)法轉(zhuǎn)動(dòng)起來(lái)。所以程序里也設(shè)計(jì)成了500Hz(2ms延時(shí))一拍。
一般情況下,系統(tǒng)最好設(shè)計(jì)成,啟動(dòng)時(shí)慢轉(zhuǎn)速,之后逐漸加快到需要的轉(zhuǎn)速。
-
直流電機(jī)
+關(guān)注
關(guān)注
36文章
1705瀏覽量
69981 -
步進(jìn)電機(jī)
+關(guān)注
關(guān)注
150文章
3084瀏覽量
147195 -
脈沖信號(hào)
+關(guān)注
關(guān)注
6文章
392瀏覽量
36858
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論