【《基于STM單片機(jī)的智能輪椅的語音控制系統(tǒng)設(shè)計(jì)》9200字】_第1頁
【《基于STM單片機(jī)的智能輪椅的語音控制系統(tǒng)設(shè)計(jì)》9200字】_第2頁
【《基于STM單片機(jī)的智能輪椅的語音控制系統(tǒng)設(shè)計(jì)》9200字】_第3頁
【《基于STM單片機(jī)的智能輪椅的語音控制系統(tǒng)設(shè)計(jì)》9200字】_第4頁
【《基于STM單片機(jī)的智能輪椅的語音控制系統(tǒng)設(shè)計(jì)》9200字】_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基于STM單片機(jī)的智能輪椅的語音控制系統(tǒng)設(shè)計(jì)目錄TOC\o"1-3"\h\u143311引言 3119261.1課題設(shè)計(jì)的背景 3234561.2課題設(shè)計(jì)的目的和意義 372641.3課題設(shè)計(jì)的預(yù)期成果 4213072主要器件和方案選擇 444242.1單片機(jī)的選擇 513942.1.1語音無線控制模塊單片機(jī)的選擇 5234102.1.2輪椅接收模塊單片機(jī)的選擇 6188572.2語音識別模塊的選擇 7223532.3無線通信模塊的選擇 8272912.4L298N電機(jī)驅(qū)動(dòng)模塊的選擇 9277552.5紅外線避障模塊的選擇 988713硬件電路設(shè)計(jì) 11166073.1硬件電路系統(tǒng)總框圖 1119573.2硬件各模塊電路 11252083.2.1語音識別模塊電路 11190063.2.2無線傳輸模塊電路 11228133.2.3STC11L08XE單片機(jī)模塊電路 1233533.2.4按鍵模塊電路 13301593.2.5電機(jī)驅(qū)動(dòng)模塊電路 13313233.2.6STM32單片機(jī)電路 1427183.2.7紅外線避障模塊電路 14128804軟件設(shè)計(jì) 16233524.1總程序設(shè)計(jì) 16174644.2無線遙控模塊程序設(shè)計(jì) 17212474.2.1STC單片機(jī)初始化 17108864.2.2LD3320芯片程序設(shè)計(jì) 17135164.2.3STC串口程序設(shè)計(jì) 18199924.2.4RNF24L01模塊程序設(shè)計(jì) 19229844.2.5無線遙控模塊主函數(shù)設(shè)計(jì) 20287204.3智能輪椅模塊程序設(shè)計(jì) 21327654.3.1各個(gè)GPIO口初始化程序 2164554.3.2串口程序設(shè)計(jì) 21283084.3.3PWM調(diào)速程序設(shè)計(jì) 21231834.3.4通用定時(shí)器3初始化程序設(shè)計(jì) 2294314.3.5NRF24L01程序設(shè)計(jì) 23256014.3.6輪椅運(yùn)動(dòng)程序設(shè)計(jì) 24129144.3.7智能輪椅主函數(shù)程序設(shè)計(jì) 24126785系統(tǒng)調(diào)試與功能分析 2526945.1無線語音遙控模塊硬件電路檢測 25318745.2無線語音遙控模塊串口測試 25288105.3智能輪椅模塊硬件電路檢測 26132255.4智能輪椅模塊串口測試 27217836結(jié)束語 28摘要本設(shè)計(jì)是一種基于STM32F103C8T6單片機(jī)的智能聲控避障輪椅,主要完成通過LD3320語音識別模塊接收用戶的語音命令或用戶直接通過按鍵輸入命令,然后通過NRF24L01無線模塊實(shí)現(xiàn)遙控器與智能輪椅之間的無線通信。輪椅收到遙控器傳來的指令,通過單片機(jī)控制輪椅底部的L298N電機(jī)來實(shí)現(xiàn)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、加速、減速等操作。智能輪椅在執(zhí)行指令時(shí),根據(jù)3個(gè)E18-D80NK紅外光電傳感器實(shí)現(xiàn)智能避障功能。文中對智能輪椅的硬件和軟件設(shè)計(jì)進(jìn)行了詳細(xì)介紹,硬件方面主要包括輪椅運(yùn)動(dòng)部分和語音識別遙控部分兩個(gè)模塊設(shè)計(jì)。軟件方面則是采用C語言進(jìn)行編程,采取模塊化設(shè)計(jì),方便修改。結(jié)果表明,智能輪椅系統(tǒng)的設(shè)計(jì)方法科學(xué),具有性能穩(wěn)定、速度快、靈活、安全可靠的特點(diǎn)。關(guān)鍵詞:STM32;智能輪椅;語音控制;紅外避障引言課題設(shè)計(jì)的背景殘疾不僅僅被認(rèn)為是一種限制和抑制個(gè)體缺陷、限制和參加的精神和身心狀況,它也是一種復(fù)雜的實(shí)踐現(xiàn)象,反映出一種個(gè)體的精神和身心特征和其所處的社會(huì)性質(zhì)之間的交織和影響。因此,任何類型的行動(dòng)障礙的個(gè)體都只能完全依賴輪椅來移動(dòng)他們自己。據(jù)研究人員稱,對于一個(gè)正常人來說,在家庭環(huán)境中駕駛輪椅是一項(xiàng)非常困難的任務(wù),因?yàn)檩喴问峭ㄟ^轉(zhuǎn)動(dòng)輪子來手動(dòng)控制的,對于殘疾人來說更是如此。四肢癱瘓者、截肢者和癱瘓患者不能使用傳統(tǒng)的帶有操縱桿控制的電動(dòng)輪椅。因此,他們在日?;顒?dòng)和活動(dòng)中需要他人的幫助?,F(xiàn)如今,由于事故受害者和老年人人數(shù)的增加,約15%左右的世界人口患有殘疾,1.1億至1.9億成年人患有嚴(yán)重殘疾ADDINNE.Ref.{DE4ACD23-252E-4A4C-A967-7418D367101C}[1]。截止2020年2月,中國累計(jì)殘障人士數(shù)量為8500萬人,約為中國人口總量的6.21%。對于成年人來說,獨(dú)立行動(dòng)是自尊的一個(gè)重要方面,在“自然老化”中起著關(guān)鍵作用ADDINNE.Ref.{E04DF5B4-386D-4E72-A858-18AA5170ACA1}[2]。例如,如果老年人發(fā)現(xiàn)走路或推著自己上廁所越來越困難,他們可能會(huì)減少這樣做的次數(shù),或者他們可能會(huì)減少飲水以減少排尿頻率。如果他們不能走路或推著自己走到便盆前,而在家中又不能經(jīng)常得到幫助,那么就有必要搬到一個(gè)更有利的環(huán)境(如輔助生活)。行動(dòng)受限是成年人功能受限的主要原因,據(jù)估計(jì),18至44歲的患病率為40/1000,85歲及以上的患病率為188/1000ADDINNE.Ref.{AEB69AF6-5406-417C-9FF4-242D5DECB4C4}[3]。課題設(shè)計(jì)的目的和意義隨著我國人口老齡化以及殘障人數(shù)的急劇上升,對于智能輪椅的市場需求也將繼續(xù)擴(kuò)大。開發(fā)一種功能多樣、操作方便、價(jià)格相對合理適中的多用途智能型輪椅,不但可以給更多的老年人提供一種性能優(yōu)異、安全可靠的交通工具,還能夠提高他們的生活水平。這項(xiàng)研究的目標(biāo)之一是幫助這些不能用手控制電動(dòng)輪椅。我們可以使用語音、面部方向、眼睛注視、頸部、手臂肌肉肌電圖信號、面部肌肉肌電圖信號或者無線舌顎接觸壓力傳感器等方法,這樣對一個(gè)身體殘疾的人來說,操縱輪椅就會(huì)變得十分容易ADDINNE.Ref.{81865639-E7F9-4DEB-A451-87C04D941615}[4]。雖然對于一個(gè)人來說,移動(dòng)他的臉和眼睛的方向十分便捷容易,但是有的時(shí)候臉和眼睛的不自然會(huì)導(dǎo)致輪椅控制失誤或者誤判。通過肌電圖、眼電圖或腦電信號進(jìn)行操作需要一定的技巧,而使用接觸式傳感器來測量這些信號又給用戶帶來了很大的心理負(fù)擔(dān)。另一方面,語音是一種自然的通信形式,因此語音是最簡單的接口之一。這個(gè)項(xiàng)目采用了一個(gè)語音識別模塊LD3320,可以識別用戶的語音命令,從而驅(qū)動(dòng)輪椅,解放了輪椅用戶的雙手。對于力弱的老年人和殘障人士來說,該智能輪椅可以通過語音來控制,可以做到獨(dú)立行動(dòng),減少對家人的依賴,可以很好的維護(hù)自己的尊嚴(yán),使得用戶對生活充滿希望以及對未來的展望。對于只是下肢殘疾的人來說,該智能輪椅也支持按鍵控制方式,按鍵控制方式相比起語音控制方式來說會(huì)更加靈敏快速。由于輪椅的用戶多是行動(dòng)不便的人,該智能輪椅還具有紅外智能避障以及緩加速與換減速的功能,大大的提升了該智能輪椅的安全性與穩(wěn)定性。課題設(shè)計(jì)的預(yù)期成果本文所設(shè)計(jì)的主要分為兩個(gè)部分:語音無線遙控部分和智能輪椅部分。語音無線遙控部分使用的是STC11L08XE型號單片機(jī),通過LD3320芯片自動(dòng)識別用戶語音,將識別到的指令通過NRF24L01模塊發(fā)送到智能輪椅部分。輪椅接收模塊的STM32單片機(jī)通過無線模塊接收到遙控模塊發(fā)送的指令,并根據(jù)接收到的指令驅(qū)動(dòng)電機(jī),輪椅運(yùn)動(dòng)方式包括前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、加速、減速等運(yùn)動(dòng)。在行駛過程中,實(shí)現(xiàn)了速度控制和智能避障。

