久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> Arduino >> 瀏覽文章

Arduino UNo 通過LM298n控制步進(jìn)電機(jī)(2)

作者:goingxu   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2014年04月21日   【字體:

兩相8拍程序,也是對(duì)網(wǎng)上找的程序進(jìn)行時(shí)序修改:

//八拍,半步:(+A)(+B)--(+B)--(-A)(+B)--(-A)--(-A)(-B)--(-B)--(+A)(-B)--(+A)--
int Pin0 = 8; //A
int Pin1 = 9; //A'
int Pin2 = 10;  //B
int Pin3 = 11;  //B'
int _step =0 ;
boolean dir = true;//正反轉(zhuǎn)
int stepperSpeed = 1500;//電機(jī)轉(zhuǎn)速,XX us一步, larger than 1500um
int stepN =0;
void setup()
{
  pinMode(Pin0, OUTPUT);
  pinMode(Pin1, OUTPUT);
  pinMode(Pin2, OUTPUT);
  pinMode(Pin3, OUTPUT);
}
 
void loop()
{
  switch(_step){
    case 0:
      digitalWrite(Pin0, HIGH);
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, HIGH);
      digitalWrite(Pin3, LOW);
    break;
    case 1:
      digitalWrite(Pin0, LOW);
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, HIGH);
      digitalWrite(Pin3, LOW);
    break;
    case 2:
      digitalWrite(Pin0, LOW);
      digitalWrite(Pin1, HIGH);
      digitalWrite(Pin2, HIGH);
      digitalWrite(Pin3, LOW);
    break;
    case 3:
      digitalWrite(Pin0, LOW);
      digitalWrite(Pin1, HIGH);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, LOW);
    break;
    case 4:
      digitalWrite(Pin0, LOW);
      digitalWrite(Pin1, HIGH);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, HIGH);
    break;
    case 5:
      digitalWrite(Pin0, LOW);
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, HIGH);
    break;
      case 6:
      digitalWrite(Pin0, HIGH);
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, HIGH);
    break;
    case 7:
      digitalWrite(Pin0, HIGH);
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, LOW);
    break;
    default:
      digitalWrite(Pin0, LOW);
      digitalWrite(Pin1, LOW);
      digitalWrite(Pin2, LOW);
      digitalWrite(Pin3, LOW);
      delay(1000);
    break;
  }
  if(dir){
    _step++;
  }else{
    _step--;
  }
  if(_step>7){
    _step=0;
  }
  if(_step<0){
    _step=7;
  }
  delayMicroseconds(stepperSpeed);
 
//delay(stepperSpeed);

  stepN++;
  if(stepN>=400)
  {
    dir = !dir;  //after turning 400 stepps, change direction.
    stepN =0;
    _step=10;//pause
  }
}

結(jié)論:

   兩段程序均可以運(yùn)行良好,空轉(zhuǎn)時(shí)沒有丟步。但當(dāng)時(shí)間間隔調(diào)小到一定程度后,電機(jī)無法轉(zhuǎn)動(dòng)。四拍時(shí)為2000us,八拍時(shí)1500微秒。沒有細(xì)調(diào),可能與負(fù)載有關(guān)。動(dòng)力老男孩文章中寫的是1500us,但我的電機(jī)無法運(yùn)動(dòng),是否和電機(jī)型號(hào)不同有關(guān)。 這個(gè)間隔決定了電機(jī)的轉(zhuǎn)速,因此這里的步進(jìn)電機(jī)空載轉(zhuǎn)速在四拍時(shí)約為2.5轉(zhuǎn)每秒(rps),八拍時(shí)約1.67rps。注意:四拍時(shí)電機(jī)200個(gè)脈沖1圈,單步步距1.8度;八拍時(shí)400個(gè)脈沖1圈,單步步距0.9度。如何進(jìn)行更高的細(xì)分?

   步進(jìn)電機(jī)調(diào)速主要是調(diào)整脈沖頻率,所以lm298n的兩個(gè)pwm波接口EnA、EnB直接接5v。

   實(shí)驗(yàn)了小角度擺動(dòng),擺角9度時(shí),理論可達(dá)40*1.67=66.8Hz,以后可以嘗試測(cè)量是否達(dá)到。

   當(dāng)電機(jī)不動(dòng)時(shí),如在loop()中用delay,電機(jī)使能,電流很大(超過1A),因此這里將電機(jī)停止運(yùn)動(dòng)時(shí)直接全部置低,電流就很小了(最大電流200ma),但停止時(shí)無法保持位置。這一矛盾應(yīng)該采用閉環(huán)控制克服。
 

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 久国产视频 | 国产一区不卡 | 中文字幕av在线播放 | 中文字幕一二三区 | 亚洲人人| 中文成人在线 | 一级片在线视频 | www.jizzjizz| 日韩一区二区三区精品 | www.国产 | 国产在线不卡 | 精品在线| 欧美一区二区三区一在线观看 | 亚洲美女av网站 | 午夜精品一区二区三区在线视频 | 91国产视频在线观看 | 免费看a | 国产一区二区精品自拍 | 国产精品久久久久aaaa九色 | 国产日韩在线观看一区 | 精品麻豆剧传媒av国产九九九 | 国产欧美在线 | 久久久久久国模大尺度人体 | 九九热精品在线 | www.久久久久久久久 | 亚洲一区二区三区在线 | 欧美xxxⅹ性欧美大片 | 国产黄色小视频在线观看 | 国产高清在线精品一区二区三区 | 精品一区二区三区在线观看国产 | 成人国产精品 | 操操日| 国产羞羞视频在线观看 | 成人精品视频99在线观看免费 | 亚洲国产精品99久久久久久久久 | 欧美成人精品 | 午夜在线影院 | 成人在线精品视频 | 尤物视频在线免费观看 | 在线观看黄视频 | 日韩av在线中文字幕 |