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