【基于STM32的語音控制小車系統設計與實現7000字(論文)】_第1頁
【基于STM32的語音控制小車系統設計與實現7000字(論文)】_第2頁
【基于STM32的語音控制小車系統設計與實現7000字(論文)】_第3頁
【基于STM32的語音控制小車系統設計與實現7000字(論文)】_第4頁
【基于STM32的語音控制小車系統設計與實現7000字(論文)】_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGE24基于STM32的語音控制小車系統設計與實現目錄1TOC\o"1-3"\h\u19960前言 424422整體方案設計 5326372.1系統初步方案 5287002.2系統模塊選擇 53932.2.1主控器件選擇 5213292.2.2無線通信器件選擇 5317422.2.3直流電機驅動模塊選擇 6223612.2.4語音識別模塊選擇 6304222.2.5穩壓芯片模塊選擇 6119392.2.6直流電機模塊選擇 79242.3系統整體方案 746163硬件電路設計 9305753.1最小系統的電路設計 9110433.1.1復位電路 9252113.1.2晶振電路 1026983.1.3電源電路 1060853.2無線通信模塊電路設計 11206863.3語音識別模塊電路設計 12103383.4直流電機驅動電路設計 1245753.5整體電路設計 13245423.5.1小車電路設計 13252643.5.2遙控器電路設計 14120904軟件設計 15144144.1主程序設計 15184144.2語音識別模塊程序設計 16296054.3無線模塊程序設計 1638785實物與調試 1854745.1實物 1867525.2調試 1878135.3硬件測試 1926055.4調試過程遇到的問題 202718結論 2131740參考文獻 2221254附錄1電原理圖 25

