這一次是用電腦控制步進馬達的轉速

打開arduino介面才發現...單晶片處於失控狀態

我在猜可能是單晶片的電流不夠大,無法推動達零頓電路的大電流

(我用的atmega168每隻腳最多輸入輸出40mA,而步進馬達則會用掉600mA...)

所以我加了7404(反相器)

去做穩定脈波輸出的功能,然後就把問題解決掉了XD

結果產生新問題...電壓不夠大...只剩下3.4V左右

我再加了一顆7805做為電源的穩壓

提高到5V左右

 

7805雖然有散熱片,但是在5V,0.6A的輸出下...還真是燙@@

 

code:

 

const int A = 9;
const int B = 10;
const int a = 11;
const int b = 12;
int t = 30;

String readStr = String(100);
String str1 = String(3);
String str2 = String(10);

void setup()
{
  Serial.begin(9600);
  pinMode(A,OUTPUT);
  pinMode(B,OUTPUT);
  pinMode(a,OUTPUT);
  pinMode(b,OUTPUT);
}

void loop()
{
  //Serial.println("hello");
  while( Serial.available() )
  {
    delay(1);
    //delayMicroseconds(500);
    if( Serial.available() > 0 )
    {
      char c = Serial.read();  //gets one byte from serial buffer
      if (c == ';')
      {
        Serial.println(readStr);
        goto parce;
      }
      readStr += c;
    } //makes the string readString
  }     
  parce:  

  if ( readStr.length() > 0 )
  {
    int pos = readStr.length(); //capture string length
    str1 = readStr.substring(0, readStr.indexOf(' ')); //first part of string
    t = StringtoInt(str1);
    //str2 = readStr.substring(readStr.indexOf(' ') + 1, pos);
    //Serial.println("Recieving command: " + readStr);
    Serial.println(t);
    //command(str1, str2);
    readStr = "";
  }
 
  digitalWrite(A, HIGH);
  digitalWrite(B, HIGH);
  digitalWrite(a, LOW);
  digitalWrite(b, LOW);
  delay(t);
 
  digitalWrite(A, LOW);
  digitalWrite(B, HIGH);
  digitalWrite(a, HIGH);
  digitalWrite(b, LOW);
  delay(t);
 
  digitalWrite(A, LOW);
  digitalWrite(B, LOW);
  digitalWrite(a, HIGH);
  digitalWrite(b, HIGH);
  delay(t);
 
  digitalWrite(A, HIGH);
  digitalWrite(B, LOW);
  digitalWrite(a, LOW);
  digitalWrite(b, HIGH);
  delay(t);
}

int StringtoInt(String num)
{
  int NUM = 0;
  for( int i = 0; i < num.length() ; i++)
  {
    NUM += (num[i] - 48) * pow(10, num.length() - i - 1);//在百位數以上的時候,會有少1的bug
  }
  if( num.length() > 2)//如果輸入超過百位數,則補一//修正bug用的...
  {
    NUM += 1;
  }
  return NUM;
}


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 蘇兄 的頭像
    蘇兄

    Mens et manus

    蘇兄 發表在 痞客邦 留言(0) 人氣()