基于磁阻傳感器的低功耗方向指示系統(tǒng)
2.5.2 主程序
主程序完成對(duì)各模塊初始化程序的調(diào)用并進(jìn)入低功耗模式。其程序流程圖如圖8 所示。
圖8 主程序流程圖。
本系統(tǒng)使用默認(rèn)的時(shí)鐘設(shè)置,即DCO 振蕩器作為MCL K(供CPU 工作) 與L FXT1CL K 低頻時(shí)鐘源作為ACL K(供定時(shí)器,ADC 工作) ,為整個(gè)系統(tǒng)利用低功耗模式做準(zhǔn)備。在之后的工作中,各中斷源按需向CPU 申請(qǐng)退出低功耗模式,完成工作后,CPU 返回低功耗模式。
2.5.3 AD 轉(zhuǎn)換及方向確定
該部分程序完成運(yùn)放輸出信號(hào)的AD 轉(zhuǎn)換、所得數(shù)據(jù)的分析處理及調(diào)用LCD 顯示函數(shù)完成方向指示的刷新。
AD 模塊函數(shù)分ADC 初始化函數(shù)ADC12_ Init和AD 中斷函數(shù)ADC12_ISR(包括方向的決定) 。
本系統(tǒng)使用定時(shí)器A 觸發(fā)AD 模塊進(jìn)行轉(zhuǎn)換。
ADC 初始化函數(shù)主要完成了定時(shí)器A 及AD 模塊的初始化工作。定時(shí)器A 的初始化工作設(shè)置了其計(jì)數(shù)周期,即設(shè)定了AD 的工作周期。AD 模塊的初始化工作中選定了內(nèi)部215 V 參考源,并設(shè)置在完成一次序列轉(zhuǎn)換(兩個(gè)通道的轉(zhuǎn)換) 后申請(qǐng)AD 中斷。同時(shí),定時(shí)器A 與ADC 同時(shí)選擇ACL K 作為工作時(shí)鐘,準(zhǔn)備低功耗工作。
AD 中斷函數(shù)首先對(duì)信號(hào)進(jìn)行平均值濾波(對(duì)無(wú)規(guī)律的噪聲尤其實(shí)用) 。完成濾波后對(duì)數(shù)據(jù)進(jìn)行線(xiàn)性變換并局部修正,由angle = arctan ( Y_axis/ X_axis) 得到以傳感器為正方向的角度值。最后加以磁偏角和液晶與傳感器夾角補(bǔ)償,實(shí)際方向角度輸出到LCD 顯示。
2.5.4 按鍵處理及磁偏角設(shè)置
該部分程序完成按鍵操作以實(shí)現(xiàn)磁偏角設(shè)置與鎖定功能。該部分程序使用狀態(tài)變量KeyStatus 來(lái)對(duì)按鍵的不同功能組合進(jìn)行分類(lèi),分別有主界面狀態(tài)、磁偏角設(shè)置狀態(tài)及鎖定狀態(tài)。
按鍵初始化函數(shù)設(shè)置了初始按鍵功能為主界面狀態(tài)。按鍵中斷響應(yīng)函數(shù)首先對(duì)按鍵進(jìn)行消抖確認(rèn)(使用定時(shí)器B 完成其中的延時(shí)) ,然后調(diào)用按鍵功能執(zhí)行函數(shù),并由其返回參數(shù)改變當(dāng)前按鍵功能狀態(tài)。按鍵功能執(zhí)行函數(shù)分按鍵分狀態(tài)給予具體功能響應(yīng),具體功能見(jiàn)程序流程圖。其中磁偏角設(shè)置狀態(tài)下,確定功能還將把新的磁偏角寫(xiě)入FLASH ;鎖定功能將關(guān)閉定時(shí)器A 和ADC ,即系統(tǒng)暫停信號(hào)轉(zhuǎn)換。
2.5.5 LCD 的驅(qū)動(dòng):
該部分為L(zhǎng)CD 的定位、寫(xiě)入、清除,及中英字符顯示等功能的驅(qū)動(dòng)程序,這里不做詳細(xì)展開(kāi)。
2.5.6 LCD 的系統(tǒng)顯示:
該部分程序完成指南針的圖形顯示、方向的文字與數(shù)值顯示,以及磁偏角設(shè)置界面的顯示。
直接涉及界面顯示的函數(shù)有顯示指南針表盤(pán)函數(shù)LCD_disp_Panel ,指南針更新顯示函數(shù)LCD_up2date ,以及與磁偏角設(shè)置功能相關(guān)的顯示函數(shù)Enter_Cipianjiao 、Exit_Cipianjiao 、Change_Cipianjiao 。
3 系統(tǒng)測(cè)試
3.1 測(cè)試方案
關(guān)于方向精度的測(cè)量,我們將方向指示系統(tǒng)每轉(zhuǎn)10°做一次測(cè)量,將其理論值與實(shí)際測(cè)量值記錄,并加以比較。
關(guān)于電路功耗測(cè)量,我們?cè)陔娫摧斎攵舜?lián)一小電阻,通過(guò)測(cè)量電阻兩端電壓,經(jīng)公式計(jì)算得到電路輸入總電流,即可求得電路總功耗。在液晶鎖定模式(僅液晶工作,其余電路不工作) 下,用同樣的方法求得其總功率,兩者之差即為我們電路模塊(液晶不工作情況下) 的功耗。
3.2 測(cè)試數(shù)據(jù)與儀器
3.2.1 方向精度
實(shí)際測(cè)得值與理論值見(jiàn)表2 所示。
表2 數(shù)據(jù)測(cè)試表
31212 功耗:
經(jīng)過(guò)測(cè)量所得的電路模塊功耗見(jiàn)表3 。
表3 功耗測(cè)試表
4 設(shè)計(jì)總結(jié)
本設(shè)計(jì)通過(guò)合理選用元件及優(yōu)化的軟硬件設(shè)計(jì),使我們制作的方向指示系統(tǒng)具有顯著的低功耗、低成本、便攜式、高精度的特點(diǎn)。
在設(shè)計(jì)制作過(guò)程中,我們對(duì)電路的每一部分都進(jìn)行了嚴(yán)密的分析論證和參數(shù)計(jì)算,并經(jīng)過(guò)長(zhǎng)時(shí)間的調(diào)試逐步優(yōu)化我們的設(shè)計(jì)。積累總結(jié)了許多硬件電路方面的經(jīng)驗(yàn)。一些算法的巧妙編寫(xiě)也使我們的設(shè)計(jì)達(dá)到了事半功倍的效果。我們將繼續(xù)對(duì)此項(xiàng)目作進(jìn)一步的探索,使方向指示系統(tǒng)的功能更加完善,應(yīng)用領(lǐng)域更加廣泛。
評(píng)論