前言智能小車是在普通小車的基礎上,為提高小車的的可用性、便捷操作性、安全性,多功能性,運用了無線技術、自動控制技術、語音識別技術等多種電子技術,將多種智能化的功能連結成一套可實現各種功能的智能系統。智能玩具車發展迅速,已經從原來單一的玩法變得多樣化。而隨著電子行業的發展,原來昂貴的智能電子器件也變得親民。所以在玩具的創新生產方面,也有著巨大的進步。越來越多的智能化玩具車走進了孩子們的生活。本文設計了一款以STM32作為核心控制芯片,運用NRF24L01無線模塊進行通信,其主要功能是運用無線的通訊方式對小車進行控制。文章先對智能小車的基本概念進行介紹,研究分析了國內和國外在智能車方面的發展現狀,體現出研究之鞥那車的意義,其次是對本設計的硬件選擇,電路設計,軟件設計幾方面進行詳細論述,并完成實物制作以及調試。第2章整體方案設計2.1系統初步方案根據設計任務要求,本文設計的語音控制四輪小車控制系統設計首先需要進行硬件設計器件選型、硬件電路圖繪制以及電路板焊接、軟件代碼設計以及整機系統調試驗證等共同完成,該設計主要由MCU模塊、電機驅動模塊、語音識別模塊、無線收發模塊、直流電機和電源模塊共同組成一套系統設計。初步方案框圖如圖2-1所示。圖2-1初步方案框圖2.2系統模塊選擇2.2.1主控器件選擇STM32和STC11L是應用十分廣泛的兩款單片機。STM32單片機是采用ARMCortex-M3為內核的32位處理器,有112個I/O口,多達11個定時器,有20k-1MB的ROM和8K-256K的RAM。STC系列單片機是一個高速低功耗超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051,但速度更快,內部繼承MAX810專用復位電路,2路PWM,8路高速10位AD轉換。綜合兩款單片機的性能以及設計需求考慮,由于本設計使用到的模塊較多,硬件分為兩個部分,一部分為語音發射端,不需要功能強大的STM32系列單片機,所以選擇了STC系列單片機。而另一部分為小車接收端,因為需要控制小車移動,因此需要使用一個處理速度更快,接口更豐富,功能更多的STM32來作為主控芯片。而在STM32的眾多產品中,STM32F1已經能夠滿足系統需求,因此最終決定采用STM32F103C8T6作為主控芯片。2.2.2無線通信器件選擇本設計選擇NRF24RL01無線藍牙模塊進行主從模塊設計,該模塊屬于2.4G到2.5G赫茲工作頻段,采用板載天線設計,并且可以通過單片機控制端口實現主從模式設計工作,該模塊傳出距離遠、成本低并且發射功率才幾個毫安,通常用于鼠標、游戲手柄以及門禁系統等。該模采用板載天線設計,使得整個模塊體積更小,更適合遙控器上使用。2.2.3直流電機驅動模塊選擇小車控制選擇直流電機進行設計;往往直流電機控制需要使用H橋電路進行控制直流電機轉動,市面上的H橋控制芯片很多,例如L298N,并且需要使用PWM來控制直流電機速度,直流電機轉速快,控制正反轉響應速度快;單片機通過控制H橋控制芯片即可控制直流電機方向。2.2.4語音識別模塊選擇語音識別模塊選擇市面上常用的LD3320模塊即可,該模塊成本低,模塊上自帶咪頭接口,并且該模塊具有抗干擾能力強,內部具有高級的語識別算法,對周圍噪聲干擾極小,單片機對語音模塊識別的命令進行解析,進行相應的功能處理。LD3320語音識別模塊價格比較低,功耗緊緊2個毫安左右。2.2.5穩壓芯片模塊選擇本設計選擇ASM1117低線性穩壓輸出芯片進行設計,該芯片固定輸出3.3V電壓,為32單片機和無線收發模塊供電,該模塊屬于低壓差設計,最小壓差緊緊做0.2V,并且輸出電流可以做到最大為250毫安設計,并且輸出紋波比較小,只有15微伏,價格也很便宜,只有1元錢,所以本設計選擇ASM1117穩壓芯片進行設計。2.2.6直流電機模塊選擇本設計選擇12V直流電機進行控制小車四個輪胎轉動,采用的直流電機屬于電壓控制器件,并且轉速最大為1000轉,屬于無刷直流電機,單片機通過控制驅動電壓即可改變直流電機轉速,小車轉動方向需要通過直流電機驅動芯片進行控制。選擇直流電機是因為轉速快,工作穩定,成本低。2.3系統整體方案根據設計目標,對語音聲控小車進行方案設計,并根據方案設計框圖進行器件選型功能,最終確定使用的核心器件來展開系統設計。本設計選擇STM32F103C8T6單片機作為小車核心控制器件,采用STC11L08XE單片機作為語音遙控核心器件進行設計,通過無線收發模塊NRF24LR01進行語音命令傳遞,采用雙H橋直流驅動模塊對直流電機進行驅動,并且采用LD3320語音識別模塊對語音識別。系統整體方案框圖如圖2-2。圖2-2系統整體方案框圖

