<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

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

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

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

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

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

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

  表中列出的是控制4個(gè)步進(jìn)電機以全步運行的字節值。通過(guò)適當變化,用戶(hù)可以半步和微步操控電機。數據字節寫(xiě)入的速率——也即,連續數據的寫(xiě)入間隔——控制步進(jìn)電機的速度。

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

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



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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>