劉效典 叢健宇 鄭琳
【摘要】本文介紹了基于STM32的無線車輛區(qū)間測速系統(tǒng),主要是利用超聲波的特點和優(yōu)勢,將超聲波測距系統(tǒng)和STM32F103C8T6單片機相結(jié)合。采用軟硬件結(jié)合的方法,具有模塊化和多用化的特點。以STM32單片機最小系統(tǒng)為控制器。并配以霍爾測速電路、按鍵電路、報警系統(tǒng)、顯示電路等部分。
【關(guān)鍵詞】超聲波測距模塊;測速系統(tǒng);無線傳輸模塊
一、系統(tǒng)硬件電路的設(shè)計
(一) 無線車輛區(qū)間測速系統(tǒng)硬件結(jié)構(gòu)設(shè)計
無線車輛區(qū)間測速系統(tǒng)由超聲波測距模塊、霍爾測速模塊、單片機、無線收發(fā)模塊、聲光報警模塊、LCD顯示模塊、按鍵模塊、電源組成。單片機的VCC、GND管腳與電源輸入模塊的VCC、GND相連。RST管腳連復(fù)位電路, XAL1、XAL2控制晶振電路,PA2、PA3控制鍵盤輸入模塊,PB6 、PB7用于超聲波測距電路,PB2接無線收發(fā)電路,PB5控制電機電路,PB7用于霍爾測速電路,PB8-B15用于LCD液晶顯示,PA8控制蜂鳴器組成的報警電路。
(1) 無線收發(fā)電路設(shè)計
本設(shè)計采用的無線發(fā)送電路為NRF24L01,工作在2.4 GHz~2.5 GHz ISM頻段。NRF24L01內(nèi)置功能模塊包括晶體振蕩器、功率放大器、頻率合成器、調(diào)制器等。使用Shock Burst 技術(shù),用程序進行輸出功率和通信頻道的配置。將NRF24L01的CE、CSN、SCK、MOSI、MISO、IRQ分別連接單片機的PA4、PA8、PA5、PA7、PA6、PA11引腳。
(2) 報警電路設(shè)計
蜂鳴器模塊為蜂鳴器驅(qū)動電路,蜂鳴器驅(qū)動電路的ALAM引腳接在單片機PA8引腳處。當(dāng)給其低電平時,限流電阻R1導(dǎo)通,蜂鳴器得電,達到報警作用。采用LED燈為報警指示燈,通過交替打開和關(guān)閉模擬LED燈,來實現(xiàn)閃燈的效果。
(3) 超聲波測距電路設(shè)計
聲波模塊選用HC-SR04超聲測距模塊,本模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度高達3mm。采用IO口Trig觸發(fā)測距,給10us的高電平信號;模塊自動發(fā)送8個40khz的方波,其中引腳接Trig端控制觸發(fā)信號,引腳接Echo端口,有信號返回時輸出高電平。測試距離=(高電平時間*聲速(340m/s))/2。
(4)霍爾測速電路設(shè)計
測量轉(zhuǎn)速的霍爾傳感器和機軸同軸連接,機軸每轉(zhuǎn)一周,產(chǎn)生一定量的脈沖個數(shù),由霍爾器件電路部分輸出。經(jīng)光電耦合后,成為轉(zhuǎn)速計數(shù)器的計數(shù)脈沖。同時傳感器電路輸出幅度為12v的脈沖經(jīng)光電耦合后降為5v。保持邏輯電平相一致??刂朴嫈?shù)時間,即可實現(xiàn)計數(shù)器的計數(shù)值對應(yīng)機軸的轉(zhuǎn)速值。
二、軟件系統(tǒng)的設(shè)計
(1)系統(tǒng)軟件主程序設(shè)計
首先系統(tǒng)初始化,然后開始超聲波測距,如接收到數(shù)據(jù)則對數(shù)據(jù)進行處理,若沒收到則重新進行測距。對數(shù)據(jù)進行處理后通過無線數(shù)據(jù)發(fā)送端發(fā)到接收端,若收到進行數(shù)據(jù)處理,沒收到重新發(fā)送。處理后將檢測到的距離數(shù)據(jù)送到顯示屏,電路開始轉(zhuǎn)動進行測速。霍爾傳感器接收數(shù)據(jù),對數(shù)據(jù)進行運算后進行數(shù)據(jù)顯示,程序結(jié)束。
(2) 無線數(shù)據(jù)傳輸收發(fā)系統(tǒng)子程序設(shè)計
先對HC-SR04超聲波測距模塊及NRF24L01初始化,通過NRF24L01模塊將數(shù)據(jù)信息發(fā)送給收發(fā)模塊后用程序讀出數(shù)據(jù)在顯示屏上顯示,然后關(guān)閉SPI傳輸返回狀態(tài)值。在接收端,對SPI傳輸使能,設(shè)為接收模式讀取狀態(tài)值。檢測到數(shù)據(jù)后,對數(shù)據(jù)進行處理,并顯示屏上顯示。然后判斷是否接到數(shù)據(jù),如果接收到數(shù)據(jù),用STM32單片機進行數(shù)據(jù)處理,并通過顯示模塊進行顯示,顯示完畢后返回。如果接收不到數(shù)據(jù)則繼續(xù)檢測。
(3)超聲波測距子程序設(shè)計
系統(tǒng)初始化,初始化后采集數(shù)據(jù),通過NRF24L01芯片與STM32單片機系統(tǒng)發(fā)送到無線數(shù)據(jù)傳輸接收系統(tǒng)。計算時只要在Trig/TX 管腳輸入高電平,那么HC-SR04便可以輸出一個高電平,距離值就是根據(jù)此高電平的持續(xù)時間計算得出的。
三、結(jié)論
本設(shè)計實現(xiàn)了用STM32單片機對超聲波測距、霍爾測速電路及其他硬件的控制。通過編寫程序,使其能夠測出當(dāng)前車輛的一個行駛速度與前車的距離,從而實現(xiàn)無線車輛區(qū)間測速。單片機與各硬件的連接,再通過程序進行硬件與單片機的信息交互,達到硬件反饋信息給單片機,單片機控制硬件,從而實現(xiàn)無線區(qū)間測速的設(shè)計。
參考文獻:
[1]楊光祥,梁華,朱軍.STM32單片機原理與工程實踐[M].武漢:武漢理工大學(xué)出版社,2013:56-88.
[2]廖義奎.嵌入式系統(tǒng)設(shè)計[M].北京;中國電力出版社,2012:132-200.
[3]劉國鈺.單片機原理及應(yīng)用[M].北京市:北京大學(xué)出版社,2012:56-77,84.
[4]李維諟,郭強.最新液晶顯示應(yīng)用[M]北京:電子工業(yè)出版社,2014:56-59.
[5]陳城,李瑞祥,劉婷婷.基于NRF24L01的無線數(shù)據(jù)傳輸系統(tǒng)研究[J].電子科技2016:22-24,27.
作者簡介:劉效典、叢健宇,男,沈陽工學(xué)院。鄭琳(通訊作者),女,漢族,遼寧人,沈陽工學(xué)院,教師,講師,碩士學(xué)位。