2015年5月25日 星期一

課程29-步進馬達實驗

目的:

使用Arduino 控制步進馬達,讓步進馬達轉每次轉3.6度,並向右轉。

電子元件:

麵包板 x 1
Arduino 主板 x 1
步進馬達 x 1

接線圖說明:

Stepper(int steps, pin1, pin2, pin3, pin4):建立一個步進馬達的物件。
其中step是指轉一圈所需的步數,假使馬達定義每步的角度,用360去除,就會得到步數。例如:Stepper myStepper = Stepper(100, 5, 6, 7, 8);  表示每一步為3.6度,轉一圈總共100步。

Stepper: setSpeed(long rpms):設定步進馬達每分鐘轉速 (RPMs) ,需為正數。
這個函式並不會讓馬達轉動,只是設定好轉速,當呼叫Step()函式時才會開始轉動。

Stepper: step(int steps):啟動馬達行進steps步數。setSpeed()定義速度,正的表示一個方向, 負數表示反方向。

電路圖:


程式碼:

  1. #include <Stepper.h>
  2. #define STEPS 100
  3. Stepper stepper(STEPS, 8, 9, 10, 11);
  4. void setup(){
  5.  stepper.setSpeed(100);
  6. }
  7. void loop(){
  8.  for(int i=100;i>0;i--){
  9.    stepper.step(i);
  10.  }
  11. }

程式說明:

第一行 匯入Stepper.h
第二行 定義 STEPS 為 100
第三行 宣告一個Stepper物件,傳入參數和Pin腳。
第四行~第六行 初始設定stepper 的 setSpeed 為100。
第七行~第十一行 為主程式
第八行~第十行 使用For迴圈 整數變數 i 從100~1,每減1就執行下面程式。
第九行 把整數變數i 傳給 stepper.step。

圖表:


實驗影片:


參考資料:



1 則留言:

  1. 大大您好

    小弟是門外漢,最近有需要用到步進馬達綁線來拉升東西的需求,被拉物重量<1kg,然後拉伸控制的速度範圍在50~200mm/min,請教大大,我需要哪些東西呢?材料方面您們有在提供購買嗎?另外拉升速度只能由程式變更來控制,對嗎?

    還請您不吝指教,感謝

    回覆刪除

Arduino、Raspberry Pi、System Integration,如有問題或建議,可以互相討論喔~