兒童智能陪伴機器人設計_第1頁
兒童智能陪伴機器人設計_第2頁
兒童智能陪伴機器人設計_第3頁
兒童智能陪伴機器人設計_第4頁
兒童智能陪伴機器人設計_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-1-計的方向,從而了解到了父母們在孩子們的心理層次上對兒童陪同機器人的需要。[3]2021年,AhmadYaserAlhaddad;John-JohnCabibihan在《InfluenceofReactionTimeintheEmotionalResponseofaCompanionRobottoaChild’sAggressiveInteraction》文章中講到目前兒童機器人產(chǎn)品主要功能大致分為教育、娛樂與陪伴三種。[11]2020年,AndreaBonarini在《emotixLaunchesNextGenerationEmotionallyIntelligentCompanionRobotforChildrenintheU.S.Market》多指標、多因子的綜合評估是當前評估方法研究的主流方向。[12]AHP方法通過對問題進行分解,找出每一個構成要素,然后按照不同的層次進行展開,從而得到一個多層次的層次。2021年,JordiAlbo-Canals、DanielleFeerst在《ACloudRoboticSystembasedonRobotCompanionsforChildrenwithAutismSpectrumDisorderstoPerformEvaluationsduringLEGOEngineeringWorkshops》文章論述了產(chǎn)品的外觀設計,提出了產(chǎn)品的材料,顏色搭配,外觀造型三大元素;在用戶的使用感受方面,提出了三大元素:堅固耐用,按一下喚醒,智能關閉;在功能方面,本文提出了三個元素:語音互動、早期教育資源和應用程序遠程監(jiān)控。[13]1.3研究內(nèi)容系統(tǒng)以單片機技術、無線傳輸技術、電機控制技術、安卓應用技術等為基礎,設計出了一款基于單片機的語音聲控藍牙機器人。該系統(tǒng)以STM32F103C8T6為控制核心,以HC-05藍牙通訊模塊為主要功能,以L293為驅(qū)動單元,以L293D為驅(qū)動單元,完成對機器人的控制;利用LD3320漢語識別模塊,對用戶發(fā)出的人類聲音指令進行采集,這樣就能用聲音對機器人下達前進,后退,左右轉(zhuǎn)彎的命令,機器人能向前,能向后,能向左,能向右,還能向右轉(zhuǎn)彎。該系統(tǒng)應完成的主要功能有:1.可發(fā)送下位機指令完成擬生表情;2.可發(fā)送下位機指令完成移動功能;下位機:1.機器人可與兒童語音對話;2.機器人可完成早教問答;3.機器人可接收語音控制;4.機器人可接收上位機指令完成移動;5.機器人可接收上位機指令完成擬生表情;6.機器人具備防撞功能;第2章系統(tǒng)整體方案設計2.1系統(tǒng)整體方案設計本次兒童智能陪伴機器人設計的核心思想是交互,所以我選擇使用語音模塊來進行實現(xiàn)。當孩童向機器人發(fā)送語音命令的時候,機器人可以相應的做出一系列語音回復及動作反應。機器人的移動方案通過L293D電機驅(qū)動芯片實現(xiàn)機器人的驅(qū)動控制。系統(tǒng)上位機和下位機的通信使用HC-05藍牙模塊負責實現(xiàn)控制指令的接收與發(fā)送。機器人用傳感器進行障礙物檢測,當機器人前有障礙物,可以有效識別,實現(xiàn)防撞功能。該系統(tǒng)以STM32F103C8T6為控制核心,以HC-05藍牙通訊模塊為主要功能,以L293為驅(qū)動單元,以L293為驅(qū)動單元,完成對機器人的控制;利用LD3320漢語識別模塊,對用戶發(fā)出的人類聲音指令進行采集,這樣就能用聲音對機器人下達前進,后退,左右轉(zhuǎn)彎的命令,機器人能向前,能向后,能向左,能向右,還能向右轉(zhuǎn)彎,同時系統(tǒng)利用LCD12864顯示屏顯示表情來實現(xiàn)機器人完成擬生表情模擬的功能,利用HC-SR04超聲波傳感器進行檢測障礙物,當機器人遇到障礙物,可以有效識別障礙物,實現(xiàn)防撞功能。系統(tǒng)整體框圖如下圖2.1系統(tǒng)整體方案框圖

