新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM9平臺的電子指南針的設(shè)計

        基于ARM9平臺的電子指南針的設(shè)計

        作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏
        基于ARM9平臺的電子指南針的設(shè)計

        4.3.2 界面實(shí)現(xiàn)

        信號和槽機(jī)制是Qt的核心機(jī)制,是一種高級接口,應(yīng)用于對象之間的通信,是Qt區(qū)別于其他工具包的重要地方。的界面設(shè)計先把所需控件布局好,然后通過信號與槽函數(shù),使布局好的界面能夠運(yùn)行起來。

        本設(shè)計中信號函數(shù)所對應(yīng)的按鈕控件QPushButtom類分為開始測試和結(jié)束測試兩個發(fā)射信號的按鈕。當(dāng)點(diǎn)擊開始測試的時候,信號相應(yīng)的槽函數(shù)所對應(yīng)的控件包括溫度顯示和方位顯示的控件QLCDNumber類型,時間顯示槽函數(shù)對應(yīng)的控件QtimeEdit類型以及方位指示槽函數(shù)所對應(yīng)的控件QWTCompass類型都開始顯示數(shù)據(jù)。當(dāng)點(diǎn)擊結(jié)束測試這個信號函數(shù)的控件時,就不顯示數(shù)據(jù)。

        5 軟件抗干擾設(shè)計

        軟件抗干擾主要是消除硬磁干擾和軟磁干擾的影響。軟磁干擾算法較為復(fù)雜,且效果有限,一般實(shí)驗(yàn)時盡量讓指南針不受外界磁場干擾。本文主要介紹消除硬磁干擾的補(bǔ)償方法。二維指南針在沒有誤差的情況下,x軸和y軸輸出的對應(yīng)關(guān)系可以表示為極坐標(biāo)系下的一個圓。當(dāng)有硬磁干擾時,此圓偏離圓的中心。校準(zhǔn)方法為:將指南針在水平面上選擇一周,記錄下x,y方向磁場強(qiáng)度的最大值xmax,ymax和最小值 xmin,ymin,校準(zhǔn)偏移量為:

        xoffset=(xmax+xmin)/2

        yoffset=(ymax+ymin)/2

        每次測量方位時,都應(yīng)將x,y方向的磁場強(qiáng)度大小減去相應(yīng)的校準(zhǔn)偏移量即可校準(zhǔn)硬磁干擾。

        6 實(shí)驗(yàn)結(jié)果與數(shù)據(jù)分析

        編譯好ARM版本的應(yīng)用程序后,可通過網(wǎng)絡(luò)文件系統(tǒng)(NFS)、USB等方式拷貝到mini2440開發(fā)板上執(zhí)行,程序運(yùn)行效果如圖9所示。

        基于ARM9平臺的電子指南針的設(shè)計

        6.1 實(shí)驗(yàn)結(jié)果

        采用補(bǔ)償校準(zhǔn)后,對進(jìn)行了數(shù)據(jù)測量。先將標(biāo)準(zhǔn)羅盤水平放置,按每30°的間隔劃分13個點(diǎn)。然后將指南針分別對準(zhǔn)0°的點(diǎn),依次測量13個點(diǎn)的數(shù)據(jù),如表1所示。

        基于ARM9平臺的電子指南針的設(shè)計

        6.2 實(shí)驗(yàn)數(shù)據(jù)分析

        本文設(shè)計的是二維電子指南針,從實(shí)驗(yàn)結(jié)果可知指南針精確度為±2°。影響精度的原因主要是存在系統(tǒng)誤差和環(huán)境磁場的影響,但能夠滿足精確度要求不是特別高的場合。

        7 結(jié)語

        本文主要是實(shí)現(xiàn)了一款基于平臺的二維電子指南針,采用Qt界面設(shè)計顯示溫度,方位,時間等信息,對Linux Qt界面設(shè)計進(jìn)行了相關(guān)的探討,分析了指南針精度受影響的情況,給出了一種軟件補(bǔ)償算法以提高精度。本文設(shè)計的電子指南針可作為其他的Linux產(chǎn)品的接口,具有一定的市場應(yīng)用價值。


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 黑山县| 镇赉县| 嘉峪关市| 乐清市| 普陀区| 阳信县| 鄂伦春自治旗| 长子县| 常州市| 苍溪县| 塘沽区| 西城区| 鄂伦春自治旗| 桐城市| 广昌县| 南昌县| 城步| 彝良县| 商水县| 拉孜县| 沂南县| 长岭县| 紫金县| 奉贤区| 浪卡子县| 全南县| 屯昌县| 江都市| 永寿县| 大名县| 左贡县| 香港 | 新沂市| 肇东市| 扶风县| 望城县| 永仁县| 台南县| 孟连| 靖边县| 额敏县|