目    录

引言 1

1 系统概述        1

1.1 声控产品前景和发展趋势     1

1.2 研究目的和意义  1

1.3 本次设计内容      2

2 系统设计的整体方案      2

2.1 主控芯片的方案论证   2

2.2 语音识别模块的方案论证     3

2.3 电机驱动方案选择       4

2.4 本章小节     4

3 系统硬件电路设计 4

3.1 单片机最小系统的电路设计 5

3.1.1 STC89C52芯片模块电路设计    5

3.1.2 系统时钟电路设计    6

3.1.3 复位电路设计   6

3.2 从机语音模块电路设计        6

3.3 RC522射频模块  7

3.4 电机驱动模块      8

3.5 蓝牙模块     9

3.6 循迹模块     9

3.7 电源模块     10

3.8 本章小节     10

4 系统软件设计         10

4.1 软件设计语言      10

4.2 软件设计的步骤和要求        10

4.3 设计软件环境      11

4.4 主要模块软件设计       11

4.5 本章小结     12

5 系统制作调试         12

5.1 系统调试     13

5.1.1 硬件调试  13

5.1.2 软件调试  13

5.2 系统测试     13

5.3 本章小节     16

6 总结      17

参考文献   18

谢辞 19

附录 20

附录一 系统原理图   20

附录二 系统PCB图  21

附录三 程序设计       22

引言

随着计算机技术、模式识别和信号处理技术及声学技术等的发展,使得能满足各种需要的语音识别系统的实现成为可能[1]。近二三十年来,语音识别在计算机、信息处理、通信与电子系统、自动控制等领域中有着越来越广泛的应用[2]。语音命令控制可广泛用于家电语音遥控、玩具、智能仪器及移动电话等便携设备中[3]。使用语音作为人机交互的途径对于使用者来说是最自然的一种方式,同时设备的小型化也要求省略键盘以节省体积。当今,语音识别产品在人机交互应用中已经占到越来越大的比例。语音识别按说话人的讲话方式可分为孤立词识别、连接词识别和连续语音识别。孤立词识别是指说话人每次只说一个词或短语,每个词或短语在词汇表中都算作一个词条,一般用在语音电话拨号系统中。连接词语音识别支持一个小的语法网络,其内部形成一个状态机,可以实现电话语音查询、航空定票等系统。连续语音识别是指对说话人以日常自然的方式发音,通常特指用于语音录入的听写机。从识别对象的类型来看,语音识别可以分为特定人语音识别和非特定人语音识别。特定人是指只针对一个用户的语音识别,非特定人则可用于不同的用户。实际上,非特定人语音识别的初始识别率往往都比较低,一般都要求用户花一定的时间对系统进行训练,将系统的参数进行一定的自适应调整,才能使识别率达到满意的程度。本设计采用的识别类型是特定人孤立词语音识别。本设计是语音识别在控制领域的一个很好实现,它将原本需要手工操作的工作用语音来方便地完成。本系统分主机和从机两个方面,主机和从机都是采用单片机为主控核心,通过蓝牙模块来进行数据互传,从机采用的是电机驱动芯片来控制小车,进行点击的正反转调速等控制。以此来达到了预期目标,实现了所期望的功能效果[4]。

  1. 系统概述

    1. 声控产品前景和发展趋势

随着科技技术的发展,电子产品日新月异的发展,声控产品使用率的提高,为人类的生活带来了巨大的变化,随着近几年来信号处理技术的不断发展与提升,语音辨识的应用已真正走入人们的日常生活,声控系统的应用也不再遥不可及,家用电器的操作,不再需以遥控器的繁多按键为控制接口,取而代之是我们用平常说话的模式来驱使家电动作,诸如多种智能电器,人们在也不必为种类繁多操作复杂的遥控器而烦恼,人们可以很清松的操作各种各样的电器产品,达到更符合人性化的操作接口设计。随着语音技术的不断发展进,人们不光可以用语音来控制家电,声控产品也越来越受人们的欢迎,成为了21世纪发展的一大前景。

  1. 研究目的和意义

近几年,人民生活水平稳步提高,嵌入式电子产品的消费者已经不再满足“能用够使”的消费目的,他们需要电子产品具有更多人性化和个性化的功能,技术上的特点客观上给嵌入式语音识别应用带来了更大的市场需求[5]。本设计主要应用语音识别技术,来完成语音控制小车的目的,将语音识别技术应用在实际设计当中,为以后进一步学习应用语音技术打下基础,也可以为他人设计语音产品提供参考[6]。

  1. 本次设计内容