2.2系統(tǒng)元件選型2.2.1主控芯片的選擇方案一:采用了AVR單片機.AVR系列單片機系統(tǒng)是在上個世紀九十年代中期由ATMEL公司生產(chǎn)的,通過對單片機系列技術的擴展,開發(fā)出了一套增強型、穩(wěn)定、高效地內(nèi)置三維動畫系列的單片機系統(tǒng),該單片機通過使用高速8位指令集系列參數(shù)進行研發(fā)。在微電腦微創(chuàng)、醫(yī)療、軍事、精密儀器與裝備等領域有廣泛的應用。然而,這種單片機系統(tǒng)在編程方面與其他C語言有很大區(qū)別,而且對C使用者也不太友好。方案二:以STC89C52為核心的單片機作為控制核心;STC89C52是本文研究的第一個目標。STC89C52是一款很簡單的單片機,是很多新手都會從這里開始,也是最容易上手的單片機。8位處理器雖然具有更高的處理速率,但因為它只有一套串行端口,因此只好舍棄這個單片機。方案三:提出了一種以STM32F103C8T6為核心的傳感器??梢詫崿F(xiàn)對傳感器回傳數(shù)據(jù)進行采集和處理的功能,STM32具有多種功能,具有豐富的接口,技術成熟,應用場景廣泛,而且處理速度快。因此STM32具有很高性價比在對上述三個選擇進行了認真的分析之后,我們在綜合考慮了項目的優(yōu)勢和劣勢之后,選擇了第三個選擇。2.2.2語音模塊的選擇對于語音模塊的選擇,設計思路是選擇兩種語音模塊進行設計,一個用來實現(xiàn)接收語音信號實現(xiàn)機器人的控制,一個用來實現(xiàn)機器人的智能答復。1.語音控制方案選擇方法一:使用陵陽公司的SP61軟件開發(fā)平臺。陵陽公司的SP61是一款具有代表性的聲音控制面板。在此學習板上整合了MIC,能夠收集說話生硬,并通過收集識別出的語音并提取出關鍵信息,最后用算法與其中的語音詞匯進行比較,來判定是否成功。最后由MCU輸出輸入輸出信號。本發(fā)明所述的學習板所提供的語言指示,是固定于學習板中,僅能實現(xiàn)簡單的語言控制。無法更改條目,限制很多。方案二:采用LD3320語音識別模塊。該系統(tǒng)采用了M-LD3320漢語識別模組,采用話筒感應空氣中的震動,并對其進行信號去噪,以獲取有效的聲音訊息。在此基礎上,將語音輸入到語音模塊中,再將語音輸入到語音模塊中,實現(xiàn)了語音識別,并將其輸出。通過以上的分析可以看出,陵陽科技公司的單音節(jié)不能自行進行修改,因此使用起來較為困難,而智能僅能滿足基礎的辨識;LD3320語音識別模塊能夠?qū)λR別的語音進行任意設置,并且能夠?qū)λR別的語音進行任意修改,所以它更符合我們的實際需求。所以選擇方案二。語音答復方案的選擇WT588D是一種具有可擦寫功能的語音微控制器,它使語音微控制器無需再去尋找相應的外設電路。WT588D本身就有足夠的高集成度的處理器來取代復雜的環(huán)境控制電路。對WT588D語音晶片上的個人電腦進行軟件操控。通過這種方法,我們可以在WT588D芯片上實現(xiàn)對其控制的任何修改。此外,WT588D語音芯片所需的軟件操作也十分簡單,容易理解,可以利用語音組合技術,來極大地降低語音的合成編輯時間。WT588D話音芯片具備三線串行控制方式,可根據(jù)傳輸?shù)馁Y料,轉(zhuǎn)換成三線串行控制方式,擴展輸出方式。在話音結(jié)束后,也將立刻進入睡眠模式,其內(nèi)部的程序?qū)氐椎年P閉。它的編程也采用了單片機編程的方法,無需進行以前繁瑣的匯編思考。2.2.3電機驅(qū)動模塊的選擇方案一:采用S8550三極管驅(qū)動。三極管價格便宜,通常是用來放大小信號的。因此,三極管的驅(qū)動力很小,對機器人手臂來說,能提供足夠和穩(wěn)定的扭矩輸出是十分有限的。雖然使用了由多個三極晶體管組成的H形驅(qū)動速度調(diào)節(jié)回路,但并不是僅有一臺速度調(diào)節(jié)電機來完成速度的正向傳遞和自動反轉(zhuǎn),而是需要一臺速度調(diào)節(jié)電機來完成速度的正向傳遞和自動反轉(zhuǎn),并且這將增加驅(qū)動回路的復雜性,增加發(fā)生故障的幾率。方案二:采用L293D模塊。L293D是一款16引腳的集成電路,用于電機的驅(qū)動,一般用于電機負載。在實際應用中我們發(fā)現(xiàn),與多數(shù)芯片相比,電機在正常工作時所需要的電流是很大的,而為了驅(qū)動較大的負載,L293D內(nèi)部集成了兩個H橋,這種設計使得它能夠為機器人的電機提供澎湃的動力。其接線簡便、可靠性高。對比兩個方案,根據(jù)實際情況,我們選擇了后者。2.2.4藍牙模塊的選擇方案一:HC05藍牙通信模塊。HC05模塊既可以作為從機也能作為主機,它的工作模式是:主、從、回環(huán)三種,通過AT指令,我們可以對藍牙模塊進行控制,在工作狀態(tài)之間進行切換、改變波特率和匹配口令等等,它的使用非常便捷,而且它的電源電壓和波特率范圍都比較廣泛。支持Bluetooth4.0,具有下行兼容性,其傳輸頻率是2.4GHz,更多人使用。而且,他已經(jīng)用過這一招了,對這一招還算得心應手。方案二:JDY-31藍牙通信模塊。雖然JDY-31藍牙模組具有AT指令,但是T指令沒有HC05那么多樣,所以它只能起到一個從屬的作用。這款手機是以藍牙3.0為基礎的,與HC05相比,這款手機顯得有些過時了,并且在1.8到3.6V之間提供了更多的選擇。經(jīng)過以上的分析,這樣就更符合我們的實際需求了。所以選擇方案一。2.2.5顯示模塊的選擇系統(tǒng)使用顯示屏模塊顯示圖形來完成機器人完成擬生表情模擬的功能。方案一:LCD1602顯示屏LCD1602是一種點陣型LCD組件,多用于顯示字母,符號等。它是由5X7、5X11等多個點陣構成的,每一個點陣都能顯示出一個文字,每一個文字與每一個文字之間都有一個點與行之間的空隙,這也是為什么這個文字并不是很好的原因。方案二:LCD12864顯示屏128x64是一種點陣圖形LCD,中文顯示,4位/8位并行,2行或3行串行,內(nèi)建有國家標準一二級簡體中文LCD。該軟件分辨率128x64,包括8192個16x16字符和128個16x8ASCII字符集,使用方便,使用簡便,能構造一個全中文的人機交互式界面可實現(xiàn)8×4線路,16×16格漢字,并具有圖形化功能,且具有低功耗、低功耗等顯著特性。與同類型的圖形點陣LCD模塊相比,采用該方法制作的LCD在硬件結(jié)構和顯示程序方面都要簡單,同時其成本也要低于相同類型的圖形點陣LCD模塊。經(jīng)上述分析,因此比較適合我們的實際需要。我們選擇方案二。

