国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于磁通門傳感器的數(shù)據(jù)采集和修正

2017-04-12 11:04:16曹大平
傳感器與微系統(tǒng) 2017年4期
關(guān)鍵詞:磁通調(diào)用寄存器

高 煉, 曹大平

(武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院,湖北 武漢 430072)

基于磁通門傳感器的數(shù)據(jù)采集和修正

高 煉, 曹大平

(武漢大學(xué) 物理科學(xué)與技術(shù)學(xué)院,湖北 武漢 430072)

以磁通門傳感器的低功耗、高精度采集與大容量存儲技術(shù)為需求目標(biāo),在優(yōu)化方案的基礎(chǔ)上,設(shè)計了采集數(shù)據(jù)、記錄時間、存儲數(shù)據(jù)并擬合修正的電路系統(tǒng),重點(diǎn)對電路系統(tǒng)的構(gòu)成和數(shù)據(jù)修正的方法進(jìn)行研究與改進(jìn)。在實(shí)際地磁環(huán)境下對樣機(jī)進(jìn)行測試,結(jié)果表明:整套裝置的功耗降低至mW級別,地磁場測量值和準(zhǔn)確值的偏差在20 nT以內(nèi),存儲量達(dá)到了2 GB,實(shí)現(xiàn)了預(yù)期目標(biāo)。

數(shù)據(jù)修正; 低功耗; 大容量; 磁通門傳感器

0 引 言

磁場測量技術(shù),尤其是弱磁測量,經(jīng)過多年的發(fā)展,已經(jīng)成為一門獨(dú)立的科學(xué),廣泛地運(yùn)用在航空航天、國防軍事、醫(yī)療、工業(yè)、考古等領(lǐng)域[1,2]。

探測磁場的方法有很多,包括磁力法、電磁感應(yīng)法、電磁效應(yīng)法、超導(dǎo)效應(yīng)法、磁通門法等[3],其中,基于磁通門法的磁場測量具有經(jīng)濟(jì)、可靠、靈敏度高、功耗低等優(yōu)點(diǎn),且磁探頭可以實(shí)現(xiàn)小型化,特別適合弱磁場的測量,兼顧了測量精度和測量成本。然而目前的磁通門傳感器測量系統(tǒng)功耗與體積均較大[4],其數(shù)據(jù)存儲主要依靠于PC聯(lián)機(jī)的方式進(jìn)行存儲,無法適應(yīng)于野外無人值守條件下的低功耗、小體積及大容量的信息存儲。

本文設(shè)計了基于Mag649三軸磁通門傳感器的數(shù)據(jù)采集、時間記錄、數(shù)據(jù)存儲和磁場修正的電路,研究對磁通門傳感器的輸出進(jìn)行模/數(shù)轉(zhuǎn)換,實(shí)現(xiàn)大容量Micro SD卡存儲并進(jìn)行磁場數(shù)據(jù)擬合及算法修正,通過串口發(fā)送數(shù)據(jù)幀給基于C#的上位機(jī),由位機(jī)界面繪制磁場修正前后的曲線。

1 電路設(shè)計

硬件電路的原理圖如圖1所示。

1.1 微控制器

本文選用TI公司的MSP430F5437作為控制器[5],發(fā)送命令控制AD7791,選擇采樣通道和工作模式,等待A/D轉(zhuǎn)換完成,讀取其轉(zhuǎn)換結(jié)果;AD7791每完成一次A/D轉(zhuǎn)換,從DS3231讀取1次當(dāng)前時間;通過UART串口將傳感器輸出的三路電壓以數(shù)據(jù)幀形式發(fā)送給上位機(jī);調(diào)用嵌入式FatFs文件系統(tǒng),將數(shù)據(jù)幀和每次記錄的時間寫入Micro SD卡中,實(shí)現(xiàn)數(shù)據(jù)保存功能。

1.2 磁通門傳感器和AD7791

