0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

语音识别控制设计之声控小汽车的实现

电子设计 2018-10-16 10:28 次阅读

本文主要论述了如何用SPCE061A实现对非特定人语音的辨识,如何用SPC81A实现对汽车的驱动控制,以及两款单片机之间无线通信的实现。

方案设计与论证

本系统为典型的实时控制系统,下面对系统的实现方案进行论证。

语音辨识方案:本设计中采用具有DSP处理功能的凌阳16位单片机SPCE061A实现语音辨识功能。由于SPCE061A具有A/D、D/A转换接口,可以方便用于各种数据的采集、处理和控制输出。A/D、D/A转换接口与SPCE061A的DSP运算功能结合在一起,可实现语音辨识功能。
通信方案:通信方式可用无线或红外光方式,红外光方式适合于近距离通信,电路较简单;无线方式通信距离较远,但电路复杂。考虑到汽车处于被控中(距离较远),选择无线作为载波来传送信息
电机驱动方案:本系统在电机的驱动部分利用8050、8550等不同三极管的组合,构造一座“桥”。该桥的优点是原理简单、易控制、带负载能力强。在单片机的配合下,通过PWM的方法,实现了对驱动电机的轻松控速。
电源供电方案:采用双电源供电消除电机运转产生的干扰,保证单片机正常工作。在电机驱动部分,为了保证两组驱动电路都有较大的驱动电流,采用两组电池并联供电。

系统框图及工作原理

系统的组成框图如图1所示, 通过麦克风输入口输入。SPCE061A的自动增益放大器信号转换为适合单片机处理的信号范围。然后单片机对送来的信号进行分析、运算、处理、比较,识别出相应的命令。按照编码,把控制码序列从PA.0端口通过RF发送模块串行发送出去,并有相应的语音播报。SPC81A从PB.0接收到信号,通过检测比较判断出相应的命令。然后从C端口的低四位发出相应的控制信号,控制电机转动并有相应的音效输出。

系统硬件设计及原理分析

语音辨识部分

该部分也即为SPCE061A的外接电路部分。语音辨识主要是通过软件来实现,所以硬件电路主要是使SPCE061A芯片能正常工作所必需的电源、晶振以及麦克风和音频驱动电路。控制码序列的发送是通过IOA0串行发送(外接RF发送模块)。



电机驱动控制部分

本系统的小车电机驱动控制部分利用8050、8550等不同的三极管组合成桥式电路,实现对驱动电机的控制,具体电路如图2所示。控制过程如下:
当PC.0/PC.2为高电平,PC.1/PC.3为低电平时,则Q1、Q2、Q3导通,Q4、Q5、Q6截止。其中Q1为激励级,Q2、Q3为功放级。电流从VCC经Q2到电机“+”端,再到“-”端,最后经Q3入地,电机正转;当 PC.0/PC.2为低电平,PC.1/PC.3为高电平时,则电机反转;当都为低电平时,电机停转。注意:不能让两个输出口都为高电平,这样会使Q1、Q2、Q3、Q4、Q5、Q6都处于导通状态。会在功放级产生大电流致使三级管超过额定功率,从而导致发热甚至烧坏。
在速度控制方面,一般是通过改变加在电机两端的电压来实现的。可以连续改变(加直流电压),也可以是断续改变(加脉冲电压)。为了简单实用,本设计采用了脉宽调速,软件调整。
脉冲频率对电机转速也有影响,脉冲频率高则连续性好,但带负载能力差,频率低则反之。经实验发现,脉冲频率在15~20Hz效果最佳。
脉宽调速实质上是调节加在电机两端的平均功率,通过计算可发现小车的速度与脉宽成正比。

车载部分

该部分也即SPC81A的外接电路部分,将SPC81A的时钟振荡源设置为RC振荡,通过外接电阻实现。由其IOC的低四位端口输出信号来控制驱动电路。注意将I/O口设置为缓冲式输出,可以直接输出高/低电平。接收RF信号主要是通过IOB0口外接一个RF接收模块电路实现。

语音功能

凌阳单片机自带双通道DAC音频输出,DAC1、DAC2转换输出的模拟量电流信号分别通过AUD1和AUD2管脚输出。DAC输出为电流型输出,经三极管音频放大,即可驱动喇叭放音。

系统软件设计

本系统软件分为两个部分,包括手持语音辨识遥控系统的软件部分和车载驱动控制系统的软件部分。

手持语音辨识遥控系统的软件设计

此部分是在SPCE061A的平台上实现的。本系统软件分为主模块、2048(2K)时基中断、FIQ_TIM的定时中断、播放语音子程序以及数据发送子程序。此部分主要是完成非特定人语音辨识功能。辨识的流程图如图3所示,本设计主要是通过调用API函数实现。

主模块

主模块主要是控制整个系统程序的流程。系统上电后进行一系列的初始化,然后发出提示音“anybody here”,这时辨识可以开始,根据不同的辨识结果执行不同的动作。主模块的流程图如图4所示。

数据发送子程序

本设计的数据发送采用串行发送机制,从端口IOA0口发送(外接RF发送模块)。每个语音命令用八位码元表示,在发送时,还要外加一位起始位和一位结束位。起始位用8ms的低电平表示;结束位用8ms的高电平表示。码元“1”用占空比为1/4的高低电平表示;码元“0”用占空比为1/2的高低电平表示。为保证数据被正确的收发,将每个语音命令连续发送10次。数据发送程序包括数据发送主程序、开始/结束位发送子程序、数据位发送子程序、码元“1”发送子程序、码元“0”发送子程序。