第3章系統(tǒng)硬件電路設計3.1STM32最小系統(tǒng)設計智能聲控藍牙機器人的控制核心電路是以STM32系列單片機系統(tǒng)為核心電路,結(jié)合外部設定的時鐘電路、供電信號電路、復位電路等信號,對合成模塊進行控制,完成鍵盤掃描、模塊信號的處理以及電機驅(qū)動等工作。其中,微型單片機系統(tǒng)是以微型單片機為核心,承擔著探測、處理和控制數(shù)據(jù)的重要作用。3.1.1STM32F103內(nèi)部結(jié)構STM32F103系列微控制器采用ARM-7核,由于其具有32位指令系統(tǒng),所以具有很高的運算速度。32單片機的時鐘橋接器的最高速率可達72兆赫,并且32具有更大的內(nèi)存,可儲存一萬多行程序。此外,32單片機有許多的引腳,多數(shù)應用場景它都可以承受,且這些引腳都有八種模式,在使用中可以根據(jù)實際需要調(diào)整模式以獲得較好的擴展功能。STM32F103系列微處理器內(nèi)部結(jié)如下所示:圖3.1STM32F103內(nèi)部結(jié)構圖從上圖可以看出,STM32處理器系統(tǒng)包含兩大單元,分別為四個被動控制系統(tǒng)單元和四個驅(qū)動系統(tǒng)化單元,這兩大單元相輔相成,構成了常有的處理器系統(tǒng)。除了圖中的32單片機,還有豐富的外設,比如:Can總線,數(shù)模模數(shù)轉(zhuǎn)換,定時器,SPI,IIC等等。3.1.2STM32最小系統(tǒng)電路設計IC設計中最少系統(tǒng)的工作結(jié)構原則和它的方塊圖,如下圖本表3.2所示:圖3.2最小系統(tǒng)電路原理圖由上圖我們可以得到如下信息:STM32最小系統(tǒng)不只有一個單片機,它的時鐘電路,復位電路和串口也是它的重要組成部分。其它的外接裝置可與其余的輸入輸出端口相連。(1).晶振時鐘電路系統(tǒng)時鐘電路的主要功能是提供節(jié)拍,單片機是在嚴格的時序下進行工作的,假如晶振電路不能精確地進行操作,而使單片機不能正常地工作,所以,系統(tǒng)時鐘對單片機的重要性不言而喻。系統(tǒng)時鐘的電路設計如圖3.3所示:圖3.3系統(tǒng)時鐘電路圖在時鐘電路中,我們選用8M的晶振。(2).復位電路復位電路的設計如圖3.4所示:圖3.4復位電路圖在本實驗中,我們采用的自發(fā)式調(diào)整法,即在低電平時,對其進行自動復位。從圖中可以看出,當一個新的按鍵自動懸掛時,其rst腳引腳上的輸入為一個高,當一個新的按鍵自動關閉時,rst引腳被拉低,這時單片機即已復位。3.2LD3320語音識別模塊電路設計3.2.1LD3320語音識別模塊介紹在本系統(tǒng)中,采用LD3320語音控制模塊來完成語音控制功能。本模塊內(nèi)有一個語音采集MIC,它在采集到一個聲音信號后,將其放大,從而得到一個最有可能被獲取的有效信號,然后和MCU儲存的聲音信號相比較,最后識別出一個除音結(jié)果。本模塊采用3.3V供電,也可采用外部5V控制電路供電,通過2*20上的數(shù)據(jù)排針,可實現(xiàn)對LD3320控制芯片連接管腳的快速引出。LD3320語音模塊實物圖如下圖3.5所示圖3.5LD3320語音識別模塊實物圖3.2.2LD3320模塊主要特征有:(1)LD3320通過一個芯片,實現(xiàn)了對控制音頻和遠程視頻線之間的數(shù)據(jù)傳輸,便于數(shù)據(jù)系統(tǒng)進行信號的輸入和輸出,通過一個與相應設置相匹配的外部大容量電容,結(jié)合電路中的實際電阻和其他阻抗參數(shù),實現(xiàn)了對一個輸入和輸出的控制。(2)按照適應性需求,LD3320系統(tǒng)組件設置了聲音及聲音控制頻率的各種參量,并將外界的信息經(jīng)由一個數(shù)據(jù)輸出聲音端口與之相連,從而將mic的外界聲音訊號及mispeaker的聲音訊號以一種讀法直接從讀出的方法中提取出來。用戶可以在任何時候,按照需要,通過帶有話筒的手持耳機來進行確認和聲音的回放,非常方便。(3)m-ld3320模組上方?jīng)]有DC功率電路控制輸出晶片,相應的DC功率輸出管腳是從模組的排線頭上引出來的,在模組開發(fā)人員的聯(lián)絡下,獲得3.3V的DC功率管腳。(4)在M-LD3320系統(tǒng)話音校準組件上,對引腳的協(xié)調(diào)輸入與輸出是由CLK輸入組件完成的,而在此過程中,由排針器系統(tǒng)線將晶體振蕩模擬電信號控制模式輸入至預先設置好的LD3320對應的數(shù)據(jù)傳送引腳中。使用者按照所需的電路數(shù)目,自己對晶體振子進行焊接,此模塊上會按照使用者的不同需要,預留出許多具有各種功能的晶體振子預留的空間以及數(shù)據(jù)的焊接連接點。3.2.3LD3320語音識別模與單片機接口電路本設計中LD3320的語音模塊的輸出與單片機的PB13PB14PB15接口相連接。電路圖如下圖3.6所示。圖3.6LD3320語音模塊接口電路圖3.3WT588D語音模塊電路設計在WT588D中,MCU與WT588D的話音處理芯片只需少量的連線線路。P3.7連接到用于對WT588D進行門控或不控的芯片選擇引腳RESET,P3.5連接到用于讀取來自WT588D的用于對輸出聲音進行定位的串行輸入引腳VSDA。P3.3與WT588D的串行時鐘管腳VSCL相連,WT588D芯片所需的另一種連接方式是:AUDOUT,它經(jīng)由一個濾波器電容器與揚聲器相連,AMCAP是一個自動消音端,在使用時經(jīng)由一個電容器與地面相連。另外,因為WT588D的工作電壓是3V,而MCU對電源的要求是5V,所以就必須通過一個變壓電路來獲得3V的電源電壓。語音芯片模塊電路原理圖如圖3.7所示:圖3.7語音芯片模塊電路原理圖3.4L293D電機移動模塊L293D是目前應用最廣泛的一款馬達驅(qū)動芯片。大家都知道,馬達對晶片的負荷很大。也就是說,在這塊晶片里,有兩個高功率的H橋。在這個方向上,有四對三極管,兩對組成一個H型橋接器。這種結(jié)構使得這種裝置能夠給機器人的馬達帶來巨大的能量。在線路上也更簡潔,更穩(wěn)定。在與單片機相連時,僅需要六條線路相連。兩個用于啟動的管腳ENA和ENB;其余四條線路是由IN1至IN4之間的邏輯控制管腳組成。L293D芯片的電路內(nèi)部結(jié)構圖如下圖3.8所示。圖3.3.1L293D內(nèi)部原理圖從上圖可以看出,在這一次的設計中,兩個H橋分別驅(qū)動兩組電機,ENA與ENB是兩組H橋的使能端口,它們可以訪問PWM信號來進行速度的調(diào)節(jié)。IN1至IN4是用于對電動機的正向和反向進行控制的邏輯控制端。OUT1至OUT4分別為與馬達相連的驅(qū)動針腳。芯片實際接線如圖所示。圖3.9電機驅(qū)動模塊原理圖機器人可以向前、向后、向左、向右、向右,也可以向右、右轉(zhuǎn)身、停下來,L293的內(nèi)部有兩個H橋,可以對兩個電機進行驅(qū)動,這樣,就可以在兩個不同的電機之間進行不同的速度、不同的轉(zhuǎn)向方式來進行結(jié)合,從而完成機器人的動作。3.5超聲波避障模塊電路設計本模組是HC-SR04型,用于測距。當所得到的數(shù)據(jù)比原來的設置值要小時,所要做的就是讓汽車停下來,然后再進行轉(zhuǎn)彎,反之,則保持原來的方向和速度。在距離的測定中,被測對象的表面至少要有0.5平米的大小,并且要盡可能的平坦,不然會對測定的結(jié)果產(chǎn)生不利的影響。這個組件的工作時間曲線就像圖3.10中所顯示的那樣,比如設定10uS(優(yōu)選40uS/50uS,這樣更有效),這個組件就會自動地發(fā)出8個40kHz的方波,并會自動地探測到有沒有回訊。如果出現(xiàn)了回傳,就經(jīng)輸入輸出端口ECHO輸出高電平,這一高電平所維持的時間即為超聲從發(fā)出到回傳的時刻。在該方案中,當系統(tǒng)啟動后,超聲模組便可進行對目標位置的檢測。當接收到Bluetooth的指令之后,處理器會基于傳遞回來的距離,來決定是否要進行躲避,如果沒有必要,那么就會繼續(xù)前行,躲避障礙的方法就是向左轉(zhuǎn)。模塊化布線:除GND和VCC之外,Out引腳在距離測量中不能用,另外2個引腳。觸發(fā)器是一個控制終端,該終端將啟動訊號與上層研發(fā)電路板上的PA8管腳相連。Echo是一個接受終端,它是一個與主板上保留的PC9管腳相連的、用于輸出一個反射信號,都在前面的圖3.10上,具體接線如圖3.11所示。圖3.10超聲波工作時序圖圖3.11超聲波模塊接線圖3.6LCD12864顯示模塊電路設計目前在業(yè)界使用的字符型LCD能夠達到128x64同步輸出8192比特字符。為了方便顯示,后文都以1代表高等級,0代表低等級。LCD12864液晶,也可以被稱為12864文字顯示液晶,它是一種尤其適合于屏上顯示具有字母、數(shù)碼、符號等文字特點的彩色點陣文字液晶模塊。由多個字符點數(shù)所共同形成的多個字符比特進行拼接而成,每一個小數(shù)點所共同組合而成的小型數(shù)字符點位,能夠在一塊屏幕上呈現(xiàn)出一個以上的小數(shù)點,并且,在每一塊小數(shù)點之間,都有一個以上的小數(shù)點的每一行的間距,在每一行的每一行中,都有至少一條以上的間距,用于實現(xiàn)每一塊小數(shù)點的間距和每一塊以上的間距的作用。LCD12864是一種數(shù)字液晶組件,其各自被用來代表128個字符,也就是,它們各自以兩條線顯示128個字符。插頭特性:LCD12864使用20針的標準插頭。第1針:電壓源為負電極,電壓源為VSS。第2針:電壓互感器與5伏的陽極供電相聯(lián)接。第3個插頭:V0為控制插頭,用于調(diào)整LCD屏幕上字符的色彩亮度。DB0-DB7是一個具有兩個方向的數(shù)據(jù)總線。第15-20針:使用無支撐或背光源供電。特點:電壓+3.3伏,反差可調(diào)節(jié).內(nèi)建重置回路,可實現(xiàn)各種操作,如:刪除文字、顯示文字、調(diào)整指針的亮度及運動等。80個字節(jié)的數(shù)組能夠一次顯示的字資料,其內(nèi)存是DDRAM。內(nèi)含5x7個字符類型的192個字符產(chǎn)生單元CGROM。8位新使用者均能自行設定5x7英文文字,并將其用于生成工具。由于其具有功耗小、重量輕等優(yōu)點,因此常被應用在小儀器和低耗電量的線路中。(這意味著產(chǎn)生了一個高水平,)LCD液晶顯示模塊電路原理圖如圖3.12所示:圖3.12LCD液晶顯示模塊電路原理圖3.7按鍵控制模塊設計我們所要采用的這種自動獨立式數(shù)控鍵盤,實際上就是最簡便、最簡單的一種鍵盤自動控制電路,各個鍵盤按鍵之間彼此相互獨立,每個鍵盤按鍵都是單獨的與一根鍵盤數(shù)據(jù)線和輸入輸出線相互聯(lián)系。當一個單獨的電動按鍵被他人按下時,完全通過電動閥門控制電路的中斷子程序,都會向一個CPU電動終端用戶發(fā)出中斷請求,對其進行電動中斷,并在該CPU電動終端的中斷服務程序中,讀入一個與其按鍵的按下次數(shù)相應的數(shù)值,以正確地確定被他人按下的是哪個單獨的電動按鍵。在我們進行各種數(shù)據(jù)輸入查詢時,一般情況下,所有的輸出信號和輸入數(shù)據(jù)線和輸入輸出線都是由一個上拉的降壓電阻互相連接,這樣就形成了一個新的高電平;當任何一個按鈕受到外力作用時,連接到它的數(shù)據(jù)輸入線和輸入線將會自動降低到新的低位,從而實現(xiàn)只需要一臺處理器輸入一條命令,就能快速、準確地完成數(shù)據(jù)查詢。按鍵控制模塊電路原理圖如圖3.13所示。圖3.13按鍵控制模塊電路原理圖3.8HC-05藍牙模塊電路設計從圖3.14可以看出,“REDLED”是一個帶有2K阻抗的電阻器的方式切換指示燈,該電阻器與PIO8管腳一起相連,該電阻器的背面與地面相連。當LED燈連續(xù)閃爍了幾次之后,就說明它已經(jīng)可以和其它的裝置相連了,而不會受到AT指令的影響。若此發(fā)光二極管每秒閃光兩次,則表示其處于應答指令的狀態(tài),則AT指令即可被收到。這時就可以在USB-TTL模塊中利用AT命令來設定藍牙了。這個Bluetooth模組有36種不同的AT指令。Bluetooth角色可以根據(jù)指示設定。Bluetooth角色在沒有做任何設定的情況下默認為從屬角色。玩家可以將其轉(zhuǎn)化為主要顏色,也可以將其轉(zhuǎn)化為回環(huán)顏色。在此次設計中,藍牙模塊將充當從設備,接受從手機發(fā)送過來的十六位指令,并且不需要將數(shù)據(jù)返回到手機,因此在模塊的角色上不需要進行任何的改動。當您忘記您的Bluetooth名字和匹配代碼時,您可以采用命令“AT+PSWD?”“AT+NAME?”可以用命令進行名字/密碼的搜索,也可以用命令進行重置。從圖3.14可以看出,有一個按鍵S1,3.3V電源,以及10K電阻地,均與PIO11管腳相連,按照指令組文件的描述,該按鍵用于開關操作方式。在該組件被供電而此鍵S1被懸掛的情況下,PIO11管腳為Low-level,該組件將進入一個接受指令的狀態(tài);在組件上電并在同一時間壓下鑰匙S1,此管腳的邏輯水平處于高水平時,組件可以接受AT命令。該模塊有6個I/O接口,在圖3.14的J1上,除去電源與接地,還有STATE、RXD、TXD和EN接口,STATE與EN可以懸空,RXD與TXD分別接到開發(fā)板上的PB10和PB11,具體接線如圖3.14所示。圖3.14藍牙模塊接線圖保定理工學院本科畢業(yè)設計第4章系統(tǒng)軟件設計該設計以2V-3.6V工作電壓的STM32F103C8T6為控制的單片機芯片,該芯片中使用了32位的微控制器,具有64KB的程序存儲能力。而嵌入式MCU,則是對現(xiàn)有的MCU技術進行改進和改進,最后達到了數(shù)字控制的程度。在此基礎上,采用程序編寫的方法,完成了對該系統(tǒng)的控制。該方案采用了單片計算機編程,實現(xiàn)了對各元件的控制。根據(jù)畢設需要完成的基礎功能、所使用的設備、引出的引出、引出的引出和作用,把正確的程序編碼寫入硬件,然后再執(zhí)行這個程序,看看它的性能和我們的設計相匹配。在實際應用中,單片機充當數(shù)據(jù)采集單元,將采集到的數(shù)據(jù)傳輸?shù)接嬎銠C上,然后再經(jīng)過對數(shù)據(jù)的分析和處理,從而達到系統(tǒng)自動化控制的目的。4.1程序開發(fā)軟件應用KeiluVision5,它既可以用C,也可以用匯編。該系統(tǒng)不僅包含了大量的類庫功能,還能實現(xiàn)整個系統(tǒng)的編輯,編譯,連接,測試,模擬等功能。當編程結(jié)束后,就可以產(chǎn)生對應的匯編代碼,這樣就可以更加直觀地了解編程過程。KeiluVision5界面圖,如圖2.1所示。圖4.1KeiluVision5界面圖4.2程序流程設計4.2.1主程序流程圖該系統(tǒng)采用了使用較多的STM32F103C8T6單片機為主要控制芯片,以下是對其進行編程的思想:第一,在系統(tǒng)開始后,就開始了程序的循環(huán)執(zhí)行。機器人對串口模塊進行掃描,查看是否已經(jīng)接收到了藍牙APP發(fā)出的控制命令,在接收到數(shù)據(jù)之后,首先進行存儲,再分析出具體的命令,之后再按照命令對小車進行相應的操作;接著,對LD3320的聲音識別模塊進行了檢測,確定了正確的聲音指示,并對其進行了相應的控制。機器人小車控制主流程圖如下:圖4.1系統(tǒng)主程序流程圖4.2.2電機調(diào)速程序設計馬達傳動與速度調(diào)節(jié)的程式是一項很有系統(tǒng)性的程式。其核心的控制思想是:先調(diào)用計時器生成一個PWM波,PWM波的占空比是可變的,在此用來調(diào)整車輛的速度,占空比高,速度就快,反之,速度就慢。由于該機械臂的結(jié)構是利用了差速,因而要使用兩套驅(qū)動輪,就必須要有兩個PWM波來對機械臂進行控制,而輪子的正反反向則可以由l293來完成。在兩個輪子一起旋轉(zhuǎn)的情況下,可以使兩個輪子向前移動,從而達到推進的目的。兩臺車的車輪在同一時刻作向后轉(zhuǎn)動,即完成了兩臺車的向左轉(zhuǎn)動,一臺車的車輪在前一臺車的向后轉(zhuǎn)動,即完成了兩臺車的向左轉(zhuǎn)動。具體的控制流程圖如下圖4.2所示。圖4.2電機調(diào)速流程圖4.2.3語音識別子程序設計為了實現(xiàn)“前進”、“后退”、“左轉(zhuǎn)”、“右轉(zhuǎn)”等動作的聲音控制,必須在軟件中預先設定好聲音,并通過編譯器將聲音輸入到LD3320聲音模組中。在這個系統(tǒng)中,語音識別模塊的輸出是由三條IO口線與單片機連接起來的,三條IO口結(jié)合不同的代碼,然后,單片機的IO口也會隨之發(fā)生改變,從而來判定機器人應該進行哪一個動作。最后,將指令轉(zhuǎn)化為io口的電平變換,并利用io口的電平變化,來控制一臺機器人進行相應的動作。最后,將所得到的命令轉(zhuǎn)化為輸入輸出端口的電平時換,再由輸入端口的電平時換,使機械臂完成相應的動作。語音識別控制的程序流程圖如下圖4.3所示:圖4.3LD3320語音模塊程序設計4.2.4藍牙通信子程序設計在這個系統(tǒng)中,使用了HC-05藍牙模塊來與手機進行匹配,在此過程中,藍牙助手可以將密碼發(fā)送到模塊,在此過程中,藍牙將其接收到之后,再經(jīng)過串口傳送到單片機,再由單片機會對數(shù)據(jù)展開分析。最后通過對操作命令序列的分割,實現(xiàn)了操作機器人的操作。下圖為MCU分析控制命令的流程。如圖4.4所示:圖4.4藍牙通信子程序流程圖4.2.5超聲波避障程序設計基于規(guī)避原理,移動機器人按照某一特定的速率進行運動。當感應器偵測到的這個間距小于一個預先設定的閾值時,這個機械手就會從柵欄上移開。當機器人在穿孔時,若碰到障礙,則其超聲測距系統(tǒng)可即時推算出機器人與障礙的間距d。如果d<dc(避障的臨界距離,這里dc為程序的預設值),由電動機進行左右轉(zhuǎn)向控制,就能實現(xiàn)對障礙物的回避。程序流程圖如圖4.5所示。圖4.5小車避障設計4.2.6鍵盤掃描模塊的工作流程圖在本畢業(yè)設計中,首先,本畢業(yè)設計采用的是獨立按鍵,來確定鍵盤中有無按鍵按下,當按下時,就能判斷,并找出是哪個獨立按鍵。當我們的應用程序自動地檢測到有人按下了一個單獨的按鈕之后,為了及時地消除這個單獨的按鈕的抖動,我們需要延遲一段時間,來進行下一階段的抖動檢測和分析,從而可以準確地判斷到底是哪個單獨的按鈕被關掉了。掃描操作過程如圖4.6所示:圖4.6鍵盤掃描流程圖4.2.7顯示程序設計用戶也可以通過顯示屏或上位機界面,來幫助用戶得到相關數(shù)據(jù)。顯示屏功能流程圖,如圖4.7所示。圖4.7顯示屏功能流程圖第5章系統(tǒng)調(diào)試5.1硬件調(diào)試本文介紹了一種以STM32芯片為核心,實現(xiàn)了一種聲音控制的智能機器人。該系統(tǒng)的測試包括以下幾個部分:首先,測試和測試硬件的電路。另外,在硬件線路的調(diào)整上也要穩(wěn)健,以保證各個模塊的運轉(zhuǎn)順暢。然后就是軟件調(diào)試了,按照硬件的運行狀態(tài),并與串口調(diào)試助手、藍牙助手和調(diào)試器一起,一步一步地對程序進行檢測。然后就是對整個系統(tǒng)進行集成和集成的測試。5.1.1藍牙模塊調(diào)試在實驗過程中,我們發(fā)現(xiàn)了一些問題,比如:無法接受來自于藍牙的命令。在對其進行了檢測之后,結(jié)果顯示,這是因為藍牙模塊的TXDRXD與單片機的TXDRXD接反了,并且在其處在配對狀態(tài)之后,對其接線方式進行了校正,藍牙發(fā)送管腳與單片機接收管腳相連,在與手機進行配對后,其功能可以正常運行。此外,我們也需要對串行端口的速率進行檢測,標準速率為9600bPS。圖5.1藍牙調(diào)試圖5.1.2語音模塊調(diào)試LD3320語音識別調(diào)試的第一步就是要保證電源的穩(wěn)定性,在該系統(tǒng)中,為了確保電源的穩(wěn)定,使用了3.3V的電源。其次,要利用語言控制,必須在軟件中設定語言命令,如“前進”、“后退”、“左轉(zhuǎn)”、“右轉(zhuǎn)”等,所以必須先設定語言命令,然后由編譯器將語言命令輸入到LD3320語言控制模塊中。接下來,就是對聲音識別的代碼進行編輯,將聲音識別的代碼轉(zhuǎn)換成三個數(shù)字。STM32編程必須以程式查詢的形式來偵測聲音辨識模組所輸出之訊息,然后才能控制機械臂。圖5.2LD3302調(diào)試5.1.3小車運行調(diào)試對推車進行了調(diào)試,只需對推車進行PWM控制即可。在進行調(diào)試時,要在程序中設置各種PWM值。利用PWM調(diào)制信號中高、低電壓的比率,實現(xiàn)了對電動機速度的調(diào)節(jié)。其次為機械手的運動調(diào)整,前輪和后輪均需朝前旋轉(zhuǎn);倒車的兩個車輪在同一時間倒車;左邊的車輪向左邊的車輪方向旋轉(zhuǎn);右邊的車輪方向正好相反。5.1.4電源調(diào)試為機械人設計的體系。電力供應是很關鍵的一環(huán)。電力不足時,電動機無法旋轉(zhuǎn),會造成MCU重置等現(xiàn)象。所以,對電池的容量要求相對較高,動力也就更大。這臺機器一開始是以干電池為動力的,后來他意識到自己無法移動,于是增加了電量,讓它停止了運轉(zhuǎn)。后來換上大容量的電池,這些問題都迎刃而解了。5.2軟件調(diào)試采用了KEILMDK5軟件進行了系統(tǒng)的開發(fā)。系統(tǒng)調(diào)試的過程大致可以分成以下幾個步驟:首先,首先要進行的是代碼的編寫,所以基本上選擇了C語言作為開發(fā)語言,逐步地將各個部分的功能代碼進行合并,在程序結(jié)束之后進行編譯,并對其進行排除。在編譯完畢之后,首先要對硬件電路進行確認,確認其構建的可靠性。之后,將程序的hex文件燒錄到單片機中,上電運轉(zhuǎn),看看其功能是否正常。如果不正常,那么就可以從這種情況來推測該程序有什么問題,并與模擬器相結(jié)合,逐步進行調(diào)查??偟膩碚f,這個項目的軟件調(diào)試需要和硬件相配合,在經(jīng)過調(diào)試之后,我們發(fā)現(xiàn)鍵盤并不好用,經(jīng)過我們的調(diào)查,我們才知道這是因為在氣候比較干燥的時候,我們的身體會受到靜電的影響。后來他在鍵盤的掃描功能中加入了去顫動的功能,這種情況就得到了很大的改善。5.3系統(tǒng)調(diào)試結(jié)果在通過了一系列嚴格的軟體與硬體的聯(lián)合調(diào)試與測試之后,我終于完成了兒童智能陪伴機器人設計的功能,滿足了設計的需求,并完成了對藍牙的無線控制,在課題上做出了擴展。