3軸磁通門傳感器Mag649可以將空間的磁場信號按比例系數(shù)k轉(zhuǎn)換為+X,-X,+Y,-Y,+Z,-Z3路全差分電壓信號并輸出。AD7791是ADI公司的24位Σ-Δ型全差分低頻/模數(shù)轉(zhuǎn)換芯片,通過SPI總線與單片機(jī)連接,在3.3 V電壓下,AD7791工作電流僅為160 μA左右。系統(tǒng)用3個AD7791芯片接收Mag649磁通門傳感器的3路電壓輸出信號,在MSP430的控制下實(shí)現(xiàn)同步模/數(shù)轉(zhuǎn)換,根據(jù)轉(zhuǎn)換公式最終計算得出傳感器探測空間每個軸向的磁場分量。

1.3 時鐘模塊

采用DS3231時鐘芯片記錄每一次A/D轉(zhuǎn)換的準(zhǔn)確時間,正常情況下它的精度為±2 min/年。DS3231通過I2C總線和單片機(jī)連接,首先初始化,向年、月、日、時、分、秒寄存器寫入當(dāng)前時間,然后在AD7791采集轉(zhuǎn)換的循環(huán)中讀取時間。

1.4 存儲模塊

為了保存采集到的數(shù)據(jù)以及記錄的時間,系統(tǒng)采用Micro SD卡來保存數(shù)據(jù)和時間,Micro SD卡方便高效,讀寫速度快,通過SPI總線與單片機(jī)連接。程序運(yùn)行時,單片機(jī)調(diào)用FatFs嵌入式文件系統(tǒng),在Micro SD中建立文本文件,將AD7791采集的數(shù)據(jù)幀和DS3231記錄的時間以ASCII碼字符的形式存儲在Micro SD卡中,實(shí)現(xiàn)結(jié)果保存的功能。

2 程序設(shè)計

本系統(tǒng)下位機(jī)軟件部分采用TI公司的集成開發(fā)環(huán)境CCS,上位機(jī)采用微軟公司的VS2010集成開發(fā)環(huán)境,整個系統(tǒng)的軟件流程如圖2所示。

圖2 系統(tǒng)軟件流程圖

2.1 AD7791的讀寫

AD7791內(nèi)部集成有通信寄存器、狀態(tài)寄存器、模式寄存器、濾波寄存器和數(shù)據(jù)寄存器,MSP430單片機(jī)對其發(fā)送命令和數(shù)據(jù)都是在通信寄存器的基礎(chǔ)上完成的。寫的過程為:首先單片機(jī)同時選中3路A/D,通過SPI總線發(fā)送0x10,告訴通信寄存器下一步是寫模式寄存器并選擇差分通道,然后發(fā)送0x82,選擇單次轉(zhuǎn)換模式,電壓增益為1;讀的過程為:依次片選每1路AD,檢測AD的DOUT引腳,為低電平時,表示轉(zhuǎn)換已經(jīng)完成,此時單片機(jī)向AD發(fā)送0x38,告訴通信寄存器下1步是讀數(shù)據(jù)寄存器,然后分3次讀取轉(zhuǎn)換后的24位數(shù)字電壓,讀取完成后,DOUT引腳自動置1。

2.2 DS3231的讀寫

MSP430和DS3231之間以I2C協(xié)議通信,單片機(jī)作為主機(jī),DS3231作為從機(jī)。寫的過程是:首先檢測I2C總線是否空閑,在空閑狀態(tài)下,主機(jī)產(chǎn)生1個起始信號,隨后向從機(jī)發(fā)送從機(jī)地址,選擇寫模式,從機(jī)識別到正確地址后,向主機(jī)返回1個應(yīng)答信號ACK,主機(jī)收到應(yīng)答信號后再發(fā)送從機(jī)寄存器地址,DS3231收到并做出應(yīng)答,然后主機(jī)再將當(dāng)前寄存器的預(yù)設(shè)值發(fā)送給從機(jī),從機(jī)應(yīng)答;讀的過程是:在空閑狀態(tài)下,主機(jī)產(chǎn)生起始信號并發(fā)送從機(jī)地址,先選擇寫模式,從機(jī)應(yīng)答后,主機(jī)再發(fā)送DS 3231秒寄存器地址0x00,從機(jī)應(yīng)答后,主機(jī)啟動I2C接收,在總線空閑的狀態(tài)下再次產(chǎn)生起始信號并發(fā)送從機(jī)地址,選擇讀模式,主機(jī)依次讀取從機(jī)每個寄存器的值并應(yīng)答。

