一種簡單實用的測角碼盤設(shè)計方案
關(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)簡單、價格便宜的要求。本文介紹一種光電碼盤設(shè)計方案,硬件結(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為控制傳輸電路圖。
信號處理電路產(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所示的電路設(shè)計方案,用該碼盤連續(xù)采集空中飛行目標(biāo)的方位角和高低角。
以高低角采集為例,系統(tǒng)指標(biāo)要求高低角變化范圍是-50~1450密位,設(shè)計中采用的編碼膠片精度是480單位/圈。如文中圖1所示,由于編碼膠片是圓形的,且一個黑色或一個魄區(qū)間均可稱為一個單位,所以計算其精度時用每圈包含的黑白區(qū)間個數(shù)確定,因此用單位/圈。對高低角增減判斷主要通過軟件編程實現(xiàn),這段程序如下。
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
說明實際應(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)一步提高采集精度。
評論