基于單片機的磁性編碼器信號細分系統的設計
電子細分方案軟件流程圖如圖2所示。
在脈沖的輸出控制上需要解決如下兩個問題:如何輸出細分脈沖以及如何控制細分脈沖的輸出速率。
編碼盤的轉速變化是連續的,不會發生突變,因此可以近似認為在一段極短的時間內,電機的轉速是恒定的,在此時間段內也就完全可以按照等時間間隔輸出脈沖。假設電機的速度響應時間為100毫秒,在恒定加速度下達到1000轉/分的轉速,程序的執行周期為3000微秒,在一個程序周期中,按勻速處理產生的角度誤差最大不超過0.27度,也就不會導致脈沖的誤輸出,完全可以保證精度要求。按照恒定速率在極短的時間內輸出細分脈沖可以大大簡化程序設計,并可以大幅度提高系統的實習響應性能。
由于細分脈沖數目必須要等到下一次采樣完成后才能確定,因此脈沖的輸出在時間上必然會滯后一個程序周期。如果設定程序執行周期為3毫秒,按編碼盤每分鐘旋轉1000轉,每轉輸出1000個細分脈沖計算,則輸出信號最多會產生50個脈沖的滯后,相當于18o的機械角度誤差。如果編碼盤的轉速增加,該誤差會變得更大。同時,由于程序的執行周期不是一個固定值,因此由此所產生的信號滯后也將是一個變化的值。如果等到下一次的采樣完成后才輸出脈沖,則細分誤差會比較大,且無法控制。因此細分脈沖不能等到應輸出脈沖數目計算完成后才進行。
為了解決以上兩個問題,可以采用定時中斷控制脈沖的輸出。首先根據需要輸出的脈沖數目計算出輸出脈沖的時間間隔,以此時間間隔作為定時時間常數控制細分脈沖的輸出。這樣一方面可以保證脈沖輸出和輸出脈沖計算的同步進行;另一方面也可以通過定時器控制脈沖輸出的速率,從而使得細分脈沖在最大程度上實現了實時輸出。
為了進一步簡化程序設計,可以將程序執行周期設定為固定值,采用定時程序對程序的執行進行監控,以保證每一個程序的執行周期都為設定值。這樣就可以建立查詢表格,根據應輸出的細分脈沖的數目直接確定出對應的定時時間常數。如此,將復雜的浮點運算程序簡化為簡單的查表程序,縮短了程序執行周期,保證了細分脈沖輸出的實時性。

結論:
以上設計思想在編碼器信號細分系統設計中均得以應用,并成功實現了對編碼器輸出正弦波信號的1000細分,從實踐上證明了利用低成本的單片機系統完全可以在低分辨力的編碼器基礎上得到較高的分辨率。
參考文獻:
1、谷云彪等.提高光電編碼器分辨率的位置細分方法的研究.
2、電磁元件與特種器件,中國慣性技術學報,1996年第4卷第2期
3、鄭遠開等.高分辨率磁性編碼器.傳感器技術,1996年第5期
4、李懷瓊等.一種用軟件來實現的莫爾條紋數字化細分技術. 計量技術
5、劉文文.高精度的光柵信號細分算法.應用科學學報,1999年第17卷第1期













評論