如今随着智能化的发展,智能化的控制技术变得尤为重要,本次设计是以单片机为核心设计一款语音控制的智能小车,研究内容主要包含以下几个方面:

  1. 语音识别技术,下可以通过语音控制小车的左转、右转、前进、后退、停止;
  2. 语音输入终点信息,小车可以寻迹到达指定的地点;
  3. 通过RC522射频识别技术使小车定位地点更为精确;
  4. 蓝牙通讯;
  5. 实现自动避障,遇到障碍物停止。
  1.   系统设计的整体方案

声控小车的设计分为二部分,一部分是硬件设计,另一部分是软件设计,在这里我们只阐述软件的部分。首先要对设计的题目进行分析,熟知其要求才能更加深刻的理解[7]。其次进行思路的整理规划好流程。从而梳理设计的方案。首先是硬件方面,本次设计包含有自动避障功能、蓝牙通讯、循迹、语音识别以及定位的功能。软件在硬件的基础上进行功能逻辑上的编译。

  1. 主控芯片的方案论证

本次设计的语音小车采用是由单片机作为主控核心,按照本次设计的要求,从以下三个方案中选择一款。

  1. EPSON系列单片机:

EPSON系列的单片机是由精工爱普生(SEIKO EPSON)自主开发的CMOS32位RISCCPU为核心,加上不同的外围电路制成多种型号的MCU,这些产品可以应用于不同的领域:掌上电脑(PDA),移动信息终端,网络设备,办公室OA设备,PC接口设备,智能玩具,GPS应用等,其中它的主要特点有强大的CPU内核,采用RISC结构,三级流水线,105条16位长指令,其大多数指令在一个时钟周期内执行,大大提高了指令的执行效率。地址总线28条,线性寻址256MB,编程方便。当S1C33工作在60MHz时,其性能可到60MIPS。在CPU架构中,也采用了多种设计以提高CPU的性能;哈佛架构,内部RAM为独立总线,在操作内部RAM时可起到高速缓存的作用,而且可实现同时存取内外部存储器,提高系统效率。有效的利用内部RAM和Harvard结构可大大提高指令执行效率,使其可进行复杂运算。拥有丰富的周边电路,较为良好的性价比和功能消耗较低的优点[8]。

  1. AT89C51RC单片机:

AT89C51RC单片机是Atmel公司生产的低功耗高性能CMOS 8位单片机,其中它具有32k Bytes Flash只读程序存储器(ROM),512 Bytes内部数据存储器(RAM),该微处理器采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,引脚兼容80C51和80C52芯片,单片机内的Flash存储器可以象常规程序存储器样进行烧写,AT89C51RC片内总共有512字节的用户数据区,而256字节的内部扩展数据区需通过清SFR(8EH)的位1并用MOVX指令访问,片内置通用8位中央处理器和Flash存储单元,另一个256BytesRAM区与ATMEL之AT89系列8052兼容的单片机是一致的,AT89C51RC 结合通用的8位微处理器和Flash存储技术构成功能强大单片微处理器,可提供许多高性能低价位的系统控制应用场合[9]。

AT89C51RC具有如下主要特点:40个引脚,32kBytes的程序存储器,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,内置时钟振荡器,其Flash存储器,可反复擦写1000 次的Flash存储器可有效地降低开发成本。软件设置电源省电模式,睡眠其间,定时/计数器,串行口和中断口均停止工作,RAM中的数据被“冻结”,直到下次被中断激活或硬件复位方可恢复工作。

  1. STC89C52单片机:

STC89C52是宏晶公司的增强型MCS-51单片机,具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。其中的优点有,支持STC的2线制下载方式,下载程序更方便。支持6T模式(在6T模式下,6个时钟周期就是一个机器周期),片内集成了4kB容量的EPROM;带有P4口,具有更多的I/O。最主要的是其价格便宜,符合学生的预算[10]。

本次选择STC89C52单片机,因为该单片机能够完成本次设计的全部功效之外,价格对比于其他两个方案更为便宜,所以选择该单片机作为本次设计的核心。

  1. 语音识别模块的方案论证

