劉 偉, 魏婷婷, 楊清山
(貴州電子科技職業(yè)學(xué)院 電氣工程系,貴州 貴陽(yáng) 550025)
微機(jī)電系統(tǒng)(micro-electro-mechanical system,MEMS)加速度計(jì)能將外界加速度信號(hào)轉(zhuǎn)換成電信號(hào)的器件,在航空航天、汽車工業(yè)、消費(fèi)電子、醫(yī)療儀器以及軍事等領(lǐng)域中得到了廣泛的應(yīng)用。在使用MEMS加速度計(jì)之前,為了確保MEMS加速度計(jì)精度,需要將MEMS加速度計(jì)的相關(guān)參數(shù)進(jìn)行標(biāo)定補(bǔ)償,然而就目前的MEMS加速度計(jì)的標(biāo)定測(cè)試方法而言,主要重力場(chǎng)下的轉(zhuǎn)臺(tái)標(biāo)定實(shí)驗(yàn)獲得并采集存儲(chǔ)加計(jì)的輸出,利用MATLAB軟件進(jìn)行處理得到該加速度計(jì)的標(biāo)定參數(shù),但需要操作人員在一次實(shí)驗(yàn)中重復(fù)上電、讀取和擦除Flash后進(jìn)行數(shù)據(jù)處理,效率較低。因此設(shè)計(jì)一種對(duì)MEMS加計(jì)的快速標(biāo)定系統(tǒng),通過硬、軟件設(shè)計(jì)實(shí)現(xiàn)加計(jì)標(biāo)定參數(shù)和曲線的快速獲取,避免上述的重復(fù)上電、讀擦
后進(jìn)行數(shù)據(jù)處理,有效地提高了MEMS加速度傳感器標(biāo)定的效率。
如圖1所示為快速標(biāo)定系統(tǒng)的組成框圖,主要是將待標(biāo)定MEMS加速度計(jì)安裝于轉(zhuǎn)臺(tái)臺(tái)面之上,通過控制轉(zhuǎn)臺(tái)在位置模式下,采用四位置法對(duì)單軸加速度計(jì)進(jìn)行快速標(biāo)定[1]。
微控制器采集不同位置下得到的數(shù)據(jù)利用上位機(jī)進(jìn)行快速在線擬合,進(jìn)而得到相應(yīng)的標(biāo)定數(shù)據(jù),即MEMS加速度計(jì)的標(biāo)度因數(shù)和零點(diǎn)電壓。
單軸MEMS加速度計(jì)的靜態(tài)輸出數(shù)學(xué)模型[2]
(1)
控制上位機(jī)設(shè)置使高精度轉(zhuǎn)臺(tái)處于位置工作模式下,當(dāng)轉(zhuǎn)臺(tái)轉(zhuǎn)過一個(gè)角度θ時(shí),則有a1=sinθ,a0=cosθ;由于轉(zhuǎn)臺(tái)的轉(zhuǎn)動(dòng)角度精度達(dá)到(0.001°),則可以忽略轉(zhuǎn)臺(tái)轉(zhuǎn)角誤差和交叉耦合,此時(shí)加計(jì)的輸出模型可簡(jiǎn)化為
U=S0+S1sinθ+S2sin2θ+σ
(2)
二次項(xiàng)系數(shù)的數(shù)量級(jí)通常在10-4左右,對(duì)MEMS加速度計(jì)的輸出影響可忽略不計(jì),隨機(jī)誤差取得到最終MEMS加速度計(jì)與轉(zhuǎn)臺(tái)轉(zhuǎn)動(dòng)角度之間的輸出線性模型
U=S0+S1sinθ
(3)
快速標(biāo)定系統(tǒng)設(shè)置的轉(zhuǎn)臺(tái)角度的位置為:0°→90°→180°→270°→360°,在每個(gè)角度上MEMS加速度計(jì)所對(duì)應(yīng)敏感到的重力加速度值分別為:0gn→1gn→0gn→-1gn→0gn。可以得到單軸標(biāo)定的零點(diǎn)電壓S0和標(biāo)度因數(shù)S1
S0=(U0°+U180°+U360°)/3,S1=(U90°+U270°)/2
(4)
利用LabVIEW軟件就可以對(duì)數(shù)據(jù)進(jìn)行圖像擬合后,快速得到待標(biāo)定加速度計(jì)的零點(diǎn)電壓和標(biāo)度因數(shù)值[3~6]。
標(biāo)定系統(tǒng)的硬件主要通過微控制器控制24位模/數(shù)轉(zhuǎn)換器對(duì)待標(biāo)定MEMS加速度計(jì)進(jìn)行數(shù)據(jù)采集。微控制器選用STM32F405RG單片機(jī),其內(nèi)部采用精簡(jiǎn)指令 RISC內(nèi)核,配置20 MHz晶振的高速主頻,可以通過鎖相環(huán)對(duì)系統(tǒng)時(shí)鐘進(jìn)行倍頻,能夠完成多路加速度計(jì)的數(shù)據(jù)采集、將數(shù)據(jù)進(jìn)行編幀再利用串口發(fā)送給上位機(jī)的標(biāo)定軟件,如圖2所示為主控STM32F405RG的硬件配置原理圖[7]。
圖2 主控配置原理
模/數(shù)轉(zhuǎn)換器選用美國(guó)TI公司ADS1255芯片,該ADC芯片具有高精度、功耗低,內(nèi)部集成多路輸入模擬開關(guān)、可編程增益放大器和數(shù)字濾波器。三路模擬輸入端,通過SPI串行通信接口與主控進(jìn)行通信。
圖3為ADS1255配置原理圖,ADS1255芯片工作在四線SPI 串口通信模式下,主控制器STM32通過串口寫入命令到ADS1255寄存器中控制ADC進(jìn)行加速度計(jì)輸出采樣。在SPI串口通信過程中芯片的CS端口需要置為低電平,開始將命令寫入DIN端,開始模/數(shù)轉(zhuǎn)換,當(dāng)一次A/D轉(zhuǎn)換完成后,SCLK在下降沿時(shí)通過DOUT端口讀取出ADS1255轉(zhuǎn)換完成的采集電壓數(shù)據(jù)的數(shù)字量,送入主控內(nèi)部運(yùn)算器中進(jìn)行數(shù)據(jù)處理、將數(shù)據(jù)以幀格式發(fā)送給上位機(jī)的標(biāo)定軟件進(jìn)一步處理。
圖3 ADS1255配置原理
標(biāo)定系統(tǒng)上位機(jī)軟件是利用美國(guó)NI公司的LabVIEW軟件編寫開發(fā),所設(shè)計(jì)的加速度計(jì)快速標(biāo)定系統(tǒng)組成,主要包括VISA串口通信,實(shí)時(shí)采集電壓曲線繪制,接收數(shù)據(jù)分段截取快速擬合,標(biāo)定參數(shù)顯示及原始數(shù)據(jù)保存。
如圖4所示為VISA串口通信配置,在I/O口數(shù)據(jù)緩沖區(qū)開辟出4 096字節(jié)的數(shù)據(jù)緩存,可以有效地避免數(shù)據(jù)溢出。
圖4 VISA串口通信配置
下位機(jī)將打包好的數(shù)據(jù)以幀格式上傳至上位機(jī)軟件,每一幀格式包含數(shù)據(jù)幀頭、數(shù)據(jù)長(zhǎng)度、有效數(shù)據(jù)位以及校驗(yàn)和,以此保證上傳的每一幀數(shù)據(jù)的完整性。系統(tǒng)上位機(jī)軟件首先對(duì)數(shù)據(jù)的幀頭進(jìn)行判斷,再對(duì)數(shù)據(jù)長(zhǎng)度與定義字節(jié)數(shù)進(jìn)行對(duì)比,讀取出一幀數(shù)據(jù)進(jìn)行和校驗(yàn),最后軟件將有效的數(shù)據(jù)截取出來送入數(shù)據(jù)擬合部分[8]。
轉(zhuǎn)臺(tái)按在設(shè)置的旋轉(zhuǎn)一周后,上位機(jī)采集到-1,0,1gn所對(duì)應(yīng)的平均電壓值,選取LabVIEW中的線性擬合函數(shù),擬合出不同加速度值與加速度計(jì)的輸出電壓之間的數(shù)學(xué)關(guān)系。
線性擬合函數(shù)VI通過循環(huán)調(diào)用廣義最小二乘方法和Levenberg-Marquardt方法使實(shí)驗(yàn)數(shù)據(jù)擬合為下列等式代表的直線方程一般式f(x)=ax+b,其中,a為MEMS加速度計(jì)標(biāo)度因數(shù),b為加速度計(jì)的零位電壓。線性擬合VI將得到觀測(cè)點(diǎn)(X,Y)的最佳擬合標(biāo)定數(shù)據(jù)a和b的值??焖俚玫剿鶚?biāo)定的參數(shù),將標(biāo)度因數(shù)和加計(jì)的零位電壓直接顯示出來。
所設(shè)計(jì)快速標(biāo)定系統(tǒng)上位機(jī),快速線性擬合部分程序如圖5所示。
圖5 快速擬合部分
系統(tǒng)驗(yàn)證測(cè)試具體步驟如下:首先將待標(biāo)定的MEMS加速度計(jì)安裝于高精度轉(zhuǎn)臺(tái)臺(tái)面中心,此時(shí)該MEMS加速度計(jì)敏感軸的軸向垂直于轉(zhuǎn)臺(tái)臺(tái)面,轉(zhuǎn)臺(tái)控制上位機(jī)設(shè)置轉(zhuǎn)臺(tái)工作在位置模式下并設(shè)置轉(zhuǎn)臺(tái)旋轉(zhuǎn)組態(tài);然后將標(biāo)定下位機(jī)先上電3 min,等待采集下位機(jī)系統(tǒng)工作穩(wěn)定后,控制轉(zhuǎn)臺(tái)中框依次轉(zhuǎn)動(dòng)0°→90°→180°→270°→360°,并在每個(gè)旋轉(zhuǎn)角度上保持10 s,此時(shí)下位機(jī)開始采集MEMS加速度計(jì)的輸出電壓值,加速度計(jì)依次敏感到的重力加速度分別為0gn→1gn→0gn→-1gn→0gn;完成一次標(biāo)定(旋轉(zhuǎn)完一周)時(shí),標(biāo)定上位機(jī)就直接獲取到每個(gè)組態(tài)的平均電壓輸出,直接傳入快速標(biāo)定上位機(jī)軟件得到所需要的標(biāo)定參數(shù)值。
通過標(biāo)定實(shí)驗(yàn)得到的加速度計(jì)的原始輸出信號(hào),如圖6(a)所示。從圖6(a)原始數(shù)據(jù)輸出看出,0gn時(shí)加速度計(jì)的輸出在2.5V左右,1gn時(shí)的輸出為3.5 V左右,-1gn時(shí)的輸出在1.3V左右。利用MATLAB軟件對(duì)所采集數(shù)據(jù)進(jìn)行擬合得到的擬合曲線和標(biāo)定參數(shù),如圖6(b)所示擬合曲線的擬合參數(shù)。
圖6 實(shí)驗(yàn)結(jié)果
通過MATLAB將采集數(shù)據(jù)進(jìn)行擬合,得到所標(biāo)定加速度計(jì)的零位電壓和標(biāo)度因數(shù)分別為2.457 7 V和1.1062V/gn。
為驗(yàn)證所設(shè)計(jì)系統(tǒng)的準(zhǔn)確性,再利用所設(shè)計(jì)的快速標(biāo)定系統(tǒng)進(jìn)行相同實(shí)驗(yàn),從上位機(jī)上擬合曲線,得到擬合方程,看出標(biāo)定參數(shù)和擬合直線與MATLAB進(jìn)行數(shù)據(jù)擬合數(shù)據(jù)一致[9]。
本文所設(shè)計(jì)的在線快速標(biāo)定系統(tǒng)通過在線數(shù)據(jù)采集和快速擬合得到所求標(biāo)定參數(shù),經(jīng)過對(duì)比驗(yàn)證實(shí)驗(yàn),驗(yàn)證了該標(biāo)定系統(tǒng)的正確性,有效性,在提高標(biāo)定效率的同時(shí)也保證了標(biāo)定參數(shù)的精度,具有一定的工程實(shí)際運(yùn)用價(jià)值。