基于USB的運(yùn)動(dòng)控制平臺(tái)及采集卡的設(shè)計(jì)
電機(jī)驅(qū)動(dòng)電路主要由驅(qū)動(dòng)芯片組成,本系統(tǒng)使用的電機(jī)驅(qū)動(dòng)芯片為UC3717A。UC3717A芯片使用非常簡(jiǎn)單,它通過3個(gè)輸入管腳(Phase、I1和I0)分別圖單片機(jī)引腳連接來接收輸入的參數(shù),在2個(gè)輸出管腳(Aout和Bout)上與電機(jī)連接輸出相應(yīng)的控制信號(hào)。由于UC3717A包含一個(gè)H橋,因此電機(jī)驅(qū)動(dòng)電路有兩片UC3717A對(duì)應(yīng)部分相連構(gòu)成完整的驅(qū)動(dòng)電路。如3微部分驅(qū)動(dòng)電機(jī)驅(qū)動(dòng)電路圖。
圖3 部分驅(qū)動(dòng)電機(jī)驅(qū)動(dòng)電路
3.4 LED顯示電路設(shè)計(jì)
如圖4所示,該系統(tǒng)的顯示是使用的靜態(tài)顯示,應(yīng)用74LS164的串入并出的特點(diǎn),將顯示編碼通過單片機(jī)的串口發(fā)送到74LS164上鎖存而實(shí)現(xiàn)穩(wěn)定的靜態(tài)顯示。在74LS164和數(shù)碼管之間串接1K的電阻限制電流,起到保護(hù)作用。
圖4 顯示部分電路設(shè)計(jì)
4系統(tǒng)的軟件設(shè)計(jì)
USB數(shù)據(jù)采集系統(tǒng)是一個(gè)多任務(wù)系統(tǒng),而且程序結(jié)構(gòu)也比較復(fù)雜,為了提高開發(fā)率,增強(qiáng)系統(tǒng)的穩(wěn)定性,降低開發(fā)和維護(hù)成本,就需要一個(gè)嵌入式操作系統(tǒng)作為系統(tǒng)發(fā)和運(yùn)行的平臺(tái)。μC/OS-Ⅱ作為一個(gè)源碼公開的免費(fèi)型嵌入式實(shí)時(shí)操作系統(tǒng),其穩(wěn)定性好、可靠性高,而且μC/OS-Ⅱ還具有移植性好、可固化、可裁剪等特點(diǎn),非常適合作為USB數(shù)據(jù)采集系統(tǒng)的開發(fā)平臺(tái)。
USB數(shù)據(jù)采集系統(tǒng)的軟件由三個(gè)部分組成:USB設(shè)備固件程序、主機(jī)PC上的USB設(shè)備驅(qū)動(dòng)程序和主機(jī)上的客戶應(yīng)用程序。系統(tǒng)軟件的組成及各部分之間的關(guān)系如圖5所示。
圖5 系統(tǒng)軟件的組成
設(shè)備固件程序按功能可以劃分為USB通信程序、單片機(jī)上的A/D轉(zhuǎn)換程序和LED顯示程序,以及單片機(jī)對(duì)步進(jìn)電機(jī)驅(qū)動(dòng)芯片控制程序,其中USB通信程序是整個(gè)固件程序的主要部分,其功能是實(shí)現(xiàn)USB設(shè)備枚舉和數(shù)據(jù)傳輸。USB設(shè)備枚舉是USB設(shè)備插上之后,主機(jī)與設(shè)備交換信息并自動(dòng)配置的過程,枚舉成功后,USB接口與主機(jī)就可以進(jìn)行通信了。
設(shè)備驅(qū)動(dòng)程序是連接設(shè)備和主機(jī)應(yīng)用程序的紐帶,它向上提供應(yīng)用程序的訪問接口(API),向下則實(shí)現(xiàn)對(duì)具體設(shè)備的訪問和管理功能。驅(qū)動(dòng)程序與設(shè)備硬件和上層用戶程序密切相關(guān),在USB體系的中間起到信息轉(zhuǎn)換和傳遞的中介作用。在開發(fā)USB設(shè)備時(shí),設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)是一個(gè)非常重要的環(huán)節(jié),直接影響到整個(gè)設(shè)備系統(tǒng)的性能。本系統(tǒng)采用Driverworks開發(fā)WDM型USB設(shè)備驅(qū)動(dòng)程序
應(yīng)用程序的主要功能是在設(shè)備驅(qū)動(dòng)程序中查找設(shè)備,與設(shè)備交換數(shù)據(jù),并將設(shè)備發(fā)送來的數(shù)據(jù)進(jìn)行處理和顯示。應(yīng)用程序和驅(qū)動(dòng)程序的通信是通過訪問應(yīng)用程序接口(API)函數(shù)實(shí)現(xiàn)的,所以應(yīng)用程序的開發(fā)必須在能訪問API函數(shù)的平臺(tái)上進(jìn)行。Microsoft公司提供的Visual Studio .NET是一種功能強(qiáng)大的支持API函數(shù)的編程工具,本設(shè)計(jì)的主機(jī)應(yīng)用程序就是以.NET為平臺(tái)進(jìn)行開發(fā)的,其功能主要包括查找USB設(shè)備,與USB設(shè)備交換數(shù)據(jù)和動(dòng)態(tài)顯示數(shù)據(jù)曲線。
5 總結(jié)
本文的創(chuàng)新點(diǎn)是改變了傳統(tǒng)的用微機(jī)PCI、ISA、串并行口做通訊口,改用高速的USB接口作為通訊口,有利于速度的提高,也方便了使用及攜帶,為以后的改進(jìn)和擴(kuò)展提供了余地;其次,將數(shù)據(jù)采集功能集合到控制卡里,也是本文的一個(gè)特點(diǎn):電機(jī)運(yùn)動(dòng)過程中,為了監(jiān)控驅(qū)動(dòng)器的工作環(huán)境,需要采集溫度數(shù)據(jù);同時(shí)將運(yùn)動(dòng)軌跡的有關(guān)數(shù)據(jù)采集進(jìn)來,作為插補(bǔ)和調(diào)整的依據(jù),并且將輸出電機(jī)的運(yùn)動(dòng)命令和及時(shí)傳回電機(jī)軌跡狀態(tài)相結(jié)合,形成了控制平臺(tái)和數(shù)據(jù)采集為一體的模塊,數(shù)據(jù)采集的過程是個(gè)實(shí)時(shí)的過程,是在電機(jī)運(yùn)動(dòng)中同步完成的;最后本系統(tǒng)是開放性的實(shí)時(shí)系統(tǒng)。該項(xiàng)目實(shí)施半年以來,創(chuàng)造經(jīng)濟(jì)效益60多萬元。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評(píng)論