新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 通過PC的USB端口控制多個步進(jìn)電機(jī)

        通過PC的USB端口控制多個步進(jìn)電機(jī)

        作者: 時(shí)間:2013-10-26 來源:網(wǎng)絡(luò) 收藏
          USB的眾多便利使設(shè)計(jì)師能將該總線用于許多應(yīng)用。例如,圖中顯示的是一個利用現(xiàn)成的便宜器件搭建的基于USB的4控制器。該電路沒用MCU和DSP。它利用簡單邏輯電路和應(yīng)用軟件控制的選擇、其順/逆時(shí)針的運(yùn)行方向以及三種步進(jìn)幅度:全步、半步和微步。

          該設(shè)計(jì)基于一個USB轉(zhuǎn)FIFO的并行接口模塊(IC1)。這款名為DLP-USB245M的模塊提供8位雙向數(shù)據(jù)總線和諸如WR、RD、RXF和TXE等控制信號,利用這些信號控制和任何采用USB協(xié)議的外接電路的數(shù)據(jù)流。

          利用該模塊免去了需應(yīng)付繁瑣的USB接口的工作。另外,該模塊帶可通過高級語言容易快速地控制模塊功能的驅(qū)動器軟件,從而無需太多牽掛USB協(xié)議。

          該控制器電路的其余部分包括諸如8D觸發(fā)器(74LS273)、反向器(7416)和3/8譯碼器以及達(dá)林頓陣列驅(qū)動器(ULN2003)等通用數(shù)字器件。USB轉(zhuǎn)FIFO模塊采用外接5V供電,5V接至腳3、10和11。

          其工作過程如下:當(dāng)不向USB轉(zhuǎn)FIFO模塊發(fā)送數(shù)據(jù)時(shí),IC1的發(fā)送緩存器為空,且RXF保持邏輯1。這使得D觸發(fā)器(IC2)的RD和CLK為邏輯0,所以,IC2的輸出保持不變。但,若向USB轉(zhuǎn)FIFO模塊接收緩存器發(fā)送一個字節(jié),則RXF被拉低,自動指示最少有1字節(jié)數(shù)據(jù)可用。

          經(jīng)過短暫延時(shí)后,它將RD和CLK信號置1,且發(fā)送緩存器的數(shù)據(jù)字節(jié)輸出(出現(xiàn)在D0-D7)在IC2的輸出被鎖存。一旦數(shù)據(jù)傳輸完成且如果發(fā)送緩存器為空,RXF返回邏輯1。這意味著沒更多數(shù)據(jù)可用。此舉,又將RD置為邏輯0,以便能進(jìn)一步傳輸數(shù)據(jù)。

          鎖存數(shù)據(jù)低4位(IC2的Q0-Q3)驅(qū)動其它4個8D觸發(fā)器(74LS273),而Q4和Q5控制3/8譯碼器(IC3)。在反向后,譯碼器的輸出(A'、B'、C'、D')作為IC4-IC7的時(shí)鐘。達(dá)林頓陣列驅(qū)動器(IC8-IC11)放大IC4-IC7的輸出,以便它們可驅(qū)動線圈。這樣,通過向IC1寫入一個正確字節(jié),PC可選擇4個步進(jìn)電機(jī)之一并如愿驅(qū)動其電機(jī)線圈。

          例如,當(dāng)PC向USB轉(zhuǎn)FIFO模塊發(fā)送數(shù)據(jù)0x0A時(shí),步進(jìn)電機(jī)1被選且其線圈以L1 L2 L3 L4 = 1 0 1 0的模式得電。為使步進(jìn)電機(jī)1前轉(zhuǎn)一步,PC發(fā)送的下一個字節(jié)是0x09;若想使其反轉(zhuǎn),PC發(fā)送0x06。

          表中列出的是控制4個步進(jìn)電機(jī)以全步運(yùn)行的字節(jié)值。通過適當(dāng)變化,用戶可以半步和微步操控電機(jī)。數(shù)據(jù)字節(jié)寫入的速率——也即,連續(xù)數(shù)據(jù)的寫入間隔——控制步進(jìn)電機(jī)的速度。

          除電流放大器和USB-FIFO轉(zhuǎn)換器外,分立器件可用CPLD/FPGA實(shí)現(xiàn)。可以多種方式開發(fā)電機(jī)控制軟件。你可采用C或VB或類似LabVIEW等圖形程序。若采用與IC1一道提供的VCP(虛擬COM端口)驅(qū)動器軟件(免費(fèi)下載),應(yīng)用程序?qū)⒁昒SB步進(jìn)電機(jī)控制器模塊為另一個COM口。但,設(shè)置波特率的指令將被忽略且數(shù)據(jù)將以最快的速度被發(fā)送(而不管應(yīng)用的波特率設(shè)置)。你還可采用Windows提供的D2XX直接驅(qū)動器,這樣,你就可直接控制各項(xiàng)操作,比如“FIFO_寫”等。

          為對電路功能進(jìn)行基本測試,你既可利用提供的DLPTEST應(yīng)用軟件或簡單借助諸如Hyperterminal等串口程序來不斷發(fā)送所需字節(jié)。在此展示的設(shè)計(jì)采用12和5V外接電源。所以,你必須留意,當(dāng)關(guān)閉PC或USB集線器(若使用)時(shí),USB總線內(nèi)的電流也被關(guān)斷。



        關(guān)鍵詞: PC USB端口 步進(jìn)電機(jī)

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 屏东市| 临泉县| 博湖县| 太康县| 双辽市| 山丹县| 五原县| 六安市| 利川市| 贵德县| 乌拉特前旗| 西吉县| 潞城市| 长岭县| 姜堰市| 蒙城县| 牙克石市| 同江市| 平山县| 武邑县| 乐都县| 湛江市| 双鸭山市| 库车县| 南充市| 遂宁市| 靖江市| 道真| 都昌县| 平顺县| 新蔡县| 白银市| 福清市| 松潘县| 饶阳县| 建平县| 太和县| 长岛县| 茌平县| 嘉禾县| 荣成市|