步進電機是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,稱為"步距角",它的旋轉(zhuǎn)是以固定的角度一步一步運行的?梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。
步進電機是一種感應(yīng)電機,它的工作原理是利用電子電路,將直流電變成分時供電的,多相時序控制電流,用這種電流為步進電機供電,步進電機才能正常工作,驅(qū)動器就是為步進電機分時供電的,多相時序控制器。我們通過給驅(qū)動器提供不同數(shù)量的高低電平來控制電機旋轉(zhuǎn)的角度。
我們計算需要的脈沖數(shù),需要先了解驅(qū)動器的細分步數(shù)。每個驅(qū)動器都可以設(shè)置其細分步數(shù),我們選擇需要的細分步數(shù)然后計算脈沖數(shù)。如選擇細分步數(shù)為3600,則步進角=360/3600=0.1°。代表我們每提供一個高低脈沖(注意1個高電壓+1個低電壓才算一個脈沖)電機選裝0.1°,則若我們想要旋轉(zhuǎn)100°,那么只需要提供1000個脈沖即可。
下面詳細的說一下實現(xiàn)的具體方法,我們可在接收到軟件給我們下發(fā)的旋轉(zhuǎn)一定的角度命令后,計算需要旋轉(zhuǎn)的脈沖數(shù),然后可通過定時器控制高低電平持續(xù)的時間(通過控制持續(xù)的時間我們就可以控制我們電機的旋轉(zhuǎn)速度),在每次高低電平反轉(zhuǎn)時(此時會進到定時器中斷中)我們就可將設(shè)置的變量值+1(注意變量須從0開始計數(shù)),在判斷設(shè)置的變量是否為我們計算的脈沖數(shù)的2倍(高低電平需要進行翻轉(zhuǎn)2次才是1個脈沖),若是則證明電機已旋轉(zhuǎn)到我們需要的角度,則控制電機停下,若不是則需要繼續(xù)計數(shù),直到計數(shù)值滿足我們的需求在將電極停下。等待下次命令的到來,我們在進行下次的旋轉(zhuǎn)。經(jīng)過以上的操作我們就實現(xiàn)了電機旋轉(zhuǎn)角度的控制。
看到這里是不是感覺步進電機的控制很簡單,手里有步進電機的小伙伴是不是等不及的需要實驗一下了呢······
上面的例子細分步數(shù)正好是360的整倍數(shù),若不是整倍數(shù)則我們在計算脈沖數(shù)的時候就會得不到整數(shù),在多次旋轉(zhuǎn)時就會積累大角度誤差,影響我們的旋轉(zhuǎn)精度,如何提高旋轉(zhuǎn)精度就使我們下面需要研究的問題了,有的小伙伴會說可以用編碼器,但是一個精度高的編碼器價格會昂貴很多,剛剛學習步進電機使用的小伙伴可以先不必在意編碼器的問題,那么如何在沒有編碼器的情況下提高旋轉(zhuǎn)精度呢?下篇文章‘如何在沒有編碼器的情況下提高步進電機旋轉(zhuǎn)精度’的文章你值得閱讀。