時間:2019年02月20日 分類:電子論文 次數:
摘要:隨著科技的進步與發展,尤其是電子技術的推動下社會逐漸向智能化、信息化和人工智能等方面發展。與此同時市場更加需要掌握精確的方位角度信息,服務到生活、產業、出行、航行等各方各面。傳統的指南針由于本身的物理特性,抗干擾能力不強,指向靈敏度不足,精度不高等缺點逐漸被市場淘汰。
本論文根據指南針的基本原理特征,設計了一套基于單片機的電子指南針。系統選用STC89C52單片機作為主控芯片,來進行數據處理和程序運,采用HMC5883L磁場傳感器來采集當前地磁場的信息,再將采集到的磁場信息轉換為電信號傳送給單片機。單片機進行數據處理輸出到液晶顯示屏上顯示方位信息,同時設有時鐘芯片方便實時顯示時間,設有按鍵模塊,可以設定時間和范圍角度。還設有報警模塊,可進行超出范圍角報警的功能。經測試本系統的指向精度可達1°,是一個更精確,抗干擾性強,更加智能的電子指南針。
關鍵詞:指南針,單片機,磁場傳感器
隨著人們生活水平的不斷提高,人們開始追求更加美好和便捷的生活。辨向快捷、角度準確、抗干擾性強等條件成了市場對于指南針的近一步要求。隨著相關的研發和投入逐漸增多,也出現了一些科學的技術和方案。應用科學的電子技術幫助人們快速便捷的掌握方位信息,將傳統的指南針技術演變成使用智能單片機技術實現,再通過顯示屏的交互方式更加方便用戶查看方位信息,為了增加實用性,添加了時間顯示、角度超出報警等輔助功能。
單片機又被稱作單片微型控制器,具有成本低、易操作的特點,在我們的日常生活中,小到臺燈、手機,大到汽車、飛機,單片機技術的應用無處不在。霍尼韋爾HMC5883L是一種表面貼裝的高集成模塊,并帶有數字接口的弱磁傳感器芯片,應用于低成本羅盤和磁場檢測領域。HMC5883L包括最先進的高分辨率HMC118X系列磁阻傳感器,并附帶霍尼韋爾專利的集成電路包括放大器、自動消磁驅動器、偏差校準、能使羅盤精度控制在1°到2°的12位模數轉換器,簡易的I2C系列總線接口。
HMC5883L是采用無鉛表面封裝技術,帶有16引腳,尺寸為3.0×3.0×0.9mm。HMC5883L的所應用領域有手機、筆記本電腦、消費類電子、汽車導航系統和個人導航系統。本文設計了一個基于單片機的電子指南針系統,該系統在設計的時候,主控選用STC公司的STC89C52進行數據的處理作并且為系統控制的中心,通過磁阻傳感器HMC5883L傳感器來對地球的磁場信息進行采集,將采集到的磁場信息轉化為電信號,傳輸到單片機。
同時添加一個時鐘模塊,在采集方位的同時,也可以實時的進行時間的顯示,使得系統更加的便利。為了進一步的增加系統的實用性,用戶在使用的時候,可以通過按鍵設置方位角度的上下限,當超過設定的角度范圍,進行蜂鳴器的報警處理。在電源供電方面,為了使得系統更加的具有實用性,本系統采用電池的供電的方式為整個的系統進行供電。本設計的電子指南針可用來代替傳統的指南針用于民船航行,大地測量,旅行導航,車載導航等用來辨別方向的實際用途,有較高的應用價值。
1系統方案設計
總體設計方案的確定是整個設計中最為復雜的一部分,在確定總體方案時既要考慮各部分元件的選擇,也要考慮到所有元件之間的配合。在選擇元件時往往會有很多種方案都能滿足自己的設計要求,此時,我們就要去考慮整個設計的性價比、線路的復雜程度,甚至我們還要去考慮該芯片是否能購買到等因素。總之影響我們設計方案的因素很多,我們都要逐一考慮,最終在自己的努力和老師、同學的幫助下確定了自己的方案。
本文設計的電子指南針主要能實現以下功能:(1)能夠實時的檢測當前的方位情況,并使用屏幕進行顯示;(2)能夠實時的進行時間的顯示,方便用戶進行查看;(3)用戶可以通過按鍵設置時間,調整時間;(4)具有報警的功能,用戶可以進行方位角度的設定,超過限制,進行蜂鳴器報警處理。
2系統硬件電路設計
基于單片機的電子指南針系統,是基于智能控制與傳感器的系統,即該系統由一個主控模塊和一個磁場傳感器模塊和報警模塊組成,同時還加入了液晶顯示模塊和一個時鐘模塊,可以實時的來顯示時間信息,該系統還加入了按鍵模塊和報警模塊。
各個模塊功能如下:主控模塊可以進行內部的數據處理和程序的運算;傳感器模塊是用來實時的對磁場進行檢測;時鐘模塊能實時的計算時間,用于時間的顯示,顯示模塊實時的對信息進行顯示;按鍵模塊使用按鍵作為信息的交互輸入,用戶時間的調整和角度報警的調整;電源模塊使用電池電壓供電。
然采用穩壓模塊進行輸出5V,為控制單元供電;蜂鳴器報警模塊,當系統的角度超過設定的角度時,進行蜂鳴器的報警3系統軟件設計本設計的主要的核心采用STC89C52,這一款單片機的開發是非常的簡單的,使用C語言進行程序的設計和開發,在開發環境的選擇方面,我們選用的是專門的單片機的開發軟件KeilμVision5來實現的,借助Keil內部的數據的存儲庫也是非常的高效的,我們可以直接調用,而不需要進行直接的底層程序的開發和設計。
在硬件設計完成后,我們需要進行根據相關的硬件設計進行軟件的設計,主要是通過設計不同的I/O,然后完成不同的邏輯的關系。對于單片機的程序開發而言,軟件設計的流程就是根據設計需要,然后對于單片機內部的相關的模塊的程序進行調用和初始化的設計,然后進行特定的模塊的初始化設計。
對于此單片機的數字指南針而言,就是單片機上電以后,對于單片機的程序進行調控,然后開始讀取HMC5883L傳感器的返回數據,通過讀取之后,進行液晶的顯示。對于此設計而言,在進行程序設計的時候,在該函數的開頭是先對我們設計的系統的單片機和一些相關的外圍器件進行了系統的初始化操作,然后才能正常使用的我們在設計的時候,我們設計的器件進行初始化和重新賦值一些變量,進而在后續的程序操作中,對該模塊進行程序的操作,參數的讀取。
在單片機的程序設計中,初始化完后我們需要設計一個while(1)的死循環,使得程序的運行進入這個死循環,如果沒有設計一個死循環,程序運行一次就會退出,通過設計之后,加入死循環程序設計結構,就會不斷地進行循環達到實時檢測執行的目的,就能實時的進行數據的采集和顯示。在主程序的設計中需要注意的是主函數中不宜放過多的代碼,具體的用戶功能的操作的代碼我們在設計的時候,一般都是采用函數進行封裝的方式進行的,然后在主函數進行調用,這樣也可以方便閱讀修改。
4系統調試與測試
在整機測試前,設計一系列的分模塊調試,以便能夠發現系統的問題,同時采用這種分步調試的方法能夠找出誤差出現的原因,方便數據的修正,易于發現程序中的漏洞、提高系統整體的測量精度和運行的穩定性。分模塊的調試主要包括,單片機最小系統的測試、液晶LCD12864顯示模塊,磁場的采集模塊以及數字時鐘的采集模塊。系統的穩定可靠,最主要的是搭建一個穩定的最小系統。本系統采用的方法是,通過書寫一個流水燈的程序,來驗證最小系統的穩定性。
當最小系統調試完整之后,進行磁場傳感器和液晶顯示的聯合調試,液晶的第一行顯示當前的角度,第二行顯示更為直觀的方位角度,液晶可以正確的顯示采集到的角度信息。然后進行數字時鐘的顯示調試,經過系統調試之后,液晶可以顯示當前的時間信息,通過數字的方式進行顯示。
其中第一行角度和第二行方位角和右側指針圓盤方位指示都是三種方向指示方式,為了更加直觀的體現方向,時間采用12小時制,可以實時顯示,配有電池可以實現斷電走時的作用。本系統具有用戶通過按鍵設定方位報警的功能,用戶通過按下按鍵,進入設置界面,此時液晶提示進行羅盤的設置,用戶可以通過按鍵進行角度上限和角度下限的設定。當超過設定角度設定范圍時,蜂鳴器就會發出報警提示。
參考文獻*
[1]杜英.電子羅盤測量誤差分析和補償技術研究[D].中北大學碩士論文,2011.*
[2]王永強.基于地磁測量的數字羅盤研究[D].上海交通大學,2007.*
[3]周明德.單片機原理與技術[M].北京:人民郵電出版社,2008.*
[4]鄒久朋.80C51單片機實用技術[M].北京:北京航空航天大學出版社,2008.
相關電子類期刊推薦:《單片機與嵌入式系統應用》為國家級期刊。本刊定位在單片機與嵌入式系統的基礎應用領域,突出單片機與嵌入式系統中的一些基本的軟硬件技術、集成開發環境、新產品、新技術等。既有別于對象專業期刊中的嵌入式系統的對象項目應用,也有別于一般電子類期刊中從電子技術應用、電子元器件角度介入嵌入式系統應用。