【《單片機(jī)語(yǔ)音舵機(jī)機(jī)器人的硬件和軟件設(shè)計(jì)案例》3800字】_第1頁(yè)
【《單片機(jī)語(yǔ)音舵機(jī)機(jī)器人的硬件和軟件設(shè)計(jì)案例》3800字】_第2頁(yè)
【《單片機(jī)語(yǔ)音舵機(jī)機(jī)器人的硬件和軟件設(shè)計(jì)案例》3800字】_第3頁(yè)
【《單片機(jī)語(yǔ)音舵機(jī)機(jī)器人的硬件和軟件設(shè)計(jì)案例》3800字】_第4頁(yè)
【《單片機(jī)語(yǔ)音舵機(jī)機(jī)器人的硬件和軟件設(shè)計(jì)案例》3800字】_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

單片機(jī)語(yǔ)音舵機(jī)機(jī)器人的硬件和軟件設(shè)計(jì)案例目錄TOC\o"1-3"\h\u305871.1整體方案 1260111.2單片機(jī)STM32F103 2161141.3語(yǔ)音識(shí)別模塊 3241881.4舵機(jī)驅(qū)動(dòng) 924461.5本章小結(jié) 1147642系統(tǒng)的軟件設(shè)計(jì) 12302582.1主函數(shù) 1215662.2語(yǔ)音識(shí)別函數(shù) 12167722.3舵機(jī)驅(qū)動(dòng)函數(shù) 14154312.4本章小結(jié) 151系統(tǒng)的硬件設(shè)計(jì)1.1整體方案圖3-1系統(tǒng)結(jié)構(gòu)圖本課題設(shè)計(jì)的語(yǔ)音舵機(jī)機(jī)器人是由STM32F103單片機(jī)、24路舵機(jī)控制板、伺服舵機(jī)、LD3320語(yǔ)音模塊和電源模塊等部分組成。語(yǔ)音信息收集采用LD3320語(yǔ)音模塊,LD3320語(yǔ)音模塊能夠識(shí)別非特定人的語(yǔ)音并且輸出語(yǔ)音信號(hào),MCU單元可以直接處理這些信號(hào),并根據(jù)不同的語(yǔ)音指令驅(qū)動(dòng)舵機(jī)旋轉(zhuǎn)相應(yīng)的角度,以完成相應(yīng)的動(dòng)作。主控制器采用STM32單片機(jī),作用是接受不同的語(yǔ)音指令并進(jìn)行數(shù)據(jù)處理,然后將處理好的數(shù)據(jù)輸送給舵機(jī)驅(qū)動(dòng)模塊。電源模塊負(fù)責(zé)給主控芯片和驅(qū)動(dòng)控制板供電。1.2單片機(jī)STM32F1031.2.1單片機(jī)原理及功能特性單片機(jī)又稱(chēng)為微控制器,主要組成部分是計(jì)算模塊、控制器和寄存器。算術(shù)單元由算術(shù)邏輯單元(ALU)等組成。累加器先將寄存器輸入兩個(gè)8位數(shù)據(jù)源ARB完成數(shù)據(jù)源的邏輯操作。最后,將結(jié)果保存到日志中??刂破魇怯脕?lái)協(xié)調(diào)系統(tǒng)不同部分之間操作的“調(diào)節(jié)”命令[9]。STM32F103系列微處理器有以下特點(diǎn):(1)多達(dá)51個(gè)快速I(mǎi)/O端口。(2)2位12位模數(shù)轉(zhuǎn)換器,外接16個(gè)輸入通道,轉(zhuǎn)換速率可達(dá)1MHz,轉(zhuǎn)換范圍0~1.6V。(3)靈活的7通道通用DMA可以管理從存儲(chǔ)器到存儲(chǔ)器,從設(shè)備到存儲(chǔ)器,以及從存儲(chǔ)器到設(shè)備的數(shù)據(jù)傳輸,而不受CPU的任何干擾。(4)調(diào)試模式:支持標(biāo)準(zhǔn)的20英尺JTAG模擬器調(diào)試,以及Cortex-M3內(nèi)核的串行單行調(diào)試(SWD)功能。(5)內(nèi)部包含多達(dá)7個(gè)定時(shí)器。(6)有多種通信接口,包括三個(gè)USART異步串行通信接口、兩個(gè)I2C接口、兩個(gè)SPI接口、CAN接口和USB接口。1.2.2STM32F103引腳及功能STM32是一款比較強(qiáng)大的32位單片機(jī)。8位單片機(jī)最大的區(qū)別在于它不僅可以用寄存器編程,而且可以用管理員提供的庫(kù)文件編程,方便了程序移植.STM32F103器件采用Cortex-M3內(nèi)核,CPU速度高達(dá)72MHz。該系列產(chǎn)品有16KB~1MB的FLASH,各種控制外設(shè),USB接口,CAN。圖3-2STM32F103引腳圖(1)內(nèi)核:ARM732位CORTEX-M3CPU,最大工作頻率為72MHz,1.25DMIPSMHZ。(2)存儲(chǔ)器:片上集成閃存512KB。6-64kb的內(nèi)存(3)時(shí)鐘,復(fù)位,電源管理:2.0-1.6V電源,或接口驅(qū)動(dòng)電壓。(4)低功耗:3種低功耗模式。(5)調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。(6)DMA:12通道DMA控制器。(7)外圍設(shè)備支持:定時(shí)器,DAC,ADC,IIC,SPI,UART。

