一種角度編碼器的標定方法及裝置製造方法
2023-05-29 07:58:31 1
一種角度編碼器的標定方法及裝置製造方法
【專利摘要】本發明公開了一種角度編碼器的標定方法及裝置,方法包括控制步進電機分步旋轉不少於360度,通過高精度編碼器和待標定的角度編碼器分步採集所述步進電機旋轉指定角度後的角度數據得到多個角度數據組,初始化設置誤差因子並生成多個誤差因子組,將誤差因子組作為粒子通過粒子群算法根據前述角度數據組選擇最優的誤差因子組作為標定結果輸出;裝置包括主機、步進電機控制器和底座支架,底座支架上設有步進電機和高精度編碼器,步進電機上的輸出軸且分別與角度編碼器、高精度編碼器相連,高精度編碼器、角度編碼器分別與主機相連,步進電機控制器與步進電機相連。本發明具有標定精度高、標定成本低、標定所需數據量少、標定速度快的優點。
【專利說明】—種角度編碼器的標定方法及裝置
【技術領域】
[0001]本發明涉及高精度角度測量技術,具體涉及一種角度編碼器的標定方法及裝置。
【背景技術】
[0002]汽車和工業領域上採用的角度傳感器主要有基於磁力線測量技術的霍爾和磁阻角度編碼器,以及光電開關原理的絕對和相對角度編碼器。光電編碼器的測量精度可以做到很高,但是基於光電原理的絕對角度編碼器在輸出絕對角度時以編碼形式傳輸,處理較複雜,成本也較高。傳統的基於霍爾或磁阻的角度編碼器多通過使齒輪盤上的齒輪帶有磁性,通過採集齒輪旋轉帶來的磁力線變化測量角度,難以實現絕對角度測量,安裝需要較大空間且測量精度也不高。霍爾器件由於其非接觸式測量,低功耗高精度等方面的優勢,在控制系統中得到了廣泛的應用。而傳統的線性霍爾傳感器採用平面霍爾技術,僅僅能夠感應垂直於晶片表面的磁場強度。新型的基於hall盤的角度編碼器通過垂直對置的兩對或多對霍爾盤測量水平旋轉的單極性磁體,通過不同對霍爾盤上的正弦電壓來計算絕對角度。這種方法安裝簡單,空間要求小,成本也低。但是,受到了測量精度的影響。通過應用CMOS晶片表面沉積的集磁材料IMC(Integrated Magneto-Concentrator),調理通過霍爾盤上的磁路是提高傳感器的精度的有效途徑之一。但是,由於採用正交的電信號進行測量,IMC材料也存在飽和問題,三軸霍爾傳感器非常容易引入系統誤差。現有技術的角度編碼器的標定方法是角度編碼器組裝完成後,通過與高精度編碼器的對比測量獲取其工作誤差,並根據誤差對角度編碼器的實際測量值進行修正,從而達到提高角度編碼器檢測精度的目的。但是,現有技術的角度編碼器的標定方法的誤差是簡單測量得出來的,因此導致其工作誤差的獲取並不精確,直接影響到了角度編碼器的測量精度。因此,為了提高角度編碼器的檢測精度,如何針對角度編碼器的標定完成高精確度的標定,已經稱為角度編碼器在應用過程中一項亟待解決的關鍵技術問題。
【發明內容】
[0003]本發明要解決的技術問題是提供一種標定精度高、標定成本低、標定所需數據量少、標定速度快的角度編碼器的標定方法及裝置。
[0004]為了解決上述技術問題,本發明採用的技術方案為:
[0005]一種角度編碼器的標定方法,其實施步驟如下:
[0006]I)通過步進電機驅動待標定的角度編碼器以指定角度逐步旋轉完成不少於360度的轉動,通過與步進電機輸出軸相連的高精度編碼器獲取待標定的角度編碼器在每一個指定角度的位置輸出的多個角度數據,將多個角度數據與對應的指定角度的位置關聯作為一個角度數據組,最終得到分別對應每一個指定角度的位置的多個角度數據組;
[0007]2)初始化設置六個誤差因子的步長、最大值、最小值,所述六個誤差因子包括角度編碼器的X軸偏移、X軸失配、y軸偏移、y軸失配、相位偏移和磁場強度,其中,X軸偏移用於表徵角度編碼器輸出信號電壓幅值上的X軸偏差,y軸偏移用於表徵角度編碼器輸出信號電壓幅值上的y軸偏差,X軸失配用於表徵角度編碼器輸出信號在放大過程中的X軸偏差,y軸失配用於表徵角度編碼器輸出信號在放大過程中的I軸偏差,相位偏移用於表徵角度編碼器輸出信號在放大過程以及信號處理中引入的相位偏移,磁場強度用於表徵作用在角度編碼器的傳感器晶片上的磁場強度;
[0008]3)根據所述六個誤差因子的步長、最大值、最小值生成多個誤差因子組,將每一個所述誤差因子組作為粒子群算法的粒子群中的一個粒子,通過粒子群算法根據每一個角度數據組對所有誤差因子組進行迭代運算選擇最優的誤差因子組作為標定結果輸出。
[0009]進一步地,所述步驟I)的具體步驟如下:
[0010]1.1)定時採集待標定的角度編碼器輸出的角度數據;同時通過步進電機以指定角度旋轉待標定的角度編碼器,同時通過與步進電機輸出軸相連的高精度編碼器採集步進電機旋轉的角度數據,在每一個指定角度的位置採集得到待標定的角度編碼器輸出的多個角度數據,將多個角度數據與對應的指定角度的位置關聯作為一個角度數據組;
[0011]1.2)根據高精度編碼器輸出的角度數據判斷步進電機是否已完成旋轉,如果已完成,則跳轉執行步驟1.3),否則跳轉執行步驟1.1);
[0012]1.3)判斷得到的每一個角度數據組是否穩定,如果角度數據組中的多個角度數據存在抖動,則將角度數據組中抖動的角度數據視為廢數據進行丟棄;最終跳轉執行步驟
1.4);
[0013]1.4)判斷得到的角度數據組的數量是否已經滿足要求,如果滿足要求則跳轉執行步驟2),否則跳轉執行步驟1.1)。
[0014]進一步地,所述步驟3)的詳細步驟如下:
[0015]3.1)隨機取得粒子群的初始位置和速度;
[0016]3.2)根據所述六個誤差因子的步長、最大值、最小值生成多個誤差因子組,將每一個所述誤差因子組作為粒子群算法的粒子群中的一個粒子,誤差因子組中每一個誤差因子的值表示為粒子的位置,誤差因子組中每一個誤差因子的變化值表示為粒子的速度,根據式(I)採用新的速度更新位置;
[0017]Vij (K+1) = WVij.⑷ +Cf1 (Pij ⑷-Xij ⑷)+c2r2 (Pgj ⑷-Xij ⑷)(I)
[0018]式⑴中,Vij(IM)表示下一時刻粒子速度,Vij (K)表示當前時刻粒子速度,Xij (K)表示當前時刻粒子位置,K為迭代次數,W為惰性因子和C2為加速常數,A和r2為O或I的隨機數,Pij(K)表示全局最優位置,即計算過的所有參數組中使得誤差之差為最小值的誤差因子組,Pd(K)為局部最優位置即當前粒子群中使得誤差之差為最小值的誤差因子組,i為粒子標示,N為粒子群內粒子個數,j為誤差因子組中分別對應六個誤差因子的序號,j有I~6共六個取值,分別對應著六個誤差因子;惰性因子W的表達式如式(2)表示;
【權利要求】
1.一種角度編碼器的標定方法,其特徵在於實施步驟如下: 1)通過步進電機驅動待標定的角度編碼器以指定角度逐步旋轉完成不少於360度的轉動,通過與步進電機輸出軸相連的高精度編碼器獲取待標定的角度編碼器在每一個指定角度的位置輸出的多個角度數據,將多個角度數據與對應的指定角度的位置關聯作為一個角度數據組,最終得到分別對應每一個指定角度的位置的多個角度數據組; 2)初始化設置六個誤差因子的步長、最大值、最小值,所述六個誤差因子包括角度編碼器的X軸偏移、X軸失配、y軸偏移、y軸失配、相位偏移和磁場強度,其中,X軸偏移用於表徵角度編碼器輸出信號電壓幅值上的X軸偏差,y軸偏移用於表徵角度編碼器輸出信號電壓幅值上的I軸偏差,X軸失配用於表徵角度編碼器輸出信號在放大過程中的X軸偏差,y軸失配用於表徵角度編碼器輸出信號在放大過程中的y軸偏差,相位偏移用於表徵角度編碼器輸出信號在放大過程以及信號處理中引入的相位偏移,磁場強度用於表徵作用在角度編碼器的傳感器晶片上的磁場強度; 3)根據所述六個誤差因子的步長、最大值、最小值生成多個誤差因子組,將每一個所述誤差因子組作為粒子群算法的粒子群中的一個粒子,通過粒子群算法根據每一個角度數據組對所有誤差因子組進 行迭代運算選擇最優的誤差因子組作為標定結果輸出。
2.根據權利要求1所述的角度編碼器的標定方法,其特徵在於,所述步驟I)的具體步驟如下: 1.1)定時採集待標定的角度編碼器輸出的角度數據;同時通過步進電機以指定角度旋轉待標定的角度編碼器,同時通過與步進電機輸出軸相連的高精度編碼器採集步進電機旋轉的角度數據,在每一個指定角度的位置採集得到待標定的角度編碼器輸出的多個角度數據,將多個角度數據與對應的指定角度的位置關聯作為一個角度數據組; 1.2)根據高精度編碼器輸出的角度數據判斷步進電機是否已完成旋轉,如果已完成,則跳轉執行步驟1.3),否則跳轉執行步驟1.1); 1.3)判斷得到的每一個角度數據組是否穩定,如果角度數據組中的多個角度數據存在抖動,則將角度數據組中抖動的角度數據視為廢數據進行丟棄;最終跳轉執行步驟1.4); 1.4)判斷得到的角度數據組的數量是否已經滿足要求,如果滿足要求則跳轉執行步驟2),否則跳轉執行步驟1.1)。
3.根據權利要求1或2所述的角度編碼器的標定方法,其特徵在於,所述步驟3)的詳細步驟如下: 3.1)隨機取得粒子群的初始位置和速度; 3.2)根據所述六個誤差因子的步長、最大值、最小值生成多個誤差因子組,將每一個所述誤差因子組作為粒子群算法的粒子群中的一個粒子,誤差因子組中每一個誤差因子的值表示為粒子的位置,誤差因子組中每一個誤差因子的變化值表示為粒子的速度,根據式(I)採用新的速度更新位置;
Vij (K+1) = WVij (K) +Cf1 (Pij (K) -Xij.(K)) +c2r2 (Pgj (K) -Xij.(K)) (I) 式⑴中,Vij (K+1)表示下一時刻粒子速度,Vij (K)表示當前時刻粒子速度,Xij (K)表示當前時刻粒子位置,K為迭代次數,W為惰性因子K1和C2為加速常數,A和r2為O或I的隨機數,Pu (K)表示全局最優位置,即計算過的所有參數組中使得誤差之差為最小值的誤差因子組,Pgj(K)為局部最優位置即當前粒子群中使得誤差之差為最小值的誤差因子組,i為粒子標示,N為粒子群內粒子個數,j為誤差因子組中分別對應六個誤差因子的序號,j有1~6共六個取值,分別對應著六個誤差因子;惰性因子w的表達式如式(2)表示;
4.一種角度編碼器的標定裝置,其特徵在於包括: 角度數據組採集單元,用於通過步進電機驅動待標定的角度編碼器以指定角度逐步旋轉完成不少於360度的轉動,通過與步進電機輸出軸相連的高精度編碼器獲取待標定的角度編碼器在每一個指定角度的位置輸出的多個角度數據,將多個角度數據與對應的指定角度的位置關聯作為一個角度數據組,最終得到分別對應每一個指定角度的位置的多個角度數據組; 粒子群算法初始化單元,用於初始化設置六個誤差因子的步長、最大值、最小值,所述六個誤差因子包括角度編碼器的X軸偏移、X軸失配、y軸偏移、y軸失配、相位偏移和磁場強度,其中,X軸偏移用於表徵角度編碼器輸出信號電壓幅值上的X軸偏差,y軸偏移用於表徵角度編碼器輸出信號電壓幅值上的y軸偏差,X軸失配用於表徵角度編碼器輸出信號在放大過程中的X軸偏差,y軸失配用於表徵角度編碼器輸出信號在放大過程中的I軸偏差,相位偏移用於表徵角度編碼器輸出信號在放大過程以及信號處理中引入的相位偏移,磁場強度用於表徵作用在角度編碼器的傳感器晶片上的磁場強度; 粒子群算法執行單元,用於根據所述六個誤差因子的步長、最大值、最小值生成多個誤差因子組,將每一個所述誤差因子組作為粒子群算法的粒子群中的一個粒子,通過粒子群算法根據每一個角度數據組對所有誤差因子組進行迭代運算選擇最優的誤差因子組作為標定結果輸出。
5.根據權利要求4所述的角度編碼器的標定裝置,其特徵在於,所述角度數據組採集單元包括: 角度編碼器轉動控制及數據檢測單元,用於定時採集待標定的角度編碼器輸出的角度數據;同時通過步進電機以指定角度旋轉待標定的角度編碼器,同時通過與步進電機輸出軸相連的高精度編碼器採集步進電機旋轉的角度數據,在每一個指定角度的位置採集得到待標定的角度編碼器輸出的多個角度數據,將多個角度數據與對應的指定角度的位置關聯作為一個角度數據組; 旋轉進度判斷單元,用於根據高精度編碼器輸出的角度數據判斷步進電機是否已完成旋轉,如果已完成,則調用角度數據組抖動處理單元,否則繼續調用角度編碼器轉動控制及數據檢測單元; 角度數據組抖動處理單元,用於判斷得到的每一個角度數據組是否穩定,如果角度數據組中的多個角度數據存在抖動,則將角度數據組中抖動的角度數據視為廢數據進行丟棄;最終調用角度數據組數量檢測單元; 角度數據組數量檢測單元,用於判斷得到的角度數據組的數量是否已經滿足要求,如果滿足要求則調用粒子群算法初始化單元,否則繼續調用角度編碼器轉動控制及數據檢測單元。
6.根據權利要求4或5所述的角度編碼器的標定裝置,其特徵在於,所述粒子群算法執行單元包括: 粒子群初始化模塊,用於隨機取得粒子群的初始位置和速度; 速度更新模塊,根據所述六個誤差因子的步長、最大值、最小值生成多個誤差因子組,將每一個所述誤差因子組作為粒子群算法的粒子群中的一個粒子,誤差因子組中每一個誤差因子的值表示為粒子的位置,誤差因子組中每一個誤差因子的變化值表示為粒子的速度,根據式(I)採用新的速度更新位置;
Vij (K+1) = WVij (K) +Cf1 (Pij (K) -Xij.(K)) +c2r2 (Pgj (K) -Xij.(K)) (I) 式⑴中,Vij (K+1)表示下一時刻粒子速度,Vij (K)表示當前時刻粒子速度,Xij (K)表示當前時刻粒子位置,K為迭代次數,W為惰性因子K1和C2為加速常數,A和r2為O或I的隨機數,Pu (K)表示全局最優位置,即計算過的所有參數組中使得誤差之差為最小值的誤差因子組,Pgj(K)為局部最優位置即當前粒子群中使得誤差之差為最小值的誤差因子組,i為粒子標示,N為粒子群內粒子個數,j為誤差因子組中分別對應六個誤差因子的序號,j有I~6共六個取值,分別對應著六個誤差因子;惰性因子W的表達式如式(2)表示;
【文檔編號】G01D18/00GK103954316SQ201410183048
【公開日】2014年7月30日 申請日期:2014年4月30日 優先權日:2014年4月30日
【發明者】王耀南, 孟步敏, 申永鵬, 劉東奇, 皮釩, 盧月紅 申請人:湖南大學