鐘經華 巫殷來 歐陽朝煌 鐘濰

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