两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種二維電子羅盤數(shù)據(jù)的取得方法及裝置的制作方法

文檔序號(hào):5962921閱讀:488來源:國(guó)知局
專利名稱:一種二維電子羅盤數(shù)據(jù)的取得方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及傳感器領(lǐng)域,更具體地說,涉及一種二維電子羅盤數(shù)據(jù)的取得方法及裝直。
背景技術(shù)
在電子產(chǎn)品呈爆炸式增長(zhǎng)的今天,競(jìng)爭(zhēng)的壓力導(dǎo)致電子研發(fā)對(duì)成本的考慮越來越多,因此很多產(chǎn)品都極度壓低主控芯片的主頻和功耗,甚至直接定制芯片,芯片的性能被發(fā)揮到極致,這對(duì)軟件編程提出了一定的要求;在電子產(chǎn)品智能化的過程中,越來越多的傳感器被加入電子產(chǎn)品中,軟件編寫者必須考慮到主控的性能和傳感器的算法,以達(dá)到最優(yōu)化的設(shè)計(jì)。在這種背景下,探索傳感器的優(yōu)化算法就很有意義,比如,光學(xué)傳感器所涉及的圖像壓縮算法,已經(jīng)在現(xiàn)在的電子產(chǎn)品中占有相當(dāng)大的比重,可以說是現(xiàn)代電子產(chǎn)品不可或缺的一部分,所帶來的經(jīng)濟(jì)效益是不可估量的。通常而言,如果主控性能不是很好,要加入傳感器并實(shí)現(xiàn)算法是有困難的,尤其是在一些以控制為主的單片機(jī)中,乘法運(yùn)算會(huì)占用比較多的處理時(shí)間,要加入算法就更困難,即使是一些簡(jiǎn)單的傳感器,也需要時(shí)間去做優(yōu)化。當(dāng)前對(duì)傳感器的算法設(shè)計(jì),比較通用的方法是數(shù)學(xué)建模,其次是依靠數(shù)學(xué)方法直接推導(dǎo)出理想化的公式,在程序中實(shí)現(xiàn)并做補(bǔ)償。通常的二維電子羅盤算法是基于橢圓參考的算法設(shè)計(jì),由于乘法和除法運(yùn)算比較多,所以其公式復(fù)雜、計(jì)算步驟比較多,導(dǎo)致一些性能不高的主控難以實(shí)現(xiàn),因此必須做優(yōu)化。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對(duì)現(xiàn)有技術(shù)的上述公式復(fù)雜、計(jì)算步驟較多的缺陷,提供一種公式簡(jiǎn)單、計(jì)算步驟較少的二維電子羅盤數(shù)據(jù)的取得方法及裝置。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是構(gòu)造一種二維電子羅盤數(shù)據(jù)的取得方法,所述二維電子羅盤包括第一傳感器和第二傳感器,所述方法包括如下步驟
Α)使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并保存所述第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值;
B)判斷所述旋轉(zhuǎn)的圈數(shù)是否小于預(yù)先設(shè)定的圈數(shù),如是,返回步驟A)繼續(xù)讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值;否則,停止所述旋轉(zhuǎn)并執(zhí)行步驟C);
C)根據(jù)所述第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值,分別取得所述第一磁場(chǎng)強(qiáng)度偏移量及第二磁場(chǎng)強(qiáng)度偏移量;
D)分別讀取所述第一傳感器當(dāng)前測(cè)量的第一實(shí)際磁場(chǎng)強(qiáng)度和第二傳感器當(dāng)前測(cè)量的第二實(shí)際磁場(chǎng)強(qiáng)度的值,并將所述第一實(shí)際磁場(chǎng)強(qiáng)度減去所述第一磁場(chǎng)強(qiáng)度偏移量得到第一磁場(chǎng)強(qiáng)度校正值,將所述第二實(shí)際磁場(chǎng)強(qiáng)度減去所述第二磁場(chǎng)強(qiáng)度偏移量得到第二磁場(chǎng)強(qiáng)度校正值;
E)依據(jù)所述第一磁場(chǎng)強(qiáng)度校正值和第二磁場(chǎng)強(qiáng)度校正值取得所述二維電子羅盤所附載體的顯示屏正方向與地磁北方向的夾角,并由所述夾角取得所述二維電子羅盤所附載體的指示針的指示方向。在本發(fā)明所述的二維電子羅盤數(shù)據(jù)的取得方法中,所述步驟C)進(jìn)一步包括
Cl)將所述第一磁場(chǎng)強(qiáng)度的最大值和最小值進(jìn)行相加得到第一之和;
C2)將所述第一之和除以2得到所述第一磁場(chǎng)強(qiáng)度偏移量; C3)將所述第二磁場(chǎng)強(qiáng)度的最大值和最小值進(jìn)行相加得到第二之和;
C4)將所述第二之和除以2得到所述第二磁場(chǎng)強(qiáng)度偏移量;
上述步驟中,先順序執(zhí)行所述步驟Cl)和C2)再順序執(zhí)行所述步驟C3)和C4),或先順序執(zhí)行所述步驟C3)和C4)再順序執(zhí)行所述步驟Cl)和C2)。在本發(fā)明所述的二維電子羅盤數(shù)據(jù)的取得方法中,所述步驟C)中除以2是通過在單片機(jī)中進(jìn)行右移I位實(shí)現(xiàn)的。在本發(fā)明所述的二維電子羅盤數(shù)據(jù)的取得方法中,所述步驟A)進(jìn)一步包括
Al)設(shè)定第一變量、第二變量、第三變量和第四變量;
A2)使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并將所述第一磁場(chǎng)強(qiáng)度的值分別賦值給所述第一變量和第二變量,將所述第二磁場(chǎng)強(qiáng)度的值分別賦值給所述第三變量和第四變量;
A3)繼續(xù)分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)的第二磁場(chǎng)強(qiáng)度的值;
A4)判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否大于所述第二變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第二變量并保存;否則,執(zhí)行步驟A5);
A5)判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否小于所述第一變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第一變量并保存;否則,執(zhí)行步驟A6);
A6)判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否大于所述第四變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第四變量并保存;否則,執(zhí)行步驟A7);
A7)判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否小于所述第三變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第三變量并保存,執(zhí)行步驟B);否則,執(zhí)行步驟B);
所述第一變量、第二變量、第三變量和第四變量的值分別為所述第一磁場(chǎng)強(qiáng)度的最小值、第一磁場(chǎng)強(qiáng)度的最大值、第二磁場(chǎng)強(qiáng)度的最小值和第二磁場(chǎng)強(qiáng)度的最大值。在本發(fā)明所述的二維電子羅盤數(shù)據(jù)的取得方法中,所述步驟A)進(jìn)一步包括
Al)設(shè)定第一變量、第二變量、第三變量和第四變量,并分別賦初值為第一設(shè)定值、第二
設(shè)定值、第三設(shè)定值和第四設(shè)定值;
A2)使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值;
A3)判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否大于所述第二變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第二變量并保存;否則,執(zhí)行步驟A4);
A4)判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否小于所述第一變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第一變量并保存;否則,執(zhí)行步驟A5);
A5)判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否大于所述第四變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第四變量并保存;否則,執(zhí)行步驟A6);
A6)判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否小于所述第三變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第三變量并保存,執(zhí)行步驟B);否則,執(zhí)行步驟B);
所述第一變量、第二變量、第三變量和第四變量的值分別為所述第一磁場(chǎng)強(qiáng)度的最小值、第一磁場(chǎng)強(qiáng)度的最大值、第二磁場(chǎng)強(qiáng)度的最小值和第二磁場(chǎng)強(qiáng)度的最大值。在本發(fā)明所述的二維電子羅盤數(shù)據(jù)的取得方法中,所述步驟E)進(jìn)一步包括
El)依據(jù)所述第一磁場(chǎng)強(qiáng)度校正值和第二磁場(chǎng)強(qiáng)度校正值通過公式計(jì)算取得所述二維電子羅盤所附載體的顯示屏正方向與地磁北方向的夾角;
E2)將所述二維電子羅盤所附載體的顯示屏正方向順時(shí)針旋轉(zhuǎn)所述夾角即得到所述二維電子羅盤所附載體的指示針的指示方向。本發(fā)明還涉及一種實(shí)現(xiàn)上述二維電子羅盤數(shù)據(jù)的取得方法的裝置,所述二維電子羅盤包括第一傳感器和第二傳感器,所述裝置包括
磁場(chǎng)強(qiáng)度讀取及保存模塊用于使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并保存所述第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值;
旋轉(zhuǎn)圈數(shù)判斷模塊用于判斷所述旋轉(zhuǎn)的圈數(shù)是否小于預(yù)先設(shè)定的圈數(shù),如是,返回繼續(xù)讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值;否貝1J,停止所述旋轉(zhuǎn);
偏移量取得模塊用于根據(jù)所述第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值,分別取得所述第一磁場(chǎng)強(qiáng)度偏移量及第二磁場(chǎng)強(qiáng)度偏移量;
磁場(chǎng)強(qiáng)度校正模塊用于分別讀取所述第一傳感器當(dāng)前測(cè)量的第一實(shí)際磁場(chǎng)強(qiáng)度和第二傳感器當(dāng)前測(cè)量的第二實(shí)際磁場(chǎng)強(qiáng)度的值,并將所述第一實(shí)際磁場(chǎng)強(qiáng)度減去所述第一磁場(chǎng)強(qiáng)度偏移量得到第一磁場(chǎng)強(qiáng)度校正值,將所述第二實(shí)際磁場(chǎng)強(qiáng)度減去所述第二磁場(chǎng)強(qiáng)度偏移量得到第二磁場(chǎng)強(qiáng)度校正值;
指示方向取得模塊用于依據(jù)所述第一磁場(chǎng)強(qiáng)度校正值和第二磁場(chǎng)強(qiáng)度校正值取得所述二維電子羅盤所附載體的顯示屏正方向與地磁北方向的夾角,并由所述夾角取得所述二維電子羅盤所附載體的指示針的指示方向。在本發(fā)明所述的實(shí)現(xiàn)上述二維電子羅盤數(shù)據(jù)的取得方法的裝置中,所述偏移量取得模塊進(jìn)一步包括
第一之和取得單元用于將所述第一磁場(chǎng)強(qiáng)度的最大值和最小值進(jìn)行相加得到第一之
和;
第一相除單元用于將所述第一之和除以2得到所述第一磁場(chǎng)強(qiáng)度偏移量;
第二之和取得單元用于將所述第二磁場(chǎng)強(qiáng)度的最大值和最小值進(jìn)行相加得到第二之
和;
第二相除單元用于將所述第二之和除以2得到所述第二磁場(chǎng)強(qiáng)度偏移量。在本發(fā)明所述的實(shí)現(xiàn)上述二維電子羅盤數(shù)據(jù)的取得方法的裝置中,所述除以2是通過在單片機(jī)中進(jìn)行右移I位實(shí)現(xiàn)的。
在本發(fā)明所述的實(shí)現(xiàn)上述二維電子羅盤數(shù)據(jù)的取得方法的裝置中,所述磁場(chǎng)強(qiáng)度讀取及保存模塊進(jìn)一步包括
變量設(shè)定單元用于設(shè)定第一變量、第二變量、第三變量和第四變量;
變量賦值單元用于使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并將所述第一磁場(chǎng)強(qiáng)度的值分別賦值給所述第一變量和第二變量,將所述第二磁場(chǎng)強(qiáng)度的值分別賦值給所述第三變量和第四變量;
磁場(chǎng)強(qiáng)度讀取單元用于繼續(xù)分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)的第二磁場(chǎng)強(qiáng)度的值;
第二變量判斷單元用于判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否大于所述第二變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第二變量并保存;
第一變量判斷單元用于判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否小于所述第一變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第一變量并保存;
第四變量判斷單元用于判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否大于所述第四變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第四變量并保存;
第三變量判斷單元用于判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否小于所述第三變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第三變量并保存;
所述第一變量、第二變量、第三變量和第四變量的值分別為所述第一磁場(chǎng)強(qiáng)度的最小值、第一磁場(chǎng)強(qiáng)度的最大值、第二磁場(chǎng)強(qiáng)度的最小值和第二磁場(chǎng)強(qiáng)度的最大值。實(shí)施本發(fā)明的二維電子羅盤數(shù)據(jù)的取得方法及裝置,具有以下有益效果由于通過使二維電子羅盤的第一傳感器和第二傳感器在水平面上旋轉(zhuǎn),分別讀取旋轉(zhuǎn)過程中第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并通過比較運(yùn)算得到第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值;分別取得第一磁場(chǎng)強(qiáng)度的最大值和最小值的第一之和,以及第二磁場(chǎng)強(qiáng)度的最大值和最小值的第二之和,并將第一之和以及第二之和分別除以2即可得到第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的偏移量,在單片機(jī)中可將第一之和以及第二之和分別右移I位得到第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的偏移量;在使用中,分別讀取第一傳感器當(dāng)前測(cè)量的第一實(shí)際磁場(chǎng)強(qiáng)度和第二傳感器當(dāng)前測(cè)量的第二實(shí)際磁場(chǎng)強(qiáng)度的值,并將第一實(shí)際磁場(chǎng)強(qiáng)度減去所述第一磁場(chǎng)強(qiáng)度偏移量得到第一磁場(chǎng)強(qiáng)度校正值,將第二實(shí)際磁場(chǎng)強(qiáng)度減去所述第二磁場(chǎng)強(qiáng)度偏移量得到第二磁場(chǎng)強(qiáng)度校正值,根據(jù)公式可得到二維電子羅盤所附載體的顯示屏正方向與地磁北方向的夾角,并由上述夾角取得二維電子羅盤所附載體的指示針的指示方向;整個(gè)過程比較運(yùn)算較多,涉及的乘除法很少,所以其公式簡(jiǎn)單、計(jì)算步驟較少。


