USB總線(xiàn)在光柵位移傳感器檢測(cè)系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
由于光柵傳感器測(cè)量精度高、動(dòng)態(tài)測(cè)量范圍廣、可進(jìn)行無(wú)接觸測(cè)量、易實(shí)現(xiàn)系統(tǒng)的自動(dòng)化和數(shù)字化,因而在機(jī)械工業(yè)中得到了廣泛的應(yīng)用。
特別是在量具、數(shù)控機(jī)床的閉環(huán)反饋控制、工作母機(jī)的坐標(biāo)測(cè)量等方面,光柵傳感器起著重要作用。
目前,USB端口已成為微機(jī)主板的標(biāo)準(zhǔn)端口,利用USB總線(xiàn)技術(shù),開(kāi)發(fā)適用于科學(xué)研究和工業(yè)生產(chǎn)的各種儀器儀表設(shè)備,借以取代傳統(tǒng)計(jì)算機(jī)測(cè) 控系統(tǒng)中采用的串行RS232、并行接口以及ISA或PCI總線(xiàn)的儀器儀表設(shè)備,不僅可使計(jì)算機(jī)測(cè)控系統(tǒng)更加高效實(shí)時(shí)、方便靈活,而且可滿(mǎn)足高質(zhì)量、高可 靠性、低成本計(jì)算機(jī)測(cè)控系統(tǒng)的要求。本文以光柵位移傳感器檢測(cè)系統(tǒng)的設(shè)計(jì)背景,詳細(xì)介紹了系統(tǒng)的硬件、軟件設(shè)計(jì)方法。
光柵位移傳感器的基本原理和特點(diǎn)
光柵位移傳感器的基本構(gòu)成是一對(duì)光柵,其中一塊是固定的,而另一塊是運(yùn)動(dòng)的。當(dāng)它們發(fā)生相對(duì)運(yùn)動(dòng)并有光通過(guò)兩者時(shí),能夠獲得相當(dāng)于干涉儀中得到的條紋信號(hào),即所謂的莫爾條紋信號(hào)。與普通位移傳感器相比,它有以下幾個(gè)特點(diǎn)。
● 精度高。光柵位移傳感器在大量程測(cè)量長(zhǎng)度或直線(xiàn)位移方面僅僅低于激光干涉?zhèn)鞲衅鳌T趫A分度和角位移測(cè)量方面,光柵式傳感器也屬于精度最高的。
● 大量程測(cè)量兼有高分辨率。感應(yīng)同步器和磁柵式傳感器也具有大量程測(cè)量的特點(diǎn),但分辨力和精度都不如光柵位移傳感器。
● 可實(shí)現(xiàn)動(dòng)態(tài)測(cè)量,易于實(shí)現(xiàn)測(cè)量及數(shù)據(jù)處理的自動(dòng)化。
● 具有較強(qiáng)的抗干擾能力,對(duì)環(huán)境條件的要求不像激光干涉?zhèn)鞲衅髂菢訃?yán)格,但不如感應(yīng)同步器和磁柵式傳感器的適應(yīng)性強(qiáng),油污和灰塵會(huì)影響它的可靠性。主要適用于在實(shí)驗(yàn)室和環(huán)境較好的車(chē)間使用。
系統(tǒng)硬件設(shè)計(jì)
1 系統(tǒng)原理簡(jiǎn)介
光柵位移傳感器是進(jìn)行高精度位移測(cè)量的光電轉(zhuǎn)換器,它將位移微變量轉(zhuǎn)換為多路正弦光柵信號(hào)。硬件電路要求首先對(duì)正弦光柵信號(hào)合成,消除測(cè)量 中的共模干擾信號(hào),然后一路進(jìn)入單片機(jī)進(jìn)行A/D轉(zhuǎn)換;另一路通過(guò)比較器轉(zhuǎn)換成數(shù)字信號(hào)后由D觸發(fā)器和與門(mén)電路完成光柵位移的辨向,而后進(jìn)入單片機(jī)進(jìn)行正 向和反向計(jì)數(shù);其次單片機(jī)將這些數(shù)據(jù)通過(guò)USB插口送入計(jì)算機(jī),最后由計(jì)算機(jī)進(jìn)行數(shù)據(jù)細(xì)分和處理,從而得到光柵位移長(zhǎng)度。
2 方案的選定
利用USB總線(xiàn)的數(shù)據(jù)采集方案有兩種,一種方案是采用普通單片機(jī)另加上專(zhuān)用的USB通信芯片,現(xiàn)在的專(zhuān)用芯片中較為流行的有 National Semiconductor公司的USBN9602、USBN9603、USBN9604,Philips公司提供的PDIUSBD12,以及 SanLogic公司的SL11等。該方案可充分利用開(kāi)發(fā)人員原有的硬件資源和軟件知識(shí),開(kāi)發(fā)成本較低,但設(shè)計(jì)和調(diào)試較為麻煩,而且電磁兼容性差,容易造 成主機(jī)不能識(shí)別USB設(shè)備。另一種是利用具有USB接口功能的單片機(jī)。目前國(guó)外不少主要芯片廠(chǎng)商都陸續(xù)推出了帶USB通信接口的單片機(jī),使用這些專(zhuān)用芯片 構(gòu)成的數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)簡(jiǎn)單,調(diào)試方便,電磁兼容性好。本設(shè)計(jì)的USB光柵位移檢測(cè)系統(tǒng)接口電路就采用了Microchip的USB PIC單片機(jī)。
3 PIC18F4550芯片特點(diǎn)
Microchip公司的帶USB通信接口的單片機(jī)PIC18F4550芯片為40/44腳封裝,配備了功能強(qiáng)大的12MIPS RISC內(nèi)核,自編程閃存存儲(chǔ)器以及納瓦節(jié)能技術(shù),工作頻率達(dá)48MHz,數(shù)據(jù)傳輸速率高達(dá)12Mb/s。新器件還具有Microchip先進(jìn)的PMOS 電可擦除單元(PEEC)閃存技術(shù),耐擦寫(xiě)次數(shù)可高達(dá)100萬(wàn)次,而數(shù)據(jù)保存期能超過(guò)40年。此外,其全速USB 2.0接口包括一個(gè)片上收發(fā)器和一個(gè)并行流端口,能把數(shù)據(jù)直接傳送到外部的設(shè)備,減少CPU的開(kāi)銷(xiāo),而且大大增加了系統(tǒng)的抗干擾能力和工作的可靠性。
PIC18F4550單片機(jī)的一個(gè)關(guān)鍵特性在于它配備了32Kb自編程增強(qiáng)型閃存,使得設(shè)計(jì)人員可以通過(guò)USB端口對(duì)最終應(yīng)用進(jìn)行現(xiàn)場(chǎng)升 級(jí)。結(jié)合新器件配備的一系列片上外設(shè)和納瓦技術(shù)(nanoWatt)的功耗管理功能,該全速USB PIC單片機(jī)非常適用于多種嵌入式應(yīng)用,包括工業(yè)領(lǐng)域、醫(yī)療、汽車(chē)、電池供電應(yīng)用和消費(fèi)類(lèi)產(chǎn)品。
從光柵傳感器輸入的信號(hào)有5路:±SIN、±COS以及零窗信號(hào)ZERO,它們經(jīng)差分放大電路合成,分3路進(jìn) 入PIC單片機(jī)模擬量輸入口進(jìn)行A/D轉(zhuǎn)換;同時(shí),經(jīng)差分放大電路合成后的SIN、 COS 信號(hào)再經(jīng)零比較器后轉(zhuǎn)換成數(shù)字脈沖信號(hào),然后經(jīng)D觸發(fā)器和與門(mén)電路完成光柵位移的辨向。PIC單片機(jī)T0和T1口接收來(lái)自與門(mén)電路的數(shù)字脈沖,完成光柵位 移的計(jì)大數(shù)(計(jì)算光柵尺移動(dòng)的完整光柵數(shù));PIC單片機(jī)RC1口輸出4MHz的PWM脈沖信號(hào)作為D觸發(fā)器的CP信號(hào)。計(jì)算機(jī)的USB接口兩根數(shù)據(jù)線(xiàn)分 別接PIC18F4550的D+和D-口用以完成計(jì)算機(jī)和單片機(jī)之間的數(shù)據(jù)通信,計(jì)算機(jī)的USB電源一方面為PIC微處理器提供能源,另一反面通過(guò)電源模 塊轉(zhuǎn)換成±12V電源,為運(yùn)放電路提供正負(fù)電源。
系統(tǒng)軟件設(shè)計(jì)
1單片機(jī)軟件部分的設(shè)計(jì)
單片機(jī)的軟件部分主要完成光柵位移傳感器的數(shù)據(jù)采集、A/D轉(zhuǎn)換、計(jì)算光柵位移傳感器的正向、反向莫爾條紋的個(gè)數(shù)、為數(shù)字電路提供CP脈沖以及完成USB的通信等工作。
① A/D轉(zhuǎn)換部分的程序設(shè)計(jì)
PIC18F4550 器件的ADC模塊有13個(gè)輸入通道。該模塊能將任意一個(gè)模擬輸入信號(hào)轉(zhuǎn)換成相應(yīng)的10位數(shù)字信號(hào)。本檢測(cè)系統(tǒng)需要把COS和SIN兩路正弦模擬信號(hào)轉(zhuǎn)換成 數(shù)字信號(hào),同時(shí)把一路零位脈沖信號(hào)送入單片機(jī)寄存器中。因此在設(shè)計(jì)A/D轉(zhuǎn)換部分程序時(shí),把RA0、RA3分別設(shè)為SIN和COS兩路模擬信號(hào)的輸入,把 RA5設(shè)為零位信號(hào)的數(shù)字輸入,其他模擬信號(hào)口都分別設(shè)為數(shù)字量輸出口,以便最大限度的減少單片機(jī)的外圍電路對(duì)該系統(tǒng)信號(hào)采集的影響,提高整個(gè)系統(tǒng)的抗干 擾能力和精度。
② 定時(shí)器/計(jì)數(shù)器部分的程序設(shè)計(jì)
本檢測(cè)系統(tǒng)的單片機(jī)需要把光柵位移傳感器正向移動(dòng)的光柵線(xiàn)數(shù)和反向移動(dòng)的光柵線(xiàn)數(shù)計(jì)算出來(lái),然后通過(guò)USB接口送到上位機(jī),作為光柵位移長(zhǎng) 度的計(jì)大數(shù)部分。光柵位移傳感器輸出的正弦信號(hào)經(jīng)過(guò)信號(hào)調(diào)理電路后,可以把它移動(dòng)的光柵線(xiàn)數(shù)轉(zhuǎn)換成數(shù)字脈沖,從而可以通過(guò)計(jì)算脈沖的個(gè)數(shù)來(lái)達(dá)到計(jì)算光柵線(xiàn) 數(shù)的目的。因此我們可以選擇Timer0和Timer1作為計(jì)數(shù)器使用,從而計(jì)算出光柵位移傳感器正反向移動(dòng)的光柵線(xiàn)數(shù)。
③ 比較/ 捕捉/PWM (CCP)模塊的設(shè)計(jì)
PIC18F4550具備一個(gè)16位數(shù)據(jù)和分辨率的捕捉(Capture)/比較(Compare)/PWM(Pulse Width Modulation)模塊CCP2和一個(gè)增強(qiáng)型捕捉/比較/PWM模塊CCP1。其中,增強(qiáng)型CCP1具有死區(qū)控制和故障保護(hù)輸入功能。每個(gè)CCP模塊 有一個(gè)16位寄存器,它可以用作16位捕捉寄存器、16位比較寄存器或PWM主/從占空比寄存器。因?yàn)楸驹O(shè)計(jì)只需要一路PWM輸出,所以我們只需要使用一 個(gè)CCP2就能滿(mǎn)足設(shè)計(jì)要求。根據(jù)系統(tǒng)設(shè)計(jì)要求,我們使用單片機(jī)的Timer2配合單片機(jī)的CCP使用,使CCP模塊輸出4M的方波。
④ USB模塊的設(shè)計(jì)
對(duì)于單片機(jī)控制程序,目前沒(méi)有任何廠(chǎng)商提供自動(dòng)生成固件(firmware)的工具,因此所有程序都要由自己手工編制。本系統(tǒng)的設(shè)計(jì)就是在Microchip提供的DEMO程序的基礎(chǔ)上,進(jìn)行必要的修改而完成的。
2 PC軟件部分的設(shè)計(jì)
PC的軟件部分主要用于完成上位機(jī)同下位機(jī)之間的USB通信,光柵位移傳感器位移信號(hào)的細(xì)分和顯示等功能。為了下一步的軟件開(kāi)發(fā)以及與廠(chǎng)家的其它軟件接口,應(yīng)廠(chǎng)家的要求,本系統(tǒng)上位機(jī)的軟件部分采用VC++6.0來(lái)實(shí)現(xiàn)。
該設(shè)備驅(qū)動(dòng)程序采用了Microchip的通用USB設(shè)備驅(qū)動(dòng)程序,而接口通信程序采用了Microchip的BAPI.DLL動(dòng)態(tài)鏈接庫(kù)。
計(jì)算機(jī)對(duì)最后一個(gè)正弦信號(hào)進(jìn)行細(xì)分,細(xì)分點(diǎn)通過(guò)計(jì)算相位程序結(jié)合正、余弦信號(hào)象限判別來(lái)獲得。為了提高精度,我們把正、余弦信號(hào)分為8個(gè)象 限,然后求出細(xì)分點(diǎn)的比值,然后通過(guò)求細(xì)分點(diǎn)反正切函數(shù)求出光柵尺的相位,再根據(jù)光柵尺相位的弧度值計(jì)算出光柵尺細(xì)分點(diǎn)的位移值,最后把光柵尺細(xì)分點(diǎn)的位 移值加上光柵尺移動(dòng)的完整光柵線(xiàn)數(shù),從而得到光柵尺的位移值。
因?yàn)楣鈻懦邧啪€(xiàn)的柵距不同,為了設(shè)計(jì)的通用性,我們?cè)诰幊虝r(shí)對(duì)三種常用的柵距(100線(xiàn)/mm、50線(xiàn)/mm、25線(xiàn)/mm)都分別作了處理。若使用光柵尺柵線(xiàn)為100線(xiàn)/mm,即光柵柵距為 0.01mm,對(duì)正弦信號(hào)進(jìn)行100細(xì)分,可得測(cè)距分辨率為0.1μm。
在本課題設(shè)計(jì)時(shí),我選用MFC基于對(duì)話(huà)框的設(shè)計(jì),數(shù)據(jù)的顯示等全用Windows的公用控件完成。