基于语音识别的人形机器人的设计与实现
2019-11-30翁剑鹏彭军发李金林易向东
翁剑鹏 彭军发 李金林 易向东
摘 要:本设计采用51单片机为核心,PCA9685驱动模块,LDV7语音模块,完成了以其为核心的语音智能的人形机器人的设计。机器人整体由51单片机,语音模块,舵机驱动,电源和舵机结构架组成,能够通过识别语音指令达到控制机器人的动作、姿态等的功能。
关键词:单片机 舵机 语音模块 机器人
中图分类号:TP242.6 文献标识码:A 文章编号:1674-098X(2019)06(c)-0138-02
随着现代科技的不断发展,机器人科技也在各个领域中得到了技术、资源的支持后有了巨大的进步。语音识别技术也是当中取得极大进展的科技之一,现今受到启发将两者相结合,设计一款能够识别语音指令的机器人。为此我们结合了单片机、舵机驱动模块与语音模块三者为控制核心,组建了一款成本低,功能简单但有极大拓展空间的语音控制机器人。
1 系统总体设计方案
本设计系统结构中,主要由STC89C52RC单片机,PCA9685驱动模块,LDV7语音模块组成。其中51单片机是整个系统最核心核心的部分,为主要控制器,我们选用了STC89C52RC单片机为主控芯片。PCA9685驱动模块是机器人驱动中心,LDV7语音模块则为系统的信息接收器,通过它对外界的语音信号进行识别分析,将数据输送给主要控制器单片机,单片机再通过得到的数据进行分析进而对PCA9685驱动模块下达指令。系统框图如图1所示。
2 硬件设计
2.1 主控芯片
主控芯片作为整个系统最重要的部分,我们选用了较为传统的89C52RC单片机最小系统,体积小巧方便我们的使用。我们在此烧录了控制舵机驱动模块PCA9685的主要程序,通过51单片机的P2.1口作为SCL时钟输入端,P2.0口作为SDA数据输出端,与舵机控制模块的SCL、SDA端相连,输出舵机的执行命令。同时整个P1端8个IO口依次与LD3320语音模块的P1端依次相连,接受来自语音模块通过接收到语音指令输出的16进制的0x00~0xff的字符串。达到一个语音指令对应一个字符串输出,对应51单片机控制舵机的一个动作,可以执行多达256个不同的指令。
2.2 语音控制
LD3320 是一颗基于非特定人语音识别技术的语音识别/声控芯片,基于此芯片模块我们通过预设的语音关键词,即可另LD3320芯片传出相应指令信号于主控芯片。在这里我们的语音模块即采用了以LD3320为核心的语音控制模块,通过接受语音指令,进而在对P1口输出16进制字符串数据给主控芯片的P1口,主控芯片处理接收的信息进而通过I2C输出。
2.3 舵机控制
PCA9685舵机模块是一个内置PWM驱动器和时钟,采用I2C协议进行通信的模块,只要主控芯片具备I2C通信功能,就能够让主控芯片和PCA9685通信,实现多个舵机的同时控制。在这里我们利用PCA9685来弥补主控芯片PWM口的不足,并且更加利于控制。
3 程序设计
根据需求,控制程序分成在主控芯片及语音芯片上的程序,动作程序与语音指令程序采用模块化写作子程序,只需在子程序中进行调试即可。USART串行口头文件及程序文件编译;内置寄存器端口头文件编译;模块驱动端口头文件及程序文件编译;零散功能及程序文件编译,包括函数声明、ASR功能完善、咪头增益、识别码编译。主程序流程图如图2所示。
4 结语
本设计结合了单片机,语音控制及舵机控制等多种基本技术,并以此设计的语音智能的人形机器人,成本与上手难度低,适合群众,有着更为广泛的应用价值。也可以該设计为基础通过对相应的结构进行改动与优化,向其他方向拓展。
参考文献
[1] 周英路,王志亮,朱松青,等.基于PCA9685的多路舵机控制器设计[J].南京工程学院学报:自科版,2017,15(4):26-31.
[2] 余皓,苏全.语音控制机器人的设计与实现[J].电气自动化,2007(5):29-31.
[3] 邓天金,王昭武,余达.基于单片机控制的多功能智能语音风扇[J].电子世界,2017(23):23-24.