第3章硬件電路設計3.1最小系統的電路設計本設計采用的處理器是ARM32位的Cortex-M3內核的嵌入式微控制器芯片STM32F103C8T6。該處理器具有成本低、性能強大、功耗低等多種優點。STM32F103C8T6的工作電壓是2V~3.6V,由LQF48引腳封裝,工作溫度在-40℃~85℃,帶8kb靜態內存和64kb閃存,和2個ADC和其他外設資源,他可以有效的減少設計的硬件成本。STM32F103C8T6核心芯片總共有40個引腳,并且每個引腳都對應相應的功能,要實現對環境中的采集、傳輸處理以及顯示數據,需要對應每個引腳的功能。本設計中使用到STM32的最小系統,主要包括STM32F103C8T6核心芯片、晶振電路、復位電路以及電源電路,用戶省去了進行設計外部電路的麻煩,減少了開發成本。提高系統的穩定性。STM32最小系統如圖3-1所示。圖3-1STM32F103C8T6最小系統圖3.1.1復位電路單片機的最小系統電路中復位電路起著重要作用,復位電路時單片機上電一瞬間給RST管腳一個由低到高的脈沖信號,使得單片機能夠正常啟動,通常設計復位電路有很多種,復位芯片、硬件看門狗復位電路以及阻容復位電路。為了節約成本又不失正常功能,選擇阻容復位電路進行設計。硬件電路中其實阻容復位就可以滿足需求;程序中增加獨立看門狗設計防止跑飛,但是通常硬件設計中也會為了防止單片機使用過程中處于跑飛或者死機狀態;我們常常再硬件設計時增加手動按鍵復位電路;具體復位電路如下圖所示:復位電路圖如圖3-2所示。圖3-2復位電路圖3.1.2晶振電路STM32單片機外部既有高速時鐘接口也有低速時鐘接口設計;本系統高速時鐘接口外接8兆赫茲無源晶體,并將無源晶體兩端接上負載電容;另外兩個引腳接到單片機高速時鐘引腳和低速時鐘引腳上,無源晶體引腳沒有方向性,如果程序中不涉及RTC時鐘可以不外接低速無源晶體;通常晶振電路如圖3-3所示。圖3-3晶振電路圖3.1.3電源電路本設計電路選擇4節18B50鋰電池串聯為整個系統供電;由于選用的直流電機為至少12V供電,并且直流電機工作電流比較大;單節18B50電池輸出最大1800mA的電流,可以滿足直流電機工作要求。同時4節18B50鋰電池串聯輸出經過LM7805降壓到5V為,并且在電源的輸入端接上一個100uF的電解電容作為濾波電容和儲能元件;再接上電源指示燈,在經過ASM1117穩壓芯片輸出3.3V為單片機最小系統以及無線接收模塊供電,電源電路如圖3-4所示。圖3-4電源電路圖電源電路中輸入端濾波電容的作用:輸入端選擇使用100微法的電解電容設計,意識保證了輸入電壓的穩定性、紋波小以及在后級負載瞬時電流比較大時,輸入端的電源供應不足需要通過100微法儲存的能量進行釋放給后級負載進行補充能量,這樣設計不至于后級負載電流過大將輸入端電壓拉死,導致電路不起作用。ASM1117降壓芯片輸出3.3V為整個單片機進行系統供電;輸入電壓選擇外7805輸出的5V供電設計;并接有C23為退偶濾波電容,防止電源紋波過大影響芯片輸出;并在輸出端也接有C21濾波電容設計,防止輸出端產生的干擾大影響單片機正常工作;所以電源電路設計非常重要,必須外接一些旁路、退偶和濾波電容進行設計,畫PCB時將這些電容放在電源輸入和輸出端口最近的位置。用示波器測量3.3V系統電源波形如下圖所示。從圖中可以看出,經過穩壓和濾波后的系統電源在3.35V左右,并且電源穩定,無干擾波紋,滿足設計要求。3.2無線通信模塊電路設計本設計選擇使用NRF24L01無線模塊進行語音控制命令收發工作進行設計,該模塊是NRODIC廠家生產的低成本、低功耗以及傳輸距離遠的藍牙模塊設計,該模塊硬件電路設計時需要在ANT1和ANT2管腳進行電感電容π型網絡匹配設計,π型輸出端接板載天線,板載天線設計時,需要按照蛇形設計或者倒F形天線設計,并天線設計內阻為50歐姆,NRF24L01硬件電路設計按照廠家推薦的典型電路進行繪制,無線模塊與單片機通訊接口采用SPI通訊方式進行設計,單片機通過控制MISO和MOSI管腳進行控制無線模塊為主模式或者從模式通訊方式設計,本設計采用兩個模塊進行設計,一個作為主模式用于接收語音遙控器上的控制命令,另一個作為從模式放在語音遙控端,用于發送語音控制命令。電路圖如圖3-5所示。圖3-5無線模塊電路圖3.3語音識別模塊電路設計本設計需要通過語音識別來控制小車前進、后退、左轉、右轉以及倒車等操作,語音識別我們選用市面上價格低廉,功能強大的LD3320語音識別模塊進行設計,該模塊內部自帶MIC接口設計,主要是當人對著MIC說話時,來識別不同的聲控命令,通過STC1108XE單片機對語音信號信息處理,處理成識別的指令并通過語音識別模塊的串口發送到單片機的RX接收端,單片機根據接收到不同指令進行處理不同的功能,該模塊硬件設計非常簡單,接上電地管腳以及通訊端接到單片機的RXD管腳即可工作。圖3-6語音模塊電路圖3.4直流電機驅動電路設計本設計需要控制小車加速、倒車等操作。小車加速是通過控制直流電機的轉速來實現這一要求,本設計通過PWM波控制直流電機轉速,我們按照固定頻率使得直流電機電源斷開和接通,并按照一定的周期改變接通和斷開直流電機的時間比值,也就是占空比調節改變直流電機電樞上的電壓平均數據。在PWM波控制中直流電機是有電時轉速增加,斷電時轉速減小,在一定周期內通過改變上電和掉電的時間比來改變直流電機的轉速;這樣調試因為PWM波控制起來比較穩定更加安全,采用PWM波控制直流電機這樣這樣設計使得直流電機平均電流比較小更加節省功耗。為了進步讓直流電機旋轉更加穩定運行,人們開始電路控制器件,直流電機控制電路一般通過H橋電路進行控制;這種電路可以通過單片機直接輸出PWM波來改變電機電樞上的平均電壓;例如生活中使用的兒童玩具車就是通過H橋電路控制。H橋電路主要是通過四個三極管和中間被控制設備電機組成;三極管設計時擺放在電機四個腳上,電路連接完成后形狀類似字符H,所以叫H橋型控制電路設計。本設計選用12V供電的直流電機控制小車前進后退等操作;直流電機驅動電路選擇H橋控制芯片進行設計,該芯片型號為L298N;單片機控制L298N的四個輸入端即可控制直流電機的正傳反轉操作,將OUT1到OUT4接上直流電機,直流電機驅動電路圖如圖3-9所示。圖3-7直流電機驅動電路圖3.5整體電路設計3.5.1小車電路設計基于STM32的語音控制四輪小車整體電路設計如圖3-13所示。圖3-8小車整體電路圖3.5.2遙控器電路設計基于STC11的語音遙控器整體電路設計如圖3-13所示。圖3-9遙控器整體電路圖第4章軟件設計4.1主程序設計本設計通過單片機控制H橋芯片L298N進行前進、后退等狀態,該芯片屬于雙H橋控制電路;單片機通過控制輸入端和使能端就可以控制電機轉動。單片機通過PWM來調節小車的速度,來實現加速減速等操作,32單片機采用內部定時器輸出PWM功能,所以采用單片機定時器控制H橋芯片的IN1和IN2的高低電平的時間,來調整小車的轉速和方向,編寫代碼時首先端口配置、定時器配置,最后根據定時時間改變占空比控制小車前進、后退,左轉以及右轉、停止操作可以按照電機控制表命令進行設置,具體程序流程圖如下所示。圖4-1主程序流程圖4.2語音識別模塊程序設計本設計使用語音識別功能來控制小車前進、后退、左轉右轉等操作,根據設計要求首先識別聲音信號通過語音模塊上的MIC進行控制,并將識別的信號通過串口傳遞給單片機,單片機收到相應的命令進行控制小車動作,編寫程序時首先對單片機串口進行初始化操作,設置波特率為9600并且8位數據位、一位停止位,在串口中斷中按照語音識別模塊兩級命令格式進行解包處理,按照不同的命令控制小車工作,具體程序流程圖如圖4-2所示。圖4-2語音識別流程圖4.3無線模塊程序設計本設計選用無線模塊NRF24L01進行語音命令發送和接收操作,語音遙控器端單片機通過將語音模塊解析的控制命令通過SPI通訊的方式將命令寫入到NRF24L01模塊的藍牙廣播包中,小車控制端藍牙主模塊通過與從模塊建立連接后,藍牙模塊上的連接指示燈點亮,小車控制端的單片機通過SPI控制方式讀取NRF24L01主模塊接收到命令,通過接收到的命令進行解析,根據命令判斷小車如何工作。顯示程序流程圖如圖4-3所示。圖4-3無線模塊程序流程圖