(8)2個(gè)12位美國(guó)標(biāo)準(zhǔn)AD轉(zhuǎn)換器(16通道):AD測(cè)量范圍:0-1.6V。(9)2通道12位DA轉(zhuǎn)換器:STM32F103XC,STM32F103XD,STM32F103XE獨(dú)有的(10)112個(gè)快速I(mǎi)O端口。(11)11位計(jì)時(shí)器:4位16位計(jì)時(shí)器,每一個(gè)都有4個(gè)ICOCPWM或脈沖計(jì)數(shù)器。2位16位6通道高級(jí)定時(shí)器控制:6通道可用于PWM輸出。(12)2個(gè)控制定時(shí)器(獨(dú)立控制和窗口控制)(13)定時(shí)器:24位倒數(shù)計(jì)數(shù)器。用于驅(qū)動(dòng)DAC的2位16位基本定時(shí)器。(14)13個(gè)通信接口:2個(gè)IIC接口(SMBusPMBus)。5個(gè)USART接口(ISO7816接口,LIN,紅外兼容,調(diào)試控制)3個(gè)SPI接口(18MB),兩個(gè)IIS多路復(fù)用器。CAN接口(2.0B)USB2.0全速度接口,SDIO接口.1.3語(yǔ)音識(shí)別模塊1.1.1芯片介紹LD3320是ICroute公司專(zhuān)門(mén)設(shè)計(jì)的語(yǔ)音識(shí)別芯片,集成了語(yǔ)音識(shí)別處理器和AD、DA轉(zhuǎn)換器、麥克風(fēng)接口等外圍電路。主要特點(diǎn)和功能:(1)通過(guò)公司唯一快速穩(wěn)定的優(yōu)化算法,完成了說(shuō)話人獨(dú)立語(yǔ)音的識(shí)別。(2)它不需要flash輔助芯片、RAM芯片和芯片來(lái)實(shí)現(xiàn)語(yǔ)音識(shí)別功能。(3)一次最多可識(shí)別50個(gè)句子,每個(gè)句子可以是一個(gè)單詞,一個(gè)句子或一個(gè)短句子,長(zhǎng)度不超過(guò)10個(gè)字符或79個(gè)字節(jié)的拼音字符串。(4)設(shè)計(jì)了16位D/A轉(zhuǎn)換器、16位D/A轉(zhuǎn)換器和功率放大器電路。(5)支持并行串行接口,可以簡(jiǎn)化串口與其他模塊的通信。(6)它可以設(shè)置在睡眠中,很容易被激活。(7)支持MP3播放器功能,不需要外設(shè)。(8)1.3V供電,如果系統(tǒng)是便攜式的,使用三個(gè)電池就可以滿(mǎn)足電力需求。內(nèi)部邏輯結(jié)構(gòu)圖如下:圖3-3內(nèi)部邏輯圖詳細(xì)說(shuō)明如下:表3-1電壓要求表電壓要求VDD數(shù)字電路用電源輸入1.0V-1.3VVDDIO數(shù)字I/O電路用電源輸入1.65V-VDDVDDA模擬電路用電源輸入1.0V-2.0V芯片管腳輸入電壓范圍:高電壓(邏輯“1”):0.7*VDDIO~VDDIO低電壓(邏輯“0”):0~0.3*VDDIO因此,有必要確保主控MCU的使用也在1.3V工作,并確保主控MCU的輸出電壓高達(dá)LD3320引腳不超過(guò)1.3V。1.1.2工作原理LD3320提供了一種基于“關(guān)鍵詞表”的語(yǔ)音識(shí)別技術(shù):ASR(自動(dòng)語(yǔ)音識(shí)別技術(shù))。語(yǔ)音識(shí)別芯片的工作流程是:通過(guò)麥克風(fēng)輸入語(yǔ)音進(jìn)行頻譜分析-特征提取-語(yǔ)音匹配-關(guān)鍵詞表-關(guān)鍵詞表在語(yǔ)音識(shí)別的最終輸出中,關(guān)鍵詞的得分最高。圖3-4LD3320芯片語(yǔ)音識(shí)別流程圖LD3320芯片的各種操作,您需要注冊(cè)才能完成操作。例如,設(shè)置標(biāo)志位,讀取狀態(tài),將數(shù)據(jù)寫(xiě)入FIFO等等。寄存器的讀寫(xiě)操作有四種,即并行方式(軟、硬)和串行SPI(軟、硬)。串行SPI方式:寫(xiě)和讀的時(shí)序圖如下:圖3-5SPI方式寫(xiě)時(shí)序?qū)懙臅r(shí)候先給SDI發(fā)送一個(gè)“寫(xiě)”指令(04H),再給SDI發(fā)送8位寄存器地址,最后給SDI發(fā)送8位數(shù)據(jù)。在這期間,SCS*保持在有效(低電平)。圖3-6SPI方式讀時(shí)序?qū)懙臅r(shí)候先給SDI發(fā)送一個(gè)“讀”指令(05H),然后給SDI發(fā)送8位寄存器地址,再?gòu)腟D0接收8位數(shù)據(jù)。在這期間,SCS*保持在有效(低電平)。使用語(yǔ)音識(shí)別芯片可以得到兩種類(lèi)型的結(jié)果(1)在預(yù)定時(shí)間(例如6秒的語(yǔ)言數(shù)據(jù)),芯片分析來(lái)自外部的語(yǔ)音數(shù)據(jù)并給出識(shí)別結(jié)果,在這種情況下,可以假設(shè)為芯片設(shè)置了6秒的記錄周期,芯片在錄音結(jié)束后中斷語(yǔ)音識(shí)別通道,根據(jù)發(fā)送給芯片的文字?jǐn)?shù)據(jù)通過(guò)算法得到識(shí)別結(jié)果。(2)語(yǔ)音識(shí)別芯片采用VAD技術(shù)(語(yǔ)音活動(dòng)檢測(cè))控制來(lái)自設(shè)備外部的語(yǔ)音數(shù)據(jù)流,檢測(cè)外部停止,從語(yǔ)音的開(kāi)始到結(jié)束對(duì)語(yǔ)音數(shù)據(jù)進(jìn)行計(jì)算和分析,得到識(shí)別的結(jié)果。1.1.3硬件介紹(1)封裝外觀芯片采用48引腳QFN塑料封裝,尺寸約7×7×0.85毫米,體積小,引腳排列合理。下面的圖片是實(shí)際圖片。圖3-7LD3320語(yǔ)音模塊硬件資源介紹圖(2)管腳說(shuō)明LD3320共有48管腳,管腳分布如下圖:圖3-8管腳分布圖管腳分布表見(jiàn)附錄。(3)電路說(shuō)明LD3320芯片的電路圖:圖3-9LD3320芯片電路圖MCU芯片電路圖:圖3-10MUC芯片電路圖電路中,單片機(jī)P0的八條端口線與LD3320并聯(lián),控制線分別與LD3320并聯(lián)。此外,復(fù)位信號(hào)和中斷信號(hào)被連接。對(duì)于LD3320,單片機(jī)的復(fù)位信號(hào)(RSTB*)和LD3320的中斷信號(hào),單片機(jī)負(fù)責(zé)接收。輔助電路如下說(shuō)明:1.喇叭音量的外部控制電路圖如下:圖3-11喇叭音量的外部控制外部電路可以改變音量,如果接入可變電阻,則可以手動(dòng)調(diào)節(jié)音量。2.麥克風(fēng)偏置的輔助電路電路圖如下:圖3-12麥克風(fēng)增益的輔助電路引腳12(MBS)是一個(gè)偏壓麥克風(fēng)。1.4舵機(jī)驅(qū)動(dòng)1.2.1人形機(jī)器人結(jié)構(gòu)設(shè)計(jì)首先分析了人體腿部關(guān)節(jié)的運(yùn)動(dòng),人體腿部關(guān)節(jié)的結(jié)構(gòu)示意圖如圖3-13所示,主要由髖關(guān)節(jié)組成,膝關(guān)節(jié)和踝關(guān)節(jié)。除了膝關(guān)節(jié)只有一個(gè)自由度(即繞3軸關(guān)節(jié)旋轉(zhuǎn))外,髖關(guān)節(jié)和踝關(guān)節(jié)有兩個(gè)自由度(分別繞1軸和2軸旋轉(zhuǎn),考慮到過(guò)多的自由度會(huì)影響雙足機(jī)器人行走的穩(wěn)定性,增加下一步步態(tài)規(guī)劃的復(fù)雜度,本文檔形成一條腿三自由度,兩條腿六自由度的項(xiàng)目[3]。圖3-13人腿關(guān)節(jié)結(jié)構(gòu)示意圖從圖3-14可以看出,為了完成六度運(yùn)動(dòng)請(qǐng)求,在機(jī)器人腿部的六個(gè)關(guān)節(jié)上安裝了六個(gè)轉(zhuǎn)向器,每?jī)蓚€(gè)轉(zhuǎn)向器用剛性連接器連接,并用螺栓連接,形成機(jī)器人的大腿和腿部;三個(gè)轉(zhuǎn)向裝置分別由一條腿組成,模仿人體的髖關(guān)節(jié)、膝關(guān)節(jié)和踝關(guān)節(jié)。。圖3-14雙足機(jī)器人三維造型圖完成機(jī)械結(jié)構(gòu)方案后,可以在六自由度腿的基礎(chǔ)上進(jìn)行兩足踏步規(guī)劃,圖中以人體左腿、右腿和腳的組合為例,設(shè)計(jì)過(guò)程如圖3-15所示:首先,左腿髖關(guān)節(jié)向前移動(dòng),達(dá)到圖3-15(b)所示的姿勢(shì);左腿抬起時(shí),膝關(guān)節(jié)應(yīng)彎曲至圖3-15(c)所示位置;然后左腿前傾,踝關(guān)節(jié)落地,完成左腿運(yùn)動(dòng)如圖3-15(d);同時(shí),右腿髖關(guān)節(jié)向前移動(dòng),抬高右腿,完成圖3-15(e)(f)的姿勢(shì);然后右腿前傾,踝關(guān)節(jié)落地,完成圖3-15(g)中購(gòu)買(mǎi)右腿的動(dòng)作,最后實(shí)現(xiàn)左右腳的組合,完成一步走動(dòng)作,因?yàn)闄C(jī)器人行走可以看作是多個(gè)步態(tài)的組合,設(shè)計(jì)出一個(gè)步態(tài)后,其他步態(tài)可以模仿。圖3-15雙足機(jī)器人行走步態(tài)規(guī)劃圖機(jī)器人的兩足運(yùn)動(dòng)模式只模仿人在移動(dòng)雙腿的過(guò)程中臀部、膝蓋和腳踝的運(yùn)動(dòng)。機(jī)器人與真實(shí)的人類(lèi)行走在細(xì)節(jié)上還有很多不同,因此不能像人類(lèi)一樣始終保持身體和運(yùn)動(dòng)的平衡,為了保證機(jī)器人運(yùn)動(dòng)的穩(wěn)定性,需要多次調(diào)試,以確定機(jī)器人運(yùn)行過(guò)程中各舵機(jī)的最佳角度。1.5本章小結(jié)本章主要設(shè)計(jì)了各種硬件部分,具體介紹了STM32單片機(jī)和LD3320芯片的引腳和功能以及舵機(jī)的結(jié)構(gòu)和驅(qū)動(dòng)原理,通過(guò)分析這些器件的功能,為硬件的具體設(shè)計(jì)奠定了基礎(chǔ),同時(shí)更加理解了不同電路之間如何配合,如何排除彼此之間的干擾,將選擇的器件通過(guò)所學(xué)知識(shí)結(jié)合起來(lái),完成畢業(yè)設(shè)計(jì)所需要的實(shí)物。2系統(tǒng)的軟件設(shè)計(jì)2.1主函數(shù)主函數(shù)的設(shè)計(jì)思路,如圖4-1:系統(tǒng)初始化,包括調(diào)用定時(shí)器中斷初始化函數(shù),系統(tǒng)部分標(biāo)志位和輸入引腳的初始化;短暫延時(shí)開(kāi)機(jī);讀取語(yǔ)音命令;進(jìn)入while循環(huán);在while循環(huán)內(nèi)調(diào)用舵機(jī)驅(qū)動(dòng)函數(shù)。4-1主函數(shù)流程圖2.2語(yǔ)音識(shí)別函數(shù)(1)芯片復(fù)位芯片47引腳(RSTB*)發(fā)送低電平,然后需要選擇芯片CS進(jìn)行拉低-拉高操作來(lái)激活內(nèi)部DSP。程序如下:voidLD_reset(){RSTB=1;delay(1);RSTB=0;delay(1);RSTB=1;delay(1);CSB=0;delay(1);CSB=1;delay(1);}芯片初始化一般在程序的開(kāi)始進(jìn)行。(2)語(yǔ)音識(shí)別語(yǔ)音識(shí)別函數(shù)如下:uint8RunASR(){uint8i=0;uint8asrflag=0;for(i=0;i<5;i++){LD_Init_ASR();delay(100);if(LD_AsrAddFixed()==0){LD_reset();delay(100);continue;}delay(10);if(LD_AsrRun()==0){LD_reset();delay(100);continue;}asrflag=1;break;}returnasrflag;}2.3舵機(jī)驅(qū)動(dòng)函數(shù)語(yǔ)音模塊將識(shí)別后的語(yǔ)音指令通過(guò)串口發(fā)送給MCU,MUC解析后調(diào)用相應(yīng)的動(dòng)作函數(shù),舵機(jī)驅(qū)動(dòng)的原理是調(diào)節(jié)PWM輸出的占空比。#include"duoji.h"voidPWM_Init(u16arr,u16psc){GPIO_InitTypeDefGPIO_InitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_OCInitTypeDefTIM_OCInitStructure;//定義定時(shí)器脈寬調(diào)制結(jié)構(gòu)體RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化GPIOBTIM_TimeBaseStructure.TIM_Period=arr;TIM_TimeBaseStructure.TIM_Prescaler=psc;TIM_TimeBaseStructure.TIM_ClockDivision=0;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論