新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 一種簡單實用的測角碼盤設(shè)計方案

一種簡單實用的測角碼盤設(shè)計方案

作者: 時間:2004-12-07 來源:網(wǎng)絡(luò) 收藏
摘要:介紹一種制作簡單、價格便宜、應(yīng)用面廣的;并以碼盤信號的產(chǎn)生、處理和傳輸為主線,詳細(xì)說明工作原理,進(jìn)而再次證明其簡單便宜的突出優(yōu)點。

關(guān)鍵詞: 編碼膠片 狀態(tài)編碼

測控系統(tǒng)中,經(jīng)常用到采集各種角度參數(shù)或?qū)D(zhuǎn)動機(jī)構(gòu)進(jìn)行測速的角度傳感器。目前,市場上一些具有成熟技術(shù)的角度傳感器有自增角機(jī)、電位器、碼盤、霍爾元件和齒輪計數(shù)器等。這些產(chǎn)品中,有的精度很高,但價格昂貴,有的價格便宜,但結(jié)構(gòu)復(fù)雜,往往難于同時滿足結(jié)構(gòu)簡單、價格便宜的要求。本文介紹一種光電碼盤,硬件結(jié)構(gòu)非常簡單、成本價格十分便宜,而且穩(wěn)定性好、使用壽命長,又能滿足多數(shù)情況下的精度要求。

1 工作原理

1.1 原始信號的產(chǎn)生

(1)信號產(chǎn)生原理

圖1是碼盤產(chǎn)生原始信號的原理示意圖。

本碼盤用于采集信號的器件是一對發(fā)光管和接收管,每個管內(nèi)有兩套收發(fā)裝置。其功能實現(xiàn)過程為:在發(fā)光管和接收管之間放一圓形黑白相間且寬度相同的編碼膠片,使三者分別處于相互平行的平面內(nèi),將發(fā)光管和接收管中心對正,并使編碼膠片可以繞其軸心旋轉(zhuǎn)。上電后,發(fā)光管會連續(xù)不斷地發(fā)射信號,但由于膠片是黑白相同的,所以當(dāng)黑色部分正對發(fā)光管時,發(fā)光管發(fā)出的信號將被阻擋,使接收管接收不到信號;而當(dāng)白色部分正對發(fā)光管時,發(fā)光管發(fā)出的信號將透過膠片射到接收管上。這樣,在接收端就得到兩路連續(xù)變化的正弦波。

(2)方向判別原理

圖2為原理示意圖。

編碼膠片寬度是收發(fā)裝置距離的兩倍,兩收發(fā)裝置位置關(guān)系應(yīng)滿足B=(0.7n+0.35)+A,圖中n=0。

同理,當(dāng)膠片向右轉(zhuǎn)動時,A、B信號變化恰好相反。這樣,通過A、B信號不同的變化規(guī)律實現(xiàn)對方向的判別。

1.2 信號處理

圖3是碼盤信號處理電路圖。

該電路的主要任務(wù)是將產(chǎn)生的原始模擬信號轉(zhuǎn)換為數(shù)字信號,即模數(shù)轉(zhuǎn)換。由傳感器產(chǎn)生的0V為振蕩中心的正弦波信號,經(jīng)跟隨器處理后轉(zhuǎn)換為以+2.5V為振蕩中心的正弦波信號。通過調(diào)節(jié)電位器,使其波形達(dá)到最佳狀態(tài),然后,經(jīng)過大器將正弦波信號放大10倍。此時,由于放大的拉伸作用,被鉗位在0~5V之間的信號已具有非常陡的上升沿和下降沿,最后經(jīng)施密特觸發(fā)器整形后,以方波形式輸給單片機(jī)。其波形關(guān)系如圖4所示。

1.3 信號控制及傳輸

圖5為控制傳輸電路圖。

這部分主要通過軟件編程實現(xiàn)對信號的處理。硬件結(jié)構(gòu)包括信號處理芯片AT89C2051、信號傳輸芯片75176和相應(yīng)的復(fù)位電路。其中,復(fù)位電路采用由MAX813L芯片組成的看門狗電路。正常工作時,由89C2051為其定時提供觸發(fā)信號,不產(chǎn)生復(fù)位;若發(fā)生錯誤,則在距上次觸發(fā)信號1.6s后,該電路會自動產(chǎn)生復(fù)位信號,對89C2051進(jìn)行復(fù)位。

信號處理電路產(chǎn)生的方波信號A、B由端口Px.m和Px.n輸入,然后通過軟件比較端口現(xiàn)在時刻和下一時刻的狀態(tài)變化,實現(xiàn)功能選擇。最后,通過端口Px.k控制的串行通信 芯片75176傳給主控板,實現(xiàn)信號的控制傳輸。

