此設(shè)計是基于USB-FIFO并行接口模塊DLP-USB245。此模塊提供8位雙向數(shù)據(jù)總線和控制信號(WR,,TXE),可用于控制PC和采用USB協(xié)議的任何外電路之間的數(shù)據(jù)流。
采用此模塊不需要處理USB接口的麻煩復(fù)雜的事情。此單元與驅(qū)動器軟件一起通過任何高級語言能容易和快速控制模塊的功能,而不用過多地操心USB協(xié)議。
USB(通用串行總線)有很多優(yōu)點,廣泛應(yīng)用于總線應(yīng)用中。本文所示的4步進(jìn)電機(jī)用的USB基控制器就是一個應(yīng)用實例,此控制器是用便宜的現(xiàn)成元件構(gòu)建的。此電路不需要微控制器DSP。此電路用簡單的邏輯電路和應(yīng)用軟件來控制步進(jìn)電機(jī)的選擇、順時針或反時鐘運(yùn)行和步大小(全步,半步或微步)。
此控制器電路(圖1)其他電路包括通用數(shù)字元件:8D觸發(fā)器(74LS273)、反相器(7416)、3-8譯碼器(74LS138)、達(dá)林頓陣列驅(qū)動器(ULN2003)。外部5V電源連接到USB-FIFO模塊的引腳3、10、11。
電路工作如下:當(dāng)PC沒有數(shù)據(jù)送到USB-FIFO時,USB-FIFO發(fā)送緩沖器是空的,而保持邏輯1。此使和到8D觸發(fā)器(IC2)的CLK為邏輯。所以IC2的輸出保持不受影響。然而,假若PC送1字節(jié)到USB-FIFO接收緩沖器,則拉到低態(tài),自動指示數(shù)據(jù)的最低1個字節(jié)有效。
經(jīng)過短延遲后,量位和CLK到邏輯1,發(fā)送緩沖器的數(shù)據(jù)字節(jié)輸出(DO~D7)鎖存在IC2輸出。一旦數(shù)據(jù)傳輸完成而且假若發(fā)送緩沖器變空,則返回到邏輯1。這意味著無更多數(shù)據(jù)可用。依次置位到低態(tài),可進(jìn)一步進(jìn)行數(shù)據(jù)轉(zhuǎn)輸。
鎖存數(shù)據(jù)的低4位(IC2的Q0~Q3)驅(qū)動其他4個74LS2738D觸發(fā)器(IC4~IC7),而輸出Q4和Q5控制3-8譯碼器(IC3)。反相之后,譯碼器輸出(A’,B’,C’,D’)做為IC4~IC7的時鐘。達(dá)林頓陣列驅(qū)動器(IC8~IC7)升高IC4~IC7的輸出,用于驅(qū)動步進(jìn)電機(jī)線圈。因此,寫1個正確的數(shù)據(jù)字節(jié)到IC1,PC可以選擇4個步進(jìn)電機(jī)中的一個電機(jī)并供電給所希望的線圖。
例如,PC送OXOA到USB-FIFO,則選擇步進(jìn)電機(jī)1,在圖形L1L2L3L4=1010下激勵其線圖。為了使步進(jìn)電機(jī)前進(jìn)一步,PC送OXO9做為下1個字節(jié);反之,為了反向運(yùn)行步進(jìn)電機(jī),PC送OXO6。
表1列出步進(jìn)電機(jī)控制(全步)字節(jié)數(shù)值。采用適當(dāng)?shù)淖兓?,可以使電機(jī)工作在半步和微步狀態(tài)。寫字節(jié)的速率,即連續(xù)數(shù)據(jù)寫之間的時間控制步進(jìn)電機(jī)的速度。
表1步進(jìn)電機(jī)控制字節(jié)值
除電流升高器和USB-FIFO變換器外,電路中的其他元件可以在1個#p#分頁標(biāo)題#e#CPLD/FPGA中實現(xiàn)。電機(jī)控制軟件可以用C,VB或圖像程序(如LabWIEW)進(jìn)行開發(fā)。假若用IC1提供的VCP(VirtualCOMPort)驅(qū)動器軟件(可免費(fèi)下載),應(yīng)用程序?qū)⒁昒SB步進(jìn)電機(jī)控制器模塊做為另1個COM端口。但是,忽略設(shè)置波特率的命令,以最快的速率發(fā)送數(shù)據(jù),而不管應(yīng)用波特率設(shè)置。也可以用Windows提供的D2XXDirectDrivers,這樣可以直接控制每個操作,如FIFO寫等。
轉(zhuǎn)載請注明出處。