<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 步進(jìn)電機(jī)28BYJ-48介紹和驅(qū)動(dòng)及編程

          步進(jìn)電機(jī)28BYJ-48介紹和驅(qū)動(dòng)及編程

          作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏

          28BYJ-48步進(jìn)電機(jī)

          本文引用地址:http://www.ex-cimer.com/article/201611/323037.htm

          步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(及步進(jìn)角)。您可以通過(guò)控制脈沖個(gè)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)您可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。

          步進(jìn)電機(jī)28BYJ48型四相八拍電機(jī),電壓為DC5V—DC12V。當(dāng)對(duì)步進(jìn)電機(jī)施加一系列連續(xù)不斷的控制脈沖時(shí),它可以連續(xù)不斷地轉(zhuǎn)動(dòng)。每一個(gè)脈沖信號(hào)對(duì)應(yīng)步進(jìn)電機(jī)的某一相或兩相繞組的通電狀態(tài)改變一次,也就對(duì)應(yīng)轉(zhuǎn)子轉(zhuǎn)過(guò)一定的角度(一個(gè)步距角)。當(dāng)通電狀態(tài)的改變完成一個(gè)循環(huán)時(shí),轉(zhuǎn)子轉(zhuǎn)過(guò)一個(gè)齒距。四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行,常見(jiàn)的通電方式有單(單相繞組通電)四拍(A-B-C-D-A。。。),雙(雙相繞組通電)四拍(AB-BC-CD-DA-AB-。。。),八拍(A-AB-B-BC-C-CD-D-DA-A。。。)

          紅線接電源5V,橙色電線接P1.3口,黃色電線接P1.2口,粉色電線接P1.1口,藍(lán)色接P1.0口。

          由于單片機(jī)接口信號(hào)不夠大需要通過(guò)ULN2003放大再連接到相應(yīng)的電機(jī)接口,如下:


          藍(lán)十六制(P1口)
          10000x08
          11000x0c
          01000x04
          01100x06
          00100x02
          00110x03
          00010x01
          10010x09

          順序剛好相反

          所以可以定義旋轉(zhuǎn)相序
          uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆時(shí)鐘旋轉(zhuǎn)相序表
          uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正時(shí)鐘旋轉(zhuǎn)相序表


          C語(yǔ)言代碼:

          #include
          #include
          #define uchar unsigned char
          #define uint unsigned int

          uchar code CCW[8]={0x08,0x0c,0x04,0x06,0x02,0x03,0x01,0x09}; //逆時(shí)鐘旋轉(zhuǎn)相序表
          uchar code CW[8]={0x09,0x01,0x03,0x02,0x06,0x04,0x0c,0x08}; //正時(shí)鐘旋轉(zhuǎn)相序表


          sbit K1=P3^2; //反轉(zhuǎn)按鍵
          sbit K2=P3^3; //正轉(zhuǎn)按鍵
          sbit K3=P3^4; //停止按鍵
          sbit FMQ=P3^6; // 蜂鳴器


          void delaynms(uint aa)
          {
          uchar bb;
          while(aa--)
          {
          for(bb=0;bb<115;bb++) //1ms基準(zhǔn)延時(shí)程序
          {
          ;
          }
          }

          }

          void delay500us(void)
          {
          int j;
          for(j=0;j<57;j++)
          {
          ;
          }
          }

          void beep(void)
          {
          uchar t;
          for(t=0;t<100;t++)
          {
          delay500us();
          FMQ=!FMQ; //產(chǎn)生脈沖
          }
          FMQ=1; //關(guān)閉蜂鳴器
          }


          void motor_ccw(void)
          {
          uchar i,j;
          for(j=0;j<8;j++) //電機(jī)旋轉(zhuǎn)一周,不是外面所看到的一周,是里面的傳動(dòng)輪轉(zhuǎn)了一周
          {
          if(K3==0)
          {
          break; //如果K3按下,退出此循環(huán)
          }
          for(i=0;i<8;i++) //旋轉(zhuǎn)45度
          {
          P1=CCW[i];
          delaynms(10); //調(diào)節(jié)轉(zhuǎn)速
          }
          }
          }


          void motor_cw(void)
          {
          uchar i,j;
          for(j=0;j<8;j++)
          {
          if(K3==0)
          {
          break; //如果K3按下,退出此循環(huán)
          }
          for(i=0;i<8;i++) //旋轉(zhuǎn)45度
          {
          P1=CW[i];
          delaynms(2); //調(diào)節(jié)轉(zhuǎn)速
          }
          }
          }



          void main(void)
          {
          uchar r;
          uchar N=64; //因?yàn)椴竭M(jìn)電機(jī)是減速步進(jìn)電機(jī),減速比的1/64 ,
          //所以N=64時(shí),步進(jìn)電機(jī)主軸轉(zhuǎn)一圈
          while(1)
          {
          if(K1==0)
          {
          beep();
          for(r=0;r{
          motor_ccw(); //電機(jī)逆轉(zhuǎn)
          if(K3==0)
          {
          beep();
          break;
          }
          }
          }
          else if(K2==0)
          {
          beep();
          for(r=0;r{
          motor_cw(); //電機(jī)反轉(zhuǎn)
          if(K3==0)
          {
          beep();
          break;
          }
          }
          }
          else
          P1=0xf0; //電機(jī)停止
          }


          }

          附:步進(jìn)電機(jī)小知識(shí)(轉(zhuǎn))

          1.什么是步進(jìn)電機(jī)?

          步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。通俗一點(diǎn)講:當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(及步進(jìn)角)。您可以通過(guò)控制脈沖個(gè)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)您可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。

          2.步進(jìn)電機(jī)分哪幾種?

          步進(jìn)電機(jī)分三種:永磁式(PM),反應(yīng)式(VR)和混合式(HB)
          永磁式步進(jìn)一般為兩相,轉(zhuǎn)矩和體積較小,步進(jìn)角一般為7.5度 或15度;
          反應(yīng)式步進(jìn)一般為三相,可實(shí)現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度,但噪聲和振
          動(dòng)都很大。在歐美等發(fā)達(dá)國(guó)家80年代已被淘汰;
          混合式步進(jìn)是指混合了永磁式和反應(yīng)式的優(yōu)點(diǎn)。它又分為兩相和五相:兩相步進(jìn)
          角一般為1.8度而五相步進(jìn)角一般為 0.72度。這種步進(jìn)電機(jī)的應(yīng)用最為廣泛。

          3.什么是保持轉(zhuǎn)矩(HOLDING TORQUE)?

          保持轉(zhuǎn)矩(HOLDING TORQUE)是指步進(jìn)電機(jī)通電但沒(méi)有轉(zhuǎn)動(dòng)時(shí),定子鎖住轉(zhuǎn)
          子的力矩。它是步進(jìn)電機(jī)最重要的參數(shù)之一,通常步進(jìn)電機(jī)在低速時(shí)的力矩接近
          保持轉(zhuǎn)矩。由于步進(jìn)電機(jī)的輸出力矩隨速度的增大而不斷衰減,輸出功率也隨速
          度的增大而變化,所以保持轉(zhuǎn)矩就成為了衡量步進(jìn)電機(jī)最重要的參數(shù)之一。比如,
          當(dāng)人們說(shuō)2N.m的步進(jìn)電機(jī),在沒(méi)有特殊說(shuō)明的情況下是指保持轉(zhuǎn)矩為2N.m的步
          進(jìn)電機(jī)。

          4.什么是DETENT TORQUE?

          DETENT TORQUE 是指步進(jìn)電機(jī)沒(méi)有通電的情況下,定子鎖住轉(zhuǎn)子的力矩。
          DETENT TORQUE 在國(guó)內(nèi)沒(méi)有統(tǒng)一的翻譯方式,容易使大家產(chǎn)生誤解;由于
          反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子不是永磁材料,所以它沒(méi)有DETENT TORQUE。

          5.步進(jìn)電機(jī)精度為多少?是否累積?

          一般步進(jìn)電機(jī)的精度為步進(jìn)角的3-5%,且不累積。

          6.步進(jìn)電機(jī)的外表溫度允許達(dá)到多少?

          步進(jìn)電機(jī)溫度過(guò)高首先會(huì)使電機(jī)的磁性材料退磁,從而導(dǎo)致力矩下降乃至于失步,
          因此電機(jī)外表允許的最高溫度應(yīng)取決于不同電機(jī)磁性材料的退磁點(diǎn);
          一般來(lái)講,磁性材料的退磁點(diǎn)都在攝氏130度以上,有的甚至高達(dá)攝氏200度以
          上,所以步進(jìn)電機(jī)外表溫度在攝氏80-90度完全正常。

          7.為什么步進(jìn)電機(jī)的力矩會(huì)隨轉(zhuǎn)速的升高而下降?

          當(dāng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)時(shí),電機(jī)各相繞組的電感將形成一個(gè)反向電動(dòng)勢(shì);頻率越高,反
          向電動(dòng)勢(shì)越大。在它的作用下,電機(jī)隨頻率(或速度)的增大而相電流減小,從
          而導(dǎo)致力矩下降。

          8.為什么步進(jìn)電機(jī)低速時(shí)可以正常運(yùn)轉(zhuǎn),但若高于一定速度就無(wú)法啟動(dòng),并伴有嘯叫聲?

          步進(jìn)電機(jī)有一個(gè)技術(shù)參數(shù):空載啟動(dòng)頻率,即步進(jìn)電機(jī)在空載情況下能夠正常啟
          動(dòng)的脈沖頻率,如果脈沖頻率高于該值,電機(jī)不能正常啟動(dòng),可能發(fā)生丟步或堵
          轉(zhuǎn)。在有負(fù)載的情況下,啟動(dòng)頻率應(yīng)更低。如果要使電機(jī)達(dá)到高速轉(zhuǎn)動(dòng),脈沖頻
          率應(yīng)該有加速過(guò)程,即啟動(dòng)頻率較低,然后按一定加速度升到所希望的高頻(電
          機(jī)轉(zhuǎn)速?gòu)牡退偕礁咚伲?/p>

          9.如何克服兩相混合式步進(jìn)電機(jī)在低速運(yùn)轉(zhuǎn)時(shí)的振動(dòng)和噪聲?

          步進(jìn)電機(jī)低速轉(zhuǎn)動(dòng)時(shí)振動(dòng)和噪聲大是其固有的缺點(diǎn),一般可采用以下方案來(lái)克服:

          A.如步進(jìn)電機(jī)正好工作在共振區(qū),可通過(guò)改變減速比等機(jī)械傳動(dòng)避開(kāi)共振區(qū);
          B.采用帶有細(xì)分功能的驅(qū)動(dòng)器,這是最常用的、最簡(jiǎn)便的方法;
          C.換成步距角更小的步進(jìn)電機(jī),如三相或五相步進(jìn)電機(jī);
          D.換成交流伺服電機(jī),幾乎可以完全克服震動(dòng)和噪聲,但成本較高;
          E.在電機(jī)軸上加磁性阻尼器,市場(chǎng)上已有這種產(chǎn)品,但機(jī)械結(jié)構(gòu)改變較大。

          10.細(xì)分驅(qū)動(dòng)器的細(xì)分?jǐn)?shù)是否能代表精度?

          步進(jìn)電機(jī)的細(xì)分技術(shù)實(shí)質(zhì)上是一種電子阻尼技術(shù)(請(qǐng)參考有關(guān)文獻(xiàn)),其主要目
          的是減弱或消除步進(jìn)電機(jī)的低頻振動(dòng),提高電機(jī)的運(yùn)轉(zhuǎn)精度只是細(xì)分技術(shù)的一個(gè)
          附帶功能。比如對(duì)于步進(jìn)角為1.8°的兩相混合式步進(jìn)電機(jī),如果細(xì)分驅(qū)動(dòng)器的
          細(xì)分?jǐn)?shù)設(shè)置為4,那么電機(jī)的運(yùn)轉(zhuǎn)分辨率為每個(gè)脈沖0.45°,電機(jī)的精度能否達(dá)
          到或接近0.45°,還取決于細(xì)分驅(qū)動(dòng)器的細(xì)分電流控制精度等其它因素。不同廠
          家的細(xì)分驅(qū)動(dòng)器精度可能差別很大;細(xì)分?jǐn)?shù)越大精度越難控制。

          11.四相混合式步進(jìn)電機(jī)與驅(qū)動(dòng)器的串聯(lián)接法和并聯(lián)接法有什么區(qū)別?

          四相混合式步進(jìn)電機(jī)一般由兩相驅(qū)動(dòng)器來(lái)驅(qū)動(dòng),因此,連接時(shí)可以采用串聯(lián)接法
          或并聯(lián)接法將四相電機(jī)接成兩相使用。串聯(lián)接法一般在電機(jī)轉(zhuǎn)速較的場(chǎng)合使用,
          此時(shí)需要的驅(qū)動(dòng)器輸出電流為電機(jī)相電流的0.7倍,因而電機(jī)發(fā)熱?。徊⒙?lián)接法
          一般在電機(jī)轉(zhuǎn)速較高的場(chǎng)合使用(又稱(chēng)高速接法),所需要的驅(qū)動(dòng)器輸出電流為
          電機(jī)相電流的1.4倍,因而電機(jī)發(fā)熱較大。

          12.如何確定步進(jìn)電機(jī)驅(qū)動(dòng)器的直流供電電源?

          A.電壓的確定

          混合式步進(jìn)電機(jī)驅(qū)動(dòng)器的供電電源電壓一般是一個(gè)較寬的范圍(比如IM483
          的供電電壓為12~48VDC),電源電壓通常根據(jù)電機(jī)的工作轉(zhuǎn)速和響應(yīng)要
          求來(lái)選擇。如果電機(jī)工作轉(zhuǎn)速較高或響應(yīng)要求較快,那么電壓取值也高,但
          注意電源電壓的紋波不能超過(guò)驅(qū)動(dòng)器的最大輸入電壓,否則可能損壞驅(qū)動(dòng)器。

          B.電流的確定

          供電電源電流一般根據(jù)驅(qū)動(dòng)器的輸出相電流I來(lái)確定。如果采用線性電源,
          電源電流一般可取I的1.1~1.3倍;如果采用開(kāi)關(guān)電源,電源電流一般可
          取I 的1.5~2.0倍。

          13.混合式步進(jìn)電機(jī)驅(qū)動(dòng)器的脫機(jī)信號(hào)FREE一般在什么情況下使用?

          當(dāng)脫機(jī)信號(hào)FREE為低電平時(shí),驅(qū)動(dòng)器輸出到電機(jī)的電流被切斷,電機(jī)轉(zhuǎn)子處于自
          由狀態(tài)(脫機(jī)狀態(tài))。在有些自動(dòng)化設(shè)備中,如果在驅(qū)動(dòng)器不斷電的情況下要求
          直接轉(zhuǎn)動(dòng)電機(jī)軸(手動(dòng)方式),就可以將FREE信號(hào)置低,使電機(jī)脫機(jī),進(jìn)行手動(dòng)
          操作或調(diào)節(jié)。手動(dòng)完成后,再將FREE信號(hào)置高,以繼續(xù)自動(dòng)控制。

          14.如果用簡(jiǎn)單的方法調(diào)整兩相步進(jìn)電機(jī)通電后的轉(zhuǎn)動(dòng)方向?

          只需將電機(jī)與驅(qū)動(dòng)器接線的A+和A-(或者B+和B-)對(duì)調(diào)即可。



          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();