徐榕龍 江雄
摘 要:光電碼盤在轉角測量機構中應用廣泛,但成本較低的光電碼盤的測量精度在某些應用領域中不能滿足要求,設計電路提高基于光電碼盤測角機構的測量精度能夠解決這類問題,而且成本低、體積小。本文簡要介紹了光電碼盤的工作原理,為提高光電碼盤轉角測量精度,對碼盤輸出信號進行四倍頻分析,設計了脈沖四倍頻電路模塊和雙向計數電路模塊,仿真驗證了電路的可行性。
關鍵詞:光電碼盤 倍頻 雙向計數
中圖分類號:TP3 文獻標識碼:A 文章編號:1674-098X(2017)11(b)-0114-02
1 光電碼盤簡介
光電碼盤是一種通過光電轉換將角位移量轉換成脈沖或數字量的光電傳感器,是一種集光、機、電一體的數字測角裝置。它的核心部分是高精度的計量光柵,由光學玻璃制成,在上面刻有許多同心碼道,每個碼道上都有按一定規律排列的透光和不透光部分。它依靠計量光柵作為檢測工具,由于光電碼盤與電動機同軸,電動機旋轉時,光柵盤與電動機同速旋轉,通過電子檢測裝置檢測輸出脈沖信號,把位移或者角度信息轉換成相應的模擬或者數字信號,其原理圖如圖1所示。光電碼盤每旋轉1密位則輸出一個周期脈沖,通過計算每次轉動輸出脈沖個數即可計算出轉過的角度密位值,為辨別旋轉方向,碼盤提供相位相差90°的兩相脈沖。
光電碼盤結構簡單、體積小、重量輕、分辨率高,因此在雷達、指揮儀、經緯儀、自動測量、遙感等領域應用十分廣泛。隨著光電技術的迅速發展,光電碼盤已經成為一種高精度角度傳感器。但在實際應用中,不同價格的光電碼盤對轉角的測量精度有所差別,精度高的碼盤一般價格較貴,不適用于需要控制成本的轉角測量系統,而對于便宜的光電碼盤,直接利用碼盤輸出的脈沖進行計數所得到的結果不能滿足所要求的精度。
本文通過分析碼盤輸出信號四倍頻方案,設計碼盤輸出脈沖四倍頻電路,并實驗驗證了該電路的倍頻結果,將其應用于輸出精度為1密位的碼盤,可將測角顯示精度提高到0.25密位。與直接使用高精度碼盤相比,此設計成本低,能滿足一般光電碼盤的需求。
2 輸出脈沖四倍頻分析
碼盤每轉動1密位就輸出1個周期脈沖,直接對碼盤輸出脈沖進行計數只能精確到1密位,而設計所需的精度至少應達到0.25密位,故直接對碼盤輸出脈沖進行計數不能滿足精度要求,可通過對碼盤輸出的脈沖進行四倍頻達到提高測量精度的目的。如圖2是對脈沖進行四倍頻分析波形圖。每一個周期包含兩個邊沿信號,A、B兩路輸出信號相位相差恰為90°,若利用A、B兩路信號的邊沿信號共同計數,則在一個周期內恰能計數4次,即每輸出一個脈沖代表光電碼盤轉動了0.25密位,可通過微分電路將邊沿信號轉換成窄脈沖信號,再通過門電路輸出滿足計數要求的脈沖,以達到提高測量精度的目的。
為了能辨別碼盤轉動的方向,計數電路對四倍頻電路輸出的信號有著特殊的要求,當正向計數時,正向信號為脈沖信號,反向信號為高電平信號,而當反向計數時,正向信號為高電平信號,反向信號為脈沖信號。所以,四倍頻電路最終輸出的信號如圖2的最后兩路信號所示。
3 電路設計
本文所有電路圖用Altium Designer 09[1]設計完成。
3.1 四倍頻電路設計
脈沖四倍頻模塊硬件設計采用了四組微分電路[2]與兩片74LS08芯片結合,實現對碼盤輸出信號四倍頻。AA端和BB端分別連接碼盤的A相和B相輸出信號,兩塊74LS08芯片的輸出端分別代表四倍頻電路的正向和反向脈沖輸出。
首先將碼盤輸出的A相和B相脈沖經非門反向得到脈沖A、、B和脈沖,通過合適的微分電路將所有上升沿轉換為正的窄脈沖,經過與門電路得到在一個碼盤輸出脈沖的周期內具有4個由上升沿轉換出來的正向窄脈沖,輸出脈沖的周期縮短了4倍,從而能實現對輸出脈沖的四倍頻。由于雙向計數電路要求輸入的兩個方向脈沖是窄低電平脈沖和高電平組合,故還需將脈沖進行邏輯非,通過一個四輸入與非門即可實現。
3.2 雙向循環計數電路
由于光電碼盤每轉動一密位輸出一個周期脈沖,故碼盤轉動一周輸出6000個脈沖,經四倍頻后為24000個脈沖,此時碼盤轉動一周,計數電路需計數24000次,而24000轉換成二進制數為0101 1101 1100 0000,采用二進制計數方式需要至少15位,本設計采用4片74ls19芯片完全能滿足要求。計數電路各芯片的輸出端QA、QB、QC、QD連接STC89C52單片機[3]的P0口和P2口,再連接至數碼管以顯示輸出結果。
3.2.1 級聯計數
74LS193為二進制可加可減計數器,輸出位數為4位,將4片這樣的芯片經級聯可滿足所需要求。芯片的UP引腳為正向脈沖輸入引腳,與四倍頻電路正向脈沖輸入端相連,DWN引腳為反向脈沖輸入引腳,與4倍頻電路反向脈沖輸入端相連;BRW和CO引腳分別是借位引腳和進位引腳,分別與下一級芯片的DWN和CO引腳相連,4片74LS193芯片照此法級聯形成雙向計數電路。該電路加減計數原理相似,以加計數為例,正向計數輸出脈沖輸入到最低級芯片的加計數端,當最低級芯片計數值超過1111時,其進位輸出端輸出一個低電平脈沖,作為下一級芯片的加計數端輸入信號,下一級芯片計數溢出后再向下一級芯片進位,如此實現4塊芯片級聯計數。
3.2.2 清零與置數
當正向計數到24000時,4塊計數芯片輸出0101 1101 1100 0000,此時C14、C12、C11、C10、C8、C7、C6輸出同時為1時,若碼盤繼續轉動,應從0開始循環計數,這一過程是通過清零電路實現的。其原理是C14、C12、C11、C10、C8、C7、C6輸出同時為1時,三三輸入與門74LS11的輸出端輸出高電平,為了達到單片機復位時計數電路也清零的目的,從復位電路的開關近地端引出信號與74LS11的輸出端信號通過或門與計數電路清零端CLR引腳連接,一起控制計數電路清零,從而實現循環正向計數和復位即清零。
當反向計數到零時,4塊芯片輸出均為零,繼續反向計數,最高位芯片的借位端BRW引腳將輸出一個低電平,并且只有這個時刻該引腳才輸出低電平,而芯片的置位端LD引腳低電平有效,4塊芯片的A、B、C、D引腳連接不同的電平表示不同的置位數值,其二進制數原理與輸出端引腳相同,所以,將最高位芯片的借位端BRW引腳與置位端LD引腳連接,當反向計數到零時,從24000開始循環計數。
4 仿真及分析
按照上面所述電路原理設計四倍頻雙向計數電路圖,用虛擬信號發生器模擬產生碼盤的兩相輸出信號,用虛擬示波器測量ZZ端和FZ端的輸出信號,啟動仿真,示波器測量得到的輸出信號的頻率是碼盤輸出信號的4倍,數碼管顯示每隔0.25增加或減小。證明設計的電路符合要求,能夠應用于碼盤計數電路。
參考文獻
[1] 雍楊,陳曉鴿.Altium Designer 09電路設計標準教程[M].北京:科學出版社,2011.
[2] 華成英,童詩白.模擬電子計數基礎[M].北京:高等教育出版社,2006.
[3] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業出版社,2009.endprint