车载驱动控制系统的软件设计

此部分的软件系统主要是通过RF接收模块接收相应的控制信号,根据相应的控制码序列通过IOC口的低四位口,对电机发出相应的驱动信号,并同时带有相应的音效输出。此部分系统的软件设计包括主控程序设计、数据接收程序设计等。

主控程序设计

主控部分主要是判断数据接收是否完成,如果接收完成,就判断此命令是哪一个命令,根据相应的命令执行相应的操作和音效输出。

中断服务主程序

中断服务主程序主要判断是哪一个中断,然后完成相应的中断服务,最后返回。

数据接收程序

数据接收主要是通过4KHz的中断不断地检测输入端口的状态,然后根据相应的状态值执行相应的操作。为保证能接收到数据,将每一电平长度的持续时间规定在一定范围内。

结语

本设计中也存在着一些不足,在通信部分,由于只有8个命令,所以可以只用三个码元表示,这样可以提高传输效率,如果采用纠错编码机制进行收发,就可以提高正确性。这些都是可以改进的地方。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语音识别
    +关注

    关注

    38

    文章

    1693

    浏览量

    112237
  • SPCE061A
    +关注

    关注

    1

    文章

    79

    浏览量

    26285
收藏 人收藏

    评论

    相关推荐

    无人驾驶的小汽车控制电路图

    无人驾驶的小汽车控制电路图
    发表于 05-21 13:41 1785次阅读
    无人驾驶的<b class='flag-5'>小汽车</b><b class='flag-5'>控制</b>电路图

    语音识别芯片/声控芯片 LD3320 实现语音控制 机顶盒遥控器

     用语音识别芯片/声控芯片 LD3320 实现语音控制 机顶盒遥控器 用
    发表于 12-16 11:59

    labview实现语音识别

    发出语音命令后通过语音识别软件识别,然后调用labview程序,在labview程序中调用API函数,实现对鼠标的
    发表于 02-21 17:31

    简易智能小汽车

    简易智能小汽车
    发表于 08-03 01:24

    自动往返电动小汽车设计报告

    自动往返电动小汽车设计报告
    发表于 03-21 16:39

    如何利用MCU实现语音识别

    人们对于微控制器(MCU)因过小而无法识别语音常常有误解,如何利用MCU实现语音识别呢?
    发表于 04-02 07:20

    STM32f4日记9之声控LD3320

    STM32f4日记9之声控LD3320(您的私人语音助手MICRO
    发表于 08-11 07:30

    基于Arduino玩具小汽车的设计资料分享

    。第一次制作玩具小汽车,对功能的期望不能太高,于是大概列了几点基本功能:能前进、后退、左转、右转能通过遥控来控制能播放音乐按照这个需求清单,我在网上找了一些实现方案,后来就找到了一个特别适合我的小白开发神器——Arduino。A
    发表于 02-15 07:34

    分享一个简单的遥控小汽车电路设计示例

    ,需要控制电机的正反转和速度,可以使用单片机或其他芯片来实现。电机控制电路包括电源电路、控制信号电路、电机驱动电路等。  首先需要接入电机的电源,常用的电源包括12V电池或其他电池,需
    发表于 04-13 14:15

    基于单片机控制的自动往返电动小汽车

    本文介绍基于单片机AT89C51控制的自动往返电动小汽车控制系统的硬件和软件设计。关键词:AT89C51芯片;自动往返电动小汽车;光电检测器Abstract: This paper i
    发表于 06-13 11:26 97次下载

    基于语音识别技术的声控鼠标光标程序设计

    本文实现了一种基于语音识别技术的声控鼠标光标应用程序, 可以用语音控制鼠标光标移动到屏幕的任意位
    发表于 08-01 15:19 5072次阅读
    基于<b class='flag-5'>语音</b><b class='flag-5'>识别</b>技术的<b class='flag-5'>声控</b>鼠标光标程序设计

    基于语音识别汽车空调控制系统

    基于语音识别汽车空调控制系统
    发表于 09-25 10:31 21次下载
    基于<b class='flag-5'>语音</b><b class='flag-5'>识别</b>的<b class='flag-5'>汽车空调控制</b>系统

    基于WTK6900G语音识别模块的智能声控灯方案

    声控开关是家居应用的一种智能体系,语音识别控制的出现,使得我们在生活体验上方便许多,不再担心在漆黑的夜里,摸不着开关四处寻找。
    的头像 发表于 02-19 08:44 1700次阅读
    基于WTK6900G<b class='flag-5'>语音</b><b class='flag-5'>识别</b>模块的智能<b class='flag-5'>声控</b>灯方案

    基于语音识别芯片的声控空调插座方案

    你见过插座还能听得懂人类说话么?随着科技的进步,为了实现智能家居的AI智能化生活,市面上也推出了声控空调的智能插座,一句话便可唤醒工作,这一方面的功能是通过一颗语音识别芯片来
    发表于 06-22 14:53 529次阅读
    基于<b class='flag-5'>语音</b><b class='flag-5'>识别</b>芯片的<b class='flag-5'>声控</b>空调插座方案

    智能声控灯具语音识别芯片方案

    AT68xx语音识别芯片能够分布式地对单个产品进行针对性地声音控制,能通过离线语音实现分布式语音
    的头像 发表于 03-13 16:11 782次阅读