在本次设计的语音小车中,语音识别是非常重要的一项,用户需要通过主机来对从机下达指令,是通过语音来进行的,所以选择一款合适的语音识别模块是非常重要的。

  1. ASR M08

ASR自动语音识别技术是一种将人的语音转换为文本的技术。ASRM08-A语音识别模块坚持着这样一个原则,首先对接收到的语音信号进行一系列的运算处理,然后和关键词列表中所有的关键词进行对比,对每一个关键词的相似度打分,得分最高的那个关键词就认为是正确的,最后输出。这样,当接收到相似度比较高的语音时我们可以通过设置“无用关键词”把他过滤掉,这是一个非常有效的手段,设置“无用关键词”越多,误识别率越低,但是不可避免的要牺牲关键词列表地址[11]。

  1. LD3320

LD3320提供的语音识别技术,是基于关键词语列表的识别技术:ASR技术。语音识别芯片的工作流程是:对经过MIC输入的声音实施频谱分析一语音特征的提取一匹配关键词语列表中的关键词语一从此关键字列表中得分最高的关键词语作为最终语音识别的结果输出[12]。

LD3320模块可以使用3.3v进行供电。模块与单片机系统可以使用并口通讯方式也可以使用SPI通讯方式,这大大真强了模块的兼容性,通过其语音采集系统经过放大处理后再进行ad数据转换给LD3320进行识别,LD3320根据之前录制的音频内容进行对比判断语音是否匹配,如果匹配会给串口发送设定好的数据。总体识别较为准确费用适中,因此本设计采用LD3320语音识别模块进行语音识别[13]。

    1. 电机驱动方案选择
  1. L298N

L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。一般情况下,功率部分的电压应大于6V否则芯片可能不能正常工作[14]。

  1. ULN2003

ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿系列,由七个硅NPN管组成。

该电路的特点如下:ULN2003的每一对都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统[15]。

根据对以上两种方案的分析,最终选择L298N模块作为本系统的电机驱动方案,可以有效的简化系统的硬件结构,而且其模块化的设计可以很好的巩固系统的稳定性。

  1. 本章小节

将本次设计的语音小车的关键硬件进行了选择方案的论证,通过选取不同的单片机来判断此次适合的主控核心。在语音识别和电机驱动方面也通过方案选择,选择适合本次设计的语音识别模块和电机驱动模块。

  1. 系统硬件电路设计

本次设计的语音小车由语音识别模块、蓝牙模块、光电模块、RC522射频识别模块电机驱动模块组合而成,主控核心是单片机。单片机接收到语音识别信号之后,发送指令控制电机驱动以此来控制小车行动。其中系统框图如图3-1所示。


图3-1 系统框图

  1. 单片机最小系统的电路设计

    1. STC89C52芯片模块电路设计


本次设计的语音小车的主控核心包含时钟电路和复位电路,其中STC89C52单片机主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线;外接晶振引脚(2根);XTAL1(Pin18):片内振荡电路的输入端;XTAL2(Pin19):片内振荡电路的输出端;控制引脚(4根);RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG(Pin30):地址锁存允许信号;PSEN(Pin29):外部存储器读选通信号;EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚(32根);STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。;PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7 P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7 P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7[15]。其中STC89C52单片机如图3-2所示。

图3-2 STC89C52单片机

  1. 系统时钟电路设计

时钟电路就是产生像时钟一样准确运动的振荡电路。任何工作都按时间顺序。用于产生这个时间的电路就是时钟电路。时钟电路一般由晶体振荡器、晶振控制芯片和电容组成。以下为时钟电路如图3-3所示。

图3-3 时钟电路设计图

  1. 复位电路设计

复位电路是一种用来使电路恢复到起始状态的电路设备,它的操作原理与计算器有着异曲同工之妙,只是启动原理和手段有所不同。复位电路,就是利用它把电路恢复到起始状态。就像计算器的清零按钮的作用一样,以便回到原始状态,重新进行计算。本次设计的复位电路是比较简单的,是只有电阻和电容,三极管等组合就可以办到了。其中复位电路设计如图3-4所示。

图3-4 复位电路设计

  1. 从机语音模块电路设计

