鐘經(jīng)華 巫殷來 歐陽朝煌 鐘濰

摘 要:近年來隨著科技的迅速發(fā)展,普通要求和技術已經(jīng)不能滿足時代發(fā)展的需求?,F(xiàn)在普通的測距離傳感器(紅外測距精度低,距離近,方向性差。激光測距需要注意人體安全,且制做的難度較大,成本較高,而且光學系統(tǒng)需要保持干凈,否則將影響測量。)現(xiàn)在我們想法就是利用STM32控制超聲波模塊,再通過藍牙傳送功能傳送到手機上顯示數(shù)據(jù),采用超聲波回波測距原理,運用精確的時差測量技術,檢測傳感器與目標物之間的距離。此具有測量準確,無接觸,防腐蝕, 低成本等優(yōu)點,可應于液位,物位檢測,料位檢測方式,在不易檢測到回波的情況下有穩(wěn)定的輸出。
關鍵詞:STM32單片機;精確測距;藍牙;超聲波
1 基于STM32藍牙超聲波測距制作的目的
本次作品設計目的是設計一個適用于不同環(huán)境的精確測距的儀器,該儀器采用的是STM32單片機控制器,通過命令超聲波模塊采集反射回來的數(shù)據(jù),通過藍牙模塊傳輸數(shù)據(jù)反映到手機app上顯示,使距離多少顯示更加直觀,也為搭載在其他產(chǎn)品更加簡便輕松。該儀器可以使用在復雜的環(huán)境,不受其他外界因素的干擾,可高效持續(xù)的工作。
2 基于STM32藍牙超聲波測距硬件設計
2.1 超聲波模塊
超聲波模塊選用的是HC-SR04超聲波模塊,它主要是用來距離測量;探測距離范圍:4 毫米~4 米。
數(shù)據(jù)輸出方式:uart(9600bps)數(shù)據(jù)傳輸。
探測方式:1)持續(xù)探測;2)受控間歇探測。
距離計算方式:通過超聲波發(fā)射與反射回來的時間,得到聲音傳播時間,再通過聲音中的聲速,計算出傳感器到物體的距離。
2.2 藍牙模塊
藍牙模塊選用的HC-06是主從一體化的藍牙串口模塊,主從可指令切換,指令少于HC-05,使用簡單。
主機:用來搜索從設備,不能被其他設備搜索。(帶白點的藍牙模塊)主機模塊實物與從機一樣,模塊上有白點,主機模塊會自動和從機模塊配對,省卻配對的麻煩,適合在需要兩個設備間通過藍牙串口無線通信的應用,無需電腦。
藍牙透傳模塊可以讓你原來使用串口的設備擺脫線纜的束縛在10米范圍內實現(xiàn)無線串口通信。使用該模塊無需了解復雜的藍牙底層協(xié)議,只要簡單的幾個步驟即可享受到無線通信的便捷。藍牙模塊有多個AT指令,AT指令必須從TXD,RXD信號腳設置,不能通過藍牙信道設置。發(fā)送AT指令的設備可以是各種類型的MCU(比如51,avr,pic,msp430,arm等),也可以是電腦通過串口(PC串口接MAX232以后或者USB轉串口)發(fā)送。
2.3 處理器的選擇
1)STM32系列系列單片機,基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-MX內核,擁有比8位單片機更高的數(shù)據(jù)處理速度,更豐富的外設。而且可以用STM公司提供的固件庫,簡化了配置寄存器控制單片機的操作,使開發(fā)變得更簡單。內部自帶A/D 轉換電路,而且stm32還有SysTick系統(tǒng)時鐘滴答專門提供給uC/OS作為基準時鐘中斷,實現(xiàn)系統(tǒng)的實時性。而且有DMA將數(shù)據(jù)從存儲器到外設和存儲器到存儲器的雙向傳輸,減輕了單片機CPU由于大量數(shù)據(jù)傳輸造成的工作負荷。
2)在本次實驗中使用STM32F103VCT6作為主控芯片,其擁有最高高達72MHz的主頻、48Kb的flah、20Kb的RAM,支持66個中斷,其中每個IO口都可以用作中斷,高達8個定時器,擁有大量的外設,包括USART、SPI、I2C、ADC等,內部集成RTC實時時鐘,實現(xiàn)更多更復雜的操作。
2.4 顯示單元設計
我們使用的是通過手機藍牙傳送在手機屏幕上顯示測距的數(shù)據(jù)。首先在手機上裝上一個藍牙串口app軟件,然后手機通過與藍牙模塊連接配對后,超聲波測得的實時數(shù)據(jù)就可時刻顯示在手機上。
3 系統(tǒng)軟件設計
3.1 主程序框圖
系統(tǒng)上電初始化,然后STM32單片機命令超聲波模塊開始測距,測出距離的數(shù)據(jù)再傳送回STM32單片機,單片機處理數(shù)據(jù)后,把數(shù)據(jù)傳給藍牙模塊,在手機上下載一個藍牙串口app軟件,然后手機進行藍牙配對連接,最終通過藍牙無線傳送,把測距的數(shù)據(jù)在手機端顯示。主程序框圖如下:
3.2 程序框架
4 結語
本文以實際情況出發(fā),設計了基于STM32藍牙超聲波測距。通過大家一起努力,經(jīng)過多次調試和軟件編程已經(jīng)可以能夠完成精確測距顯示。該系統(tǒng)采用單獨模塊設計,通過STM32單片機將各個模塊搭配在一起,更加方便調試、維修。
參考文獻:
[1] STM32f10x參考手冊(中文).第9版.意法半導體(中國)投資有限公司.
[2] 彭偉.單片機C語言程序設計實訓100例——基于8051+Proteus仿真.第二版.電子工業(yè)出版社.