智能小车毕业论文范文第六篇:一辆语音控制的智能化小车的设计与制作
摘要:语音控制的智能小车主要由两部分系统组成:语音识别系统和小车系统。以凌阳61板作为语音识别系统的核心部分;小车系统采用STM32F030单片机作为核心部分,无线收发部分采用433MHz ISM频段的收发芯片n RF401进行数据的传输。小车进行定角度转弯的时候,通过ZCC220电子罗盘进行角度的识别和校正,从而完成小车角度的控制。程序设计采用C语言,显示部分采用3连LED数码管。经测试,整机功能齐全,各项性能指标符合系统要求。
关键词:凌阳61单片机;角度控制;无线收发;语音识别;
1 系统设计
■1.1设计任务和要求
本设计的目标是设计并制作一辆语音控制的智能化小车。主要达到的要求:
(1)能够实现对小车的语音控制(包括前进、倒退);(2)控制的方式是实现无线语音遥控,且控制的距离不小于5米;(3)在能实现无线语音控制的基础上能实现小车角度的控制;(4)进一步分析小车系统的定位功能,在目标场地上能实现六个目标点的坐标反馈。
■1.2设计方案
1.2.1实现方法
要求设计并制作语音控制的智能化小车(下文简称小车),能够实现对小车的语音控制,控制的方式是无线语音控制,且控制的距离不小于5米,在能实现小车基本动作的基础上实现小车左右特定角度的偏转。本设计可分为两个系统:控制系统和小车系统。小车系统可分为:控制模块、无线接收模块、角度控制模块、显示模块、电机驱动模块;控制系统可分为:语音识别系统、发射模块。设计主要是采用STM32F030单片机作为小车系统的核心控制芯片;以n RF401模块作为小车的无线接收模块;以ZCC220型号的电子罗盘作为角度控制模块;显示部分则采用3连LED数码管进行显示。控制器部分的语音识别系统采用凌阳61简易板;用n RF401模块作为控制器信号的发送部分。小车系统的结构框图如图1所示,小车系统原理图如图2所示;控制系统原理图如图3所示。
图1 小车系统框图
1.2.2各部分方案设计
(1)控制模块
采用ST公司成熟低功耗微处理器的STM32F030单片机作为主控MCU.工作主频为48MHz,其内核为ARM的Cortex M0架构,具备32k闪存及4k缓存,处理能力相较之前的8位或16位有很大的提升,同时在功耗上有所降低。
(2)无线接收模块
采用n RF401无线收发模块。n RF401可以实现高效的无线传输,传输的速率可达20K,发射功率可调,最大发射功率在+10d Bm,灵敏度在-105d Bm.天线接口设计为差分天线,可以使用低成本的PCB天线[1].n RF401天线在硬件设计接法简单,数据在传输过程简单且比较稳定,传输抗干扰能力强,误码率小。
(3)角度控制模块
采用电子罗盘ZCC220作为角度控制传感器。电子罗盘输出的是数字量,在硬件上不需要进行AD转换,硬件电路比较简单且角度精确,精度可以达到0.1°,作为模块使用方便。可以将任意角度设置为零度角,之后以这个零度角为基准,测出小车偏转过的角度。且这种传感器具有体积小、重量轻、易于集成;抗冲击、抗震动,等特点,适用于小车行驶[2].
(4)显示模块
采用传统的数码管进行显示。数码管具有低能耗、低损耗、寿命长、防晒、防潮、防火、对环境要求低、易于维护,操作简单,程序编译容易,资源占用较少。本设计显示内容简单,不需要强大的显示容量,用数码管不仅满足设计要求,而且价格低廉。
(5)动力模块
采用直流电机来控制小车的运动。直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。直流电动机较容易控制,并可以采用PWM信号来控制小车的速度。
(6)电机驱动模块
采用L9110芯片进行电机控制和驱动。L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力。
图2 小车系统原理图
图3 控制系统原理图
(7)语音识别模块
采用凌阳公司生产的凌阳61简易板。凌阳单片机内部集成了AD和DA,同时具有语音识别、语音合成、语音身份识别、录音回放功能。外部器件少,只需要几个辅助的电阻电容,方便使用。作为语音识别系统,凌阳简易板具备强大的存储空间,在语音识别上的抗干扰能力也比较强。
2 电路设计
■2.1角度控制部分
角度模块主要使用电子罗盘ZCC220-232型号,该型号的电子罗盘输入电压低,功耗小(<30m A),其工作原理是通过磁传感器中的两个相互垂直轴同时感应地球磁场的磁分量,通过内部自带的MCU进行转换成数字量,直接输出,单片机响应串口中断,进行数据读取。
模块内部输出的不是TTL电平,输出的是逻辑负电平,单片机不能直接识别,二者进行数据通信需要先进行电平转换。本系统采用MAXIM公司生产的MAX232接口芯片,它能同时满足TTL电平以及角度传感器输出在负逻辑电平,同时MAX232具有±15V的防静电释放功能,能保持在±15V的静电释放情况下正常工作,不损坏两端的器件,提高了系统工作的可靠性。
■2.2无线收发模块
数据传输是采用n RF401模块进行数据传输,n RF401是真正单片UHF无线收发芯片,它采用FSK调制解调技术,最大的工作速率可以达到20K,发射的最大功率是+10d Bm.发射部分的连接是凌阳单片机进行语音识别后,通过串口送出特定的代码,将数据送入n RF401的第9脚(DIN脚),数据经过PCB天线传送出去。在小车的车体上的n RF401模块接收到的数据通过n RF401芯片的第10脚(DOUT脚)输出,直接送至车体上的单片机的第20脚(RX脚)。
■2.3系统单片机部分
整个项目共分两个系统设计,车体上采用STM32F030系列单片机进行控制,语音遥控部分采用凌阳单片机进行控制。
(1)STM32F030单片机
采用ST公司成熟低功耗微处理器的STM32F030单片机作为主控MCU.工作主频为48MHz,其内核为ARM的Cortex M0架构,具备32k闪存及4k缓存,处理能力相较之前的8位或16位有很大的提升,同时在功耗上有所降低。STM32F030系列处理器有很多的型号和规格,不同型号之间的也有极高的兼容性,在升级设计或者产品优化上,也有很强的灵活性,可以不修改上层和中间层软件的情况下,仅仅修改下底层引脚、外围设备的初始化就可以实现不同型号的处理器的更换,或者改用不同的封装规格[3].
本设计在运算处理能力上要求不算太高,采用STM32F030K6在成本上可以达到最优。该处理器特点如下:
(1)宽电压输入,电压输入范围2.4V–3.6V;
(2)内部集成12bit的ADC,16个转换通道,转换时间为1?S;
(3)采用串口调试方式SWD;
(4)5通道DMA控制器;
(5)多种硬件接口,包含一个SPI,一个串口及一个I2C.
本设计采用STM32F030系列单片机,其包含LQFP64、LQFP48、LQFP32和TSSOP20四种封装,本设计采用了LQFP32封装进行设计。
(2)凌阳16位单片机(SPACE061A)[4]
凌阳16位单片机采用16位μ'n SP?微处理器,该类各功能部件模块化地集成在一个芯片里,内部采用总线结构,因而减少了各功能部件之间的连线,提高了其可靠性和抗干扰能力。同时具备较强的中断处理能力和较高效率的指令系统。凌阳16位单片机具备丰富的内部资源:内置2K字的SRAM;内置32K的FLASH RAM;可编程音频处理;2个16位可编程定时器/计数器(可自动预置初始计数值);2个10位DAC(数-模转换)输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;内置在线仿真电路ICE(In-Circuit Emulator)接口;具有Watch Dog功能。
SPCE061A片内集成的2K SRAM中,I/O端口以及系统端口并未占用SRAM.可在程序中操作相关寄存器进行片内Flash擦写动作。32K字的Flash被划分为128个页(每个页存储容量为256个字),它们在CPU正常运行状态下均可通过程序擦除或写入。程序对Flash的操作主要是通过寄存器0x7555 P_Flash_Ctrl以及目标Flash的操作;这样可以对Flash进行页擦除、写入一字、写入多字的动作。
该设计的一个主要的方向是实现语音识别和处理。音频文件通常可分为声音文件和MIDI文件,该设计采用的是声音文件中的WAVE格式。它是Microsoft公司开发的一种声音格式,符合RIFF文件规范。同时支持MSADPCM、CCITT A Law、CCITTμLaw和其它压缩算法,支持多种音频位数、采样频率和声道,本设计采用8K采样频率,16位单声道音频压缩算法。
语音压缩编码中的数据量是指:数据量=(采样频率×量化位数)/8(字节数)×声道数目。
语音识别模式可分为特定语者模式(Speaker Dependent,SD模式)和非特定语者模式(Speaker Independent,SI模式)。
SD模式:使用者可针对特定语者辨认词汇(可由使用者自行定义,如人名声控拨号),作简单快速的训练纪录使用者的声音特性来加以辨认。
SI模式:使用者无需训练即可使用,并进行辨认。任何人皆可随时使用此技术,不限定语者即男性、女性、小孩、老人皆可。
本设计采用的是SD模式对小车指令进行语音识别控制。
3 软件设计
■3.1语音遥控器软件设计
设计的控制器主要进行语音的识别功能,流程图如图4所示。完成对几个资源的初始化之后,若凌阳片内0xe000单元数据为0xffff,重新进行语音指令的训练。指令训练完之后进行识别,当识别器取得的结果为设定的结果时,调用其相应的处理子程序。各处理子程序作用是通过串口连接的n RF401无线模块向小车系统发送相应的控制代码,如当取得的识别结果为0x100时,调用前进处理子程序,串口发送出"'$','G','G','G',".
图4 语音识别主流程图
图5 小车系统程序主流程
■3.2小车系统程序
小车系统采用STM32F030K6T6单片机,车体上装有型号ZCC220的电子罗盘,以及n RF401无线接收模块。系统程序流程如图5所示。小车无线模块接收到语音控制器发回的控制信号后,调用到相应的子程序进行处理,进行前进、后退、左转15°、右转15°、停车等动作。
串口中断0采用定时器2溢出产生波特率,设定波特率为9600bp/s.串口中断1采用定时器1溢出产生波特率,设定波特率为4800bp/s.
当凌阳语音控制器发回的信号是左转15度的时候,小车调用左转子程序,开串口中断0进行角度读取。设定第一次读取的角度值为X1,转过一定小角度进行再次的角度读取,设定为X2,角度运算公式为:
?X=360°+X 2-X1
对计算出来的角度ΔX进行判断,如果小于15°则一直循环处理,如果等于15°就调用停止程序。右转15°也是一样处理。
4系统测试
对本系统进行测试:能够实现对小车的语音遥控,其遥控距离大于5米;能够实现角度的控制,设计以15°为单位,可以实现30°,45°等角度的偏转。
5结论
随着社会的不断进步,科技进入了高速发展的轨道,科技服务人类的口号也被提上新高度。智能设备在日常生活中的分量越来越重,智能家居等通过语音控制的设备在日常使用越来越频繁。通过本设计的研究,更加深刻的了解了语音控制的识别及其控制过程。
参考文献
[1] nRF401无线收发模块使用手册[Z]
[2] ZCC220电子罗盘使用手册[Z]
[3]周立功等。ARM嵌入式系统实验教程[M].北京:北京航空航天大学出版社, 2005.1.
[4]张培仁等编著。 +六位单片微处理器原理及应用(第- -版) [M].清华大学出版社, 2005.