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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)學(xué)習(xí)之3-步進(jìn)電機(jī)

          51單片機(jī)學(xué)習(xí)之3-步進(jìn)電機(jī)

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



          這種步進(jìn)電機(jī)叫減速步進(jìn)電機(jī)(里面有減速齒輪),減速比是1/64。

          里面減速齒輪轉(zhuǎn)動(dòng)64圈,外面的轉(zhuǎn)子才轉(zhuǎn)動(dòng)1圈。

          驅(qū)動(dòng)電壓為5V,步進(jìn)(距)角度5.625*1/64,采用5線4相。

          線的順序是VCC、A、B、C、D。


          1相勵(lì)磁方式驅(qū)動(dòng)程序代碼:實(shí)現(xiàn)讓步進(jìn)電機(jī)轉(zhuǎn)動(dòng)360°。

          現(xiàn)在知道步進(jìn)電機(jī)的最小步距角是5.625*1/64=0.087890625°

          1相勵(lì)磁方式每通一相電(即每轉(zhuǎn)動(dòng)一次)的角度應(yīng)該是最小步距角的2倍(即0.087890625°*2=0.17578125)。一個(gè)循環(huán)就是4相:A→B→C→D(即0.17578125*4=0.703125°)。

          那么一個(gè)循環(huán)就是0.703125°,要幾個(gè)循環(huán)才能轉(zhuǎn)動(dòng)360°呢?360°/0.703125=512個(gè)循環(huán)。

          下面這份代碼是通過按位方式給A、B、C、D相輪流通電。

          #include"reg51.h"

          #defineucharunsignedchar

          #defineuintunsignedint

          sbitDA=P1^0;//A相

          sbitDB=P1^1;//B相

          sbitDC=P1^2;//C相

          sbitDD=P1^3;//D相

          voiddelay(uintx)

          {
          uinty;

          for(;x>0;x--)

          for(y=10;y>0;y--);

          }

          voidmain()

          {

          uinti=512;

          uchardelayCout=25;

          while(i--)//循環(huán)512次就轉(zhuǎn)動(dòng)360°的角度。

          {

          DA=1; //A相通電

          delay(delayCout); //需要延時(shí)一小段時(shí)間讓硬件反應(yīng)的過來

          DA=0; //A相斷電

          DB=1; //B相通電

          delay(delayCout);//需要延時(shí)一小段時(shí)間讓硬件反應(yīng)的過來

          DB=0; //B相斷電

          DC=1; //C相通電

          delay(delayCout); //需要延時(shí)一小段時(shí)間讓硬件反應(yīng)的過來

          DC=0; //C相斷電

          DD=1; //D相通電

          delay(delayCout);//需要延時(shí)一小段時(shí)間讓硬件反應(yīng)的過來

          DD=0;//D相斷電

          }

          while(1);//旋轉(zhuǎn)完后就停在這里,避免重復(fù)執(zhí)行main函數(shù)

          }

          上面那份源碼很好理解,下面是按邏輯運(yùn)算實(shí)現(xiàn)的通斷A、B、C、D四相:

          #include"reg51.h"

          #defineucharunsignedchar

          #defineuintunsignedint

          voiddelay(uintx)

          {
          uinty;

          for(;x>0;x--)

          for(y=10;y>0;y--);

          }

          voidmain()

          {

          uinti=512;

          ucharXh;

          uchardelayCout=25;

          while(i--)//循環(huán)512次就轉(zhuǎn)動(dòng)360°的角度。調(diào)整角度

          {

          Xh=3;

          P1=0x01;//P1==00000001相當(dāng)于P1^0置1將A相通電

          delay(delayCout);//延時(shí)一段時(shí)間讓步進(jìn)電機(jī)能反應(yīng)過來

          while(Xh--)

          {

          P1<<=1;//第一次循環(huán)00000001<<1=00000010相當(dāng)于P1^1置1同時(shí)將P1^0置0A相斷電B相通
          電每次循環(huán)都會(huì)將1向左移動(dòng)一位
          delay(delayCout);//這里是調(diào)節(jié)切換速度,即轉(zhuǎn)動(dòng)速度

          }

          }

          while(1);//旋轉(zhuǎn)完后就停在這里,避免重復(fù)執(zhí)行main函數(shù)

          }


          步進(jìn)電機(jī)主要知道它的工作原理和計(jì)算角度。步進(jìn)電機(jī)最大的方便是可以精確控制轉(zhuǎn)動(dòng)角度和速度。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 51單片機(jī)步進(jìn)電

          評論


          技術(shù)專區(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); })();