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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機與步進電機的控制

          單片機與步進電機的控制

          作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
          最近好長一段時間沒有來51hei單片機網(wǎng)了,接近考試的日子越來越近,開始把時間轉(zhuǎn)到考試的準備上了,這兩天回過頭來想想,應(yīng)該有快半個月對單片機的學習沒有什么進展了,不過我一直堅信,單片機學習的路上,只要你肯堅持,只要你肯吃苦、肯付出,再難的關(guān)也不是問題,當然,最近也深深地體會到,學習單片機如果有一個好的老師作為指導(dǎo),那學起來就不用那么費勁了,不過也沒有關(guān)系,很多東西,條件不好的時候,就需要自己去改變,去想想其它的法子。

          這兩天開始研究單片機與步進電機的控制問題,感覺真的很好玩,步進電機在工業(yè)的很多地方都有很大的應(yīng)用,比如流水線的運轉(zhuǎn),智能小車,系統(tǒng)定位都有很大的用處。也是一個核心的技術(shù)。步進電機的控制主要是由單片機IO口高低電平的控制以及輸出脈沖來控制其轉(zhuǎn)速,達到了一種數(shù)模轉(zhuǎn)換的效果。讓單片機以并行二進制數(shù)轉(zhuǎn)換成并行脈沖序列,并實現(xiàn)方向控制。只要是脈沖在步進電機允許的范圍之內(nèi),每個脈沖將使步進電機轉(zhuǎn)動一個固定的步距角度,根據(jù)步距角的大小及實際走的步數(shù),只要知道初始位置,便可以根據(jù)計算知道其最終位置了。

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

          步進電機轉(zhuǎn)動時的驅(qū)動的電流比較大,所以在使用單片機控制的時候,要在中間加一個放大電路,或者加上一些常用的放大電流的芯片,比如人們很經(jīng)常用的一個芯片ULM2003.只有這樣才能夠使步進電機轉(zhuǎn)動,不然會因為電流太小而實現(xiàn)不了效果。

          程序如下:
          #include
          #define uchar unsigned char
          #define uint unsigned int
          uchar num[]={0x01,0x02,0x04,0x08};
          void delay(uint z)
          {
          uint a;
          for(a=0;a;

          }
          void main()
          {
          uchar i;
          uint j;

          for(j=0;j<2045;j++)
          {
          { P1=num[i];
          delay(1200);
          i++;
          if(i==4)
          i=0; }
          }

          while(1);
          }
          其中,z控制轉(zhuǎn)速,j控制轉(zhuǎn)的圈數(shù),由計算和調(diào)試得出當j=2045時,步進電機走的圈數(shù)為1圈,這樣,我們要步進電機走多少圈時,可以在里面嵌套一個程序,達到我們要電機轉(zhuǎn)多少圈的目的。關(guān)于電機的參數(shù)打開http://www.51hei.com/mcu/73.html這個鏈接來查看.里面寫得非常詳細.



          關(guā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); })();