语音处理技术是一门新兴的技术,它不仅包括语音的录制和播放,还涉及语音的压缩编码和解码,语音的识别等各种处理技术。以往做这方面的设计,一般有两个途径:一种方案是单片机扩展设计,另一种就是借助于专门的语音处理芯片。普通的单片机往往不能实现这么复杂的过程和算法,即使勉强实现也要加很多的外围器件。专门的语音处理芯片也比较多,如ISD系列、PM50系列等,但是专门的语音处理芯片功能比较单想在语音之外的其他方面应用基本是不可能的。所以本次选择使用了LD3320模块,该模块采用了ASR技术。通过对经过输入的声音实施频谱分析,采取关键词语作为最终
语音识别的结果输出。语音识别模块设计如图3-5所示。

图3-5语音识别模块设计

资料包括:

部分程序:

#include <reg52.h>

#include "mfrc522.h"

#include "main.h"

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <INTRINS.H>

//三个指示灯

sbit led = P0^1;

sbit led2 = P0^4;

sbit led3 = P0^7;

//电机驱动

sbit     eleA   =  P3 ^ 4;

sbit     eleB   =  P3 ^ 5;

sbit     eleC   =  P3 ^ 6;

sbit     eleD   =  P3 ^ 7;

sbit     hwql   =  P2 ^ 6;//红外前左

sbit     hwqr   =  P2 ^ 2;//红外前右

sbit     hwhl   =  P1 ^ 2;//红外后左

sbit     hwhr   =  P1 ^ 3;//红外后右

sbit     bz   =  P2 ^ 5;//避障

unsigned char R_flag=0;

unsigned char reg[35] = 0;

unsigned char number = 0;

unsigned char recSign = 0;//接收数据标志

unsigned char recTemp = 0;//接收数据

bit rec_flag = 0; //接收参数

int i=0; //用于for循环

bit start = 0; //开始暂停

int count =0;

unsigned char state=0;// 0-空闲 1-忙

unsigned char mode=0;// 0-停止  1-前  2-后

unsigned char dire=0;// 0-停止  1-前  2-后  3-前左 4-前右 5-后左  6-后右

unsigned char cardId=0;

unsigned char curId=0;//当前卡号

unsigned char targId=0;//目标卡号

unsigned char curPoint=0;//当前位置

unsigned char trace=0;//0-遥控模式    1-循迹模式

unsigned  int  timer=0;

unsigned  int  timeCount=0;

unsigned char data1[8] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07};

unsigned char code DefaultKey[6] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};

unsigned char g_ucTempbuf[20];

unsigned char status;

void Delay10ms(unsigned int c)   //误差 0us

{

unsigned char a, b;

//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//

for (;c>0;c--)

{

for (b=38;b>0;b--)

{

for (a=130;a>0;a--);

}

}

}

需要完整的资料可在我的资源里下载,也可以加入我的纷传圈子,里面有资源压缩包的百度网盘下载地址及提取码。

纷传点击用微信打开即可,过程有点繁琐请见谅。