2.3 Micro SD的寫入

移植FatFs文件系統(tǒng)到MSP430的過程中,只需要修改ffconf.h和diskio.h這兩個文件。其中ffconf.h存放文件系統(tǒng)所有的配置項,diskio.h存放底層驅(qū)動和接口函數(shù)。寫入過程是:調(diào)用f_mount(0,&fatfs)函數(shù),掛載文件系統(tǒng);調(diào)用f_open(&fil,fileName,FA_OPEN_ALWAYS|FA_READ|FA_WRITE)函數(shù),打開文件;調(diào)用f_lseek(&fil,fil.fsize)函數(shù),使得讀寫指針從文件開始處向后偏移至文件尾;調(diào)用f_write(&fil,text,size)函數(shù),寫入文檔內(nèi)容;調(diào)用f_write(&fil,space,3)函數(shù),目的是寫入3個空格做隔離字符;最后,調(diào)用f_close(&fil)函數(shù),關(guān)閉文件,完成1次文檔內(nèi)容的寫入。

2.4 串口發(fā)送

MAX3471是半雙工收發(fā)器,不能同時收發(fā),發(fā)送數(shù)據(jù)幀前,先將DE引腳置1,選擇發(fā)送模式。發(fā)送過程是:設(shè)置UART波特率為9600,將3路電壓值封裝成ASCII碼數(shù)據(jù)幀,每發(fā)送1個字符前,先檢測UART模塊的發(fā)送中斷標(biāo)志位UCTXIFG,待其置位時,向發(fā)送緩沖寄存器UCA1TXBUF寫入1個字符,完成1次發(fā)送。

2.5 上位機(jī)程序

文中MSP430(下位機(jī))通過UART串口將AD7791轉(zhuǎn)換后得到的數(shù)據(jù)幀發(fā)送給PC端,PC端作為上位機(jī)。上位機(jī)采用基于Visual Studio 的C# Windows窗體應(yīng)用程序開發(fā)。上位機(jī)Form1窗體通過SerialPort串口控件接收下位機(jī)發(fā)送的數(shù)據(jù)幀,按照格式解析出3路電壓值并乘以轉(zhuǎn)換系數(shù)k得到3路磁場分量,存入對應(yīng)的泛型集合。上位機(jī)調(diào)用磁場修正的算法程序,得出修正后的磁場值,傳入Form2窗體。Form2窗體通過pictureBox_Paint事件按照定時器控件timer2設(shè)定的定時時間繪制修正前后的磁場曲線,當(dāng)定時器控件timer1定時時間到,刷新并重繪。

3 數(shù)據(jù)處理

為校驗磁傳感器和整套測量電路的精度,在珞珈山磁學(xué)實(shí)驗室(只有地磁場)上電運(yùn)行程序。由于不可能遍歷所有方向,在試驗中選取18個具有代表性的點(diǎn),讓它們代表所有的球空間分布,這18個點(diǎn)分別為X,Y,Z方向的最大值和最小值,XOY平面內(nèi)與X,Y軸45°角的4個方向,以及XOZ,YOZ平面各4個方向。一共采集18組數(shù)據(jù),MSP430調(diào)用嵌入式文件系統(tǒng)FatFs在Micro SD卡中建立兩個文本文件,分別用來存儲電壓數(shù)據(jù)幀和時間。

