本發(fā)明涉及編碼器信號轉(zhuǎn)換領域,具體涉及一種絕對編碼器信號轉(zhuǎn)換為增量編碼器信號的方法。
背景技術:
編碼器是一種重要的工業(yè)輔助裝置,廣泛用于工業(yè)系統(tǒng)中,常用來進行位置檢測、速度控制等,根據(jù)其刻度方法和信號輸出形式可分為增量式和絕對式兩種。增量編碼器是用脈沖的個數(shù)來表示位移的大小,其計數(shù)起點任意,可實現(xiàn)多圈無限累加測量,具有安裝簡單、價格便宜以及后續(xù)數(shù)據(jù)處理工作量小等優(yōu)點,但它開機要先找參考位,無法輸出軸轉(zhuǎn)動的絕對位置信息。絕對編碼器直接輸出數(shù)字量信號,它的每個位置唯一且由機械位置決定,在轉(zhuǎn)軸的任意位置都可以讀出角度坐標的絕對值,其無需記憶、無需找參考點、無需計數(shù),精度高,電源切除后位置信息不會丟失。同時,為了提高位置同步和數(shù)據(jù)采集的準確性,絕對編碼器在數(shù)據(jù)采集的編碼中采用格雷碼,在使用絕對編碼器信號的時需對其信號進行轉(zhuǎn)換。
由于絕對編碼器在定位方面明顯地優(yōu)于增量式編碼器,廣泛應用于對精度要求比較高的工控系統(tǒng)中。在一些控制場合,只需通過采集增量編碼信號這種簡單方法就可獲取機械轉(zhuǎn)軸的位移變化量,從而實現(xiàn)位置檢測和設備控制。如果在已裝有絕對編碼器的系統(tǒng)中二次安裝增量編碼器,或者重新搭建模擬現(xiàn)場的機械傳動裝置來獲得增量編碼信號,不但要求要有合適的安裝位置和空間,而且也會增加整體布線數(shù)量,隨之也會降低系統(tǒng)的可靠性,增加安裝和改造成本。
技術實現(xiàn)要素:
本發(fā)明的目的是針對上述不足,提出了在工業(yè)控制中不需要重復安裝編碼器實現(xiàn)將絕對編碼器信號轉(zhuǎn)換為增量編碼器信號,降低工業(yè)控制系統(tǒng)信號處理的復雜度,提高控制系統(tǒng)的靈活性的一種絕對編碼器信號轉(zhuǎn)換為增量編碼器信號的方法。
本發(fā)明具體采用如下技術方案:
一種絕對編碼器信號轉(zhuǎn)換為增量編碼器信號的方法,
將絕對編碼器輸出格雷碼的最低位信號線和最高位信號線分別與單片機的IO口相連,單片機接收絕對編碼器發(fā)送過來的最低位和最高位格雷碼數(shù)據(jù),根據(jù)接收到的絕對編碼器信號電平變化情況,模擬輸出增量編碼器的相應信號;
單片機接收完八組絕對編碼器格雷碼數(shù)據(jù),對應單片機完成控制輸出一個完整的編碼脈沖信號;
其中絕對編碼器的數(shù)據(jù)傳輸周期為t,位數(shù)為n,步長為2n,轉(zhuǎn)換后的增量編碼A相信號和B相信號周期都為T=8t,步長為2n-3,即轉(zhuǎn)換后的增量編碼信號的步長是絕對編碼器步長的1/8,測角分辨率也是是絕對編碼器的1/8,根據(jù)單片機接收到的絕對編碼器最低位格雷碼信號脈沖是上升沿還是下降沿,來模擬輸出增量編碼的A相信號和B相信號,然后再根據(jù)絕對編碼器最高位格雷碼信號脈沖信號的下降沿,輸出增量編碼的Z相信號。
優(yōu)選地,所述絕對編碼器最低位第一個上升沿到第二個上升沿之間的時間為增量編碼A相信號的高電平時間,絕對編碼器最低位第二個上升沿到第三個上升沿之間的時間為增量編碼B相信號的低電平時間。
優(yōu)選地,所述增量編碼A相信號和B相信號是兩組信號波形相同,并且僅存在1/4周期相位差的脈沖信號,增益編碼Z相信號為復位信號,當單片機判斷出絕對編碼信號完成旋轉(zhuǎn)一周或者回到零點則控制輸出編碼增益Z相信號,編碼增益Z相信號表示零相位。
優(yōu)選地,所述增益編碼A相信號、B相信號和Z相信號初始電平均為低電平,然后讀取絕對編碼器輸送的最低位信號,當單片機檢測到最低位信號的上升沿時,對增益編碼A相信號進行取反,當單片機檢測到最低位信號的下降沿時,對增益編碼B相信號取反,當單片機檢測到最高位信號的下降沿時,對增益編碼Z相信號進行取反。
本發(fā)明具有的有益效果是:在各種需要將絕對編碼器信號轉(zhuǎn)化為增量編碼器信號并且對精度要求不高的工業(yè)控制場合中,本發(fā)明提供的方法不需要重復安裝編碼器就可以將絕對編碼器信號轉(zhuǎn)化為增量編碼器信號,降低系統(tǒng)信號處理和接線的復雜度,而且還提高了控制系統(tǒng)的靈活性和安裝調(diào)試效率,具有廣泛的應用空間。
附圖說明
圖1為并行絕對編碼器輸出格雷碼示意圖;
圖2為增益編碼A相、B相信號產(chǎn)生原理圖;
圖3為增量信號輸出相位示意圖;
圖4為單片機輸出控制信號程序流程圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明的具體實施方式做進一步說明:
如圖1所示,C0、C1、C2……Cn-1分別為絕對編碼器完整輸出格雷碼數(shù)據(jù)所對應的最低位、第“1”位、第“2”位……到最高位。絕對編碼器旋轉(zhuǎn)一周,每個低位高低電平變化總數(shù)是其相鄰高位高低電平變化總數(shù)的2倍,方波上部0-(2n-1)數(shù)字為其各組n位格雷碼對應的十進制數(shù)。每個t時間輸出一組數(shù)據(jù),n位絕對編碼器步長為2n,其旋轉(zhuǎn)一圈則輸出2n組數(shù)據(jù),其測角分辨率為360/2n,最高位Cn-1每來一次脈沖下降沿,則表明絕對編碼器完成旋轉(zhuǎn)一周,或者回到其零點,其可作為增量編碼Z信號。
一種絕對編碼器信號轉(zhuǎn)換為增量編碼器信號的方法,
將絕對編碼器輸出格雷碼的最低位信號線和最高位信號線分別與單片機的IO口相連,單片機接收絕對編碼器發(fā)送過來的最低位和最高位格雷碼數(shù)據(jù),根據(jù)接收到的絕對編碼器信號電平變化情況,模擬輸出增量編碼器的相應信號;
單片機接收完八組絕對編碼器格雷碼數(shù)據(jù),對應單片機完成控制輸出一個完整的編碼脈沖信號;
其中絕對編碼器的數(shù)據(jù)傳輸周期為t,位數(shù)為n,步長為2n,轉(zhuǎn)換后的增量編碼A相信號和B相信號周期都為T=8t,步長為2n-3,即轉(zhuǎn)換后的增量編碼信號的步長是絕對編碼器步長的1/8,測角分辨率也是是絕對編碼器的1/8,根據(jù)單片機接收到的絕對編碼器最低位格雷碼信號脈沖是上升沿還是下降沿,來模擬輸出增量編碼的A相信號和B相信號,然后再根據(jù)絕對編碼器最高位格雷碼信號脈沖信號的下降沿,輸出增量編碼的Z相信號。
絕對編碼器最低位第一個上升沿到第二個上升沿之間的時間為增量編碼A相信號的高電平時間,絕對編碼器最低位第二個上升沿到第三個上升沿之間的時間為增量編碼B相信號的低電平時間。
增量編碼A相信號和B相信號是兩組信號波形相同,并且僅存在1/4周期相位差的脈沖信號,增益編碼Z相信號為復位信號,當單片機判斷出絕對編碼信號完成旋轉(zhuǎn)一周或者回到零點則控制輸出編碼增益Z相信號,編碼增益Z相信號表示零相位。
增益編碼A相信號、B相信號和Z相信號初始電平均為低電平,然后讀取絕對編碼器輸送的最低位信號,當單片機檢測到最低位信號的上升沿時,對增益編碼A相信號進行取反,當單片機檢測到最低位信號的下降沿時,對增益編碼B相信號取反,當單片機檢測到最高位信號的下降沿時,對增益編碼Z相信號進行取反。
如圖2所示,增益編碼A相信號、增益編碼B相信號是單片機通過接收到絕對編碼最低位(C0)格雷碼數(shù)據(jù)后,模擬輸出得到的。在模擬增益編碼A相、B相信號輸出時,把絕對編碼器最低位第一個上升沿到第二個上升沿之間的時間作為增量編碼A相信號的高電平時間,把絕對編碼器最低位第二個上升沿到第三個上升沿之間的時間作為增量編碼B相信號的低電平時間,一個完整的脈沖周期為T=8t。從絕對編碼器最低位第一個下降沿到第二個下降沿之間的時間作為增量編碼A相信號的高電平時間,從絕對編碼器最低位第二個下降沿到第三個下降沿之間的時間作為增量編碼B相信號的低電平時間,一個完整的脈沖周期也為T=8t,并且獲得的增益編碼A相信號與增益編碼B相信號相差1/4周期。轉(zhuǎn)換后的增量信號的步長只有原來的絕對編碼器步長的1/8,測角分辨率為360/2n。
如圖3所示,增益編碼A相信號、增益編碼B相信號和增益編碼Z相信號是就是通過接收到絕對編碼其最低位和最高位格雷碼數(shù)據(jù)后,經(jīng)過單片機計算處理模擬輸出得到的。增益編碼A相信號和增益編碼B相信號是兩組信號波形相同,并且僅存在1/4周期相位差的脈沖信號,增益編碼Z相信號為復位信號,當單片機判斷出絕對編碼器完成旋轉(zhuǎn)一周或者回到零點則控制輸出增益編碼Z相信號,其表示零相位,用于調(diào)零、對位。
如圖4所示,單片機先進行初始化,并且增益編碼A、B、Z三相信號初始電平均為低電平,然后讀取絕對編碼器送過來的最低位信號,當單片機檢測到最低位信號的上升沿時,對增益編碼A相信號進行取反,當單片機檢測到最低位信號的下降沿時,對增益編碼B相信號進行取反,當單片機檢測到最高位信號的下降沿時,對增益編碼Z相信號進行取反,然后對增益編碼A相、B相、Z相三相信號進行清零并循環(huán)重復上面步驟。
當然,上述說明并非是對本發(fā)明的限制,本發(fā)明也并不僅限于上述舉例,本技術領域的技術人員在本發(fā)明的實質(zhì)范圍內(nèi)所做出的變化、改型、添加或替換,也應屬于本發(fā)明的保護范圍。