王楠,王蘊嶺,孫玉軍
(滄州職業(yè)技術(shù)學院,河北滄州,061000)
目前,市場上的超聲波測距裝置大多無法實現(xiàn)水平調(diào)節(jié)的問題,同時采用人工接觸式測距也會存在一定的誤差,因此測量的距離可能會不精準甚至不準確,這樣不僅會造成很大的麻煩,嚴重者甚至會產(chǎn)生一系列的安全隱患。為了避免水平測量過程中的偏移誤差,確保超聲波測距裝置的正常使用,能夠得到比較精準的測距結(jié)果,為此需研發(fā)一種單片機控制的自平衡超聲波水平精準測距裝置。因此,本文設計了一種基于STM32單片機嵌入式系統(tǒng),可根據(jù)不同地理位置、多種地形進行調(diào)整和作業(yè)的實時水平精準測距裝置。在不同行業(yè),如建筑、交通、工業(yè)等具有廣泛應用,同時可以避免與有毒有害物質(zhì)接觸,在裝置啟動之后即可實現(xiàn)測距,并能在液晶顯示屏和語音實時進行播報,實現(xiàn)了非接觸、實用性強、測距精準、使用方便、適用范圍廣等特點。
該測距儀由單片機STM32F401模塊、超聲波HC-SR04測距模塊、語音識別模塊、語音合成輸出模塊、顯示輸出模塊、按鍵輸入模塊、姿態(tài)檢測模塊構(gòu)成。系統(tǒng)整體框架圖如圖1所示。
圖1 系統(tǒng)的整體框架圖
本設計采用STM32F401開發(fā)板,該開發(fā)板包含了STM32F系列板卡慣有的機械按鍵、LED指示燈、mini USB調(diào)試接口、眾多I/O口、可以外設通過排針座引出等功能。除此之外,也有與眾不同之處,如兼容Arduino Shield接口,并且可以通過Arduino Shield擴展接口給板卡供電,板卡落載了STM32F401RET6核心微控制器,基于32位的高性能ARM Cortex-M4處理器,帶FPU單元,最高支持84MHz主頻。
超聲波測距是一種檢測迅速、計算簡單、方便低廉的非接觸式檢測技術(shù),不會受光線、顏色等因素影響,即使惡劣的環(huán)境 (如含粉塵) 也有一定的適應能力。本設計采用超聲波測距傳感器HC-SR04對距離進行測量。該模塊由五個端口組成,分別為VCC、TRIG、ECHO和兩個GND終端,其中VCC供電范圍為2.4~5.5V,GND為接地引腳,TRIG為測距電平觸發(fā)引腳,ECHO為測距電平輸入引腳。該模塊測量精度可達毫米級別,測量范圍在5厘米到400厘米之間[1]。
液晶顯示模塊用于顯示配置信息及輸出結(jié)果,便于調(diào)試工作。該顯示屏適用于多種市面常見開發(fā)板。本設計利用STM32F4的FSMC功能驅(qū)動TFT液晶屏,并通過其串口向使用TFT液晶屏的外部處理器提供控制通道。外部處理器通過訪問串口STM32F4內(nèi)部預先燒錄的接口程序,實現(xiàn)對TFT液晶屏的控制[2]。該模塊硬件簡單,只需兩根I/O口線就能對TFT液晶屏進行控制。經(jīng)實驗驗證,該結(jié)構(gòu)穩(wěn)定可靠,顯示效果清晰。
HLK-V20是針對大量純離線控制場景和產(chǎn)品的高性能語音識別模塊。可廣泛且快速的使用于智能家居、各類智能家電、物聯(lián)網(wǎng)等需要語音操控的產(chǎn)品。該模塊采用32bit RSIC架構(gòu)內(nèi)核,并加入了專門針對信號處理和語音識別所需要的DSP指令集,支持浮點運算的FPU運算單元,以及FFT加速器,通過神經(jīng)網(wǎng)絡對音頻信號進行訓練學習,提高語音信號的識別能力。本設計中制定了該語音模塊的喚醒詞、命令詞和應答播報詞,使用測距儀時,首先喚醒測距儀“小凌小凌”,測距儀回答“我在”,并開始測距,結(jié)果在TFT顯示屏顯示的同時,語音模塊實時進行播報。在實際體驗中,語音效果良好。
單片機采用C語言進行編程,系統(tǒng)軟件可分為主程序和各模塊子程序。最重要的程序就是單片機控制超聲波檢測距離,進而顯示屏輸出并進行語音播報的主程序過程。其系統(tǒng)主程序流程框圖如圖2所示。
圖2 單片機主程序流程框圖
系統(tǒng)的軟硬件設計共同組成了一個整體。在測距儀測距系統(tǒng)正式啟動之后,系統(tǒng)首先會進行初始化位置調(diào)整,之后進行方位檢測平衡階段,下一步判斷是否進行連續(xù)測量,按下按鍵開始啟動測距,輸入語音指令從而喚醒測距儀,測距依將結(jié)果進行顯示并語音播報。
在進行系統(tǒng)調(diào)試階段,可以利用傳統(tǒng)的測距工具,例如刻度尺進行所測距離的核對,判斷設計是否符合實際,從而進一步調(diào)試和完善。本系統(tǒng)設計的要求主要針對水平測距的范圍及精度進行,系統(tǒng)調(diào)試應圍繞這兩個參數(shù)開展。通過分析實驗數(shù)據(jù),可以發(fā)現(xiàn)本測距儀在設計上較為合理,誤差在可控范圍內(nèi),因此,該基于單片機的測距系統(tǒng)設計方案可行。
本設計中的自平衡超聲波測距儀以STM32F401為控制核心,根據(jù)三點確定一個平面及時進行調(diào)整。該測距儀通過測量超聲波的發(fā)射信號和接收信號的時間差,結(jié)合超聲波發(fā)射信號和接收信號時的傳播速度從而得到測量距離。不僅可以在TFT液晶屏中顯示距離信息,還可以由語音模塊進行播報提醒。在實際體驗中,效果良好,方案可行,實驗精度和范圍可以達到控制要求。加之,本測距儀結(jié)構(gòu)簡單、人機界面友好、互動性強、操作方便、成本低廉,因此,該測距儀可以實現(xiàn)非接觸式的、自平衡校準,并可根據(jù)不同地理位置、多種地形進行調(diào)整和作業(yè)的實時水平精準測距,具有很高的推廣和實用價值。