找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7962|回復: 4
打印 上一主題 下一主題
收起左側(cè)

步進電機正轉(zhuǎn)、反轉(zhuǎn)、角度控制目標達成

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:26516 發(fā)表于 2010-10-23 17:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

   話說試驗用的電機和單片機買回來也快兩個星期了,到現(xiàn)在才達到這個進度,真的是相當慢了。

        試驗過程中程序上倒沒遇到什么問題,也就是for、while語句。主要還是在單片機和電機上,幾乎是從頭開始,以前上課壓根就沒好好學,又丟了這么長時間。

        試驗用的單片機是最簡單的51單片機,80C52,一共有4個I/O口,每個口8個針腳,每個I/O口一次傳輸8位2進制數(shù),每一位對應I/O口的一個針腳。電機是四相步進電機(工作方式有四拍、八拍,四拍可以簡單理解為每項通電完成四分之一個工作周期,八拍即八分之一個工作周期),步進角度5.625度(一個工作周期走5.625度)。電機通過一個ULN驅(qū)動芯片與單片機的I/O口連接。

        單片機的驅(qū)動程序主要是通過一個數(shù)組來驅(qū)動電機,如果是四拍工作方式,數(shù)組里需要4個數(shù),八拍即8個數(shù)。我主要就是卡在這里。為什么呢?舉例說明,{0x01,0x02,0x04,0x08},這是一個含有四個元素用16進制表示的數(shù)組,因為知識的貧乏,我始終鬧不明白這個數(shù)組是通過怎樣的方式來驅(qū)動電機,F(xiàn)在鬧明白就簡單了

{0x01,0x02,0x04,0x08}

寫成8位二進制數(shù)就是

0000 0001

0000 0010

0000 0100

0000 1000

從右往左,每一位表示I/O口的一個針腳,而這里每一個針腳則對應電機的一相,四拍工作方式只要用到8位2進制數(shù)中4位就夠了,0x01的2進制數(shù)右數(shù)第一位為1,就是第一個針腳輸出高電平,第二位為0即輸出低電平,依次類推,0x01作用在電機上的意思就是電機的第一相通電,電機運行四分之一周期(就是5.625度/4)。當程序讀取第二個數(shù)組元素0x02時,則是電機的第二項通電,再運行四分之一周期。這樣通過讀取數(shù)組,就完成了對電機的控制,如果是采用八拍控制,可以精確到5.625度/8。

        至此,想要實現(xiàn)其他控制,只要通過程序的變化就可以完成,電機控制的學習就此完結(jié)。目前計劃,因電液伺服的學習才斷續(xù)的開了個頭,繼續(xù)跟進學習,單片機學習再繼續(xù)深入。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:56948 發(fā)表于 2014-2-6 02:26 | 只看該作者
謝謝分享
回復

使用道具 舉報

板凳
ID:217754 發(fā)表于 2017-7-9 21:33 | 只看該作者
謝謝分享。雖然我還沒搞明白。今天才收到板
回復

使用道具 舉報

地板
ID:217754 發(fā)表于 2017-7-10 22:34 | 只看該作者
厲害知道些了。謝謝分享。正在學怎么寫
回復

使用道具 舉報

5#
ID:92894 發(fā)表于 2017-10-10 19:38 | 只看該作者
謝謝分享。正在學
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表