• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于STM32單片機的教練車轉(zhuǎn)向輪轉(zhuǎn)角顯示儀設(shè)計與實現(xiàn)

    2022-10-27 02:45:06霞,白
    計算機測量與控制 2022年10期
    關(guān)鍵詞:蜂鳴器轉(zhuǎn)角按鍵

    劉 霞,白 剛

    (1.西安文理學(xué)院 機械與材料工程學(xué)院,西安 710065;2.中國鐵路西安局集團(tuán)有限公司,西安 710000)

    0 引言

    近年來,我國社會經(jīng)濟的快速發(fā)展以及我國城市化改革的深入推進(jìn),使人民群眾對于購買汽車有著強烈需求。隨著汽車進(jìn)入千家萬戶,目前全國駕齡不滿1年的實習(xí)駕駛?cè)藢⒔? 000萬人,占機動車駕駛?cè)丝偭康?1.3%,部分實習(xí)駕駛者由于汽車轉(zhuǎn)向輪轉(zhuǎn)向角度把握不好而造成的車庫移位、刮擦、追尾等不同程度的事故[1-3]。我國汽車保有量的提升,其規(guī)模已大大超過了道路等重要交通設(shè)施的修建,交通流量的增加正處于一個較高的水平,每年都會有6萬多名人死于嚴(yán)重的交通事故[4-6]。在這些事故中,由于汽車轉(zhuǎn)向輪轉(zhuǎn)向角度把握不好而發(fā)生撞車的有很多。因此需要設(shè)計開發(fā)一套能夠有效的采集汽車轉(zhuǎn)向輪轉(zhuǎn)向角度的系統(tǒng),在初學(xué)駕駛階段熟悉熟練汽車轉(zhuǎn)向輪角度把控必要且迫切。

    現(xiàn)階段,單片機在交通工具上的應(yīng)用研究發(fā)展態(tài)勢良好,曾堯[7]使用STM32控制系統(tǒng),提供一種中線差值采樣的尋跡方法,選用MG995電動機進(jìn)行驅(qū)動,使智能小車轉(zhuǎn)向更加靈敏。趙林超[8]實現(xiàn)了信號采集處理電路集成化,傳感器數(shù)據(jù)可直接在STM32中進(jìn)行RBF人工神經(jīng)網(wǎng)絡(luò)計算,在滿足測量精度和測量速度的同時,大大縮小了測量系統(tǒng)所占用的空間便于集成裝配在球鉸鏈底座的預(yù)留空間內(nèi),初步實現(xiàn)了測量系統(tǒng)集成化、智能化和便攜化的目標(biāo),同時制造成本大幅下降??讉チ羀9]以STM32單片機為核心設(shè)計了轉(zhuǎn)向單元、制動單元和驅(qū)動單元。轉(zhuǎn)向單元由轉(zhuǎn)向電機驅(qū)動器、轉(zhuǎn)向電機、轉(zhuǎn)角傳感器等組成,轉(zhuǎn)向單元能夠根據(jù)SALM最小系統(tǒng)獲取的環(huán)境信息控制轉(zhuǎn)向機構(gòu)實現(xiàn)預(yù)期位置的轉(zhuǎn)向。鐘智杰等[10]提出了基于STM32為主控制器的速度轉(zhuǎn)角閉環(huán)控制方案,還設(shè)計了基于該結(jié)構(gòu)的超聲波探頭分布與檢測策略,在實際應(yīng)用中,具有較快響應(yīng)速度,機構(gòu)靈活,適用范圍廣泛。韓云鵬[11]根據(jù)靶車需求,確定STM32單片機作為主控制器,并完成各類電機與供電電源的選型。根據(jù)設(shè)計方案與結(jié)構(gòu)參數(shù),建立全地形移動靶車四輪驅(qū)動和四輪轉(zhuǎn)向運動學(xué)模型。張盼盼[12]設(shè)計開發(fā)了基于STM32處理器的智能駕駛輔助系統(tǒng)回路仿真與控制器,車道保持和主動變道控制器在保證車輛縱、橫向穩(wěn)定性的基礎(chǔ)上能夠很好的完成車道保持和主動變道的功能。對車道保持和主動變道進(jìn)行單片機控制的模型小車實驗,驗證了控制算法的可靠性。

    本文針對基于STM32單片機的汽車轉(zhuǎn)向輪轉(zhuǎn)角顯示系統(tǒng)進(jìn)行研究。首先分析目前產(chǎn)品功能的合理性,這些方案是否可以借鑒。整理出系統(tǒng)的架構(gòu)圖并明確了系統(tǒng)的功能。功能的出現(xiàn)會帶動方案,明確了功能就可以針對性的進(jìn)行方案設(shè)計。下一個階段是重要的硬件電路設(shè)計,需要研究各個方案,輸出對應(yīng)功能的電路圖,結(jié)合電路設(shè)計的合理性、穩(wěn)定性設(shè)計出系統(tǒng)的硬件。這一部分就需要將系統(tǒng)的硬件全部設(shè)計完成。硬件設(shè)計中的每一個器件的設(shè)計原因需要明確。在軟件設(shè)計環(huán)節(jié),配合硬件實現(xiàn)對應(yīng)的功能即可,編寫出程序代碼,統(tǒng)計將所有的功能按照功能邏輯設(shè)計,按照邏輯流程圖完善系統(tǒng)運行功能。最后進(jìn)行仿真測試并決定系統(tǒng)功能是否符合要求,達(dá)到設(shè)計目的。期望全套設(shè)備開發(fā)為初學(xué)者和教練員教學(xué)帶來便利,也為駕駛學(xué)校教練車裝備智能化提供借鑒。

    1 總體方案設(shè)計

    1.1 整體方案布局

    系統(tǒng)的功能結(jié)構(gòu)如圖1所示,基于STM32單片機的汽車轉(zhuǎn)向輪轉(zhuǎn)角顯示的設(shè)計與實現(xiàn)系統(tǒng)的功能有汽車轉(zhuǎn)向輪轉(zhuǎn)角檢測、按鍵控制、數(shù)據(jù)顯示、WiFi通信、報警提示。設(shè)計轉(zhuǎn)向輪檢測角度范圍為30~40°,測量精度為1°,系統(tǒng)采集汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù),若汽車轉(zhuǎn)向輪轉(zhuǎn)角實時獲取數(shù)據(jù)不在設(shè)置閾值范圍內(nèi),則通過聲音報警提示。可以使用按鍵調(diào)整汽車轉(zhuǎn)向輪轉(zhuǎn)角閾值,通過WiFi傳輸?shù)绞謾C實現(xiàn)數(shù)據(jù)監(jiān)控[13-14]。

    圖1 系統(tǒng)結(jié)構(gòu)框圖

    1.2 主控制器

    主控制器決定選擇STM32。該芯片內(nèi)置ARM型Cortex?-M3。內(nèi)核使用的是32位數(shù)據(jù)處理數(shù)據(jù)。芯片的最高速度為72 MHz。芯片搭配了512 K的存儲空間保證程序的存儲。同樣帶有上電和掉電復(fù)位功能。為了保證系統(tǒng)的功耗,芯片內(nèi)部有3種模式:休眠、停止、待機模式。帶有多種調(diào)試方案,分別是SWD和JTAG接口。為了方便進(jìn)行數(shù)據(jù)的移動和復(fù)制,設(shè)計了DMA方案,可以在不需要內(nèi)核控制的情況下,自助地進(jìn)行數(shù)據(jù)的拷貝轉(zhuǎn)移。

    1.3 轉(zhuǎn)角檢測

    汽車轉(zhuǎn)向輪轉(zhuǎn)角檢測的采集功能由轉(zhuǎn)角檢測模塊完成。這款傳感器的成本很低,而且設(shè)計精巧。在傳感器的表面設(shè)計了鍍鎳處理。為了讓傳感器可以獲取更可靠的土壤濕度數(shù)據(jù),對傳感器的測量面積進(jìn)行了加寬設(shè)計。鍍鎳處理方案也可以提高傳感器的使用時壽命,傳感器不會產(chǎn)生生銹的現(xiàn)象。若汽車轉(zhuǎn)向輪轉(zhuǎn)角發(fā)聲變化,傳感器就可以輸出對應(yīng)的電信號,汽車轉(zhuǎn)向輪轉(zhuǎn)角越大,傳感器輸出的電信號伏值越大,因此只要獲取到電壓數(shù)據(jù)就可以判斷汽車轉(zhuǎn)向輪轉(zhuǎn)角的大小。

    1.4 WiFi通信

    ESP8266是專用的WiFi通信技術(shù)方案,模塊集成了WiFi所有的功能,常用的TCP/IP協(xié)議也在其中。模塊和主控可以通過串口進(jìn)行通信,模塊集成了串口數(shù)據(jù)交互方案,就是方便和主控進(jìn)行連接,這樣能夠適用于市面上所有的主控設(shè)備。WiFi通信作為一種常用的無線數(shù)據(jù)傳輸技術(shù)方案,在很多的產(chǎn)品上得到了廣泛的使用。最終確定選擇ESP8266模塊完成WiFi通信功能。模塊內(nèi)部主要的是器件是WiFi芯片,搭配芯片需要的外圍器件支撐芯片的運行,集成在同一塊PCB上封裝為模塊,模塊引出通信接口。模塊最大的優(yōu)勢之一是一項透傳模式,模塊在這個模式下能夠非常快捷的被單片機進(jìn)行控制[15]。單片機在操作模塊時只需要通過串口收發(fā)數(shù)據(jù)就能夠?qū)崿F(xiàn)WiFi通信雙向數(shù)據(jù)傳輸,也就是說單片機不需要了解WiFi的具體傳輸細(xì)節(jié),這些由模塊完成。

    1.5 顯示

    汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)顯示選擇LCD1602。系統(tǒng)需要一個顯示功能作為信息輸出。應(yīng)用LCD1602實現(xiàn)信息顯示。這款液晶的成本低,顯示效果好??梢灾С侄喾N字符的顯示,包括字母、數(shù)字等其他符號。這種顯示器不需要實時占用主控資源,只要控制顯示內(nèi)容后,就可以長期保留顯示信息。主控和顯示器的連接關(guān)系簡單,從設(shè)計難度上來講也符合設(shè)計要求。整個屏幕可以容納32個顯示符號,能夠滿足系統(tǒng)的顯示要求。顯示器中集成了很多庫以及驅(qū)動器,在控制的時候只需要依據(jù)顯示器要求的時序輸入數(shù)據(jù)即可完成顯示信息的功能。顯示器內(nèi)部的核心是HD44780芯片,這款芯片具有封裝了針對液晶控制的多種技術(shù),所以在應(yīng)用主控對液晶操作上會方便很多。同時搭配了HD44100作為對液晶的驅(qū)動控制方案,這些都是集成在液晶顯示器模塊中,不需要額外的進(jìn)行設(shè)計。為了適應(yīng)更多的場合,液晶顯示器還集成了燈光效果,能夠有背光功能,可以在夜間讓顯示內(nèi)容更加的醒目。

    1.6 報警

    汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)超過設(shè)置的閾值時進(jìn)行聲音提示,以便用戶了解汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)的具體情況。系統(tǒng)要求在異常情況下進(jìn)行聲音預(yù)警提示,使用蜂鳴器實現(xiàn)此功能。蜂鳴器在很多產(chǎn)品中都能夠看到。蜂鳴器能夠發(fā)出蜂鳴聲,聲音可以達(dá)到提示的效果,控制上手簡單。蜂鳴器的控制需要有硬件驅(qū)動的支持,否則只靠主控的接口是無法對蜂鳴器進(jìn)行控制的。蜂鳴器的選擇需要注意類型,如果是無源蜂鳴器在控制信號上有一定的要求,信號必須有一定的波動頻率。如果是有源蜂鳴器只需要簡單的電平變換就能實現(xiàn)蜂鳴器響與不響的控制。因此最終確定選擇有源蜂鳴器作為報警功能的方案。

    2 硬件設(shè)計

    2.1 主控電路

    主控制器電路如圖2所示,作為高性能的STM32F103C8T6,在高速運行條件下功耗為36 mA。接口的轉(zhuǎn)換速度為10 MHz。兩個模數(shù)轉(zhuǎn)換模塊速度快到1 μs。串口通信的速度可以達(dá)到每秒18兆位。芯片的供電電壓在2.0~3.6 V范圍內(nèi),雖然供電沒有達(dá)到5 V,但是IO接口都可以兼容5 V,所以也擴大了芯片的使用范圍。復(fù)位電路集成在芯片內(nèi)部,因此不需要單獨在外置復(fù)位電路,減少了硬件設(shè)計的成本和工作量。芯片能在超低溫和超高溫環(huán)境下運行,溫度范圍在-40~+85℃。芯片的IO接口有多種配置模式,非常便于連接不同的外設(shè),包括上拉、下拉、模擬、開漏等模式[16]。STM32F103C8T6中的C代表芯片一共48個接口,這48個接口每個口都具備多種功能,可以通過程序配置使用其中一項功能。其中103表示這款芯片是增強型器件,8表示用戶可以設(shè)計的代碼量達(dá)到64 K。芯片在SWD模式下,使用的接口為PA13、PA14。芯片在JTAG模式下,使用的接口為PA13、PA14、PA15、PB3、PB4。這些接口也可以作為控制外設(shè)的接口,因此實現(xiàn)了復(fù)用功能。芯片的封裝為LQFP,手工焊接并不是很方便,因此直接只用最小系統(tǒng)板進(jìn)行系統(tǒng)開發(fā)。

    圖2 主控電路

    2.2 轉(zhuǎn)角檢測電路

    轉(zhuǎn)角檢測模塊傳感器能有效地消除其它信號的干擾。該傳感器具有很強的可重用性,可長期穩(wěn)定使用。該傳感器啟動時間短,感應(yīng)時間快,長期穩(wěn)定運行,測試性能強。傳感器在使用時會產(chǎn)生熱量,這是正?,F(xiàn)象。加熱一段時間后,它將恢復(fù)正常。輸出為模擬量,需要與模數(shù)轉(zhuǎn)換芯片匹配。ADC0832芯片設(shè)計了使能選擇接口。位于CS引腳1處,使能有效信號為低電平,由主控的PB9控制。如果是低電平,則意味著芯片可以操作,模擬數(shù)據(jù)可以通過單片機接口讀取和控制。芯片的兩個模數(shù)轉(zhuǎn)換通道分別位于引腳2的CH0和引腳3的CH0處。電源GND位于4腳。數(shù)據(jù)輸入腳位于5腳的DI。數(shù)據(jù)輸入腳位于6腳的DO,接單片機的PB7。時鐘信號引腳位于7腳,由主控的PB8控制。8腳為電源以及參考電源端,轉(zhuǎn)角檢測電路如圖3所示。

    圖3 轉(zhuǎn)角檢測電路

    2.3 WiFi通信電路

    WiFi模塊和單片機的連接需要三條信號線,也就是完成串口的線速連接,就可以實現(xiàn)WiFi數(shù)據(jù)通信。WiFi模塊引出8條信號線。其中4腳是模塊的供電接口。6/7腳是WiFi模塊自帶的控制接口,WiFi模塊本身也可以作為主控實現(xiàn)一些控制功能。5腳是模塊引出的數(shù)據(jù)接收腳,相對于單片機就是串口數(shù)據(jù)發(fā)送腳,和單片機的TXD連接在一起。1腳是模塊引出的數(shù)據(jù)發(fā)送腳,相對于單片機就是串口數(shù)據(jù)接收腳,和單片機的RXD連接在一起。8腳是模塊的供電GND口。WiFi通信電路如圖4所示。

    圖4 WIFI通信電路

    2.4 顯示電路

    顯示電路如圖5所示,在LCD1602硬件電路中,液晶只需要16個接口進(jìn)行連接。1腳為電源GND。2腳為電源VCC。3腳接電位器,電位器的作用是調(diào)節(jié)液晶屏的對比度,使液晶顯示屏顯示的內(nèi)容更清晰。一般選擇103,也就是10 K電位器。4腳為RS,是控制輸入的內(nèi)容是命令還是數(shù)據(jù)。如果控制RS為低電平,則輸入的內(nèi)容為指令。如果控制RS為高電平,則輸入的內(nèi)容為數(shù)據(jù)。5腳為RW,控制單片機是讀液晶的數(shù)據(jù),還是向液晶寫數(shù)據(jù)。如果控制RW為低電平,可以對液晶進(jìn)行寫指令或者寫數(shù)據(jù)。如果控制RW為高電平,主要讀取顯示屏的顯示狀態(tài)。6腳為E,使能控制端。7腳到16腳為8個數(shù)據(jù)口。液晶的電源要求為5V。顯示屏D0到D7接單片機的PA口,RS接單片機的PB0,RW接單片機的PB1,EN接單片機的PB10。

    圖5 顯示電路

    2.5 報警電路

    蜂鳴器的功能主要是實現(xiàn)聲音的輸出,因此應(yīng)用非常的廣泛。比如玩具、打印機、家用電器等都使用蜂鳴器。蜂鳴器的控制原理簡單方便,但是主控也無法直接對蜂鳴器實行控制,需要有硬件驅(qū)動的支持,主要原因是蜂鳴器的驅(qū)動信號需要一定的電流,主控的接口無法滿足輸出電流的大小[17]。在電路中使用三極管完成主控和蜂鳴器之間的對接。在聲音效果上也需要選擇對類型的蜂鳴器。有通過電磁發(fā)聲的蜂鳴器,有壓電式發(fā)聲的蜂鳴器。這兩種蜂鳴器發(fā)出的聲音效果不一樣。壓電式的蜂鳴器發(fā)出的聲音洪亮,更適合系統(tǒng)的設(shè)計要求,因此使用的是壓電式的蜂鳴器。報警電路如圖6所示。

    圖6 報警電路

    2.6 按鍵電路

    按鍵最常用的是作為系統(tǒng)的參數(shù)設(shè)置功能方案。按鍵也屬于開關(guān)的一種,因此具有兩種狀態(tài)。按鍵在沒有任何操作的情況下是斷開的,沒有信號輸入。按鍵在有操作的情況下會閉合,輸入一個信號,因此設(shè)計兩種信號分別代表按鍵有操作和無操作的狀態(tài)。按鍵選擇常用的輕觸開關(guān)。在有人操作的情況下按鍵能否有效的動作和按鍵的結(jié)構(gòu)以及制作材料有關(guān)系[18]。由于是機械動作轉(zhuǎn)換為電信號,所以制作的工藝也會決定按鍵的使用壽命。為了達(dá)到更好的按鍵效果,制作按鍵選擇的材料必須是電阻率小、耐使用。在進(jìn)行實物制作時,按鍵的引腳會被上錫,引腳在上錫后會改變引腳的電阻率,因此廠家在制作按鍵時,加入了鍍銀工序,這樣可以保證引腳電阻率的穩(wěn)定,也會避免引腳的氧化,加長了按鍵的使用時間。使用按鍵S2可以設(shè)置汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)閾值,進(jìn)入閾值設(shè)置界面,主控選擇PA13采集按鍵信號。使用按鍵S3可以設(shè)置汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)閾值加控制,主控選擇PA14采集按鍵信號。使用按鍵S4可以設(shè)置汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)閾值減控制,主控選擇PA15采集按鍵信號。按鍵電路如圖7所示。

    圖7 按鍵電路

    2.7 電源電路

    主控需要提供的電源是3.3 V。但是系統(tǒng)輸入的電源是5 V,需要進(jìn)行轉(zhuǎn)換處理。電源是整個系統(tǒng)最重要的部分之一,電源如果癱瘓的話,整個系統(tǒng)沒有一個功能是可以運行的,因此電源的設(shè)計一定要穩(wěn)定、可靠。電源電路如圖8所示,POWER是電源的接口,可以和所有的能夠輸出5 V的電源適配器連接。輸入電源后經(jīng)過兩個電容的濾波,幫助電源濾除雜波信號,兩個電容參數(shù)一大一小分別對高頻和低頻雜波進(jìn)行濾除。經(jīng)過U7將5 V電壓穩(wěn)壓到3.3 V,再經(jīng)過一大一小電容參數(shù),同樣對高頻和低頻雜波進(jìn)行濾除輸入到系統(tǒng)各部分模塊中。為了指示電源是否正常功能,加入了LED。

    圖8 電源電路

    3 軟件設(shè)計

    3.1 系統(tǒng)整體軟件設(shè)計

    系統(tǒng)整體軟件設(shè)計中是將說有功能軟件部分在主函數(shù)中整合。在主函數(shù)運行開始需要對各項功能進(jìn)行配置。對汽車轉(zhuǎn)向輪轉(zhuǎn)角檢測接口、按鍵控制接口、數(shù)據(jù)顯示控制接口、WiFi通信控制接口、報警提示控制接口進(jìn)行初始化。系統(tǒng)采集汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù),如果汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)超過設(shè)置的閾值,則通過聲音報警提示??梢允褂冒存I調(diào)整汽車轉(zhuǎn)向輪轉(zhuǎn)角閾值。同時可以通過WiFi傳輸?shù)绞謾C實現(xiàn)數(shù)據(jù)監(jiān)控。系統(tǒng)整體軟件設(shè)計流程如圖9所示。

    圖9 系統(tǒng)整體軟件設(shè)計流程圖

    3.2 轉(zhuǎn)角檢測軟件設(shè)計

    轉(zhuǎn)角檢測模塊輸出模擬數(shù)據(jù)。ADC0832是一個8位分辨率的模數(shù)轉(zhuǎn)換方案,因此最多可以達(dá)到256級的數(shù)字量,可以滿足大多數(shù)模數(shù)轉(zhuǎn)換應(yīng)用項目中。參考電壓為5V,因此模擬量的輸入范圍為0~5 V。MCU只需要CS、CLK、DO和DI可以完成收藏數(shù)字量。在控制芯片時,數(shù)據(jù)輸出DO和數(shù)據(jù)輸入DI不同時使用,即如果有數(shù)據(jù)輸出,就沒有數(shù)據(jù)輸入。因此,DO的數(shù)據(jù)輸出和DI的數(shù)據(jù)輸入重用了一條數(shù)據(jù)線,使單片機的值需要3個引腳來操作芯片。當(dāng)需要操作芯片時,將引腳控制在低電平。芯片完成模數(shù)轉(zhuǎn)換后,單片機將時鐘信號輸入芯片時鐘,然后根據(jù)時鐘信號通過數(shù)據(jù)輸入DI選擇相應(yīng)的轉(zhuǎn)換通道,然后通過數(shù)據(jù)輸出DO接收數(shù)字?jǐn)?shù)據(jù)。接收IN1、IN2信號,以控制電機的正向和反向旋轉(zhuǎn)。轉(zhuǎn)角檢測軟件設(shè)計流程圖如圖10所示。

    圖10 溫度檢測軟件設(shè)計流程圖

    3.3 WiFi通信軟件設(shè)計

    WiFi通信的軟件設(shè)計需要單片機來完成,單片機主要通過串口向WiFi模塊輸入相應(yīng)的AT指令對模塊進(jìn)行功能控制。要實現(xiàn)串口需要確定串口數(shù)據(jù)傳輸?shù)乃俣?,即波特率[19-21]。還需要確定串口數(shù)據(jù)傳輸?shù)奈粩?shù),在系統(tǒng)設(shè)計中確定以9 600波特率以及8位數(shù)據(jù)位去設(shè)置好串口。在進(jìn)行AT指令使用時,需要先發(fā)送AT進(jìn)行測試,如果WiFi模塊反回OK,則表示模塊可以進(jìn)行控制,否則需要繼續(xù)進(jìn)行AT指令測試。WiFi模塊的串口參數(shù)也是需要設(shè)置的,需要設(shè)置和單片機一致即可,是否設(shè)置成功可以通過PC端的串口助手進(jìn)行驗證。先設(shè)置WiFi模塊進(jìn)入到路由模式,設(shè)置后必須重啟模塊才可以生效設(shè)置。啟動WiFi通信后就完成了WiFi模塊的配置,進(jìn)入到連接數(shù)據(jù)傳輸狀態(tài)。WiFi通信軟件設(shè)計流程如圖11所示。

    圖11 WiFi通信軟件設(shè)計流程圖

    3.4 顯示軟件設(shè)計

    LCD1602是專用的字符顯示液晶屏,能夠顯示的內(nèi)容包括字母、數(shù)字、符號等字符內(nèi)容??梢詽M足大部分項目開發(fā)的需求。驅(qū)動芯片中有存儲器,存儲器有3種功能,DDRAM用于存儲液晶需要顯示內(nèi)容的數(shù)據(jù),包括所有能顯示內(nèi)容的數(shù)據(jù),在控制的時候調(diào)用對應(yīng)顯示內(nèi)容的數(shù)據(jù)到液晶屏,完成顯示。液晶屏單個字符顯示單元是5×7點陣式,需要顯示任何字符,都可以在5×7點陣上顯示出來,每個字符對應(yīng)的數(shù)據(jù)都可以計算出來。DDRAM一共有80個字節(jié)的數(shù)據(jù),作為液晶屏顯示內(nèi)容數(shù)據(jù)存儲器,但是在顯示的時候,液晶屏無法將80個字節(jié)數(shù)據(jù)全部顯示,這樣就需要應(yīng)用移動指令控制顯示數(shù)據(jù),通過移動將未顯示出來的內(nèi)容進(jìn)行移動顯示。因此只需要把顯示的內(nèi)容數(shù)據(jù)寫入到DDRAM,就可以完成顯示。如果要顯示數(shù)字1,直接將1對應(yīng)的Ascll數(shù)據(jù)0x31輸入到DDRAM中,就可以在液晶屏上顯示出數(shù)字1。顯示軟件設(shè)計流程如圖12所示。

    圖12 顯示軟件設(shè)計流程圖

    3.5 報警軟件設(shè)計

    汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)超過設(shè)置的閾值時進(jìn)行聲音提示,以便用戶了解汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)的具體情況。如果汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)超過設(shè)置的閾值,則主控控制PB11輸出低電平,控制蜂鳴器報警。報警控制軟件設(shè)計流程如圖13所示。

    圖13 報警控制軟件設(shè)計流程圖

    3.6 按鍵掃描軟件設(shè)計

    按鍵的人軟件代碼設(shè)計很重要,如果按鍵判斷錯誤,整個系統(tǒng)的控制就會產(chǎn)生故障。按鍵動作的檢測主要在軟件代碼設(shè)計上,首先分析按鍵動作機制,了解按鍵動作才可以更好的設(shè)計軟件代碼。理論上按鍵就是開關(guān)動作,但是由于實際情況是機械動作轉(zhuǎn)換為電信號,機械動作難免存在摩擦等情況,因為人手按下按鍵的機械動作存在抖動以及摩擦,所以在按按鍵的時候,真實情況是抖動的,所以導(dǎo)致按鍵開關(guān)是抖動開關(guān),輸出的電信號也是抖動狀態(tài),即為高低電平抖動,等人手按下按鍵穩(wěn)定后,才輸出穩(wěn)定的低電平,這個抖動過程一般是3~5 ms,因此在單片機掃描按鍵電信號的時候,需要在按鍵按下狀態(tài)穩(wěn)定后檢測電信號,在軟件代碼掃描中第一次掃描到按鍵有效信號,此時并非真正的穩(wěn)定信號,而是抖動開始或者干擾信號,所以待3~5 ms后繼續(xù)掃描,如果仍然是穩(wěn)定信號,則表示按鍵按下。

    4 實驗結(jié)果與分析

    按照電路圖的設(shè)計,進(jìn)行電源接口電路的焊接試。之后進(jìn)行單片機系統(tǒng)電路的焊接,其他部分需要通過單片機進(jìn)行控制。用萬用表導(dǎo)通檔位測量電源是否短路,若正常則測量電源電壓是否正確。完成實物的焊接制作后即可進(jìn)行系統(tǒng)軟件功能測試。

    Keil可以完成對系統(tǒng)軟件功能的設(shè)計,Keil的使用方法簡單,創(chuàng)建項目工程后就可以開始進(jìn)行代碼設(shè)計了。這也能保證能夠快速的進(jìn)入開發(fā)階段。在編程上使用模塊模式進(jìn)行程序設(shè)計,有利于在對代碼做管理,出現(xiàn)問題可以快速定位。此系統(tǒng)的代碼截圖如圖14所示。

    圖14 軟件代碼截圖

    打開項目工程后,選擇菜單進(jìn)入調(diào)試界面進(jìn)行調(diào)試。選擇“Debug”→“Start/Stop Debug Session”就可以進(jìn)入調(diào)試功能。具體操作方法如圖15所示。

    圖15 選擇調(diào)試功能示意圖

    進(jìn)入到調(diào)試界面后,可以看到左側(cè)有對寄存器進(jìn)行實時監(jiān)控的界面,可以在程序運行時觀察寄存器的實時變化狀態(tài)。同時還有代碼斷點的設(shè)置,對代碼的運行進(jìn)行單步點擊運行操作,方便觀察各個參數(shù)的變化。

    圖16 進(jìn)入調(diào)試功能界面

    之后,可以對部分變量進(jìn)行監(jiān)控,需要調(diào)節(jié)被監(jiān)控的變量。選擇“View”→“Watch Window”就可以進(jìn)入監(jiān)控設(shè)置界面。調(diào)出Watch界面后,在此界面就可以設(shè)置被監(jiān)控的變量或者參數(shù)。雙擊Name就可以設(shè)置要監(jiān)控的變量,輸入變量名稱就可以監(jiān)控變量的動態(tài)變化。完成上述硬件測試和軟件調(diào)試后,進(jìn)行實際測試。整理了5組測試數(shù)據(jù)如表1所示,通過本文系統(tǒng)檢測數(shù)據(jù)和車輪轉(zhuǎn)向定位儀測量數(shù)據(jù)進(jìn)行對比,測試結(jié)果一致。

    表1 測試數(shù)據(jù)表與實際測量值比較

    5 結(jié)束語

    為了方便初學(xué)駕駛?cè)藛T快速準(zhǔn)確的掌握車輛轉(zhuǎn)角角度,也為了教練員有針對性的教學(xué)。開發(fā)設(shè)計了一套基于STM32單片機的汽車轉(zhuǎn)向輪轉(zhuǎn)角顯示儀,系統(tǒng)需要設(shè)計功能包括汽車轉(zhuǎn)向輪轉(zhuǎn)角檢測、按鍵操作、汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)顯示、語音播報、報警提示。系統(tǒng)采集汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù),如果汽車轉(zhuǎn)向輪轉(zhuǎn)角數(shù)據(jù)超過設(shè)置的閾值,則通過聲音報警提示,通過語音播報提醒??梢允褂冒存I調(diào)整汽車轉(zhuǎn)向輪轉(zhuǎn)角閾值。

    系統(tǒng)的功能雖然基本滿足要求,但是通過分析還存在一些不足之處,需要后期不斷的改進(jìn)。比如轉(zhuǎn)向控制的功能比較單一,可以融入一些物聯(lián)網(wǎng)的功能,比如加入遠(yuǎn)程WiFi功能,通過手機實現(xiàn)遠(yuǎn)程對汽車駕駛的控制。還可以加入人臉識別,讓系統(tǒng)的功能更加的多樣,也更加的智能和方便。

    猜你喜歡
    蜂鳴器轉(zhuǎn)角按鍵
    電動自行車產(chǎn)品車速提示音檢測現(xiàn)狀和整改技術(shù)研究(2)
    玩轉(zhuǎn)角的平分線
    基于有限狀態(tài)機的按鍵檢測程序設(shè)計
    電子制作(2021年3期)2021-06-16 03:14:26
    掌控板制作簡易鋼琴
    電腦報(2020年12期)2020-06-30 19:56:42
    單片機驅(qū)動蜂鳴器的程序設(shè)計
    三次“轉(zhuǎn)角”遇到愛
    解放軍健康(2017年5期)2017-08-01 06:27:42
    永春堂贏在轉(zhuǎn)角
    一種多方向?qū)Ч獍存I結(jié)構(gòu)設(shè)計
    電子制作(2016年1期)2016-11-07 08:43:05
    豐田凱美瑞240V車間隙警告蜂鳴器異常鳴響
    下一個轉(zhuǎn)角:邁出去 開啟“智”造時代
    浠水县| 定边县| 广饶县| 瑞丽市| 威海市| 潼南县| 龙岩市| 电白县| 富蕴县| 柳州市| 宁海县| 台南市| 景泰县| 社会| 长沙市| 吴堡县| 南宫市| 科尔| 亳州市| 文安县| 太康县| 株洲市| 南靖县| 贵阳市| 清水河县| 随州市| 泸州市| 偃师市| 禹城市| 平乐县| 东乡族自治县| 灵台县| 巴彦县| 洛川县| 十堰市| 江孜县| 山东省| 志丹县| 平原县| 随州市| 南宁市|