<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > USB總線在光柵位移傳感器檢測系統(tǒng)中的應(yīng)用

          USB總線在光柵位移傳感器檢測系統(tǒng)中的應(yīng)用

          作者: 時間:2012-02-27 來源:網(wǎng)絡(luò) 收藏

          由于測量精度高、動態(tài)測量范圍廣、可進(jìn)行無接觸測量、易實(shí)現(xiàn)系統(tǒng)的自動化和數(shù)字化,因而在機(jī)械工業(yè)中得到了廣泛的。

          本文引用地址:http://www.ex-cimer.com/article/149552.htm

          特別是在量具、數(shù)控機(jī)床的閉環(huán)反饋控制、工作母機(jī)的坐標(biāo)測量等方面,起著重要作用。

          目前,端口已成為微機(jī)主板的標(biāo)準(zhǔn)端口,利用技術(shù),開發(fā)適用于科學(xué)研究和工業(yè)生產(chǎn)的各種儀器儀表設(shè)備,借以取代傳統(tǒng)計(jì)算機(jī)測 控系統(tǒng)中采用的串行RS232、并行接口以及ISA或PCI的儀器儀表設(shè)備,不僅可使計(jì)算機(jī)測控系統(tǒng)更加高效實(shí)時、方便靈活,而且可滿足高質(zhì)量、高可 靠性、低成本計(jì)算機(jī)測控系統(tǒng)的要求。本文以的設(shè)計(jì)背景,詳細(xì)介紹了系統(tǒng)的硬件、軟件設(shè)計(jì)方法。

          光柵傳感器的基本原理和特點(diǎn)

          光柵傳感器的基本構(gòu)成是一對光柵,其中一塊是固定的,而另一塊是運(yùn)動的。當(dāng)它們發(fā)生相對運(yùn)動并有光通過兩者時,能夠獲得相當(dāng)于干涉儀中得到的條紋信號,即所謂的莫爾條紋信號。與普通位移傳感器相比,它有以下幾個特點(diǎn)。

          ● 精度高。光柵位移傳感器在大量程測量長度或直線位移方面僅僅低于激光干涉?zhèn)鞲衅鳌T趫A分度和角位移測量方面,光柵式傳感器也屬于精度最高的。

          ● 大量程測量兼有高分辨率。感應(yīng)同步器和磁柵式傳感器也具有大量程測量的特點(diǎn),但分辨力和精度都不如光柵位移傳感器。

          ● 可實(shí)現(xiàn)動態(tài)測量,易于實(shí)現(xiàn)測量及數(shù)據(jù)處理的自動化。

          ● 具有較強(qiáng)的抗干擾能力,對環(huán)境條件的要求不像激光干涉?zhèn)鞲衅髂菢訃?yán)格,但不如感應(yīng)同步器和磁柵式傳感器的適應(yīng)性強(qiáng),油污和灰塵會影響它的可靠性。主要適用于在實(shí)驗(yàn)室和環(huán)境較好的車間使用。

          系統(tǒng)硬件設(shè)計(jì)

          1 系統(tǒng)原理簡介

          光柵位移傳感器是進(jìn)行高精度位移測量的光電轉(zhuǎn)換器,它將位移微變量轉(zhuǎn)換為多路正弦光柵信號。硬件電路要求首先對正弦光柵信號合成,消除測量 中的共模干擾信號,然后一路進(jìn)入單片機(jī)進(jìn)行A/D轉(zhuǎn)換;另一路通過比較器轉(zhuǎn)換成數(shù)字信號后由D觸發(fā)器和與門電路完成光柵位移的辨向,而后進(jìn)入單片機(jī)進(jìn)行正 向和反向計(jì)數(shù);其次單片機(jī)將這些數(shù)據(jù)通過插口送入計(jì)算機(jī),最后由計(jì)算機(jī)進(jìn)行數(shù)據(jù)細(xì)分和處理,從而得到光柵位移長度。

          2 方案的選定

          利用USB的數(shù)據(jù)采集方案有兩種,一種方案是采用普通單片機(jī)另加上專用的USB通信芯片,現(xiàn)在的專用芯片中較為流行的有 National Semiconductor公司的USBN9602、USBN9603、USBN9604,Philips公司提供的PDIUSBD12,以及 SanLogic公司的SL11等。該方案可充分利用開發(fā)人員原有的硬件資源和軟件知識,開發(fā)成本較低,但設(shè)計(jì)和調(diào)試較為麻煩,而且電磁兼容性差,容易造 成主機(jī)不能識別USB設(shè)備。另一種是利用具有USB接口功能的單片機(jī)。目前國外不少主要芯片廠商都陸續(xù)推出了帶USB通信接口的單片機(jī),使用這些專用芯片 構(gòu)成的數(shù)據(jù)采集系統(tǒng)電路設(shè)計(jì)簡單,調(diào)試方便,電磁兼容性好。本設(shè)計(jì)的USB光柵位移接口電路就采用了Microchip的USB PIC單片機(jī)。

          3 PIC18F4550芯片特點(diǎn)

          Microchip公司的帶USB通信接口的單片機(jī)PIC18F4550芯片為40/44腳封裝,配備了功能強(qiáng)大的12MIPS RISC內(nèi)核,自編程閃存存儲器以及納瓦節(jié)能技術(shù),工作頻率達(dá)48MHz,數(shù)據(jù)傳輸速率高達(dá)12Mb/s。新器件還具有Microchip先進(jìn)的PMOS 電可擦除單元(PEEC)閃存技術(shù),耐擦寫次數(shù)可高達(dá)100萬次,而數(shù)據(jù)保存期能超過40年。此外,其全速USB 2.0接口包括一個片上收發(fā)器和一個并行流端口,能把數(shù)據(jù)直接傳送到外部的設(shè)備,減少CPU的開銷,而且大大增加了系統(tǒng)的抗干擾能力和工作的可靠性。

          PIC18F4550單片機(jī)的一個關(guān)鍵特性在于它配備了32Kb自編程增強(qiáng)型閃存,使得設(shè)計(jì)人員可以通過USB端口對最終進(jìn)行現(xiàn)場升 級。結(jié)合新器件配備的一系列片上外設(shè)和納瓦技術(shù)(nanoWatt)的功耗管理功能,該全速USB PIC單片機(jī)非常適用于多種嵌入式,包括工業(yè)領(lǐng)域、醫(yī)療、汽車、電池供電應(yīng)用和消費(fèi)類產(chǎn)品。

          從光柵傳感器輸入的信號有5路:±SIN、±COS以及零窗信號ZERO,它們經(jīng)差分放大電路合成,分3路進(jìn) 入PIC單片機(jī)模擬量輸入口進(jìn)行A/D轉(zhuǎn)換;同時,經(jīng)差分放大電路合成后的SIN、 COS 信號再經(jīng)零比較器后轉(zhuǎn)換成數(shù)字脈沖信號,然后經(jīng)D觸發(fā)器和與門電路完成光柵位移的辨向。PIC單片機(jī)T0和T1口接收來自與門電路的數(shù)字脈沖,完成光柵位 移的計(jì)大數(shù)(計(jì)算光柵尺移動的完整光柵數(shù));PIC單片機(jī)RC1口輸出4MHz的PWM脈沖信號作為D觸發(fā)器的CP信號。計(jì)算機(jī)的USB接口兩根數(shù)據(jù)線分 別接PIC18F4550的D+和D-口用以完成計(jì)算機(jī)和單片機(jī)之間的數(shù)據(jù)通信,計(jì)算機(jī)的USB電源一方面為PIC微處理器提供能源,另一反面通過電源模 塊轉(zhuǎn)換成±12V電源,為運(yùn)放電路提供正負(fù)電源。

          系統(tǒng)軟件設(shè)計(jì)

          1單片機(jī)軟件部分的設(shè)計(jì)

          單片機(jī)的軟件部分主要完成光柵位移傳感器的數(shù)據(jù)采集、A/D轉(zhuǎn)換、計(jì)算光柵位移傳感器的正向、反向莫爾條紋的個數(shù)、為數(shù)字電路提供CP脈沖以及完成USB的通信等工作。

          ① A/D轉(zhuǎn)換部分的程序設(shè)計(jì)

          PIC18F4550 器件的ADC模塊有13個輸入通道。該模塊能將任意一個模擬輸入信號轉(zhuǎn)換成相應(yīng)的10位數(shù)字信號。本需要把COS和SIN兩路正弦模擬信號轉(zhuǎn)換成 數(shù)字信號,同時把一路零位脈沖信號送入單片機(jī)寄存器中。因此在設(shè)計(jì)A/D轉(zhuǎn)換部分程序時,把RA0、RA3分別設(shè)為SIN和COS兩路模擬信號的輸入,把 RA5設(shè)為零位信號的數(shù)字輸入,其他模擬信號口都分別設(shè)為數(shù)字量輸出口,以便最大限度的減少單片機(jī)的外圍電路對該系統(tǒng)信號采集的影響,提高整個系統(tǒng)的抗干 擾能力和精度。

          ② 定時器/計(jì)數(shù)器部分的程序設(shè)計(jì)

          本檢測系統(tǒng)的單片機(jī)需要把光柵位移傳感器正向移動的光柵線數(shù)和反向移動的光柵線數(shù)計(jì)算出來,然后通過USB接口送到上位機(jī),作為光柵位移長 度的計(jì)大數(shù)部分。光柵位移傳感器輸出的正弦信號經(jīng)過信號調(diào)理電路后,可以把它移動的光柵線數(shù)轉(zhuǎn)換成數(shù)字脈沖,從而可以通過計(jì)算脈沖的個數(shù)來達(dá)到計(jì)算光柵線 數(shù)的目的。因此我們可以選擇Timer0和Timer1作為計(jì)數(shù)器使用,從而計(jì)算出光柵位移傳感器正反向移動的光柵線數(shù)。

          ③ 比較/ 捕捉/PWM (CCP)模塊的設(shè)計(jì)

          PIC18F4550具備一個16位數(shù)據(jù)和分辨率的捕捉(Capture)/比較(Compare)/PWM(Pulse Width Modulation)模塊CCP2和一個增強(qiáng)型捕捉/比較/PWM模塊CCP1。其中,增強(qiáng)型CCP1具有死區(qū)控制和故障保護(hù)輸入功能。每個CCP模塊 有一個16位寄存器,它可以用作16位捕捉寄存器、16位比較寄存器或PWM主/從占空比寄存器。因?yàn)楸驹O(shè)計(jì)只需要一路PWM輸出,所以我們只需要使用一 個CCP2就能滿足設(shè)計(jì)要求。根據(jù)系統(tǒng)設(shè)計(jì)要求,我們使用單片機(jī)的Timer2配合單片機(jī)的CCP使用,使CCP模塊輸出4M的方波。

          ④ USB模塊的設(shè)計(jì)

          對于單片機(jī)控制程序,目前沒有任何廠商提供自動生成固件(firmware)的工具,因此所有程序都要由自己手工編制。本系統(tǒng)的設(shè)計(jì)就是在Microchip提供的DEMO程序的基礎(chǔ)上,進(jìn)行必要的修改而完成的。

          2 PC軟件部分的設(shè)計(jì)

          PC的軟件部分主要用于完成上位機(jī)同下位機(jī)之間的USB通信,光柵位移傳感器位移信號的細(xì)分和顯示等功能。為了下一步的軟件開發(fā)以及與廠家的其它軟件接口,應(yīng)廠家的要求,本系統(tǒng)上位機(jī)的軟件部分采用VC++6.0來實(shí)現(xiàn)。

          該設(shè)備驅(qū)動程序采用了Microchip的通用USB設(shè)備驅(qū)動程序,而接口通信程序采用了Microchip的BAPI.DLL動態(tài)鏈接庫。

          計(jì)算機(jī)對最后一個正弦信號進(jìn)行細(xì)分,細(xì)分點(diǎn)通過計(jì)算相位程序結(jié)合正、余弦信號象限判別來獲得。為了提高精度,我們把正、余弦信號分為8個象 限,然后求出細(xì)分點(diǎn)的比值,然后通過求細(xì)分點(diǎn)反正切函數(shù)求出光柵尺的相位,再根據(jù)光柵尺相位的弧度值計(jì)算出光柵尺細(xì)分點(diǎn)的位移值,最后把光柵尺細(xì)分點(diǎn)的位 移值加上光柵尺移動的完整光柵線數(shù),從而得到光柵尺的位移值。

          因?yàn)楣鈻懦邧啪€的柵距不同,為了設(shè)計(jì)的通用性,我們在編程時對三種常用的柵距(100線/mm、50線/mm、25線/mm)都分別作了處理。若使用光柵尺柵線為100線/mm,即光柵柵距為 0.01mm,對正弦信號進(jìn)行100細(xì)分,可得測距分辨率為0.1μm。

          在本課題設(shè)計(jì)時,我選用MFC基于對話框的設(shè)計(jì),數(shù)據(jù)的顯示等全用Windows的公用控件完成。

          干涉儀相關(guān)文章:干涉儀原理




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();