圖I是本發(fā)明二維電子羅盤數(shù)據(jù)的取得方法及裝置實(shí)施例其方法的流程 圖2是理想情況下二維電子羅盤在水平面內(nèi)的數(shù)據(jù)分布 圖3是二維電子羅盤在水平面內(nèi)的數(shù)據(jù)分布發(fā)生偏移的示意 圖4是二維電子羅盤及所附載體顯示屏的示意 圖5是二維電子羅盤及所附載體旋轉(zhuǎn)90度后的示意圖;圖6是第一傳感器和第二傳感器與地磁北的關(guān)系示意 圖7是顯示屏正方向與地磁北之間的夾角示意 圖8是所述實(shí)施例中取得第一磁場(chǎng)強(qiáng)度和第二磁場(chǎng)強(qiáng)度最大值和最小值的具體流程
圖9是所述實(shí)施例中取得第一磁場(chǎng)強(qiáng)度偏移量和第一磁場(chǎng)強(qiáng)度偏移量的具體流程圖; 圖10是所述實(shí)施例中取得指示針指示方向的具體流程 圖11是所述實(shí)施例中裝置的結(jié)構(gòu)示意 圖12是所述實(shí)施例中磁場(chǎng)強(qiáng)度讀取及保存模塊的結(jié)構(gòu)示意圖; 圖13是所述實(shí)施例中偏移量取得模塊的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了便于本領(lǐng)域的普通技術(shù)人員能夠理解并實(shí)施本發(fā)明,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步說明。在本發(fā)明二維電子羅盤數(shù)據(jù)的取得方法及裝置實(shí)施例中,其方法的流程圖如圖I所示。本實(shí)施例中,二維電子羅盤包括第一傳感器和第二傳感器,圖I中,該方法包括
步驟SOl使二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并保存第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值如圖2所示,二維電子羅盤是兩軸電子羅盤,在理想的情況下,二維電子羅盤在水平面的數(shù)據(jù)(磁場(chǎng)強(qiáng)度)分布是一個(gè)圓,且圓心在(0,O)點(diǎn)上,本實(shí)施例中,將第一傳感器和第二傳感器的方向和位置標(biāo)記為(x,Y),X軸和Y軸在水平面內(nèi)正交,第一傳感器和第二傳感器分別測(cè)量水平面內(nèi)兩個(gè)正交方向的磁場(chǎng),也即測(cè)量地磁場(chǎng)的水平分量在其正交的兩測(cè)量軸(X軸和Y軸)的分量。當(dāng)然,第一傳感器和第二傳感器的方向和位置也可以標(biāo)記為其他字母。如圖3所示,由于PCB板上的電磁影響以及外部干擾,圓心會(huì)有偏移,這需要進(jìn)行校正,本實(shí)施例中,在校正過程中,使二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn)。第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度其實(shí)分別是地磁場(chǎng)的水平分量在X軸和Y軸上的分量,也即第一磁場(chǎng)強(qiáng)度是地磁場(chǎng)的水平分量在X軸上的分量,第二磁場(chǎng)強(qiáng)度是地磁場(chǎng)的水平分量在Y軸上的分量。在二維電子羅盤的第一傳感器和第二傳感器旋轉(zhuǎn)過程中,X軸方向和Y軸方向的分量值會(huì)不斷變化,正是在這種變化中產(chǎn)生了原點(diǎn)的偏移,因此需要分別記錄X軸和Y軸方向分量的最大值和最小值,也即分別記錄第一磁場(chǎng)強(qiáng)度的最大值和最小值,以及第二磁場(chǎng)強(qiáng)度的最大值和最小值。值得一提的是,本步驟中,是通過比較運(yùn)算得到第一磁場(chǎng)強(qiáng)度和第二磁場(chǎng)強(qiáng)度的最大值和最小值的。步驟S02判斷旋轉(zhuǎn)的圈數(shù)是否小于預(yù)先設(shè)定的圈數(shù)本實(shí)施例中,預(yù)先設(shè)定旋轉(zhuǎn)的圈數(shù),也即第一傳感器和第二傳感器旋轉(zhuǎn)的圈數(shù)達(dá)到預(yù)先設(shè)定的圈數(shù)時(shí),就會(huì)停止旋轉(zhuǎn)。二維電子羅盤的第一傳感器和第二傳感器在旋轉(zhuǎn)過程中可以是繞某個(gè)固定點(diǎn)旋轉(zhuǎn),也可以不繞固定點(diǎn)旋轉(zhuǎn),旋轉(zhuǎn)過程中每經(jīng)過坐標(biāo)系的四個(gè)象限就算是旋轉(zhuǎn)一圈。本實(shí)施例中,設(shè)定的圈數(shù)為5圈,當(dāng)然,根據(jù)實(shí)際需要,設(shè)定的圈數(shù)可進(jìn)行調(diào)節(jié)。本步驟中,如果判斷的結(jié)果為是,返回步驟SOl繼續(xù)讀取第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值;如果判斷的結(jié)果為否,執(zhí)行步驟S03。
步驟S03停止旋轉(zhuǎn)如果上述步驟S02的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,由于第一傳感器和第二傳感器旋轉(zhuǎn)的圈數(shù)已達(dá)到設(shè)定的圈數(shù),所以停止旋轉(zhuǎn)。執(zhí)行完步驟,執(zhí)行步驟S04。步驟S04根據(jù)第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值,分別取得第一磁場(chǎng)強(qiáng)度偏移量及第二磁場(chǎng)強(qiáng)度偏移量本步驟中,根據(jù)第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值,分別取得第一磁場(chǎng)強(qiáng)度偏移量及第二磁場(chǎng)強(qiáng)度偏移量,第一磁場(chǎng)強(qiáng)度偏移量及第二磁場(chǎng)強(qiáng)度偏移量就是要補(bǔ)償?shù)牧俊1緦?shí)施例中,第一磁場(chǎng)強(qiáng)度偏移量其實(shí)就是第一磁場(chǎng)強(qiáng)度的最大值和最小值的平均值,第二磁場(chǎng)強(qiáng)度偏移量其實(shí)就是第二磁場(chǎng)強(qiáng)度的最大值和最小值的平均值。步驟S05分別讀取第一傳感器當(dāng)前測(cè)量的第一實(shí)際磁場(chǎng)強(qiáng)度和第二傳感器當(dāng)前測(cè)量的第二實(shí)際磁場(chǎng)強(qiáng)度的值,并將第一實(shí)際磁場(chǎng)強(qiáng)度減去所述第一磁場(chǎng)強(qiáng)度偏移量得到第一磁場(chǎng)強(qiáng)度校正值,將第二實(shí)際磁場(chǎng)強(qiáng)度減去所述第二磁場(chǎng)強(qiáng)度偏移量得到第二磁場(chǎng)強(qiáng)度校正值在實(shí)際使用中,要對(duì)實(shí)際測(cè)量的第一磁場(chǎng)強(qiáng)度和第二磁場(chǎng)強(qiáng)度進(jìn)行補(bǔ)償。分別讀取第一傳感器當(dāng)前測(cè)量的第一實(shí)際磁場(chǎng)強(qiáng)度和第二傳感器當(dāng)前測(cè)量的第二實(shí)際磁場(chǎng)強(qiáng)度 的值,并將第一實(shí)際磁場(chǎng)強(qiáng)度減去所述第一磁場(chǎng)強(qiáng)度偏移量得到第一磁場(chǎng)強(qiáng)度校正值,將第二實(shí)際磁場(chǎng)強(qiáng)度減去所述第二磁場(chǎng)強(qiáng)度偏移量得到第二磁場(chǎng)強(qiáng)度校正值。第一磁場(chǎng)強(qiáng)度校正值和第二磁場(chǎng)強(qiáng)度校正值就是經(jīng)過補(bǔ)償后的值。步驟S06依據(jù)第一磁場(chǎng)強(qiáng)度校正值和第二磁場(chǎng)強(qiáng)度校正值取得二維電子羅盤所附載體的顯示屏正方向與地磁北方向的夾角,并由夾角取得二維電子羅盤所附載體的指示針的指示方向二維電子羅盤所附的載體(電子產(chǎn)品)中,都是靠二維電子羅盤確定的地磁北方向和載體的顯示屏的顯示方向的夾角,來確定載體中指向正北方的指示針的顯示方向。本實(shí)施例中將顯示屏的正上方定義為顯示屏的正方向,如圖4所示,第二傳感器(Y軸正方向)指向北方,顯示屏的正方向也面向北方,這時(shí)候只有第二傳感器(Y軸)有值且為磁場(chǎng)感應(yīng)強(qiáng)度最強(qiáng)的方向,第一傳感器(X軸)測(cè)量的值為0,地磁北N與顯示屏的正方向的夾角為O度。地磁北方向是固定的,當(dāng)二維電子羅盤所附載體旋轉(zhuǎn)時(shí),其顯示屏正方向與地磁北方向的夾角會(huì)發(fā)生變化。如圖5所示,載體順時(shí)針轉(zhuǎn)動(dòng)了 90度,這時(shí)候顯示屏的正方向指向東方,第一傳感器(X軸)有值且為磁場(chǎng)感應(yīng)強(qiáng)度最強(qiáng)的方向,但是值是負(fù)數(shù),地磁北N與顯示屏的正方向的夾角為90度。如圖6所示,(X,Y)是二維電子羅盤中第一傳感器和第二傳感器的方向和位置,X軸和Y軸方向感應(yīng)的磁場(chǎng)強(qiáng)度的和向量方向即為地磁北N方向,如果設(shè)第一傳感器測(cè)量的磁場(chǎng)強(qiáng)度值為X,第二傳感器測(cè)量的磁場(chǎng)強(qiáng)度值為1,也即地磁場(chǎng)水平分量在X軸和Y軸方向的分量分別是X和y (x〈0,y〈0),同樣,當(dāng)?shù)谝粋鞲衅骱偷诙鞲衅鞯奈恢米兓?X’,Y’)位置時(shí),在X軸和Y軸方向的分量分別是X’和y’(X’ >0,y’〈O),上述結(jié)論是在假設(shè)二維電子羅盤水平放置的條件下得出的,本實(shí)施例中,將地磁北N與顯示屏正方向的相對(duì)夾角設(shè)定為α,根據(jù)圖6中傳感器與地磁北的關(guān)系,可以推出α的大小(傳感器與顯示屏的方位關(guān)系是固定的)。下面的公式一也是在上述假設(shè)下推導(dǎo)出來的(這里假設(shè)Y軸正方向與顯示屏的正方向相同,這個(gè)與PCB板上二維電子羅盤芯片的放置方向有關(guān))
權(quán)利要求
1.一種二維電子羅盤數(shù)據(jù)的取得方法,其特征在于,所述二維電子羅盤包括第一傳感器和第二傳感器,所述方法包括如下步驟 A)使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并保存所述第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值; B)判斷所述旋轉(zhuǎn)的圈數(shù)是否小于預(yù)先設(shè)定的圈數(shù),如是,返回步驟A)繼續(xù)讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值;否則,停止所述旋轉(zhuǎn)并執(zhí)行步驟C); C)根據(jù)所述第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值,分別取得所述第一磁場(chǎng)強(qiáng)度偏移量及第二磁場(chǎng)強(qiáng)度偏移量; D)分別讀取所述第一傳感器當(dāng)前測(cè)量的第一實(shí)際磁場(chǎng)強(qiáng)度和第二傳感器當(dāng)前測(cè)量的第二實(shí)際磁場(chǎng)強(qiáng)度的值,并將所述第一實(shí)際磁場(chǎng)強(qiáng)度減去所述第一磁場(chǎng)強(qiáng)度偏移量得到第一磁場(chǎng)強(qiáng)度校正值,將所述第二實(shí)際磁場(chǎng)強(qiáng)度減去所述第二磁場(chǎng)強(qiáng)度偏移量得到第二磁場(chǎng)強(qiáng)度校正值; E)依據(jù)所述第一磁場(chǎng)強(qiáng)度校正值和第二磁場(chǎng)強(qiáng)度校正值取得所述二維電子羅盤所附載體的顯示屏正方向與地磁北方向的夾角,并由所述夾角取得所述二維電子羅盤所附載體的指示針的指示方向。
2.根據(jù)權(quán)利要求I所述的二維電子羅盤數(shù)據(jù)的取得方法,其特征在于,所述步驟C)進(jìn)一步包括 Cl)將所述第一磁場(chǎng)強(qiáng)度的最大值和最小值進(jìn)行相加得到第一之和; C2)將所述第一之和除以2得到所述第一磁場(chǎng)強(qiáng)度偏移量; C3)將所述第二磁場(chǎng)強(qiáng)度的最大值和最小值進(jìn)行相加得到第二之和; C4)將所述第二之和除以2得到所述第二磁場(chǎng)強(qiáng)度偏移量; 上述步驟中,先順序執(zhí)行所述步驟Cl)和C2)再順序執(zhí)行所述步驟C3)和C4),或先順序執(zhí)行所述步驟C3)和C4)再順序執(zhí)行所述步驟Cl)和C2)。
3.根據(jù)權(quán)利要求2所述的二維電子羅盤數(shù)據(jù)的取得方法,其特征在于,所述步驟C)中除以2是通過在單片機(jī)中進(jìn)行右移I位實(shí)現(xiàn)的。
4.根據(jù)權(quán)利要求I至3任意一項(xiàng)所述的二維電子羅盤數(shù)據(jù)的取得方法,其特征在于,所述步驟A)進(jìn)一步包括 Al)設(shè)定第一變量、第二變量、第三變量和第四變量; A2)使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并將所述第一磁場(chǎng)強(qiáng)度的值分別賦值給所述第一變量和第二變量,將所述第二磁場(chǎng)強(qiáng)度的值分別賦值給所述第三變量和第四變量; A3)繼續(xù)分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)的第二磁場(chǎng)強(qiáng)度的值; A4)判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否大于所述第二變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第二變量并保存;否則,執(zhí)行步驟A5); A5)判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否小于所述第一變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第一變量并保存;否則,執(zhí)行步驟A6); A6)判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否大于所述第四變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第四變量并保存;否則,執(zhí)行步驟A7); A7)判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否小于所述第三變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第三變量并保存,執(zhí)行步驟B);否則,執(zhí)行步驟B); 所述第一變量、第二變量、第三變量和第四變量的值分別為所述第一磁場(chǎng)強(qiáng)度的最小值、第一磁場(chǎng)強(qiáng)度的最大值、第二磁場(chǎng)強(qiáng)度的最小值和第二磁場(chǎng)強(qiáng)度的最大值。
5.根據(jù)權(quán)利要求I至3任意一項(xiàng)所述的二維電子羅盤數(shù)據(jù)的取得方法,其特征在于,所述步驟A)進(jìn)一步包括 Al)設(shè)定第一變量、第二變量、第三變量和第四變量,并分別賦初值為第一設(shè)定值、第二設(shè)定值、第三設(shè)定值和第四設(shè)定值; A2)使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值; A3)判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否大于所述第二變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第二變量并保存;否則,執(zhí)行步驟A4); A4)判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否小于所述第一變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第一變量并保存;否則,執(zhí)行步驟A5); A5)判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否大于所述第四變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第四變量并保存;否則,執(zhí)行步驟A6); A6)判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否小于所述第三變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第三變量并保存,執(zhí)行步驟B);否則,執(zhí)行步驟B); 所述第一變量、第二變量、第三變量和第四變量的值分別為所述第一磁場(chǎng)強(qiáng)度的最小值、第一磁場(chǎng)強(qiáng)度的最大值、第二磁場(chǎng)強(qiáng)度的最小值和第二磁場(chǎng)強(qiáng)度的最大值。
6.根據(jù)權(quán)利要求I至3任意一項(xiàng)所述的二維電子羅盤數(shù)據(jù)的取得方法,其特征在于,所述步驟E)進(jìn)一步包括 El)依據(jù)所述第一磁場(chǎng)強(qiáng)度校正值和第二磁場(chǎng)強(qiáng)度校正值通過公式計(jì)算取得所述二維電子羅盤所附載體的顯示屏正方向與地磁北方向的夾角; E2)將所述二維電子羅盤所附載體的顯示屏正方向順時(shí)針旋轉(zhuǎn)所述夾角即得到所述二維電子羅盤所附載體的指示針的指示方向。
7.一種實(shí)現(xiàn)如權(quán)利要求I所述的二維電子羅盤數(shù)據(jù)的取得方法的裝置,其特征在于,所述二維電子羅盤包括第一傳感器和第二傳感器,所述裝置包括 磁場(chǎng)強(qiáng)度讀取及保存模塊用于使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并保存所述第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值; 旋轉(zhuǎn)圈數(shù)判斷模塊用于判斷所述旋轉(zhuǎn)的圈數(shù)是否小于預(yù)先設(shè)定的圈數(shù),如是,返回繼續(xù)讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值;否貝1J,停止所述旋轉(zhuǎn); 偏移量取得模塊用于根據(jù)所述第一磁場(chǎng)強(qiáng)度及第二磁場(chǎng)強(qiáng)度的最大值和最小值,分別取得所述第一磁場(chǎng)強(qiáng)度偏移量及第二磁場(chǎng)強(qiáng)度偏移量;磁場(chǎng)強(qiáng)度校正模塊用于分別讀取所述第一傳感器當(dāng)前測(cè)量的第一實(shí)際磁場(chǎng)強(qiáng)度和第二傳感器當(dāng)前測(cè)量的第二實(shí)際磁場(chǎng)強(qiáng)度的值,并將所述第一實(shí)際磁場(chǎng)強(qiáng)度減去所述第一磁場(chǎng)強(qiáng)度偏移量得到第一磁場(chǎng)強(qiáng)度校正值,將所述第二實(shí)際磁場(chǎng)強(qiáng)度減去所述第二磁場(chǎng)強(qiáng)度偏移量得到第二磁場(chǎng)強(qiáng)度校正值; 指示方向取得模塊用于依據(jù)所述第一磁場(chǎng)強(qiáng)度校正值和第二磁場(chǎng)強(qiáng)度校正值取得所述二維電子羅盤所附載體的顯示屏正方向與地磁北方向的夾角,并由所述夾角取得所述二維電子羅盤所附載體的指示針的指示方向。
8.根據(jù)權(quán)利要求7所述的實(shí)現(xiàn)二維電子羅盤數(shù)據(jù)的取得方法的裝置,其特征在于,所述偏移量取得模塊進(jìn)一步包括 第一之和取得單元用于將所述第一磁場(chǎng)強(qiáng)度的最大值和最小值進(jìn)行相加得到第一之和; 第一相除單元用于將所述第一之和除以2得到所述第一磁場(chǎng)強(qiáng)度偏移量; 第二之和取得單元用于將所述第二磁場(chǎng)強(qiáng)度的最大值和最小值進(jìn)行相加得到第二之和; 第二相除單元用于將所述第二之和除以2得到所述第二磁場(chǎng)強(qiáng)度偏移量。
9.根據(jù)權(quán)利要求8所述的實(shí)現(xiàn)二維電子羅盤數(shù)據(jù)的取得方法的裝置,其特征在于,所述除以2是通過在單片機(jī)中進(jìn)行右移I位實(shí)現(xiàn)的。
10.根據(jù)權(quán)利要求9所述的實(shí)現(xiàn)二維電子羅盤數(shù)據(jù)的取得方法的裝置,其特征在于,所述磁場(chǎng)強(qiáng)度讀取及保存模塊進(jìn)一步包括 變量設(shè)定單元用于設(shè)定第一變量、第二變量、第三變量和第四變量; 變量賦值單元用于使所述二維電子羅盤的第一傳感器和第二傳感器在水平面內(nèi)旋轉(zhuǎn),分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)量的第二磁場(chǎng)強(qiáng)度的值,并將所述第一磁場(chǎng)強(qiáng)度的值分別賦值給所述第一變量和第二變量,將所述第二磁場(chǎng)強(qiáng)度的值分別賦值給所述第三變量和第四變量; 磁場(chǎng)強(qiáng)度讀取單元用于繼續(xù)分別讀取所述第一傳感器測(cè)量的第一磁場(chǎng)強(qiáng)度和第二傳感器測(cè)的第二磁場(chǎng)強(qiáng)度的值; 第二變量判斷單元用于判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否大于所述第二變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第二變量并保存; 第一變量判斷單元用于判斷當(dāng)前第一磁場(chǎng)強(qiáng)度的值是否小于所述第一變量的值,如是,將當(dāng)前第一磁場(chǎng)強(qiáng)度的值賦值給第一變量并保存; 第四變量判斷單元用于判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否大于所述第四變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第四變量并保存; 第三變量判斷單元用于判斷當(dāng)前第二磁場(chǎng)強(qiáng)度的值是否小于所述第三變量的值,如是,將當(dāng)前第二磁場(chǎng)強(qiáng)度的值賦值給第三變量并保存; 所述第一變量、第二變量、第三變量和第四變量的值分別為所述第一磁場(chǎng)強(qiáng)度的最小值、第一磁場(chǎng)強(qiáng)度的最大值、第二磁場(chǎng)強(qiáng)度的最小值和第二磁場(chǎng)強(qiáng)度的最大值。
全文摘要
本發(fā)明涉及一種二維電子羅盤數(shù)據(jù)的取得方法,二維電子羅盤包括第一傳感器和第二傳感器,方法包括將二維電子羅盤在水平面內(nèi)旋轉(zhuǎn);讀取兩個(gè)傳感器測(cè)量的磁場(chǎng)強(qiáng)度的值并保存每一磁場(chǎng)強(qiáng)度的最大值和最小值;判斷旋轉(zhuǎn)的圈數(shù)是否小于設(shè)定的圈數(shù),如是,返回繼續(xù)讀取兩個(gè)傳感器的測(cè)量值;否則,停止旋轉(zhuǎn);分別取得每一磁場(chǎng)強(qiáng)度的偏移量;讀取兩個(gè)傳感器測(cè)量的磁場(chǎng)強(qiáng)度的實(shí)際值,并將其分別減去對(duì)應(yīng)的偏移量得到校正值;取得二維電子羅盤所附載體顯示屏正方向與地磁北方向的夾角,并由夾角取得載體的指示針的指示方向。本發(fā)明還涉及一種實(shí)現(xiàn)上述方法的裝置。實(shí)施本發(fā)明的二維電子羅盤數(shù)據(jù)的取得方法及裝置,具有以下有益效果公式簡(jiǎn)單、計(jì)算步驟較少。
文檔編號(hào)G01C17/32GK102937446SQ20121046778
公開日2013年2月20日 申請(qǐng)日期2012年11月19日 優(yōu)先權(quán)日2012年11月19日
發(fā)明者劉遠(yuǎn)付 申請(qǐng)人:深圳市航盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
沛县| 疏勒县| 建平县| 全南县| 平果县| 芦溪县| 鹤山市| 弥渡县| 当雄县| 南漳县| 陆良县| 婺源县| 郯城县| 临漳县| 东海县| 辛集市| 刚察县| 简阳市| 凭祥市| 龙江县| 中山市| 阳泉市| 昭觉县| 灵石县| 诏安县| 内乡县| 东阿县| 襄垣县| 睢宁县| 潼关县| 高平市| 扶风县| 南康市| 长武县| 新竹市| 三台县| 安溪县| 宿迁市| 张北县| 油尖旺区| 陵水|