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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機控制步進電機1步10步100步正反轉

          單片機控制步進電機1步10步100步正反轉

          作者: 時間:2016-11-22 來源:網絡 收藏
          一,程序設計方案的構想:

          1) 步進電機的控制原理

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

          步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件.在非超載的情況下,電機的轉速,停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響.即給電機加一個信號,電機則轉過一個步距角.這一線形關系的存在,加上步進電機只有周期性的誤差而無積累誤差等特點,使得在線速度,位置等控制領域用步進電機來控制變的非常的簡單.

          2) 分析設計

          使用單片機以軟件方式驅動步進電機通過編輯方法,對步進電機的轉速,往返轉動的角度以及轉動次數(shù)等進行控制使其在一定的范圍下進行,還可以方便靈活的控制步進電機的運行狀態(tài):

          3)原理圖:

          4)連接圖:

          輸出端

          輸入端

          A

          C1

          P2.0

          KM1

          P1.0

          1B

          B

          C2

          P2.1

          KM2

          P1.1

          2B

          C

          C3

          P2.2

          KM3

          P1.2

          3B

          D

          C4

          P2.3

          KM4

          P1.3

          4B

          P2.4

          KM5

          5)運用元件及電路圖

          元件名稱

          型號

          件數(shù)

          單片機

          AT89C51

          1

          晶振

          CRYSTAL

          1

          電容

          CAP 22PF 47UF

          2

          電阻

          RES 0.6W 10K

          1

          步進電機

          STEPER 4相

          1

          步進電機芯片

          ULN2003A

          1

          按鈕

          BUTTON

          6

          二、 實驗程序

          org 0000H

          start:

          jnb p2.0,step

          jnb p2.1,step

          sjmp start

          step:

          jnb p2.2,one

          jnb p2.3,ten

          jnb p2.4,hundred

          ljmp start

          one:

          mov r0,#2

          jnb p2.0,zh1

          jnb p2.1,fan1

          ljmp start

          ten:

          mov r0,#10

          jnb p2.0,zh1

          jnb p2.1,fan1

          ljmp start

          hundred:

          mov r0,#100

          jnb p2.0,zh1

          jnb p2.1,fan1

          ljmp start

          zh1:

          mov p1,#03H

          lcall delay

          jnb p2.7,stop

          djnz r0,zh2

          ljmp stop

          zh2:

          mov p1,#06H

          lcall delay

          jnb p2.7,stop

          djnz r0,zh3

          ljmp stop

          zh3:

          mov p1,#0cH

          lcall delay

          jnb p2.7,stop

          djnz r0,zh4

          ljmp stop

          zh4:

          mov p1,#09H

          lcall delay

          jnb p2.7,stop

          djnz r0,zh1

          sjmp stop

          fan1:

          mov p1,#09H

          lcall delay

          jnb p2.7,stop

          djnz r0,fan2

          ljmp stop

          fan2:

          mov p1,#0cH

          lcall delay

          jnb p2.7,stop

          djnz r0,fan3

          ljmp stop

          fan3:

          mov p1,#06H

          lcall delay

          jnb p2.7,stop

          djnz r0,fan4

          ljmp stop

          fan4:

          mov p1,#03H

          lcall delay

          jnb p2.7,stop

          djnz r0,fan1

          sjmp stop

          stop:

          mov p1,#00H

          ljmp start

          delay:

          mov r2,#200

          d1:mov r1,#200

          djnz r1,$

          djnz r2,d1

          ret

          end

          三、調試記錄:

          當程序編譯完成后,下載到單片機中后,在運行過程當中時發(fā)現(xiàn)按下10步按鈕無法運行,其他都正常運行,回到程序檢查時發(fā)現(xiàn)10步程序編寫出現(xiàn)錯誤,經過改正后,可以運行.



          評論


          技術專區(qū)

          關閉
          看屁屁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); })();