2主要器件和方案選擇本章主要介紹語音控制智能輪椅的各個(gè)硬件與方案選擇。單片機(jī)的選擇該設(shè)計(jì)的語音無線遙控模塊采用的是STC11L08XE型號的單片機(jī),輪椅接收模塊采用的是STM32F103C8T6單片機(jī)。2.1.1語音無線控制模塊單片機(jī)的選擇語音無線遙控模塊的單片機(jī)并不需要太多的IO口,只需要將LD3320識別的語音的命令通過無線發(fā)送模塊發(fā)送至輪椅接收端即可,因?yàn)檫B接LD3320與NRF24L01所需的并不多,再加上7個(gè)按鍵,采用STC11L08XE單片機(jī)足以滿足所需。該單片機(jī)引腳分布如圖2-1所示。STC單片機(jī)可以作為快速語音無線電話遙控通信模塊的一個(gè)重要主控器和控制芯片,工作電壓在它可以直接控制到的范圍大約為3.6-2.4V,有8K的工作程序存儲(chǔ)器,它的指令代碼完美兼容了舊式的51單片機(jī),可廣泛應(yīng)用于快速語音無線通信等多種不同應(yīng)用技術(shù)場面,具有功耗低、速度快、超廉價(jià)、具有極度高可靠性以及抗干擾能力強(qiáng)等優(yōu)勢性能特點(diǎn)。其具有Flash閃存、1280B靜態(tài)隨機(jī)存取存儲(chǔ)器、2個(gè)定時(shí)器、串口、高速A/D轉(zhuǎn)換器、I/O口、看門狗、SPI接口,片內(nèi)高精度R/C振蕩時(shí)鐘及高可靠復(fù)位等ADDINNE.Ref.{012BCA9D-C3B1-4725-9DD7-CD843ADC3006}[5]。圖STYLEREF1\s2SEQ圖\*ARABIC\s11STC11L08X單片機(jī)引腳圖

