基于USB的運(yùn)動(dòng)控制平臺(tái)及采集卡的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
基于PC機(jī)各種總線的步進(jìn)電機(jī)或數(shù)字式伺服電機(jī)的上位控制單元,總線形式多種多樣,高速總線可以采用ISA、PCI、USB等總線技術(shù)。通常使用的是基于ISA總線、PCI總線。由于計(jì)算機(jī)主板的更新?lián)Q代,ISA插槽使用的越來(lái)越少了PCI總線的運(yùn)動(dòng)控制卡成了目前的主流。但是PCI總線存在一些缺陷:易受機(jī)箱內(nèi)環(huán)境的影響,受計(jì)算機(jī)插槽數(shù)量的地址、中斷資源的限制而不可能掛接很多設(shè)備等。USB總線具有安裝方便、高帶寬、易擴(kuò)展等優(yōu)點(diǎn),其中USB2.0標(biāo)準(zhǔn)有著高達(dá)480MB/s的傳輸速率,已經(jīng)逐漸成為計(jì)算機(jī)接口的主流。而且,通用串行總線USB為多點(diǎn)數(shù)據(jù)采集提供了很大的便利,利用USB可以實(shí)現(xiàn)比傳統(tǒng)方式更有效、更經(jīng)濟(jì)、點(diǎn)數(shù)更多的數(shù)據(jù)采集。USB數(shù)據(jù)總線已經(jīng)在各種計(jì)算機(jī)上得到普及,成為計(jì)算機(jī)的標(biāo)準(zhǔn)設(shè)備。
2 系統(tǒng)體系結(jié)構(gòu)
基于USB總線的運(yùn)動(dòng)控制平臺(tái)及采集卡系統(tǒng)按照功能的劃分,主要包括3個(gè)方面:USB接口設(shè)計(jì),通過(guò)USB接口實(shí)現(xiàn)PC機(jī)與單片機(jī)的通訊;電機(jī)的驅(qū)動(dòng),采用電機(jī)驅(qū)動(dòng)芯片UC3717A;數(shù)據(jù)采集問(wèn)題,數(shù)據(jù)采集的目的是為了監(jiān)控外界情況,步進(jìn)電機(jī)的工作環(huán)境例如溫度,以及捕獲運(yùn)動(dòng)軌跡等,它是通過(guò)傳感部件利用傳感器監(jiān)控外界,將采集的信息作模數(shù)轉(zhuǎn)換后傳遞到單片機(jī),由單片機(jī)送到微機(jī),作分析、顯示。系統(tǒng)的體系結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)的體系結(jié)構(gòu)
系統(tǒng)的工作過(guò)程就是一個(gè)數(shù)據(jù)采集和控制步進(jìn)電機(jī)運(yùn)行的過(guò)程,其中的每一步都需要不同組的支持。首先,溫度和壓力參數(shù)經(jīng)傳感器轉(zhuǎn)換成模擬信號(hào),模擬信號(hào)經(jīng)過(guò)A/D轉(zhuǎn)換變單片機(jī)可識(shí)別的數(shù)字信號(hào);接著單片機(jī)將數(shù)字信號(hào)進(jìn)行處理之后,就可以送往LED顯示或者發(fā)送給USB接口芯片;然后USB接口芯片在主機(jī)需要的時(shí)候,把接收到的數(shù)據(jù)經(jīng)USB總發(fā)送給主機(jī)進(jìn)行處理和顯示;最后將處理的結(jié)果經(jīng)USB總線和單片機(jī)來(lái)控制步進(jìn)電機(jī)的運(yùn)行。
3系統(tǒng)的硬件電路設(shè)計(jì)
USB數(shù)據(jù)采集系統(tǒng)的硬件電路結(jié)構(gòu)主要包括以下幾個(gè)部分:USB通信電路部分、數(shù)據(jù)采集電路部分、步進(jìn)電機(jī)驅(qū)動(dòng)。模塊的功能都是在以ATmega16為核心的硬件平臺(tái)上實(shí)現(xiàn)的。
3.1 USB通信電路的設(shè)計(jì)
USB通信電路的功能是實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)設(shè)備端和主機(jī)端之間的通信,這一功能主要是由核心微控制器ATmega16和USB控制器件PDIUSBD12實(shí)現(xiàn)的。其中,PDIUSBD12是符合USB1.1協(xié)議的芯片,在USB通信電路中起著聯(lián)系設(shè)備和主機(jī)的橋梁的作用。微控制器ATmegal6和USB控制器PDIUSBD12之間通過(guò)8位并行總線進(jìn)行通信,8位并行總線在ATmegal6端需要連接8個(gè)I/O口。PDIUSBD12片內(nèi)集成了時(shí)鐘乘法PLL,晶振電路使用6MHZ的晶振和兩個(gè)2pF到68pF的電容。PDIUSBD12的信號(hào)輸出端D+/D-上要各串接一個(gè)18歐的匹配電阻。通信電路如圖2所示。
3.2 數(shù)據(jù)采集電路的設(shè)計(jì)
數(shù)據(jù)采集電路的功能就是將現(xiàn)場(chǎng)的溫度、壓力以及應(yīng)力等數(shù)據(jù)轉(zhuǎn)換成合適的模擬信號(hào),再把模擬信號(hào)傳送給A/D轉(zhuǎn)換電路。此模塊包括溫度采集模塊和壓力采集模塊兩部分。
溫度數(shù)據(jù)采集使用了DS18B20,它是美國(guó)Dallas公司生產(chǎn)的數(shù)字化溫度傳感器,世界上第一片支持“一線總線”接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專(zhuān)利技術(shù)。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。測(cè)量溫度范圍為-55°C~+125°C?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。新一代的DS18B20體積更小、更經(jīng)濟(jì)、更靈活。將采集的溫度送至ATmegal6內(nèi)部的采樣保持電路,然后進(jìn)行放大、A/D轉(zhuǎn)換,再經(jīng)過(guò)固件程序的換算就可以得到測(cè)量溫度了。
在本系統(tǒng)中,測(cè)量壓力采用的器件是廣州森納士?jī)x器有限公司生產(chǎn)的壓力變送器,其量程是0.0lMPa,輸出信號(hào)是4~20mA的電流。當(dāng)壓力改變時(shí),輸出電流也隨之發(fā)生變化,所
以在信號(hào)輸出端接一個(gè)精密電阻,然后對(duì)電阻兩端的電壓進(jìn)行采樣和轉(zhuǎn)換,再經(jīng)過(guò)固件程序的換算就可以得到測(cè)量壓力了。
3.3步進(jìn)電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(稱(chēng)為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的。步進(jìn)電動(dòng)機(jī)的角位移量和輸入脈沖的個(gè)數(shù)嚴(yán)格成正比,在時(shí)間上與輸入脈沖同步,可以通過(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。[!--empirenews.page--]
電機(jī)驅(qū)動(dòng)電路主要由驅(qū)動(dòng)芯片組成,本系統(tǒng)使用的電機(jī)驅(qū)動(dòng)芯片為UC3717A。UC3717A芯片使用非常簡(jiǎn)單,它通過(guò)3個(gè)輸入管腳(Phase、I1和I0)分別圖單片機(jī)引腳連接來(lái)接收輸入的參數(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),將顯示編碼通過(guò)單片機(jī)的串口發(fā)送到74LS164上鎖存而實(shí)現(xiàn)穩(wěn)定的靜態(tài)顯示。在74LS164和數(shù)碼管之間串接1K的電阻限制電流,起到保護(hù)作用。
4系統(tǒng)的軟件設(shè)計(jì)
USB數(shù)據(jù)采集系統(tǒng)是一個(gè)多任務(wù)系統(tǒng),而且程序結(jié)構(gòu)也比較復(fù)雜,為了提高開(kāi)發(fā)率,增強(qiáng)系統(tǒng)的穩(wěn)定性,降低開(kāi)發(fā)和維護(hù)成本,就需要一個(gè)嵌入式操作系統(tǒng)作為系統(tǒng)發(fā)和運(yùn)行的平臺(tái)。μC/OS-Ⅱ作為一個(gè)源碼公開(kāi)的免費(fèi)型嵌入式實(shí)時(shí)操作系統(tǒng),其穩(wěn)定性好、可靠性高,而且μC/OS-Ⅱ還具有移植性好、可固化、可裁剪等特點(diǎn),非常適合作為USB數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)平臺(tái)。
USB數(shù)據(jù)采集系統(tǒng)的軟件由三個(gè)部分組成:USB設(shè)備固件程序、主機(jī)PC上的USB設(shè)備驅(qū)動(dòng)程序和主機(jī)上的客戶(hù)應(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)配置的過(guò)程,枚舉成功后,USB接口與主機(jī)就可以進(jìn)行通信了。
設(shè)備驅(qū)動(dòng)程序是連接設(shè)備和主機(jī)應(yīng)用程序的紐帶,它向上提供應(yīng)用程序的訪問(wèn)接口(API),向下則實(shí)現(xiàn)對(duì)具體設(shè)備的訪問(wèn)和管理功能。驅(qū)動(dòng)程序與設(shè)備硬件和上層用戶(hù)程序密切相關(guān),在USB體系的中間起到信息轉(zhuǎn)換和傳遞的中介作用。在開(kāi)發(fā)USB設(shè)備時(shí),設(shè)備驅(qū)動(dòng)程序的設(shè)計(jì)是一個(gè)非常重要的環(huán)節(jié),直接影響到整個(gè)設(shè)備系統(tǒng)的性能。本系統(tǒng)采用Driverworks開(kāi)發(fā)WDM型USB設(shè)備驅(qū)動(dòng)程序
應(yīng)用程序的主要功能是在設(shè)備驅(qū)動(dòng)程序中查找設(shè)備,與設(shè)備交換數(shù)據(jù),并將設(shè)備發(fā)送來(lái)的數(shù)據(jù)進(jìn)行處理和顯示。應(yīng)用程序和驅(qū)動(dòng)程序的通信是通過(guò)訪問(wèn)應(yīng)用程序接口(API)函數(shù)實(shí)現(xiàn)的,所以應(yīng)用程序的開(kāi)發(fā)必須在能訪問(wèn)API函數(shù)的平臺(tái)上進(jìn)行。Microsoft公司提供的Visual Studio .NET是一種功能強(qiáng)大的支持API函數(shù)的編程工具,本設(shè)計(jì)的主機(jī)應(yīng)用程序就是以.NET為平臺(tái)進(jìn)行開(kāi)發(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)過(guò)程中,為了監(jiān)控驅(qū)動(dòng)器的工作環(huán)境,需要采集溫度數(shù)據(jù);同時(shí)將運(yùn)動(dòng)軌跡的有關(guān)數(shù)據(jù)采集進(jìn)來(lái),作為插補(bǔ)和調(diào)整的依據(jù),并且將輸出電機(jī)的運(yùn)動(dòng)命令和及時(shí)傳回電機(jī)軌跡狀態(tài)相結(jié)合,形成了控制平臺(tái)和數(shù)據(jù)采集為一體的模塊,數(shù)據(jù)采集的過(guò)程是個(gè)實(shí)時(shí)的過(guò)程,是在電機(jī)運(yùn)動(dòng)中同步完成的;最后本系統(tǒng)是開(kāi)放性的實(shí)時(shí)系統(tǒng)。該項(xiàng)目實(shí)施半年以來(lái),創(chuàng)造經(jīng)濟(jì)效益60多萬(wàn)元。