MSP430在向Micro SD卡寫入數(shù)據(jù)的同時,通過串口將3路電壓數(shù)據(jù)幀以字符串形式發(fā)送給上位機(jī),上位機(jī)接收數(shù)據(jù)并解析出電壓值,乘以轉(zhuǎn)化系數(shù) 得到磁場值。由于磁通門傳感器在3維空間的X,Y,Z方向上不是完全理想正交,根據(jù)理想磁通門傳感器測量環(huán)境磁場強(qiáng)度與姿態(tài)無關(guān)的特點(diǎn),當(dāng)3軸磁傳感器繞同一個軸轉(zhuǎn)動時,可以認(rèn)為所測磁場總的模量不變[6,7]?;谶@個特點(diǎn)提出里修正模型

y=W1(x1-x10)2+W2(x2-x20)2+W3(x3-x30)2+

W4(x1-x10)(x2-x20)+W5(x2-x20)(x3-x30)+

W6(x3-x30)(x1-x10)

(1)

代入18個方向的數(shù)據(jù)后,得到線性方程組AW=Y,其中,A是一個18×6階矩陣,Y是一個常數(shù)列向量??紤]到該方程組系數(shù)矩陣可能是病態(tài)的,用一般的高斯消元法會帶來較大的誤差,所以采用奇異值分解法。奇異值分解法的核心是對線性系數(shù)矩陣A進(jìn)行奇異值分解,分解為3個矩陣乘積的形式:A=UA*V,其中,中間矩陣A*是一個對角矩陣,主對角線是系數(shù)矩陣A的奇異值按降序排列,末尾用0填充。經(jīng)過奇異值分解后便于求出系數(shù)矩陣的廣義逆矩陣A+,再用廣義逆矩陣A+乘以常數(shù)矩陣Y得到線性方程組的解W=A+×Y。求解過程是:首先將3個零點(diǎn)視為常數(shù),用奇異值分解法求解代入18組數(shù)據(jù)后得到的線性方程組AW=Y,解出6個W,此時每個W是零點(diǎn)x10,x20,x30的函數(shù)。然后根據(jù)最小二乘法的原理,代入18組數(shù)據(jù)后的差值平方和

W3(x3N-x30)2+W4(x1N-x10)(x2N-x20)+

W5(x2N-x20)(x3N-x30)+W6(x3N-x30)(x1N-

x10)-y]2

(2)

這是一個求解函數(shù)極值的問題,用單純形法(即單形調(diào)優(yōu)法)求解fmin,此時fmin僅是零點(diǎn)x10,x20,x30的函數(shù)。單純形法求解的過程是:首先在原點(diǎn)附近選定一個初始單純形,由于是3維空間,所以初始單純形為四面體,每個點(diǎn)的坐標(biāo)為(xi,yi,zi),以xi,yi,zi替代方程中的x10,x20,x30,代入各點(diǎn)的坐標(biāo),依次求得四面體各點(diǎn)的函數(shù)值并比較,舍去最大的頂點(diǎn),然后按照一定的放縮原則尋找一個新的頂點(diǎn),構(gòu)成新的單純形,繼續(xù)求各點(diǎn)函數(shù)值并比較,在精度允許的范圍內(nèi),直到找到函數(shù)值最小的頂點(diǎn),該頂點(diǎn)的坐標(biāo)就是所求的x10,x20,x30。

4 實(shí)驗結(jié)果

上位機(jī)調(diào)用該算法的C語言程序,計算得到上述9個參數(shù)W1,W2,W3,W4,W5,W6,x10,x20,x30,根據(jù)這些參數(shù)得到修正矩陣U為

U=

圖3 實(shí)驗結(jié)果

修正前磁場平均值為49 516.045 6nT,修正后磁場平均值為49 534.988 8nT,地磁場理論值為:49 535nT。

5 結(jié) 論

野外地磁環(huán)境的測試結(jié)果表明:經(jīng)過校準(zhǔn)修正后磁場的測量值與其平均值偏差在±20nT以內(nèi),修正后磁場的平均值與地磁場實(shí)際值基本一致,實(shí)現(xiàn)了高精度的要求;系統(tǒng)功耗低至mW級別,實(shí)現(xiàn)了低功耗的要求;存儲容量達(dá)到了2GB,實(shí)現(xiàn)了大容量存儲數(shù)據(jù)的目標(biāo);能夠在野外無人值守的情況下進(jìn)行數(shù)據(jù)采集和數(shù)據(jù)存儲,通過上位機(jī)繪制磁場曲線使得能夠?qū)崟r監(jiān)測野外磁場的動態(tài)變化,研究內(nèi)容對磁場探測技術(shù)的進(jìn)一步提升具有重要意義。

