1. 程式人生 > >Arduino系列教程-020 步進電機

Arduino系列教程-020 步進電機

步進驅動器接收到一個脈衝訊號,它就驅動步進電機按設定的方向轉動一個固定的角度(及步進角)。本實驗就是通過控制脈衝個數來控制角位移量,從而達到準確定位的目的。

所需元器件

步進電機、驅動板、電位器、麵包板、跳線若干、Arduino控制板

    

  

原理圖

使用步進電機前一定要仔細檢視說明書,確認是四相還是兩相,各個線怎樣連線,本次實驗使用的步進電機是四相的,按照上圖接好電路。

實物圖

減速步進電機
直徑:28mm
電壓:5V
步進角度:5.625 x 1/64
減速比:1/64
5線4相 可以用普通uln2003晶片驅動,也可以接成2相使用
     該步進電機空載耗電在50mA以下,帶64倍減速器,輸出力矩比較大,可以驅動重負載,極適合開發板使用。注意:此款步進電機帶有64倍減速器,與不帶減速器的步進電機相比,轉速顯得較慢,為方便觀察,可在輸出軸處粘上一片小紙板。

程式程式碼

 /*
     * 步進電機跟隨電位器旋轉
     * (或者其他感測器)使用0號模擬口輸入
     * 使用arduino IDE自帶的Stepper.h庫檔案
     */
    
    #include <Stepper.h>
    
    // 這裡設定步進電機旋轉一圈是多少步
    #define STEPS 100
    
    // attached to設定步進電機的步數和引腳
    Stepper stepper(STEPS, 8, 9, 10, 11);
    
    // 定義變數用來儲存歷史讀數
    int previous = 0;
    
    void setup()
    {
      // 設定電機每分鐘的轉速為90步
      stepper.setSpeed(90);
    }
    
    void loop()
    {
      // 獲取感測器讀數
      int val = analogRead(0);
    
      // 移動步數為當前讀數減去歷史讀數
      stepper.step(val - previous);
    
      // 儲存歷史讀數
      previous = val;
    }

程式讀入後,試著旋轉電位器,看電機轉動角度有什麼變化,如果電機來回轉動就說明實驗成功了。

回顧與總結

在做實驗前要留意的就是你用的步進電機是四相還是二相的,注意介面的對應。本實驗的關鍵還在於調節脈衝的變化控制電機的轉動角度的變化。