在本教程中,我們將使用?MSP430?連接步進(jìn)電機(jī)。MSP-EXP430G2 是德州儀器提供的開(kāi)發(fā)工具,又名 LaunchPad,用于學(xué)習(xí)和練習(xí)如何使用其微控制器。該板屬于 MSP430 超值系列類別,我們可以在其中對(duì)所有 MSP430 系列微控制器進(jìn)行編程。
步進(jìn)電機(jī):
步進(jìn)電機(jī)是一種無(wú)刷直流電機(jī),可將電脈沖轉(zhuǎn)換為不同的機(jī)械運(yùn)動(dòng)。步進(jìn)電機(jī)的軸以離散的步進(jìn)旋轉(zhuǎn)。我們可以根據(jù)需要獲得精確的步驟和速度。
我們將使用市場(chǎng)上便宜的35BYJ46雙極步進(jìn)電機(jī)。它有 6根電線,但也帶有 5 根電線。我們的步進(jìn)電機(jī)中有2個(gè)線圈。每個(gè)都有 3 根電線從中出來(lái)。在 3 根電線中,1 根是中心抽頭,因此,其余 2 根電線直接與線圈連接。我們總共有 4 根信號(hào)線和 2 根中心抽頭線,它們與 5-12V?電源連接。
如果電機(jī)總共有 5 根電線出來(lái),則 4 根是信號(hào)線,1 根是兩個(gè)線圈的中心抽頭。喜歡這個(gè)。
要檢查哪根電線居中抽頭或哪根是信號(hào)線,您必須檢查從電機(jī)出來(lái)的電線的電阻。因此,與中心抽頭的電阻相比,與同一線圈連接的那些導(dǎo)線具有很高的電阻值。
在上圖中,如果我們檢查了藍(lán)色和黃色電線的電阻值,并且它們之間的電阻大于黃色和紅色或藍(lán)色和紅色之間的值。所以,紅色是居中的絲線。
ULN2003 步進(jìn)電機(jī)驅(qū)動(dòng)器:
大多數(shù)步進(jìn)電機(jī)只能在驅(qū)動(dòng)器模塊的幫助下運(yùn)行。這是因?yàn)榭刂破髂K(在我們的例子中為MSP)將無(wú)法從其I / O引腳提供足夠的電流供電機(jī)運(yùn)行。因此,我們將使用ULN2003模塊等外部模塊作為步進(jìn)電機(jī)驅(qū)動(dòng)器。驅(qū)動(dòng)器模塊有多種類型,其中一種的額定值將根據(jù)所用電機(jī)的類型而變化。所有驅(qū)動(dòng)器模塊的主要原理是源出/吸收足夠的電流以使電機(jī)運(yùn)行。
在本項(xiàng)目中,我們將使用ULN2003電機(jī)驅(qū)動(dòng)器IC。IC的引腳圖如下:
如果 IC,我們將使用 4 個(gè)輸入端口和 4 個(gè)輸出端口。
所需材料:
MSP430
35BYJ46 或28-BYJ48 步進(jìn)電機(jī)
ULN2003 集成電路
電線
面包板
電路圖:
在上圖中,步進(jìn)器的紅線未與IC的PIN5連接。它必須與5V連接。步進(jìn)電機(jī)的顏色代碼可能與電路圖中給出的顏色不同。因此,在檢查正確的信號(hào)線后連接電線。
我們將使用Energia IDE編寫代碼。它與Arduino?IDE相同,易于使用。驅(qū)動(dòng)步進(jìn)器的示例代碼也可以在Arduino IDE的示例菜單中找到。
代碼和工作說(shuō)明:
在我們開(kāi)始使用 MSP430 進(jìn)行編程之前,讓我們了解程序內(nèi)部實(shí)際應(yīng)該發(fā)生的情況。我們將使用 4 步序列方法,因此我們將執(zhí)行四個(gè)步驟來(lái)進(jìn)行一次完整的旋轉(zhuǎn)。將 A、B、C 和 D 視為四個(gè)線圈。
步 | 引腳通電 | 線圈通電 |
步驟 1 | 6 和 7 | A 和 B |
步驟 2 | 7 和 8 | B 和 C |
步驟 3 | 8 和 9 | C 和 D |
步驟 4 | 9 和 6 | D 和 A |
在本教程中,我們將編寫MSP430步進(jìn)電機(jī)代碼。完整的程序可以在教程的末尾找到,下面解釋了幾個(gè)重要的行。
我們的步進(jìn)電機(jī)每轉(zhuǎn)的步數(shù)計(jì)算為 32;因此,我們輸入如下行所示
const int STEPS = 32;
接下來(lái),您必須創(chuàng)建實(shí)例,在其中指定已連接步進(jìn)電機(jī)的引腳。
Stepper myStepper (STEPS, 6, 7, 8, 9);
由于我們使用的是步進(jìn)庫(kù),因此可以使用以下行設(shè)置電機(jī)的速度。35BYJ46步進(jìn)電機(jī)的速度范圍在0到200之間。
Mystepper.setSpeed(200);
現(xiàn)在,為了使電機(jī)移動(dòng)一步,我們可以使用以下行。
myStepper.step(STEPS);
由于我們有 32 個(gè)步驟和 64 作為齒輪比,我們需要移動(dòng) 2048 (32*64=2048),才能完成一次旋轉(zhuǎn)?,F(xiàn)在,上傳以下代碼并更改編號(hào)。根據(jù)您的需要的步驟。