[1] Ripka P.Advances in fluxgate sensors[J].Sensors and Actuators A:Physical,2003,106(1-3):8-14.

[2] 呂 輝,劉詩斌.微型磁通門傳感器的低功耗結(jié)構(gòu)設(shè)計[J].傳感器與微系統(tǒng),2015,34(3):81-83.

[3] 楊 陽,胡 超,陳冬梅,等.弱磁場測量方法的研究[J].傳感技術(shù)學(xué)報,2009(3):8-12.

[4] Ripka P,Hurley W G.Excitation efficiency of fluxgate sensor-s[J].Sensors and Actuators A:Physical,2006,129(1/2):75-79.

[5] 劉紅樂,馬福昌.高精度低功耗的無線數(shù)字水位傳感器智能變送器[J].儀表技術(shù)與傳感器,2013(6):13-16.

[6] 郭志友,孫慧卿.磁傳感器的非線性誤差修正技術(shù)[J].傳感器技術(shù),2004,23(5):54-58.

[7] 周國華,肖昌漢,閆 輝,等.三分量磁通門傳感器軸定向問題研究[J].傳感器與微系統(tǒng),2007,26(9):49-52.

Data acquisition and correction based on flux-gate sensor

GAO Lian, CAO Da-ping

(School of Physics and Technology,Wuhan University,Wuhan 430072,China)

In order to achieve low power consumption,high precision and large capacity storage technology of flux-gate sensor.On the basis of optimization scheme, circuit system of collecting data,recording time,storing data and fitting and correction is designed,focusing on composition of circuit system and data correction methods is studied and improved.The prototype is tested in actual geomagnetic environment,the results show that power consumption of the whole set of device is reduced to level of milliwatts,moreover,the deviation of Earth's magnetic field measurements and accurate value is less than 20 nT,and the storage capacity up to 2 GB,the expected goal is reached.

data correction; low power consumption; large capacity; flux-gate sensor

10.13873/J.1000—9787(2017)04—0128—03

2016—06—21

TP 274

A

1000—9787(2017)04—0128—03

高 煉(1990-),男,碩士研究生,主要研究方向為嵌入式應(yīng)用。

曹大平(1961-),男,通訊作者,教授,博士生導(dǎo)師,從事磁傳感器及信號處理技術(shù)研究工作,E—mail:dapingcao@whu.edu.cn。

猜你喜歡
磁通調(diào)用寄存器
軸向磁通電勵磁雙凸極電機(jī)及容錯運(yùn)行控制策略
Lite寄存器模型的設(shè)計與實(shí)現(xiàn)
核電項目物項調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
基于LabVIEW的微型磁通門磁強(qiáng)計測試系統(tǒng)搭建
基于磁通門原理的零磁通交直流電流傳感器
分簇結(jié)構(gòu)向量寄存器分配策略研究*
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
基于FPGA的數(shù)字磁通計設(shè)計
電測與儀表(2015年3期)2015-04-09 11:37:52
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
武乡县| 清水河县| 莎车县| 来凤县| 高唐县| 乐昌市| 建瓯市| 随州市| 将乐县| 永清县| 米脂县| 汉川市| 漯河市| 伊吾县| 长葛市| 工布江达县| 贞丰县| 西乌珠穆沁旗| 隆德县| 中阳县| 本溪市| 民和| 安新县| 厦门市| 南平市| 黄浦区| 水城县| 东莞市| 宜昌市| 巢湖市| 库尔勒市| 孝感市| 紫阳县| 开化县| 泸西县| 淄博市| 临潭县| 长汀县| 永城市| 海阳市| 铅山县|