2 軟件設(shè)計

2.1 狀態(tài)編碼

由圖4可知,A、B信號的相位相差1/4個周期,所以可得圖6所示的狀態(tài)變換圖。

若規(guī)定順序時針方向計數(shù)器為加,逆時針方向計數(shù)器為減。

這樣,通過不同狀態(tài)值的變換就可對數(shù)據(jù)進(jìn)行加操作、減操作和不操作,從而實現(xiàn)對信號的連續(xù)處理功能。

2.2 軟件編程

軟件流程如圖7所示。

主要可分為以下幾部分。

①上電開始后,軟件首先對AT89C2051的內(nèi)部寄存器和RS422串行口進(jìn)行初始化。通過對專用寄存器的賦值,設(shè)定工作狀態(tài)和通信 方式,串行通信的波特率為9600b/s。

②初始化完成后,軟件將檢測端口Px.m和Px.n的狀態(tài),程序用兩位記錄端口相鄰狀態(tài)值,左一位代表前一狀態(tài),右一位代表當(dāng)前狀態(tài),然后通過帶進(jìn)位的左循環(huán)指令進(jìn)行狀態(tài)更新。通過狀態(tài)值變化,查表2,跳轉(zhuǎn)進(jìn)入執(zhí)行程序。

③在執(zhí)行程序中,可根據(jù)不同需要設(shè)定上下限進(jìn)行數(shù)據(jù)處理。同時,由于處理程序很少,執(zhí)行時間短,串行通信部分可采用查詢方式完成。

3 應(yīng)用實例

把該設(shè)計應(yīng)用到筆者開發(fā)的項目―某型轉(zhuǎn)達(dá)訓(xùn)練系統(tǒng)上。采用圖3和圖5所示的電路,用該碼盤連續(xù)采集空中飛行目標(biāo)的方位角和高低角。

以高低角采集為例,系統(tǒng)指標(biāo)要求高低角變化范圍是-50~1450密位,設(shè)計中采用的編碼膠片精度是480單位/圈。如文中圖1所示,由于編碼膠片是圓形的,且一個黑色或一個魄區(qū)間均可稱為一個單位,所以計算其精度時用每圈包含的黑白區(qū)間個數(shù)確定,因此用單位/圈。對高低角增減判斷主要通過軟件編程實現(xiàn),這段程序如下。

MAIN1:MOV A,R4 ;讀驪盤A、B信號到碼盤狀態(tài)暫存器R4

MOV C,P3.3 ;P3.3為A信號采集端口,

RLCA ;用于A信號新舊狀態(tài)轉(zhuǎn)換

MOV C,P3.5 ;P3.5為B信號采集端口,

RLCA ;用于B信號新舊狀態(tài)轉(zhuǎn)換

MOV R4,A

ANL A,#0FH ;計算散轉(zhuǎn)地址

MOV B,#03H

MUL AB

MOV DPTR,#TIM1;TIM1為狀態(tài)真值表首地址

LJMP @A+DPTR ;散轉(zhuǎn)至真值表

然后,通過查真值表狀態(tài)值,轉(zhuǎn)入處理程序?qū)崿F(xiàn)角度的加減。若出現(xiàn)丟碼現(xiàn)象,說明單片機(jī)采集速度低于碼盤轉(zhuǎn)動速度,可根據(jù)實際情況更換采集芯片或降低碼盤轉(zhuǎn)動速度。同時,通過規(guī)定編碼膠片每旋轉(zhuǎn)個單位對應(yīng)的角度值變化1密位(密位是軍事用語,一種更精確的劃分角度方法,一周為360度,6000密位)和相應(yīng)的單位轉(zhuǎn)換。在軟件中確定了碼盤采集量的上下限和單位變化量,從而限定了高低角的變化范圍,也達(dá)到了采集精度要求。

圖8

通過示波器檢測硬件電路單個信號波形,得到圖8所示關(guān)系。

說明實際應(yīng)用電路中各級輸出信號與原理電路的設(shè)計完全相符,軟件采集的信號為真實值。

經(jīng)實踐檢驗,該方案設(shè)計的碼盤能準(zhǔn)確的采集目標(biāo)參數(shù),使系統(tǒng)對目標(biāo)進(jìn)行連續(xù)跟蹤。

本文介紹的設(shè)計方案使用的都是容易購買的簡單器件,且軟件編程任務(wù)量少。此外,可通過在旋轉(zhuǎn)軸上安裝微動開關(guān)實現(xiàn)碼盤計數(shù)的快慢變化,還可通過采用絕對式編碼膠片進(jìn)一步提高采集精度。



評論


相關(guān)推薦

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

關(guān)閉