基于单片机的语音小车设计相关推荐

  1. 【毕设项目】基于单片机的遥控小车设计与实现 - 嵌入式 物联网 stm32 c51

    文章目录 1 简介 2 主要器件与实现 2.1 电机驱动模块 2.2 蓝牙模块 2.3 蓝牙调试APP 3 实现效果 5 部分参考代码 6 最后 1 简介 Hi,大家好,这里是丹成学长,今天向大家介绍 ...

  2. 基于单片机的语音风扇的设计与实现

    写在前面: 因为偶尔会有人问,所以对之前做的这个小玩意进行一个小小的总结,把资料也放在这里来吧. 作品展示: https://www.bilibili.com/video/BV1iV411C722/? ...

  3. 单片机寻迹小车ppt_基于单片机循迹小车的设计.doc

    目录 [摘   要]  2 第一章  绪论  3 1.1智能小车的来源  3 1.2研究智能小车的目的和意义  4 1.3智能小车的现状及未来  4 第二章  方案的设计与论证  4 2.1主控系统  ...

  4. 【电路】基于单片机智能睡眠枕系统设计-基于单片机音乐喷泉制作设计-基于单片机智能温控风扇调速系统设计-基于单片机智能自动循迹小车控制系统设计-基于数字电路的4人投票系统设计(仿真,报告)毕设课设资料

    1620基于单片机智能睡眠枕系统设计-文档+PPT+PCB图+原理图+源码 智能睡眠枕主要由lcd屏幕.蓝牙.压力传感器.蜂鸣器.单片机等等组成,用户可通过四个独立按键进行操控(四个按键从左至右为1. ...

  5. 【单片机毕业设计】【mcuclub-cl-010】基于单片机的灭火小车的设计

    最近设计了一个项目基于单片机的灭火小车系统,与大家分享一下: 一.基本介绍 项目名:灭火小车 项目编号:mcuclub-cl-010 单片机类型:STC89C52.STM32F103C8T6 具体功能 ...

  6. 智能循迹避障小车C语言程序编写思路,基于单片机的智能小车红外避障循迹系统设计与制作...

    余秀玲 余秀娟 摘 要:随着科技的高速发展,人们对生活质量的要求越来越高,无人驾驶汽车已经被广为研发和试用,由此智能小车的快速发展也是在情理之中.通过对基于单片机的智能小车的硬件及软件设计分析,实现红 ...

  7. 毕业设计 - 题目_ 基于单片机的智能小车 - 嵌入式 物联网 本科毕设

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 系统设计 3.1 设计方案 3.1.1 小车遥控部分 方案一 方案二 3.1.2 小车驱动部分 方案一 方案二 3.2 系统架构 3.3 主要 ...

  8. 【毕业设计】基于单片机的智能感应垃圾桶设计与实现 - 物联网 stm32 嵌入式

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 系统设计 3.1 系统架构 3.2 硬件部分 3.2.1 传感器模块 3.2.2 语音模块 3.2.3 电机及其驱动模块 3.2.4 稳压模块 ...

  9. 基于单片机的数字时钟设计

    设计简介: 本设计是基于单片机的数字时钟设计,主要实现以下功能: 实现体力显示,24小时的时钟计时: 实现星期显示: 实现温度实时采集显示: 实现通过按键修改时间信息: 实现通过LCD12864实时显 ...

  10. 【毕业设计之树莓派系列】基于树莓派的智能小车设计

    基于树莓派的智能小车设计 摘要 随着人们对智能化生活的需求不断增长,智能小车的发展逐渐受到关注.然而,现有的智能小车硬件和软件设计有一定的局限性,需要进一步改进和完善.本文旨在基于树莓派PICO开发板 ...

最新文章

  1. 第24课 《前端之路,以不变应万变》
  2. 认知AI的兴起:2025年AI将会发生质的飞跃
  3. 【机器学习算法-python实现】svm支持向量机(3)—核函数
  4. 直播预告 | 清华大学博士生牛艺霖:常识知识获取与常识推理
  5. 大型网站系统架构实践(五)深入探讨web应用高可用方案
  6. python代码自动生成器下载_Python代码生成器
  7. 分治法的关键特征_经典算法思想2——分治(Divide-and-Conquer)
  8. Maven新建项目的JDK版本类型问题
  9. Git:操作报错:fatal: ‘origin‘ does not appear to be a git repository解决方案
  10. matlab遥感原理与应用,遥感原理与应用知识点概括考研.doc
  11. Python中CRAPS游戏,即花旗骰
  12. Making Startup Magic
  13. Android12 HDR相关
  14. Grafana监控群晖NAS
  15. 封装class,让className可以在IE8及其以下版本的浏览器中使用
  16. windows基本命令
  17. Chrome源码剖析——多线程模型、进程通信、进程模型
  18. 华为mate30如何开启USB网络共享
  19. webService 发送soap请求,并解析返回的soap报文
  20. SpringSecurity(二十)---OAuth2:实现资源服务器(上)资源服务器搭建以及直接调用授权服务器模式

热门文章

  1. 北京大学计算机语言学,北京大学计算语言学教育部重点实验室
  2. Java实现多种格式上传视频资源、解析视频格式、视频截图处理
  3. 输出100以内的素数
  4. JSP SSH公车拍卖系统myeclipse开发mysql数据库bs框架java编程网结构详细设计
  5. Android中读取图片EXIF元数据之metadata-extractor的使用
  6. 抖音小店无货源,出现退货的情况怎么处理?千万别大意
  7. 金融行业数据仓库分层
  8. 【方法分享】准大学生如何自学C语言?
  9. C语言自学之路十三(详解C语言初阶指针)
  10. java 对手机号码进行校验