一種簡(jiǎn)單實(shí)用的測(cè)角碼盤(pán)設(shè)計(jì)方案
關(guān)鍵詞:測(cè)角碼盤(pán) 編碼膠片 狀態(tài)編碼
測(cè)控系統(tǒng)中,經(jīng)常用到采集各種角度參數(shù)或?qū)D(zhuǎn)動(dòng)機(jī)構(gòu)進(jìn)行測(cè)速的角度傳感器。目前,市場(chǎng)上一些具有成熟技術(shù)的角度傳感器有自增角機(jī)、電位器、碼盤(pán)、霍爾元件和齒輪計(jì)數(shù)器等。這些產(chǎn)品中,有的精度很高,但價(jià)格昂貴,有的價(jià)格便宜,但結(jié)構(gòu)復(fù)雜,往往難于同時(shí)滿足結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜的要求。本文介紹一種光電碼盤(pán)設(shè)計(jì)方案,硬件結(jié)構(gòu)非常簡(jiǎn)單、成本價(jià)格十分便宜,而且穩(wěn)定性好、使用壽命長(zhǎng),又能滿足多數(shù)情況下的精度要求。
1 工作原理
1.1 原始信號(hào)的產(chǎn)生
(1)信號(hào)產(chǎn)生原理
圖1是碼盤(pán)產(chǎn)生原始信號(hào)的原理示意圖。
本碼盤(pán)用于采集信號(hào)的器件是一對(duì)發(fā)光管和接收管,每個(gè)管內(nèi)有兩套收發(fā)裝置。其功能實(shí)現(xiàn)過(guò)程為:在發(fā)光管和接收管之間放一圓形黑白相間且寬度相同的編碼膠片,使三者分別處于相互平行的平面內(nèi),將發(fā)光管和接收管中心對(duì)正,并使編碼膠片可以繞其軸心旋轉(zhuǎn)。上電后,發(fā)光管會(huì)連續(xù)不斷地發(fā)射信號(hào),但由于膠片是黑白相同的,所以當(dāng)黑色部分正對(duì)發(fā)光管時(shí),發(fā)光管發(fā)出的信號(hào)將被阻擋,使接收管接收不到信號(hào);而當(dāng)白色部分正對(duì)發(fā)光管時(shí),發(fā)光管發(fā)出的信號(hào)將透過(guò)膠片射到接收管上。這樣,在接收端就得到兩路連續(xù)變化的正弦波。
(2)方向判別原理
圖2為原理示意圖。
編碼膠片寬度是收發(fā)裝置距離的兩倍,兩收發(fā)裝置位置關(guān)系應(yīng)滿足B=(0.7n+0.35)+A,圖中n=0。
同理,當(dāng)膠片向右轉(zhuǎn)動(dòng)時(shí),A、B信號(hào)變化恰好相反。這樣,通過(guò)A、B信號(hào)不同的變化規(guī)律實(shí)現(xiàn)對(duì)方向的判別。
1.2 信號(hào)處理
圖3是碼盤(pán)信號(hào)處理電路圖。
該電路的主要任務(wù)是將產(chǎn)生的原始模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),即模數(shù)轉(zhuǎn)換。由傳感器產(chǎn)生的0V為振蕩中心的正弦波信號(hào),經(jīng)跟隨器處理后轉(zhuǎn)換為以+2.5V為振蕩中心的正弦波信號(hào)。通過(guò)調(diào)節(jié)電位器,使其波形達(dá)到最佳狀態(tài),然后,經(jīng)過(guò)大器將正弦波信號(hào)放大10倍。此時(shí),由于放大的拉伸作用,被鉗位在0~5V之間的信號(hào)已具有非常陡的上升沿和下降沿,最后經(jīng)施密特觸發(fā)器整形后,以方波形式輸給單片機(jī)。其波形關(guān)系如圖4所示。
1.3 信號(hào)控制及傳輸
圖5為控制傳輸電路圖。
信號(hào)處理電路產(chǎn)生的方波信號(hào)A、B由端口Px.m和Px.n輸入,然后通過(guò)軟件比較端口現(xiàn)在時(shí)刻和下一時(shí)刻的狀態(tài)變化,實(shí)現(xiàn)功能選擇。最后,通過(guò)端口Px.k控制的串行通信 芯片75176傳給主控板,實(shí)現(xiàn)信號(hào)的控制傳輸。
2 軟件設(shè)計(jì)
2.1 狀態(tài)編碼
由圖4可知,A、B信號(hào)的相位相差1/4個(gè)周期,所以可得圖6所示的狀態(tài)變換圖。
若規(guī)定順序時(shí)針?lè)较蛴?jì)數(shù)器為加,逆時(shí)針?lè)较蛴?jì)數(shù)器為減。
這樣,通過(guò)不同狀態(tài)值的變換就可對(duì)數(shù)據(jù)進(jìn)行加操作、減操作和不操作,從而實(shí)現(xiàn)對(duì)信號(hào)的連續(xù)處理功能。
2.2 軟件編程
軟件流程如圖7所示。
主要可分為以下幾部分。
①上電開(kāi)始后,軟件首先對(duì)AT89C2051的內(nèi)部寄存器和RS422串行口進(jìn)行初始化。通過(guò)對(duì)專(zhuān)用寄存器的賦值,設(shè)定工作狀態(tài)和通信 方式,串行通信的波特率為9600b/s。
②初始化完成后,軟件將檢測(cè)端口Px.m和Px.n的狀態(tài),程序用兩位記錄端口相鄰狀態(tài)值,左一位代表前一狀態(tài),右一位代表當(dāng)前狀態(tài),然后通過(guò)帶進(jìn)位的左循環(huán)指令進(jìn)行狀態(tài)更新。通過(guò)狀態(tài)值變化,查表2,跳轉(zhuǎn)進(jìn)入執(zhí)行程序。
③在執(zhí)行程序中,可根據(jù)不同需要設(shè)定上下限進(jìn)行數(shù)據(jù)處理。同時(shí),由于處理程序很少,執(zhí)行時(shí)間短,串行通信部分可采用查詢(xún)方式完成。
3 應(yīng)用實(shí)例
把該設(shè)計(jì)應(yīng)用到筆者開(kāi)發(fā)的項(xiàng)目―某型轉(zhuǎn)達(dá)訓(xùn)練系統(tǒng)上。采用圖3和圖5所示的電路設(shè)計(jì)方案,用該碼盤(pán)連續(xù)采集空中飛行目標(biāo)的方位角和高低角。
以高低角采集為例,系統(tǒng)指標(biāo)要求高低角變化范圍是-50~1450密位,設(shè)計(jì)中采用的編碼膠片精度是480單位/圈。如文中圖1所示,由于編碼膠片是圓形的,且一個(gè)黑色或一個(gè)魄區(qū)間均可稱(chēng)為一個(gè)單位,所以計(jì)算其精度時(shí)用每圈包含的黑白區(qū)間個(gè)數(shù)確定,因此用單位/圈。對(duì)高低角增減判斷主要通過(guò)軟件編程實(shí)現(xiàn),這段程序如下。
MOV C,P3.3 ;P3.3為A信號(hào)采集端口,
RLCA ;用于A信號(hào)新舊狀態(tài)轉(zhuǎn)換
MOV C,P3.5 ;P3.5為B信號(hào)采集端口,
RLCA ;用于B信號(hào)新舊狀態(tài)轉(zhuǎn)換
MOV R4,A
ANL A,#0FH ;計(jì)算散轉(zhuǎn)地址
MOV B,#03H
MUL AB
MOV DPTR,#TIM1;TIM1為狀態(tài)真值表首地址
LJMP @A+DPTR ;散轉(zhuǎn)至真值表
然后,通過(guò)查真值表狀態(tài)值,轉(zhuǎn)入處理程序?qū)崿F(xiàn)角度的加減。若出現(xiàn)丟碼現(xiàn)象,說(shuō)明單片機(jī)采集速度低于碼盤(pán)轉(zhuǎn)動(dòng)速度,可根據(jù)實(shí)際情況更換采集芯片或降低碼盤(pán)轉(zhuǎn)動(dòng)速度。同時(shí),通過(guò)規(guī)定編碼膠片每旋轉(zhuǎn)個(gè)單位對(duì)應(yīng)的角度值變化1密位(密位是軍事用語(yǔ),一種更精確的劃分角度方法,一周為360度,6000密位)和相應(yīng)的單位轉(zhuǎn)換。在軟件中確定了碼盤(pán)采集量的上下限和單位變化量,從而限定了高低角的變化范圍,也達(dá)到了采集精度要求。
圖8
說(shuō)明實(shí)際應(yīng)用電路中各級(jí)輸出信號(hào)與原理電路的設(shè)計(jì)完全相符,軟件采集的信號(hào)為真實(shí)值。
經(jīng)實(shí)踐檢驗(yàn),該方案設(shè)計(jì)的碼盤(pán)能準(zhǔn)確的采集目標(biāo)參數(shù),使系統(tǒng)對(duì)目標(biāo)進(jìn)行連續(xù)跟蹤。
本文介紹的測(cè)角碼盤(pán)設(shè)計(jì)方案使用的都是容易購(gòu)買(mǎi)的簡(jiǎn)單器件,且軟件編程任務(wù)量少。此外,可通過(guò)在旋轉(zhuǎn)軸上安裝微動(dòng)開(kāi)關(guān)實(shí)現(xiàn)碼盤(pán)計(jì)數(shù)的快慢變化,還可通過(guò)采用絕對(duì)式編碼膠片進(jìn)一步提高采集精度。
評(píng)論