2.1.2輪椅接收模塊單片機(jī)的選擇輪椅接收模塊的單片機(jī)需要較多的IO口,因?yàn)樗粌H同時(shí)需要額外連接一個(gè)NRF24L01模塊和一個(gè)L298N的電機(jī)控制模塊,還同時(shí)需要額外連接3個(gè)紅外避障系統(tǒng)模塊。因而采用STM32F103C8T6型號的單片機(jī)作為本模塊的主控芯片。該單片機(jī)引腳結(jié)構(gòu)如圖2-1所示。STM32F103C8T6其程序存儲(chǔ)器FLASH容量是64KB,RAM容量是20KB,有37個(gè)通用I/O口(PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1),4個(gè)16bit定時(shí)器(TIM1、TIM2、TIM3、TIM4),2個(gè)IIC,2個(gè)SPI,3個(gè)USART,1個(gè)CAN,工作電壓2V~3.6V,系統(tǒng)時(shí)鐘最高可到72MHzADDINNE.Ref.{FDE64AAB-384B-4BDD-962E-75B175C12E42}[6]。特別是其適合于對高穩(wěn)定、低負(fù)載功耗、實(shí)時(shí)性好的大型嵌入式操作系統(tǒng)進(jìn)行設(shè)計(jì)。圖STYLEREF1\s22STM32F103C8T6單片機(jī)引腳圖語音識別模塊的選擇語音自動(dòng)識別控制模塊的主要功能之一是通過自動(dòng)識別輪椅用戶語音信號對電動(dòng)輪椅行駛進(jìn)行自動(dòng)控制。由于輪椅的運(yùn)動(dòng)方式較少,所以該模塊要求能夠識別的指令并不需要很多,因此該系統(tǒng)采用的是LD3320語音識別模塊。語音識別(ASR)技術(shù)是基于“關(guān)鍵詞列表”的識別技術(shù),它主要是由于語言學(xué)家們分析大量的原語和語音特征數(shù)據(jù),對這些原語和語音特征數(shù)據(jù)都進(jìn)行了分析,構(gòu)成一個(gè)個(gè)數(shù)學(xué)模型,經(jīng)過多次反復(fù)的訓(xùn)練,統(tǒng)計(jì)得出每個(gè)原語的特點(diǎn)和語音數(shù)據(jù),然后再經(jīng)過算法和語音特征模型轉(zhuǎn)換到硬件芯片上ADDINNE.Ref.{F27CFCF3-9A2F-4AB5-9C65-5901A73E9109}[7]。實(shí)際上,每種ASR技術(shù)的語音識別處理過程都主要是通過信號頻譜將每位用戶的語音內(nèi)容轉(zhuǎn)化為成語音特性,然后將信號轉(zhuǎn)換后的語音特性與"關(guān)鍵詞列表"中的關(guān)鍵詞相匹配,最相似的列表將被視為識別結(jié)果ADDINNE.Ref.{E2DA8764-2B20-4774-A8C5-7876433D7328}[8]。LD3320引腳如圖2-3所示。語音識別芯片LD3320幾個(gè)特征如下:(1)非特定人識別,無需事前的技術(shù)訓(xùn)練及錄音,識別后的精度可以輕松達(dá)到95%。(2)實(shí)際操作時(shí)無須考慮使用任何外部的輔助芯片。(3)每個(gè)芯片最多可以設(shè)置50個(gè)候選標(biāo)識句,關(guān)鍵詞的內(nèi)容也可以動(dòng)態(tài)編輯和修改,因此系統(tǒng)可以支持多種應(yīng)用場景ADDINNE.Ref.{CDC40924-4D77-4BE2-8164-F6F2A312ED0B}[9]。正是因?yàn)長D3320芯片具有以上幾個(gè)特征,因而該系統(tǒng)采用LD3320作為語音識別模塊是十分合適的選擇。圖STYLEREF1\s23LD3320引腳圖無線通信模塊的選擇由于語音識別模塊需要安裝在較為靠近用戶嘴巴的地方,這樣語音識別更為準(zhǔn)確。因此語音識別模塊與輪椅接收模塊就要通過無線通信進(jìn)行連接。該系統(tǒng)采用NRF24L01芯片進(jìn)行語音識別遙控部分與智能輪椅部分的無線連接,芯片的引腳如圖2-4所示。NRF24L01是北歐公司近來精心研發(fā)和自主生產(chǎn)的一款采用FSK調(diào)制方式的無線通信芯片,集成了自己的一種增強(qiáng)型短中長時(shí)間無線突發(fā)通信協(xié)議,能夠直接自動(dòng)實(shí)現(xiàn)點(diǎn)對點(diǎn)或1對6無線通信ADDINNE.Ref.{08DEDE67-A730-436E-99A7-23212A3F3235}[10]。只要給單片機(jī)系統(tǒng)內(nèi)部預(yù)留5個(gè)IO口和1個(gè)中斷輸入引腳,就可以方便地使用這個(gè)模塊來實(shí)現(xiàn)無線通信功能,非常適合用來構(gòu)建單片機(jī)之間的無線通信功能ADDINNE.Ref.{6E228EDD-9772-44B9-AF1A-1B0CA740FAEB}[10]。因?yàn)镹RF24L01無線模塊一般的傳輸距離為5m,滿足了該系統(tǒng)無線近距離數(shù)據(jù)傳輸?shù)囊?,并且NRF24L01無線模塊能夠?qū)崿F(xiàn)自動(dòng)響應(yīng)以及內(nèi)置CRC檢錯(cuò),確保了數(shù)據(jù)可靠傳輸,具有低功耗等特點(diǎn),所以該系統(tǒng)采用NRF24L01模塊進(jìn)行無線通信。圖STYLEREF1\s23NRF24L01引腳圖2.4L298N電機(jī)驅(qū)動(dòng)模塊的選擇本文所設(shè)計(jì)的智能輪椅是由一個(gè)L298N芯片電機(jī)驅(qū)動(dòng)的,因?yàn)橐粋€(gè)L298N就可以同時(shí)控制兩個(gè)直流驅(qū)動(dòng)電機(jī)??芍苯油ㄟ^IO口向電機(jī)提供信號,PWM調(diào)速操作方便,電路簡單,性能穩(wěn)定,易于使能ADDINNE.Ref.{DF7CEA92-ECC6-41EC-8A10-8205D4D62860}[11]。本系統(tǒng)所設(shè)計(jì)的輸出電流為2A,輸出電壓為5V。該電路可與外部檢測電路連接,將其變化反饋到單片機(jī)。有四種直流電機(jī)控制的方式:正向/反向/制動(dòng)/停止,可以用PWM來調(diào)節(jié)直流電機(jī)速度ADDINNE.Ref.{255CE5E2-826E-41C6-9A71-8C159360F85C}[12]。市場上大部分輪椅都是依靠兩個(gè)輪子來承擔(dān)用戶身體重量,該智能輪椅也是采用了兩個(gè)輪子為主,前小輪子為輔的設(shè)計(jì)。這樣可以減小輪椅體積,滿足用戶在狹小房間內(nèi)活動(dòng)的需求。本設(shè)計(jì)主要是控制輪椅兩個(gè)主輪子進(jìn)行移動(dòng)。L298N功能模塊如表2-1所示。如果想要前進(jìn),那么只要通過IO口對L298N的兩個(gè)引腳進(jìn)行PWM調(diào)速即可。通過控制兩個(gè)輪子的轉(zhuǎn)速差即可輕松實(shí)現(xiàn)輪椅的轉(zhuǎn)向。表STYLEREF1\s2SEQ表\*ARABIC\s11L298N功能表ENIN1IN2運(yùn)轉(zhuǎn)狀態(tài)0××停止110正轉(zhuǎn)101反轉(zhuǎn)111剎停100停止2.5紅外線避障模塊的選擇安全性與穩(wěn)定性對于輪椅用戶可以說是最為關(guān)鍵的要素,因此本設(shè)計(jì)增加了自動(dòng)避障模塊。在本文總體設(shè)計(jì)中,實(shí)現(xiàn)自動(dòng)避障功能主要采用的是E18-D80NK型的光電傳感器,它是一種集發(fā)射和接收于一體的光電傳感器,將這個(gè)傳感器連接到單片機(jī)IO口,如果前方有障礙,則返回低電平至單片機(jī)ADDINNE.Ref.{7C3CCFEC-8221-4829-AC29-DE9324E434BD}[13]。該光電傳感器探測距離可根據(jù)需要調(diào)整,調(diào)整范圍為3cm~80cm,該傳感器同時(shí)具備檢測距離遠(yuǎn)、價(jià)格低廉、所受可見光干擾小、安裝便捷、使用方便等優(yōu)點(diǎn)ADDINNE.Ref.{263FB74A-7C3D-438C-A0D3-B33D3E6A209B}[13]。正是因?yàn)樵搨鞲衅骶哂幸陨蠋讉€(gè)優(yōu)點(diǎn),所以裝載在輪椅下方可以大大提高該設(shè)計(jì)的安全性。在許多設(shè)計(jì)產(chǎn)品中,大多數(shù)產(chǎn)品為了降低成本,只是在產(chǎn)品前方裝載了紅外線避障。而本設(shè)計(jì)裝載了3個(gè)紅外線傳感器,分別裝載在輪椅前方及側(cè)翻。這樣子的設(shè)計(jì)就避免了用戶在遇到障礙時(shí)通過轉(zhuǎn)向來判斷左右兩邊是否有障礙的場景,極大增強(qiáng)了該智能輪椅的安全性與穩(wěn)定性。硬件電路設(shè)計(jì)硬件電路系統(tǒng)總框圖本文所設(shè)計(jì)的智能輪椅主要包括無線語音遙控模塊和輪椅接收驅(qū)動(dòng)模塊兩個(gè)部分,系統(tǒng)總框圖如圖3-1所示。主要功能就是把通過語音識別或者按鍵產(chǎn)生的命令發(fā)送至智能輪椅模塊,智能輪椅根據(jù)命令執(zhí)行相應(yīng)的操作。圖3SEQ圖\*ARABIC\s11系統(tǒng)電路結(jié)構(gòu)總框圖硬件各模塊電路語音識別模塊電路圖32LD3320芯片原理圖無線傳輸模塊電路NRF24L01的基本編程工作控制原理圖如圖3-3所示,從使用角度來看,只需要關(guān)注六個(gè)控制和數(shù)據(jù)信號就能輕松使用該芯片,分別為CE、SCK、CSN、MISO、MOSI、IRQADDINNE.Ref.{86FAB9C0-5D1B-4C5B-B641-158B169EA5E0}[10]。本設(shè)計(jì)將這六個(gè)控制引腳連接到STC單片機(jī)上,從而將識別到的命令傳輸給輪椅。在運(yùn)行過程中,在初始化時(shí)要預(yù)先設(shè)置好無線模塊的狀態(tài),NRF24L01主要有以下幾種狀態(tài):RxMode:接收模式TxMode:發(fā)射模式Standby-1Mode:待機(jī)1模式Standby-2Mode:待機(jī)2模式PowerDownMode:掉電模式圖33遙控模塊NRF24L01原理圖3.2.3STC11L08XE單片機(jī)模塊電路STC11L08XE單片機(jī)部分IO口與無線傳輸模塊相連,部分引腳連接按鍵模塊,是語音遙控模塊的主控芯片。其原理圖如圖3-4所示。圖34STC單片機(jī)原理圖3.2.4按鍵模塊電路對于并未完全喪失簡單手動(dòng)控制能力的輪椅用戶來說,在較為嘈雜或者是不方便地使用自動(dòng)化的語音操作來控制輪椅的情況下,用戶通常都是采用一個(gè)按鍵控制的方法來對輪椅進(jìn)行手動(dòng)控制。采取按鍵自動(dòng)控制的操作模式可能更加迅速和安全。按鍵模塊電路如圖3-5所示。圖35按鍵模塊原理圖3.2.5電機(jī)驅(qū)動(dòng)模塊電路本設(shè)計(jì)中,L298N電機(jī)的IN1~IN4分別與STM32單片機(jī)的PB5~PB8相連,采用PWM輸出方式進(jìn)行調(diào)速。本設(shè)計(jì)是用通用定時(shí)器2來產(chǎn)生PWM,定時(shí)器3、4通道對應(yīng)的引腳為PA2和PA3,將這兩個(gè)引腳連接至電機(jī)的ENA與ENB。其原理圖如圖3-6所示圖36L298N電機(jī)驅(qū)動(dòng)原理圖3.2.6STM32單片機(jī)電路STM32單片機(jī)原理圖如圖3-7所示。圖37STM32原理圖3.2.7紅外線避障模塊電路三個(gè)紅外模塊分別連接至STM32的PB9、PB12、PB13引腳,可以非常方便的通過讀取這三個(gè)IO的值來判斷三個(gè)方向是否有障礙,從而智能輪椅做出應(yīng)對措施。該模塊原理圖如圖3-8所示。圖38紅外避障原理圖軟件設(shè)計(jì)語音控制智能輪椅的設(shè)計(jì)可以分為兩個(gè)部分:一是無線語音遙控部分,二是智能輪椅部分。無線語音遙控部分是通過Keil4C51軟件使用C語言進(jìn)行軟件程序設(shè)計(jì)、編寫、下載和調(diào)試,實(shí)現(xiàn)對LD3320芯片、按鍵模塊、NRF24L01無線傳輸模塊進(jìn)行配置及初始化。智能輪椅部分是通過Keil5軟件使用C語言編程,實(shí)現(xiàn)對STM32單片機(jī)、L298N電機(jī)、NRF24L01無線傳輸模塊、紅外線避障模塊進(jìn)行初始化及配置??偝绦蛟O(shè)計(jì)主程序工作流程框圖如圖4-1所示。圖4-1主程序流程圖本設(shè)計(jì)先是對兩個(gè)部分進(jìn)行相關(guān)初始化,然后兩部分都進(jìn)入等待階段。當(dāng)LD3320識別出用戶語音指令或者用戶按下按鍵時(shí),將通過RNF24L01將識別到的命令發(fā)送至輪椅接收部分。輪椅接收部分接收到命令,將根據(jù)命令對電機(jī)進(jìn)行驅(qū)動(dòng)。于此同時(shí),STM32通過中斷方式實(shí)現(xiàn)輪椅緩加速與緩減速,采用查詢的三個(gè)紅外線IO口的方式實(shí)現(xiàn)智能避障功能。無線遙控模塊程序設(shè)計(jì)STC單片機(jī)初始化因?yàn)樵搯纹瑱C(jī)有些引腳是準(zhǔn)雙向口,因此初始化時(shí)將所有引腳賦值為1,方便后后續(xù)讀寫這些IO口。將讀寫模式設(shè)為并行模式讀寫,接著開啟外部中斷1,通過中斷來響應(yīng)LD3320識別到語音命令。程序如圖4-2所示。圖4-2單片機(jī)初始化程序LD3320芯片程序設(shè)計(jì)LD3320復(fù)位程序如圖4-3所示。圖4-3LD3320芯片復(fù)位程序避免ASR識別過程出現(xiàn)異常,編寫了ASR識別流程函數(shù)。為了有效率地防止LD3320芯片由于軟硬件的各種原因而導(dǎo)致一些工作異常,所以本設(shè)計(jì)嘗試了芯片啟動(dòng)ASR信號識別的整個(gè)工作過程5次,大大增強(qiáng)了語音識別的穩(wěn)定性。其程序如圖4-4所示。圖4-4ASR識別函數(shù)LD3320芯片能夠錄入50條關(guān)鍵指令,本設(shè)計(jì)為了迎合用戶平常習(xí)慣,將命令口語化,將多條語音關(guān)鍵詞對應(yīng)一個(gè)執(zhí)行命令,使得語音識別更加精確,有利于產(chǎn)品在市場上快速推廣。用戶也可以根據(jù)自己的習(xí)慣將自身較為常用的習(xí)慣關(guān)鍵詞輸入到該列表中,大大增強(qiáng)用戶的滿意程度。其關(guān)鍵詞與識別指令對應(yīng)關(guān)系如表4-1所示。表4SEQ表\*ARABIC\s11語音識別關(guān)鍵詞列表語音輸入識別指令發(fā)送信息輪椅動(dòng)作加速/快一點(diǎn)/加快速度CODE_KFBYZ0xdf加速減速/慢一點(diǎn)/降低速度CODE_DMCS0xbf減速前進(jìn)/向前進(jìn)/往前走CODE_KD0xfe前進(jìn)后退/向后退/往后走CODE_GD0xfd后退左轉(zhuǎn)/向左轉(zhuǎn)/往左走CODE_BJ0xfb左轉(zhuǎn)右轉(zhuǎn)/向右轉(zhuǎn)/往右走CODE_SH0xf7右轉(zhuǎn)停止/停下/剎車CODE_GZ0xef停止STC串口程序設(shè)計(jì)初始化串口函數(shù)主要是為了調(diào)試代碼,因?yàn)樵谠O(shè)計(jì)過程中,通過計(jì)算機(jī)與無線遙控模塊之間的串口通信,可以清楚的知道無線發(fā)送模塊發(fā)送的命令是什么,其初始化程序如圖4-5所示。圖4-5STC串口初始化程序識別出指令后,在調(diào)試階段可以通過串口將指令發(fā)送到計(jì)算機(jī)上,便于代碼的調(diào)試。發(fā)送一個(gè)字節(jié)的指令代碼如圖4-6所示。圖4-6串口發(fā)送程序RNF24L01模塊程序設(shè)計(jì)初始化RNF24L01模塊,將所有的收發(fā)地址都設(shè)置成相同值,允許自動(dòng)進(jìn)行應(yīng)答,設(shè)定所有的接收地址數(shù)據(jù)的長度分別為32個(gè)字節(jié),清楚FIFO寄存器的值,其初始化程序如圖4-7所示。圖4-7NRF24L01初始化程序當(dāng)識別出指令后,將采用RNF24L01模塊將指令發(fā)送至輪椅接收模塊,其發(fā)送子函數(shù)如圖4-8所示。圖4-8無線發(fā)送指令程序4.2.5無線遙控模塊主函數(shù)設(shè)計(jì)nAsrStatus這個(gè)變量是用來表示語音識別程序正常運(yùn)行的狀態(tài),其值的特性如表4-2所示。表42nAsrStatus狀態(tài)表nAsrStatusLD3320運(yùn)轉(zhuǎn)狀態(tài)LD_ASR_NONE沒有在作ASR識別LD_ASR_RUNING正在作ASR識別LD_ASR_FOUNDOK一次識別后,有一個(gè)結(jié)果LD_ASR_FOUNDZERO一次識別后,沒有任何一個(gè)結(jié)果LD_ASR_ERROR識別錯(cuò)誤狀態(tài)主函數(shù)通過判斷nAsrStatus的值來執(zhí)行相應(yīng)的命令。當(dāng)處于正在識別或者識別錯(cuò)誤或者是沒有識別結(jié)果狀態(tài)時(shí),不做任何操作;當(dāng)處于空閑狀態(tài)時(shí),啟動(dòng)ASR識別流程,并判斷是否識別正確;當(dāng)識別出結(jié)果時(shí),獲取識別結(jié)果命令,進(jìn)入到User_handle子函數(shù),通過無線傳輸模塊將該命令傳輸至輪椅接收端,發(fā)送完成后將狀態(tài)改為空閑狀態(tài)。其主程序如圖4-9所示。圖4-9主函數(shù)程序當(dāng)識別出結(jié)果時(shí),獲取識別結(jié)果命令,進(jìn)入到User_handle子函數(shù)中,執(zhí)行相應(yīng)的子函數(shù)操作。User_handle子函數(shù)中執(zhí)行加速、減速指令的代碼如圖4-10所示。圖4-10User_handle程序當(dāng)識別出結(jié)果時(shí),獲取識別結(jié)果命令,進(jìn)入到User_handle子函數(shù)中,執(zhí)行相應(yīng)的子函數(shù)操作。User_handle子函數(shù)中執(zhí)行加速、減速指令的代碼如圖4-10所示。除了語言控制方式,本設(shè)計(jì)還增加了按鍵控制方式,將5個(gè)按鍵直接通過并聯(lián)的方式連接至STC單片機(jī),如果有按鍵被按下,就會(huì)將該按鍵所對應(yīng)的指令發(fā)送至輪椅接收端。按鍵模塊識別程序如附錄一所示。4.3智能輪椅模塊程序設(shè)計(jì)4.3.1各個(gè)GPIO口初始化程序STM32單片機(jī)在使用GPIO口前都需要對IO口進(jìn)行初始化,本設(shè)計(jì)的IO口初始化函數(shù)如圖4-11所示。圖4-11GPIO初始化程序4.3.2串口程序設(shè)計(jì)在輪椅接收端使用串口同樣是用于調(diào)試,將通過NRF24L01模塊接收到的指令通過串口發(fā)送至計(jì)算機(jī),使得程序運(yùn)行過程十分清楚明了。串口初始化程序如附錄二所示。4.3.3PWM調(diào)速程序設(shè)計(jì)本設(shè)計(jì)采用通用定時(shí)器2的兩個(gè)通道實(shí)現(xiàn)輸出兩個(gè)PWM調(diào)速信號,分別用于控制輪椅左右兩個(gè)電機(jī)的轉(zhuǎn)速,在主函數(shù)里只需要使用TIM_SetCompare3(TIM2,speed)和TIM_SetCompare4(TIM2,speed)這兩個(gè)函數(shù)就可以很方便的控制電機(jī)的轉(zhuǎn)速。PWM初始化如圖4-12所示。圖4-12PWM初始化程序4.3.4通用定時(shí)器3初始化程序設(shè)計(jì)輪椅運(yùn)動(dòng)模塊采用通用定時(shí)器3設(shè)置一個(gè)500ms的中斷,在該中斷中用簡易的代碼即可實(shí)現(xiàn)緩加速與緩減速的功能,大大的提高了輪椅運(yùn)動(dòng)的安全性。定時(shí)器3的初始化如圖4-13所示,其中斷函數(shù)如圖4-14所示。圖4-13定時(shí)器3初始化程序圖4-14定時(shí)器3中斷函數(shù)4.3.5NRF24L01程序設(shè)計(jì)在輪椅接收模塊,NRF24L01芯片主要設(shè)置為接受模式,接受來自無線語音遙控模塊發(fā)來的命令。NRF24L01采用的是SPI通信,所以要先對SPI初始化,代碼如圖4-15所示。接著再對NRF24L01進(jìn)行初始化,代碼如附錄三所示。圖4-15SPI初始化程序?yàn)榱藱z測NRF24L01是否正常工作,因此通過寫入和讀出5個(gè)字節(jié)的值來判斷其是否正常工作。檢查代碼如圖4-16所示。圖4-16NRF24L01檢測程序輪椅接收端的NRF24L01模塊應(yīng)該設(shè)置為接收模式,其代碼如圖4-17所示。圖4-17NRF24L01接收模式設(shè)置程序NRF24L01接收一次數(shù)據(jù)的代碼如圖4-18所示,其中rxbuf為接收首地址。圖4-18NRF24L01接收數(shù)據(jù)程序4.3.6輪椅運(yùn)動(dòng)程序設(shè)計(jì)輪椅接收到指令后將根據(jù)指令進(jìn)行運(yùn)動(dòng),前進(jìn)的子函數(shù)如圖4-21所示。圖4-21前進(jìn)命令子函數(shù)4.3.7智能輪椅主函數(shù)程序設(shè)計(jì)在主函數(shù)中,先對各模塊進(jìn)行初始化,然后根據(jù)NRF24L01所接收的內(nèi)容對輪椅進(jìn)行驅(qū)動(dòng),然后運(yùn)用簡單的判斷函數(shù)來實(shí)現(xiàn)智能避障,其主函數(shù)如附錄四所示。系統(tǒng)調(diào)試與功能分析無線語音遙控模塊硬件電路檢測根據(jù)原理圖,連接好各個(gè)模塊,如圖5-1所示。接通電源LD3320與NRF24L01芯片小燈都亮起,說明芯片正常工作。圖5-1無線語音遙控模塊實(shí)物無線語音遙控模塊串口測試將無線語音遙控模塊通過串口線連接至計(jì)算機(jī)的COM7端口,物理連接圖如圖5-2所示。圖5-2無線語音遙控模塊串口調(diào)試連接通過語音方式和按鍵方式都能執(zhí)行發(fā)送運(yùn)動(dòng)指令的程序,其發(fā)送的運(yùn)動(dòng)指令結(jié)果如圖5-3所示。圖5-3無線語音遙控模塊串口測試結(jié)果5.3智能輪椅模塊硬件電路檢測根據(jù)原理圖,連接好智能輪椅的各個(gè)模塊,如圖5-4所示。接通電源STM32、NRF24L01芯片以及L298N電機(jī)的小燈都亮起,說明三個(gè)模塊都正常工作。圖5-4智能輪椅模塊實(shí)物5.4智能輪椅模塊串口測試將智能輪椅模塊通過串口線連接至計(jì)算機(jī)的COM7端口,物理連接圖如圖5-4所示。圖5-4智能輪椅模塊串口調(diào)試連接首先開啟智能輪椅電源,智能輪椅會(huì)先發(fā)送0x01至計(jì)算機(jī),表示程序正常運(yùn)行。而沒有發(fā)送0x88,說明NRF24L01模塊正常運(yùn)行。接著通過無線語音模塊發(fā)送各個(gè)運(yùn)動(dòng)命令,該智能輪椅將接收到的命令通過串口發(fā)送至計(jì)算機(jī),結(jié)果如圖5-5所示。圖5-5智能輪椅模塊串口調(diào)試結(jié)果結(jié)束語本文完成了語音控制智能輪椅的設(shè)計(jì)。實(shí)現(xiàn)了無線語音和按鍵控制輪椅運(yùn)動(dòng)功能。本文從總體方案設(shè)計(jì)、硬件模塊設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)三個(gè)方面分析了智能輪椅控制系統(tǒng)的體系結(jié)構(gòu)、關(guān)鍵硬件模塊和主要軟件系統(tǒng),并詳細(xì)介紹了整個(gè)系統(tǒng)的詳細(xì)測試過程ADDINNE.Ref.{38626F7E-0084-4558-B06D-9DF44883BE23}[14]。設(shè)計(jì)中最重要的是語音模塊的開發(fā)和運(yùn)用,這是其他的語音系統(tǒng)無法比擬的,它可以隨意修改識別列表,結(jié)構(gòu)簡單,它可以被各種簡單的單片機(jī)驅(qū)動(dòng),移植十分方便,適用性強(qiáng),它簡直可以滿足幾乎所有語音電子產(chǎn)品的需求ADDINNE.Ref.{AF0D02A1-992B-4AC2-9B74-3D92DED938D1}[8]。其次就是無線傳輸模塊的開發(fā),使得遙控設(shè)備與輪椅運(yùn)動(dòng)設(shè)備之間的控制更加靈活。只需將命令發(fā)送到聲控遙控器,輪椅就會(huì)執(zhí)行命令。該軟件系統(tǒng)不僅其安全性高,而且其成本低,擴(kuò)展功能強(qiáng),并且具有很大的市場推廣價(jià)值和發(fā)展?jié)摿DDINNE.Ref.{5B0A38C2-0FE8-484C-8A6E-E148938871AA}[15]。本設(shè)計(jì)內(nèi)容雖然達(dá)到預(yù)期效果,但在測試過程中也發(fā)現(xiàn)了一些問題:(1)電池續(xù)航問題有待解決,本設(shè)計(jì)采用的是電源是通過1.5V的小電池串聯(lián)而成,電源更換起來非常繁瑣,應(yīng)該更換為充電式的電源會(huì)更加符合該產(chǎn)品的特點(diǎn)。(2)對輪椅控制的精確度不高。該輪椅行走精度可能沒有那么準(zhǔn)確,轉(zhuǎn)彎角度控制也沒那么精確。針對這個(gè)問題,下一步計(jì)劃優(yōu)化智能小車的控制算法來提高小車控制的精度ADDINNE.Ref.{1D0EC7FC-4D25-4A11-9E1C-2322A0D8243B}[16]。本設(shè)計(jì)具有很大的推行應(yīng)用價(jià)值和潛力。該系統(tǒng)只能控制輪椅做簡單前進(jìn)后退等功能,但是如果在現(xiàn)有模塊上,再加入室內(nèi)定位系統(tǒng),直接語音輸入另一個(gè)房間,那么智能輪椅就會(huì)規(guī)劃行進(jìn)路線,實(shí)現(xiàn)室內(nèi)自動(dòng)行駛功能,大大的降低了用戶使用難度,極大的提升了該系統(tǒng)的便捷性。其次,該智能輪椅用戶多數(shù)是針對沒有自我行動(dòng)能力的人群,因此可以加入健康監(jiān)測、遠(yuǎn)程看護(hù)以及遠(yuǎn)程通信等功能,這樣也可以減輕看護(hù)人的壓力,可以實(shí)現(xiàn)遠(yuǎn)程實(shí)時(shí)監(jiān)控患者。ADDINNE.RepADDINNE.Bib參考文獻(xiàn)[1] NikNurZuliyanaMohdRajdiNJ.IntelligentWheelchairControlPrototypeUsingVoiceRecognitionSystemforDisabledPatients[J].InternationalJourn

溫馨提示

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

最新文檔

評論

0/150

提交評論