寫Arduino控制程式 3

日記:

今天知道Arduino不能夠同時使兩個馬達作動,於是今天將馬達的控制程式改成有順序的動作,達成利用Arduino控制兩個馬達,但在測試的過程發現懸盤上的馬達在手臂伸出去後沒辦法收回來,原因可能是馬達的力量不夠,目前有兩個方案:(1).減速機 (2)馬達變更為可控制角度的馬達。

減速機優點:

1.提高馬達的輸出力。 2.加長手臂移動的時間,控制馬達運轉時間的方法會更精確。 3.馬達到定位後受慣性和重力的影響會變小,因為馬達本身的阻尼透過減速機會變大。

缺點:

複雜

更換馬達優點:

用了可以解決大部分問題

缺點:

目前沒想到

應該是利用第二種方案的可能性比較大,還沒有決定好。

備註:

1.今天將控制兩個馬達的程式完成 ( 程式1 ),若採用減速機來解決馬達輸出力不足的問題,這套就接上旋盤旋轉的程式完成。

2.若採用更換馬達來解決馬達輸出力不足的問題,會在新增角度控制的程式到程式中,還沒有寫出來。

程式1:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <Servo.h>

Servo myservo1; 
Servo myservo2;

void setup() 
{ 
  Serial.begin(9600);
  myservo1.attach(9);
  myservo2.attach(10);

}

void loop() 
{ 
  int d;
  int e;
  //att.write(90);
  myservo1.write(90);   //啟動時固定
  myservo2.write(90);   //啟動時固定
  if(Serial.available()){
    d = Serial.parseInt();
    Serial.println(d);   
    if(0 <= d && d <= 130){
      //e=1000*asin(d/130)*180/PI/144;  //將輸入的距離轉換成需要旋轉的時間
      myservo1.write(175);   //1固定正轉
      delay(250); //旋轉此時間會讓馬達與安裝面垂直
      myservo1.write(5);   //慣性補正
      delay(10);
      myservo1.write(91);  //引力補正
      delay(1000);

      myservo2.write(175);   //2固定正轉
      delay(250); //旋轉此時間會讓馬達與安裝面垂直
      myservo2.write(5);   //慣性補正
      delay(10);
      myservo2.write(91);  //引力補正
      delay(1000);

      myservo2.write(175); //2固定正轉
      delay(375);           //正轉移動到目的地所需的時間
      myservo2.write(5);   //慣性補正
      delay(10);
      myservo2.write(91);  //引力補正
      delay(1000);

      myservo1.write(175); //1固定正轉
      delay(375);            //正轉移動到目的地所需的時間
      myservo1.write(5);   //慣性補正
      delay(10);
      myservo1.write(89);  //引力補正
      delay(1000);

      myservo1.write(5);   //固定反轉
      delay(375);           //反轉相同時間復歸
      myservo1.write(5);   //固定反轉
      delay(270);

      myservo2.write(5);   //固定反轉
      delay(e);           //反轉相同時間復歸
      myservo2.write(5);   //固定反轉
      delay(270);
    }
  }
}

結語:

手臂總算有一個能夠控制的程式出來了,等到輸出力不足的問題解決後測試的手臂就算完成了,接下來就可以依使用尺寸做一個實際使用的手臂。


Comments

comments powered by Disqus