第5章實物與調試5.1實物基于單片機的聲音控制小車系統設計調試過程一般為硬件調試、軟件調試和整機系統驗證工作,來驗收制作的產品是否符合設計要求和設計目標。系統調試過程是為了驗證軟硬件設計的功能和性能是否滿足設計要求。接下來主要講解整機調試過程,焊接好的語音遙控器和小車實物如下圖所示。接受端小車實物如圖5-1所示,發射端如圖5-2所示。圖5-1接收端小車連接圖圖5-2發射端遙控器圖5.2調試硬件電路調試,按照設計的原理圖使用洞洞板焊接電路,首先使用萬用表測量電路中電容是否短路、在測試各個連接線是否存在斷路現象,進行逐一排查。檢測好之后將電路板上電,測量各個芯片輸出電壓是否正確;按照原理圖測得各點電壓輸出正確,硬件調試完成后開始源代碼編寫。首先按照編寫軟件建立工程代碼,開始編寫語音遙控器控制程序,單片機通過對語音模塊識別后進行解析,將藍牙模塊設置成發送模式,并且將語音控制命令通過SPI控制方式寫入到藍牙模塊中,進行藍牙廣播發送;小車控制端將藍牙模塊設置為接收模式,上電初始化后等待藍牙模塊建立連接,連接成功后對小車控制端藍牙模塊命令獲取,根據收到不同控制命令,單片機通過定時器PWM調速以及L298N接口控制小車行駛方向,各部分功能模塊驗證沒有問題后開始軟件代碼詳細編寫來實現具體功能。5.3硬件測試步驟1:將電池安裝到電池盒中,按下開關按鍵給整個系統供電,此時電機驅動模塊上運行指示燈點亮如下所示。圖5-2上電顯示步驟2:語音模塊驗證,對著語音模塊首先喊小車,此時語音識別模塊上的語音識別指示燈點亮,說明語音識別模塊功能正常,如圖5-3所示。圖5-3語音識別模塊驗證步驟3:接著對著語音遙控器喊小車“(前進)”、“(左轉)”、“(停止)”、“(右轉)”、“(后退)”進行控制小車工作;下車會按照相應的指令運行。圖5-4語音遙控小車工作整個系統功能驗證完畢,各部分功能模塊設計合理,藍牙模塊接收數據準確、小車控制正確、語音識別信息正確、經過調試使得設計達到了預期的效果。5.4調試過程遇到的問題1.電壓輸出不正確,發現連接線斷路,重新焊接,問題解決。2.調試軟件時,發現下車不轉,直流電機接線虛焊,重新焊接。3.遙控器控制小車不啟動;發現語音識別命令解包錯誤更改代碼解決。結論本畢業設計為基于單片機的語音控制小車系統設計,主要使用單片機(STM32)做核心控制芯片,L298N大功率H橋驅動電機控制,高精準的語音識別模塊LD3320進行語音識別來控制小車各個方位動作,以及采用無線藍牙模塊進行遠程通訊設計,實現了語音遠程控制小車的功能,使用這些模塊設計了一款完美的語音識別控制小車,一定會深受家長和兒童的喜愛。本設計還存在一定的不足之處,可以增加一個前方障礙物檢測模塊,對前方距離進行檢測,當到達最近距離時直接停止小車轉動,避免小車控制不及時撞壞的風險。在這幾個多月的設計過程中,我不斷的學習和研究硬件軟件相關內容。在開始設計之前,先搜集有關顯示屏、單片機等的資料,對國內外的小車控制的工作原理及制作方案等進行了解,準備好專業書籍做參考。為了能掌握最新的發展動態,經常上網查閱科技期刊、專利文獻等,以便少走彎路,借鑒一些比較成功的案例。通過各種資料的查找,我牢固掌握如何檢索所需要的信息。通過本次畢業設計,使我在編程軟件、繪圖軟件上更加熟悉,對元器件的選型有一定的了解,并增強了自己的動手能力,對

溫馨提示

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

評論

0/150

提交評論