基于STM32的車速檢測系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于STM32的車速檢測系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于STM32的車速檢測系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于STM32的車速檢測系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于STM32的車速檢測系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1緒論1.1研究背景及目的隨著經(jīng)濟社會快速發(fā)展,汽車工業(yè)革命發(fā)展迅猛,國內(nèi)機動車的數(shù)量的逐年增加,近些年家庭汽車保有量爆發(fā)式增長。這極大的增強了人們的生活水平,方便市民出行。但是也增加了很多交通安全問題。在一些大城市,早晚高峰期間,交通擁堵屢見不鮮。解決因為超速行駛導致的道路交通事故造成的不良社會影響已經(jīng)到了刻不容緩的地步?,F(xiàn)如今的車速檢測方法確實較之前方便,但同樣存在很多不足。精度低、易受環(huán)境因素影響、部分交通道路信號差、灰塵、大霧天氣、圖像處理計算量大等等。已經(jīng)難以滿足現(xiàn)代化的交通管理系統(tǒng)對實時性與可靠性的需求。在此背景下,基于嵌入式技術(shù)的車速檢測系統(tǒng)因為其高效性、低成本和高集成度逐漸成為研究熱點。車速檢測在整個智能交通管理系統(tǒng)中是非常重要的一環(huán),將車速監(jiān)控做到精準化和實時化,這可以減少交管部門的工作量,在發(fā)生交通事故時,可以根據(jù)車速數(shù)據(jù)信息快速做好事故責任的裁定。傳統(tǒng)的測速技術(shù)成本REF_Ref198385866\r\h[2]高,受環(huán)境因素影響較大。近年來,傳感器技術(shù)發(fā)展迅猛,在很多領(lǐng)域都極大程度的運用了先進的傳感器。當車輛高速行駛時,駕駛員的反應時間會縮短,制動距離也會較正常行駛大幅度增加,很難及時有效采取避讓措施,導致增加事故發(fā)生率?;谇度胧胶椭悄軅鞲衅鹘Y(jié)合解決車速實時檢測問題是一個非常好的解決方法。下表為一些傳統(tǒng)測量車速的方法以及其優(yōu)點和缺點:表1.1傳統(tǒng)測速方法優(yōu)缺點1.2國內(nèi)外研究現(xiàn)狀日益嚴峻的道路交通問題造成的公共財產(chǎn)以及人員傷亡,引起世界各國的高度重視REF_Ref198386728\r\h[5]。為了改善交通道路事故現(xiàn)狀,提高行車的安全率和道路的使用效率以及保護公共財產(chǎn)和駕駛者安全。能夠?qū)崟r了解道路信息,車輛狀態(tài),行駛速度和方向、道路車流量,這對處理和預防交通事故有著至關(guān)重要的作用。實時監(jiān)管道路和車輛信息能夠及時有效的減少因為各種操作導致的交通事故。減少人員傷害和公共財產(chǎn)損失。傳統(tǒng)的測速方法目前深受成本高、計算量大、流動性較差、惡劣環(huán)境因素、測速目標單一、信號強度狀態(tài)等等因素影響?;仡櫄v史,2012年的AlexNet這一深層卷積神經(jīng)網(wǎng)絡(luò)的橫空出世,猶如一盞明燈,照亮了計算機視覺任務邁向深度學習方法的道路。緊接著基于AlexNet的Overfeat算法問世,它正式宣告目標檢測領(lǐng)域進入深度學習的新紀元。目前,目標檢測算法主要分為兩大陣營,一邊是以R-CNN(Region-basedConvolutionalNeuralNetworks)、Faster-RCNN為代表的基于候選區(qū)(RegionProposal)的方法,另一邊則是以YOLO、SSD為代表的端對端回歸方法,而在常用目標檢測結(jié)構(gòu)中,MV3DI51.AVODI16等也占據(jù)著一席之地。近些年來,基于視頻測速的測速方法發(fā)展迅速,該方法是在視頻的圖像中放入多條均勻的虛擬檢測虛線,當車輛經(jīng)過時,通過相鄰的虛擬虛線之間的像素差和時間差,帶入公式,將其轉(zhuǎn)化為現(xiàn)實的實際車速,該方法通過調(diào)節(jié)虛擬虛線間距,具有較高的實時性和精度,但容易受環(huán)境因素干擾,例如建筑物、樹木陰影,且測得的速度為平均速度。車牌芯片定位測速可以定位車輛信息,實時跟蹤以及測速,但是邊緣檢測、車牌狀態(tài)、光線、水平灰度變化以及顏色特征等都會對測速結(jié)果造成誤差,誤判,精度以及準確度均有偏差。1995年,楊后超等人提出了一種車輛跟蹤方法,該方法利用同一目標在相鄰幀中大小與位置相似的特點以及質(zhì)心偏移原理,通過外接矩形框?qū)崿F(xiàn)車輛跟蹤。然而,當車輛距離較近或處于相對靜止狀態(tài)時,該方法存在較大偏差。此外,在白天/黑夜檢測模式切換過程中也存在誤差。總體來看,我國在視覺檢測領(lǐng)域的早期研究取得了一定的進展,但仍存在許多問題和挑戰(zhàn)。例如,早期系統(tǒng)在圖像檢測速度、車流量統(tǒng)計準確性、車輛跟蹤精度以及適應不同光照條件等方面表現(xiàn)不佳。此外,一些算法在處理目標遮擋、截斷等問題時也存在不足,影響了系統(tǒng)的整體性能。1.3系統(tǒng)目標本系統(tǒng)目標使用STM32F103C8T6微控制器最小系統(tǒng)板、霍爾傳感器、L298N驅(qū)動芯片、ESP-01S通信模塊、JR6001語音模塊、馬達(模擬車速)、按鍵和顯示屏組成。本系統(tǒng)采用C語言開發(fā),具體的需求以及功能如下:1、接通5V電源,系統(tǒng)上電初始化,馬達旋轉(zhuǎn)用以模擬車速,有三個檔位調(diào)節(jié),檔位越高,馬達轉(zhuǎn)速(模擬車速)越快。三個按鍵相互配合可以設(shè)置最大車速。2、將馬達放到霍爾傳感器旁邊,可以實時檢測車速。當車速超過閾值,會發(fā)出語音警告,以此提醒駕駛者需要減速。3、通信模塊ESP-01S能將檢測到的車速信息上傳到巴法云平臺儲存。4、OLED顯示屏可以顯示當前車速。以供駕駛員實時觀測車速信息。2系統(tǒng)設(shè)計方案近年來家庭汽車保有量逐漸升高,極大方便了人們的日常出行,但是由于道路車輛眾多,導致各種交通問題層出不窮,超速行駛導致發(fā)生車禍事故比例不斷上升,為此,開發(fā)一款實時檢測車速系統(tǒng)并將數(shù)據(jù)上傳到交管部門是一項亟待解決的問題。2.1用戶需求隨著經(jīng)濟和社會的快速發(fā)展,各種交通道路上面的車輛越來越多。車速作為車輛行駛狀態(tài)的重要參數(shù),其檢測的實時性和準確性對于駕駛員判斷路況、控制車速、減少交通事故發(fā)生以及交通管理部門進行車速監(jiān)控和處理事故劃分責任具有重要意義。傳統(tǒng)的車速檢測方法,如機械式里程表等,存在精度低、響應慢等缺點,已難以滿足現(xiàn)代交通管理的需求。因此,需要設(shè)計一種基于STM32的車速檢測系統(tǒng),以提高車速檢測的精準度和實時性,為交通管理部門提供高效穩(wěn)定的技術(shù)支持。2.2基本功能系統(tǒng)應具備實時檢測車輛速度的功能,并能夠?qū)z測到的速度值準確地顯示出來。檢測到的速度值應具有較高的精度,并且能夠快速響應車輛速度的變化。顯示部分應設(shè)計得清晰易讀,以便駕駛員能夠在駕駛過程中輕松獲取車速信息。為了提高行車安全性,保護駕駛者和道路同行車輛以及路人和公共設(shè)施財產(chǎn),避免發(fā)生重大交通安全事故。系統(tǒng)應具備車速報警功能。用戶可以根據(jù)實際自身駕駛情況以及同行人員數(shù)量、車輛行駛狀態(tài)、天氣、行駛道路狀況等需求設(shè)置車速報警閾值,報警信號可以采用聲音、燈光等形式,確保駕駛員能夠清晰地接收到報警信息。本設(shè)計采用語音播報來提醒駕駛員。系統(tǒng)應配備通信模塊,能夠?qū)z測到的車速數(shù)據(jù)實時傳輸至云平臺或其他設(shè)備。這樣可以方便交通管理部門對車輛速度進行遠程監(jiān)控和數(shù)據(jù)分析以及事故溯源分析,為交通管理決策提供依據(jù)。數(shù)據(jù)傳輸應保證其穩(wěn)定性和準確性,避免數(shù)據(jù)丟失或錯誤。為了方便用戶操作和觀察,系統(tǒng)應具備友好、簡潔的用戶界面。界面設(shè)計應考慮用戶的使用習慣和操作便利性,使用戶能夠輕松地進行車速閾值設(shè)置、查看車速信息以及接收語音報警提示等操作。同時,界面應具有良好的視覺效果,以提高用戶的使用體驗。2.3整體方案設(shè)計本設(shè)計是以STM32F103C8T6為微控制器,加上霍爾傳感器測速模塊、L298N電機驅(qū)動模塊、獨立按鍵模塊、ESP-01S通信模塊、JR6001語音播報模塊、OLED顯示屏模塊以及馬達(模擬車速)組成整個系統(tǒng)。其中包括MCU、輸入和輸出部分。MCU使用了STM32F103C8T6,它的主要作用是獲取輸入信息,即馬達轉(zhuǎn)速和霍爾傳感器收到的信號,經(jīng)過其內(nèi)部的處理,邏輯判斷,然后發(fā)送到輸出。它是整個系統(tǒng)的核心?;魻杺鞲衅鳒y速模塊:通過該模塊檢測馬達實時轉(zhuǎn)速(模擬車速),并將其信號輸入到單片機里面;獨立按鍵模塊:該模塊有三個按鍵,SW1鍵可以設(shè)置系統(tǒng)的車速報警閾值、SW2、SW3鍵可以調(diào)整馬達轉(zhuǎn)速,馬達的轉(zhuǎn)速共有三個檔位,以便控制車速;OLED顯示屏可以清晰快速地顯示出本設(shè)計的實時車速用以提示駕駛員注意車速;L298N電機驅(qū)動模塊:它可以控制本系統(tǒng)中馬達的轉(zhuǎn)速,轉(zhuǎn)速和車速是正相關(guān)的;JR6001語音播報模塊:當車速大于設(shè)置車速閾值,就會語音播報提醒“您已超速,請減速慢行”。ESP-01S通信模塊:該模塊可以將實時檢測的數(shù)據(jù)傳輸?shù)桨头ㄔ破脚_,以供交通管理部門儲存、分析、記錄車速數(shù)據(jù)。具體系統(tǒng)框圖如圖2-1所示。圖2.1系統(tǒng)SEQ圖\*ARABIC\s11整體框架圖3硬件設(shè)計該系統(tǒng)使用STM32微處理器和霍爾傳感器、JR6001語音播報模塊、ESP-01S無線通信模塊、L298N驅(qū)動模塊、獨立按鍵模塊以及OLED顯示模塊組成。通過驅(qū)動模塊使馬達旋轉(zhuǎn)用以模擬車速、霍爾傳感器檢測車速、通信模塊將數(shù)據(jù)上傳到巴法云平臺、使用OLED顯示屏將車速信息顯示出來、語音播報模塊可以發(fā)出聲音提醒駕駛員注意車速。3.1STM32嵌入式微處理器STM32F103C8T6是一款低成本、高性能的微控制器,其擁有豐富的I/O資源,具有較寬的工作電壓范圍。適用于多種電源環(huán)境。具有多種時鐘源,開發(fā)資源豐富。具有4組16位可編程定時器,同時支持多種通信接口、支持多種低功耗模式、外設(shè)接口豐富、主頻最高可到72MHz。STM32F103C8T6是一款功能強大、性價比高的微控制器REF_Ref198387436\r\h[8],其豐富的外設(shè)資源、高性能的處理器內(nèi)核以及良好的開發(fā)支持,使其在各種嵌入式應用中得到了廣泛的應用,為開發(fā)者提供了強大的工具和靈活的解決方案。該微控制器是一款非常經(jīng)典的型號,功能強大,在工業(yè)領(lǐng)域和智能家居方面占據(jù)很大市場,使用成本極低,作為高校學生入門學習嵌入式是很適合的?;诖?,本次設(shè)計選用STM32F103C8T6微控制器。圖3.1SEQ圖\*ARABIC\s11最小系統(tǒng)圖原理圖3.2霍爾傳感器模塊霍爾傳感器在本次設(shè)計中的工作原理是:主控模塊STM32單片機發(fā)出電機控制指令,經(jīng)過L298N驅(qū)動模塊驅(qū)動馬達旋轉(zhuǎn),而本設(shè)計中的馬達轉(zhuǎn)軸內(nèi)部嵌入有永久磁鐵,霍爾傳感器通過馬達轉(zhuǎn)軸內(nèi)嵌入的永久磁鐵和轉(zhuǎn)軸旋轉(zhuǎn)產(chǎn)生磁通量的變化,進而產(chǎn)生感應電動勢。使其輸出高低電平交替變化的脈沖信號,馬達轉(zhuǎn)速越快,單位時間內(nèi)產(chǎn)生的脈沖數(shù)越多,通過利用計數(shù)器功能對確定時間的脈沖數(shù)進行統(tǒng)計,然后就可以計算出馬達的轉(zhuǎn)速。并且將計算過后將得出的車速信息通過OLED顯示屏顯示出來。依據(jù)霍爾效應原理,把一塊永久磁鐵嵌入馬達轉(zhuǎn)軸里面。當馬達轉(zhuǎn)軸旋轉(zhuǎn)時,小磁鐵也會同步旋轉(zhuǎn),把一個霍爾傳感器安裝在馬達轉(zhuǎn)軸旁邊,馬達轉(zhuǎn)軸旋轉(zhuǎn)時,將馬達轉(zhuǎn)軸靠近霍爾傳感器,其轉(zhuǎn)軸里面的永久磁鐵經(jīng)過霍爾傳感器時,磁鐵旋轉(zhuǎn)所產(chǎn)生的磁場對其產(chǎn)生影響,此時霍爾器件有脈沖信號輸出,脈沖信號的頻率與車輪旋轉(zhuǎn)速度成正比。在本設(shè)計中霍爾傳感器的模塊圖以及傳感器工作圖如下:圖3.2霍爾傳感器模塊圖圖3.3霍爾傳感器工作圖3.3JR6001語音播報模塊JR6001是一款功能強大的語音識別與語音合成模塊,可廣泛應用于智能家居、車載系統(tǒng)、工業(yè)控制、廣告業(yè)等多個領(lǐng)域。它使用高性能的數(shù)字信號處理芯片,嵌入先進的語音識別算法,能夠快速準確地精準識別用戶的語音指令。支持MP3、WAV等高質(zhì)量音頻格式,音質(zhì)優(yōu)美。支持UART、I2C、SPI等多種接口,方便與各種控制器和主板進行連接。根據(jù)模塊的說明書,使用相應的命令或API進行初始化設(shè)置,包括波特率、語音識別模式等。根據(jù)本設(shè)計的要求,利用相關(guān)配套軟件合成需要的語音并且轉(zhuǎn)化音頻格式。將語音合成的音頻通過模塊的輸出接口發(fā)送到揚聲器,以實現(xiàn)語音播放傳達警告信息。下圖是JR6001的模塊圖:圖3.4SEQ圖\*ARABIC\s11JR6001模塊圖3.4ESP-01S通信模塊ESP-01S是一款基于ESP8266芯片設(shè)計的Wifi模塊,該模塊的尺寸為24mm*16mm*3mm,小巧的尺寸以便于可以嵌入各種物聯(lián)網(wǎng)設(shè)備中。工作電壓為3.3V,基于此原因,在該系統(tǒng)的設(shè)計中,在通信模塊旁邊加入了AMS1117-3.3V穩(wěn)壓芯片,將供電電壓5V穩(wěn)壓至3.3V,以便于ESP-01S模塊能正常使用。該模塊的存儲擁有50kb的可用RAM和30bit的flash,它充足的儲存資源可以滿足儲存各種代碼和數(shù)據(jù)的要求,以便支持復雜的物聯(lián)網(wǎng)應用需求。同時還具有豐富的接口,可以滿足各種通信應用需求,以及多種工作模式可供選擇,具備較高的輸出功率,這有助于提高信號的覆蓋氛圍和傳輸距離。開發(fā)資源豐富,內(nèi)置完整的協(xié)議棧支持。應用場景廣泛。ESP-01S憑借其高性能、低功耗、低成本等特點,在物聯(lián)網(wǎng)設(shè)備中得到了廣泛應用,為實現(xiàn)設(shè)備的智能化和網(wǎng)絡(luò)化提供了有力支持。在該系統(tǒng)的設(shè)計中,選擇用ESP-01S模塊進行無線通訊。下圖為ESP-01S模塊圖:圖3.5ESP-01S模塊圖3.5L298N驅(qū)動模塊本設(shè)計通過電機驅(qū)動芯片L298N驅(qū)動馬達旋轉(zhuǎn),馬達轉(zhuǎn)軸上面安裝有一塊永久磁鐵,驅(qū)動馬達旋轉(zhuǎn)帶動轉(zhuǎn)軸旋轉(zhuǎn)。該模塊常應用于車載和組裝。該驅(qū)動模塊可以驅(qū)動電機的正反轉(zhuǎn)和轉(zhuǎn)速。L298N驅(qū)動模塊是一種基于ST公司生產(chǎn)的L298N芯片的電機驅(qū)動模塊,廣泛應用于電機控制領(lǐng)域,如機器人、智能小車、工業(yè)自動化等。工作電壓為2V~10V,能夠適應不同的電源環(huán)境。連接馬達用以模擬車速;VSS為電源輸入端,提供5V電源;EN為使能控制端,用于控制芯片的開啟與關(guān)閉;瞬時峰值電流可達2.5A,單橋最大持續(xù)工作電流為1.5A,信號端輸入電壓為1.8V~7V,板載5V穩(wěn)壓電路,方便與常見的微控制器連接。使用PWM信號REF_Ref198387529\r\h[11]來控制馬達的轉(zhuǎn)速和方向。通過PWM信號的占空比來調(diào)節(jié)馬達的轉(zhuǎn)速。即在本設(shè)計中,用以模擬車速的馬達共有3個檔位,分別為1,2,3檔,轉(zhuǎn)速依次逐漸增加。該驅(qū)動模塊支持電流檢測、過熱保護等功能,提高了模塊的靈活性和可靠性。圖3.6為L298N驅(qū)動模塊圖:圖3.6L298N驅(qū)動模塊圖3.6按鍵模塊該設(shè)計使用3個獨立按鍵來控制電機馬達的轉(zhuǎn)速,即模擬的車輪車速。同時這3個獨立按鍵還具有設(shè)置車速閾值的作用。接通系統(tǒng)電源,按下按鍵SW1,進入設(shè)置車速值界面,按下按鍵SW2可以增大速度閾值,按下按鍵SW3可以減小速度閾值。設(shè)置好車速閾值之后,按下按鍵SW1退出設(shè)置車速閾值界面。在系統(tǒng)實際運行中,按鍵SW2增加馬達轉(zhuǎn)速檔位,按鍵SW3則會降低馬達轉(zhuǎn)速檔位。獨立按鍵是一個簡單的機械開關(guān),一端連接電源,另一端連接單片機的輸入引腳,同時通過一個上拉電阻連接到電源;按鍵未被按下時,單片機的輸入引腳通過上拉電阻與電源相連,此為高電平;按鍵被按下,此為低電平。通過掃描并識別高低電平可確認是哪個按鍵按下。當有按鍵按下時,通過鍵盤掃描函數(shù)可以精準快速識別各個獨立按鍵的標志信息。鍵盤掃描函數(shù)通過按鍵高低電平的變化,可以捕捉到是哪一個按鍵按下,進而執(zhí)行該按鍵的命令。設(shè)置車速閾值或者增大減小電機馬達檔位,控制馬達轉(zhuǎn)速,進而控制模擬車速。例如按下按鍵k1,則進入設(shè)置車速閾值界面;按下按鍵k2,則會增加馬達檔位,提高馬達轉(zhuǎn)速,進而提高模擬車速;按下按鍵k3,則會減小馬達檔位,降低馬達轉(zhuǎn)速,然后模擬車速就會降低。圖3.7為按鍵模塊圖:圖3.7按鍵模塊圖3.7顯示模塊電路本設(shè)計使用OLED顯示實時檢測的車速以及設(shè)置的最大車速閾值。本系統(tǒng)選擇的顯示屏的尺寸是0.96寸,使用4線串行通信,分辨率為128*64的0LED屏幕,該屏幕內(nèi)部集成了SSD1306驅(qū)動芯片,工作電壓為3.3V-5V。是使用有機發(fā)光二極管技術(shù)的小型化,高分辨顯示屏,它可以清晰的顯示文字、字符、圖形和圖標。具有高對比度和亮度,非常適合本次設(shè)計的要求,本設(shè)計選用藍色顯示屏。此次設(shè)計選擇使用OLED屏幕作為車速檢測系統(tǒng)的車速信息顯示。它的3引腳為SCL引腳,4引腳為SDA引腳,SCL和SDA引腳相互配合,SCL提供時鐘信號,控制數(shù)據(jù)傳輸?shù)乃俾屎蜁r序,而SDA引腳則在時鐘信號的控制下傳輸數(shù)據(jù)。圖3.8為顯示模塊原理圖:圖3.8OLED模塊圖4軟件設(shè)計該系統(tǒng)使用的編程軟件為Keil5,是一款功能強大的嵌入式開發(fā)工具,實現(xiàn)從代碼編寫、編譯、調(diào)試的一站式開發(fā)。支持多種架構(gòu),支持安裝相應的芯片支持包,其具備高效的編譯器能夠快速編譯并生成可執(zhí)行文件,用戶界面簡潔。4.1主流程的設(shè)計當系統(tǒng)接入電源后,鍵盤掃描函數(shù)啟動運行,開始掃描3個獨立按鍵是否被按下,如果檢測到存在按鍵被按下,則系統(tǒng)會通過其與單片機連接的I/0口的高低電平來判斷是哪個獨立按鍵被按下,根據(jù)被按下的按鍵的功能,判斷并且執(zhí)行該按鍵的功能,車速檢測系統(tǒng)正常運行,并且獲取測量值,即電機轉(zhuǎn)速信息,經(jīng)過單片機內(nèi)部邏輯判斷,執(zhí)行程序,計算出實時的車速值,通過ESP-01S模塊將車速數(shù)據(jù)信息上傳到巴法云平臺并進行數(shù)據(jù)儲存,然后將根據(jù)設(shè)定的車速閾值與實時檢測的車速進行判斷;如果實時車速大于設(shè)定閾值,系統(tǒng)則會語音播報用來警示駕駛員,如果實時車速小于設(shè)定閾值,系統(tǒng)則不會進行語音播報。整個流程執(zhí)行結(jié)束后,系統(tǒng)會自動返回到鍵盤掃描函數(shù)。進行下一輪的循環(huán)。圖4.1為主流程圖:圖4.1系統(tǒng)主流程設(shè)計圖4.2獨立按鍵子流程該系統(tǒng)有3個獨立按鍵,其分別為SW1,SW2,SW3。它們用來控制馬達的轉(zhuǎn)速以及設(shè)定車速報警閾值。其中SW1是進入設(shè)置車速閾值模式。接入5V電源,系統(tǒng)上電初始化,按下按鍵SW1設(shè)置閾值,SW2,SW3可以加減車速閾值。進入工作模式后,SW2,SW3可以調(diào)節(jié)馬達檔位,控制馬達轉(zhuǎn)速,進而控制車速。其工作原理為:首先接通5V電源,系統(tǒng)上電,獨立按鍵的一端連接到單片機的I/O口,另一端接上拉電阻接電源。將I/O口初始化為上拉輸入。當按鍵沒有被按下時,按鍵掃描函數(shù)檢測按鍵為高電平;當按鍵按下時,按鍵掃描函數(shù)檢測按鍵為低電平。按鍵在按下和釋放時會產(chǎn)生抖動,通過軟件延時消除抖動。檢測按鍵釋放時的電平變化,用以確認按鍵是否完全松開。按鍵的機械特性導致按下按鍵和釋放瞬間會產(chǎn)生抖動,消抖處理是按鍵設(shè)計中的關(guān)鍵一步。在主函數(shù)中,使用按鍵掃描函數(shù),檢測按鍵的高低電平狀態(tài)變化,根據(jù)按鍵按下和釋放狀態(tài),執(zhí)行按鍵對應的功能操作。獨立按鍵程序子流程如圖4.2所示:圖4.2按鍵流程圖4.3驅(qū)動模塊子流程第一步系統(tǒng)上電,通過四個晶體管的導通截止,以此實現(xiàn)電機的正反轉(zhuǎn)和制動。通過不同的占空比信號輸出到與電機相連的引腳來調(diào)節(jié)轉(zhuǎn)速。在一個完整的周期內(nèi),高電平所占整個周期越多,則驅(qū)動馬達的轉(zhuǎn)速越快,模擬的車速也越快。直流電機PWM調(diào)試程序子流程如圖4.3所示:圖4.3驅(qū)動模塊流程圖4.4通信模塊子流程本系統(tǒng)采用ESP-01S模塊來實現(xiàn)無線數(shù)據(jù)傳輸功能,工作原理為單片機通過UART串口發(fā)送AT指令控制ESP-01S。ESP-01S連接到WIFI網(wǎng)絡(luò)后,通過TCP協(xié)議與巴法云平臺建立連接。其軟件設(shè)計流程主要包括初始化ESP-01S、網(wǎng)絡(luò)連接配置數(shù)據(jù)傳輸、硬件連接、建立TCP連接、進入透傳模式。具體流程步驟如下:ESP-01S通過UART串口與STM32F103C8T6通信,硬件連接如下:TXD(ESP-01S) PA3(STM32,USART2RX)RXD(ESP-01S)→PA2(STM32,USART2TX)。VCC與GND分別接入3.3V電源與地線。串口參數(shù)設(shè)置為STM32的USART2配置為異步模式,波特率115200,8位數(shù)據(jù)位,無校驗位,1位停止位。通過發(fā)送AT指令集配置ESP-01S工作模式:設(shè)置為SAT模式:發(fā)送AT+CWMODE=1:發(fā)送AT+CWJAP="SSID","PASSWORD":連接指定WIFI網(wǎng)絡(luò)。連接成功后,ESP-01S會返回:WIFICONNECTED設(shè)置為單連接模式:AT+CIPMUX=0發(fā)送AT+CIPSTART="TCP","服務器IP",端口號:與云端服務器建立TCP連接(巴法云的IP和端口)。發(fā)送AT+CIPMODE進入透傳模式,之后通過串口發(fā)送的數(shù)據(jù)將直接傳輸?shù)桨头ㄔ破脚_。同樣,從巴法云平臺發(fā)送到ESP-01S的數(shù)據(jù)也會傳輸回STM32。圖4.4為WIFI模塊流程圖:圖4.4WIFI模塊流程圖4.5OLED顯示子流程下面的流程圖是OLED顯示屏顯示流程設(shè)計,第一步將OLED顯示屏通過I2C接口連接單片機,SCL接STM32的時鐘線引腳,SDA接STM32的數(shù)據(jù)線引腳,同時也需要連接VCC和GND。圖4.5為OLED顯示流程圖:圖4.5OLED顯示流程圖5系統(tǒng)總體調(diào)試5.1硬件功能調(diào)試將各個模塊進行焊接在一起后,接入電源,進行實物調(diào)試,模塊功能均正常,可以正常工作。圖5.1為總體實物圖:圖5.1系統(tǒng)實物圖5.2測速功能調(diào)試當系統(tǒng)通電,初始化之后,按下按鍵SW1,車速的閾值可以隨意設(shè)置,本設(shè)計中以車速閾值設(shè)置為120KM/s為例,按鍵SW2可對車速閾值進行增加,按鍵SW3可對車速閾值進行減小。本系統(tǒng)設(shè)計的速度檔位有3個檔位,按下按鍵SW1可以增加檔位;按下SW2按鍵可以降低檔位。檔位越高,對應速度越高。實物測試如圖5.2所示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論