第6章結(jié)論該系統(tǒng)以STM32f103單片機驅(qū)動芯片為主要的控制單元,使用HC-05藍牙模塊,可以直接進行控制命令的收發(fā),使用l293馬達驅(qū)動芯片,可以直接進行對機械臂的驅(qū)動與控制;通過ld3320語音識別模塊,能夠?qū)崿F(xiàn)對語音說話指令的識別,并通過一條控制指令對機器人進行"前進、后退、左轉(zhuǎn)、右轉(zhuǎn)"等自動化控制。該系統(tǒng)主要完成以下幾個技術要點:(1)通過LD3320漢語識別模塊來實現(xiàn)對語音命令的接收、轉(zhuǎn)換和發(fā)送,它能夠?qū)ο蚯?,向后,向左右轉(zhuǎn),以及對加快和減緩的命令進行識別。(2)采用Bluetooth模組,對移動臺進行無線遙控。在藍牙應用程序中,要求STM32單片機對16進制的1234進行分析和辨識。(3)系統(tǒng)的開關和調(diào)速等功能設定是由一個按鈕回路來完成的。(4)利用L293D馬達辨識功能,完成了對臺架馬達的驅(qū)動工作。(5)對于Bluetooth串行命令的分析,是經(jīng)由STM32的串行端口來實現(xiàn)的,以獲得一個有效的控制命令。經(jīng)過這個項目的研究,我們已經(jīng)完成了項目所需要的功能,但也有一些缺陷。想要在今后的工作和研究中,對這一點通過對問題的分析,得出了以下結(jié)論:(1)LD3

溫馨提示

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

評論

0/150

提交評論