鄭偉峰
(廈門市計(jì)量檢定測試院,福建 廈門 361004)
角度測量技術(shù)是現(xiàn)代測量的基礎(chǔ)技術(shù),隨著科學(xué)技術(shù)、工業(yè)生產(chǎn)自動(dòng)化和國防工業(yè)技術(shù)的不斷發(fā)展,航空航天等大型科技探索活動(dòng)對角度傳感器的要求越來越高,如導(dǎo)彈、衛(wèi)星發(fā)射過程中強(qiáng)沖擊、強(qiáng)振動(dòng)以及空間溫度交變環(huán)境下如何實(shí)現(xiàn)角度的可靠性測量。角度傳感器的開發(fā)緊緊圍繞著高準(zhǔn)確度、高分辨率、高可靠性、多功能、超小型和低成本而展開。研制出具有高精度、高分辨率和小型化的角度傳感器解決惡劣環(huán)境和特殊要求條件下旋轉(zhuǎn)運(yùn)動(dòng)的檢測有著重大的意義[1]。
磁性角度傳感器具有抗振動(dòng)、抗腐蝕、抗污染的特點(diǎn),尤其更容易實(shí)現(xiàn)高分辨率、小型化和低成本,是傳統(tǒng)角度傳感器的優(yōu)秀替代品,特別適用于航天軍工等環(huán)境惡劣、空間狹小的場合。迄今為止,已有一些針對此方向的研究,但是仍存在很多不足[2~4]。
本文所論述的角度位置檢測方法通過簡易檢測元件(霍爾磁環(huán)組合)進(jìn)行初始信號的采集,經(jīng)過電壓信號轉(zhuǎn)換、模/數(shù)轉(zhuǎn)換以及數(shù)字差分等一系列處理獲得2組三角波原始數(shù)值?;?組三角波原始數(shù)值的正負(fù)組合實(shí)現(xiàn)角度子區(qū)間的編碼,并利用其中一組三角波數(shù)值實(shí)現(xiàn)任一子區(qū)間的角度細(xì)分,構(gòu)建角度傳感器分辨率與模/數(shù)轉(zhuǎn)換器(analog to digital converter,ADG)分辨率的線性關(guān)系。對其中一組三角波數(shù)值經(jīng)取絕對值和取反等數(shù)據(jù)處理后,結(jié)合當(dāng)前兩組三角波原始數(shù)值正負(fù)情況,實(shí)現(xiàn)子區(qū)間的識別和小分區(qū)的編號計(jì)算,實(shí)時(shí)獲取當(dāng)前的絕對角度輸出。分析結(jié)果表明,在選用10位ADC時(shí),該角度位置檢測技術(shù)能夠?qū)崿F(xiàn)12位分辨率以上的軸角位置輸出。
對于磁性角度傳感器來說,由于在信號發(fā)生部分不可避免地存在機(jī)械裝配誤差,使得傳感器因磁環(huán)和磁敏元件外圓不同心引起信號誤差;同時(shí),磁敏元件也存在零點(diǎn)漂移。因此,傳統(tǒng)的信號發(fā)生方法引入了機(jī)械誤差和零點(diǎn)漂移,導(dǎo)致角度傳感器信號處理計(jì)算得到的角度值存在系統(tǒng)誤差[5,6]。
本文的信號發(fā)生部分同樣也是由磁環(huán)和磁敏元件組成,磁敏元件選用霍爾元件,其工作電壓為5 V。為了解決機(jī)械誤差和零點(diǎn)漂移引入的系統(tǒng)誤差,磁環(huán)的周圍外圓上均勻分布了4個(gè)霍爾元件(A,B,C,D),兩兩對稱分布。本文的電路板結(jié)構(gòu)布局如圖1所示,機(jī)械安裝如圖2所示。
圖1 電路板結(jié)構(gòu)布局
圖2 機(jī)械安裝結(jié)構(gòu)
本文角度檢測裝置包括殼體和電路板,電路板固定設(shè)置在殼體一側(cè)的外表面上,殼體內(nèi)設(shè)有轉(zhuǎn)軸,轉(zhuǎn)軸的一端上固定套設(shè)有磁環(huán),轉(zhuǎn)軸的一端相對的另一端依次貫穿電路板和殼體且轉(zhuǎn)軸與殼體轉(zhuǎn)動(dòng)連接,電路板上固定設(shè)有4個(gè)霍爾元件,繞磁環(huán)周圍設(shè)置。4個(gè)霍爾元件分別位于同一個(gè)虛擬圓的4等分點(diǎn)上,且虛擬圓的圓心位于所述磁環(huán)的中心線上。運(yùn)行過程中,磁環(huán)繞其旋轉(zhuǎn)中心自轉(zhuǎn)一周,4個(gè)霍爾元件輸出一組相位各異的正弦電壓信號,電壓信號經(jīng)過信號轉(zhuǎn)換和模/數(shù)轉(zhuǎn)換后,進(jìn)行數(shù)字處理,最后得到磁環(huán)從初始位置旋轉(zhuǎn)至預(yù)設(shè)位置的角度,能夠避免信號發(fā)生部分存在機(jī)械裝配誤差以及傳感器因磁環(huán)和霍爾元件外圓不同心引起的信號誤差。通過本文設(shè)計(jì)的角度檢測裝置,可研制出高分辨率、高精度和適用于惡劣工況的新型磁性角度傳感器,實(shí)現(xiàn)較高精度的絕對角度輸出。
角度傳感器運(yùn)行時(shí),磁環(huán)隨著轉(zhuǎn)子旋轉(zhuǎn),4個(gè)霍爾元件分別輸出相位相差π/2的4路正弦電壓模擬信號。電路板上分別設(shè)計(jì)了4路獨(dú)立的正弦波—方波—三角波電壓轉(zhuǎn)換電路。轉(zhuǎn)換電路分別將4路正弦電壓信號成功轉(zhuǎn)換成4路三角波電壓信號。以霍爾元件A和B的電壓模擬信號為例,其轉(zhuǎn)換后的三角波電壓模擬信號如圖3所示。轉(zhuǎn)子旋轉(zhuǎn)1周,可得到1個(gè)周期(0~2 π)的A和B三角波電壓模擬信號,其相位差180°。
相位差180°的三角波電壓經(jīng)模/數(shù)轉(zhuǎn)換后,當(dāng)采用的ADC分辨率為n時(shí),得到數(shù)值波形如圖3(b)所示。
圖3 A和B的電壓模擬信號和電壓模/數(shù)轉(zhuǎn)換后的數(shù)值
處理芯片對其進(jìn)行數(shù)字差分處理(A電壓信號的模/數(shù)轉(zhuǎn)換結(jié)果a與B電壓信號的模/數(shù)轉(zhuǎn)換結(jié)果b相減),獲得有正負(fù)的原始三角波數(shù)值(a-b) 。同樣的,經(jīng)過處理后亦可獲得有正負(fù)的原始三角波數(shù)值 (c-d)。當(dāng)采用分辨率為n的ADC芯片,轉(zhuǎn)子旋轉(zhuǎn)1周,(a-b)和(c-d)一個(gè)周期的原始數(shù)值變化如圖4所示。
圖4 (a-b)和(c-d)一個(gè)周期的原始數(shù)值變化
轉(zhuǎn)子旋轉(zhuǎn)1周,處理芯片經(jīng)過數(shù)字差分后得到1個(gè)周期的原始三角波數(shù)值(a-b)和(c-d)。(a-b)和(c-d)數(shù)值波形相位差90°,均有正負(fù)值。(a-b)和(c-d)聯(lián)合提供正負(fù)信息,可用于子區(qū)間的編碼。根據(jù)(a-b)和(c-d)的正負(fù)組合,將(0°~360°)平均分為4個(gè)子區(qū)間,并進(jìn)行編碼。編碼結(jié)果如圖5所示。第一角度區(qū)間范圍(0°~90°),編碼為“11”的子區(qū)間(即(a-b)>0,(c-d)>0);第二角度區(qū)間范圍(90°~180°),編碼為“10”的子區(qū)間(即(a-b)>0,(c-d)<0);第三角度區(qū)間范圍(180°~270°),編碼為“00”的子區(qū)間(即(a-b)<0,(c-d)<0);第四角度區(qū)間范圍(270°~360°),編碼為“01”的子區(qū)間(即(a-b)<0,(c-d)>0)。
圖5 四個(gè)子區(qū)間的編碼
實(shí)現(xiàn)了子區(qū)間的編碼后,處理芯片對圖5中的三角波原始數(shù)值(a-b)取絕對值處理。因此,轉(zhuǎn)子旋轉(zhuǎn)1周,1個(gè)周期內(nèi)的|(a-b)|數(shù)值變化如圖6所示。
圖6 1個(gè)周期內(nèi)的|(a-b)|數(shù)值變化
從圖6可以看出,模/數(shù)轉(zhuǎn)換芯片的有效位數(shù)為n,因此 |(a-b)|的數(shù)值變化范圍為(0~2n)。將1周的(0°~360°)平均分成四個(gè)子區(qū)間,每個(gè)子區(qū)間又可以平均細(xì)分成2n個(gè)小分區(qū)。因此,(0°~360°)可平均細(xì)分為4×2n個(gè)小分區(qū)。每個(gè)小分區(qū)代表一個(gè)角度值大小。當(dāng)轉(zhuǎn)子旋轉(zhuǎn)到某一個(gè)位置時(shí),通過當(dāng)前電壓采集和信號處理后,只要計(jì)算出對應(yīng)的小分區(qū)序號,就能準(zhǔn)確計(jì)算出當(dāng)前的旋轉(zhuǎn)角度。
在上文中,盡管成功地將(0°~360°)細(xì)分成4×2n個(gè)小分區(qū),但是當(dāng)轉(zhuǎn)子處于某一位置時(shí),還是無法利用采集到當(dāng)前電壓信號及后續(xù)數(shù)字處理結(jié)果計(jì)算出小分區(qū)的序號。轉(zhuǎn)子在同一方向旋轉(zhuǎn)過程中,處理芯片獲得的|(a-b)|數(shù)值在4個(gè)等分子區(qū)間內(nèi)并非統(tǒng)一的遞增或者遞減變化,這就導(dǎo)致各個(gè)小分區(qū)的序號存在跳躍的現(xiàn)象,各個(gè)小分區(qū)序號很難與|(a-b)|的數(shù)值建立連續(xù)一一對應(yīng)關(guān)系。因此,本文對一個(gè)周期(0°~360°)范圍內(nèi)的|(a-b)|數(shù)值進(jìn)行了處理。將編號為“10”和“01”的子區(qū)間的|(a-b)|數(shù)值進(jìn)行取反處理。當(dāng)原始數(shù)值(a-b)和(c-d)處于編號為“10”和“01”的子區(qū)間時(shí),令F(|(a-b)|)=2n-|(a-b)|,當(dāng)原始數(shù)值(a-b)和(c-d)處于編號為“11”和“10”的子區(qū)間時(shí),令F(|(a-b)|)=|(a-b)|。處理完的F(|(a-b)|)數(shù)值變化如圖7所示。轉(zhuǎn)子在同一方向旋轉(zhuǎn)過程中,處理完的數(shù)值F(|(a-b)|)在4個(gè)子區(qū)間實(shí)現(xiàn)了統(tǒng)一的遞增或者遞減變化。
圖7 處理完F(|(a-b)|)的數(shù)值變化
處理芯片每間隔60 μs完成一次當(dāng)前的霍爾電壓信號采集和數(shù)據(jù)處理,并實(shí)時(shí)計(jì)算當(dāng)前對應(yīng)的角度值。當(dāng)轉(zhuǎn)軸旋轉(zhuǎn)時(shí),處理芯片首先根據(jù)原始數(shù)值(a-b)和(c-d)判斷當(dāng)前所在子區(qū)間,然后讀取F(|(a-b)|)值,計(jì)算小分區(qū)的序號值,進(jìn)而計(jì)算出轉(zhuǎn)子的角度值。通過與修正值的疊加計(jì)算,可獲得高精度的角度。假設(shè)當(dāng)前轉(zhuǎn)子旋轉(zhuǎn)到(180°~270°)的子區(qū)間。處理芯片采集和處理得到(a-b)和(c-d)的正負(fù)值分別“-”和“-”,那么當(dāng)前應(yīng)該是處于編號為“00”子區(qū)間。讀取F(|(a-b)|)的值,即可判斷當(dāng)前對應(yīng)的小分區(qū)序號應(yīng)該是F(|(a-b)|)。利用小分區(qū)編號和子區(qū)間編碼即可計(jì)算出當(dāng)前角度值。
如果磁環(huán)的初始位置位于第一角度區(qū)間的某個(gè)位置,預(yù)設(shè)位置在第三角度區(qū)間的某個(gè)位置,則處理芯片采集和處理得到(a-b)和(c-d) 的正負(fù)值應(yīng)該分別“+”和“+”,(a′-b′)和(c′-d′)的正負(fù)值應(yīng)該分別“-”和“-”,那么對應(yīng)的編碼區(qū)間應(yīng)該分別為“11”和“00”,獲取F(|(a-b)|)和F(|(a′-b′)|)的值,即可判斷當(dāng)前對應(yīng)的小分區(qū)序號應(yīng)該分別為是F(|(a-b)|)和F(|(a′-b′)|),將F(|(a-b)|)和F(|(a′-b′)|)分別代入角度計(jì)算函數(shù)中,得到兩個(gè)在角度區(qū)間中的角度(假設(shè)一個(gè)為30°,另一個(gè)為25°),最后可計(jì)算出第一旋轉(zhuǎn)角度為30°(即磁環(huán)的初始位置位于30°位置),第二旋轉(zhuǎn)角度為25°+180°=205°(因?yàn)橥ㄟ^判斷位于第三角度區(qū)間的某個(gè)位置,應(yīng)加上180°),由此可計(jì)算出最終的磁環(huán)從初始位置旋轉(zhuǎn)至預(yù)設(shè)位置的旋轉(zhuǎn)角度:205°-30°=175°。以下的步驟1~步驟8是本文新型角度檢測裝置的工作流程:
步驟1 將磁環(huán)繞其旋轉(zhuǎn)中心自轉(zhuǎn)一周的角度劃分成4個(gè)依次連續(xù)的等角度區(qū)間;
步驟2 當(dāng)磁環(huán)位于初始位置時(shí),采集4個(gè)霍爾元件的第一電壓值;
步驟3 將采集到的4個(gè)霍爾元件中相位相差180°的2個(gè)霍爾元件中的相位在前的霍爾元件的第一電壓值減去相位滯后的霍爾元件的第一電壓值,得到兩個(gè)電壓差值;
步驟4 根據(jù)所述兩個(gè)電壓差值的正負(fù)情況,分析出磁環(huán)當(dāng)前所在的角度區(qū)間;
步驟5 對兩個(gè)電壓差值中的一個(gè)電壓差值取絕對值,得到電壓絕對值;
步驟6 根據(jù)所述電壓絕對值以及分析出的磁環(huán)當(dāng)前所在的角度區(qū)間,計(jì)算得到磁環(huán)的第一角度;
步驟7 將磁環(huán)旋轉(zhuǎn)至預(yù)設(shè)位置時(shí),采集4個(gè)霍爾元件的第二電壓值,將所述第二電壓值作為第一電壓值,返回步驟3并執(zhí)行步驟3—步驟6,計(jì)算得到磁環(huán)的第二角度;
步驟8 將計(jì)算得到的所述第二角度減去所述第一角度,得到磁環(huán)從初始位置旋轉(zhuǎn)至預(yù)設(shè)位置的旋轉(zhuǎn)角度。
本文提出了一種新型角度傳感器的絕對編碼細(xì)分算法,消除機(jī)械裝配偏差和霍爾元件的零點(diǎn)漂移帶來的信號誤差。研究了1個(gè)旋轉(zhuǎn)周期內(nèi)子區(qū)間的編碼和細(xì)分方案,利用兩組三角波原始數(shù)值當(dāng)前的正負(fù)組合實(shí)現(xiàn)了子分區(qū)的編碼和識別,利用其中一組三角波數(shù)值取絕對值和取反處理后的當(dāng)前結(jié)果進(jìn)行小分區(qū)序號的計(jì)算。最后,通過小分區(qū)序號和子區(qū)間編碼與角度值建立對應(yīng)關(guān)系,實(shí)現(xiàn)了轉(zhuǎn)子角度絕對位置的實(shí)時(shí)檢測。分析結(jié)果表明:當(dāng)ADC分辨率為10位時(shí),該算法可以實(shí)現(xiàn)12位分辨率的軸角位置檢測,通過提高ADC分辨率后,可以進(jìn)一步提高該角度傳感器的分辨率和精度。