声音导引电动车系统硬件设计
2011-06-05王昊鹏刘泽乾
王昊鹏,刘泽乾
(中国人民解放军空军航空大学 军械系,吉林 长春 130022)
本设计主要利用单片机作为核心器件实现声音导引电动车系统。通过单片机和NEC控制板控制电动车。使用L298双通道直流电机集成驱动电路,驱动小车的两个直流电机。电动车的音频发声装置采用喇叭。声音接收器采用麦克接收声音,进行放大后送入单片机处理,进而计算出电动车与指定位置的距离,再通过无线模块把误差信号发送给电动车,引导电动车到达指定位置。其中,主要研究内容为:声音处理,单片机驱动电机,无线传输等。
声音导引电动车系统有一个电动车S,3个声音接收器A、B和C,声音接收器之间可以有线连接。声音接收器能利用S和接收器之间的不同距离,产生一个S离Ox线(或Oy线)的误差信号,并用无线方式将此误差信号传输至S,引导其运动。
1 系统设计
1.1 硬件设计的整体思路
根据题目要求,设计任务主要完成电动车发声装置发送音频信号,声音接收器接收音频信号,利用电动车和接收器之间的不同距离,产生一个电动车离指定点的误差信号,并用无线方式将此误差信号传输至可电动车处理器,引导其运动。为完成相应功能,本系统可以划分为:电动车如图1所示、声音接收器如图2所示。电动车是由控制系统模块、电机模块及其电机驱动模块、声音发送模块、无线接收模块和电源组成。声音接收器是由音频接收模块、控制系统模块、无线发送模块和电源组成。
图1 电动车框图Fig.1 Electric car diagram
图2 声音接收器框图Fig.2 Sound receiver diagram
通过单片机和NEC控制板控制电动车。使用L298双通道直流电机集成驱动电路,驱动小车的两个直流电机。电动车发声装置的音频发声装置采用喇叭。声音接收器采用麦克接收声音,进行放大后送入单片机处理,进而计算出电动车与指定位置的距离,再通过无线模块把误差信号发送给电动车处理器,引导电动车到达指定位置。
1.2 单片机的选择
ATmega16 AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。
本芯片是以Atmel高密度非易失性存储器技术生产的。片内ISP Flash允许程序存储器通过ISP串行接口,或者通用编程器进行编程,也可以通过运行于AVR内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区 (Boot Flash Memory)的程序继续运行,实现了RWW操作。通过将8位RISC CPU与系统内可编程的Flash集成在一个芯片内,ATmega16成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16具有一整套的编程与系统开发工具,包括:C语言编译器、宏汇编、程序调试器/软件仿真器、仿真器及评估板。
1.3 复位电路的设计
单片机与其他微处理器一样,在启动时都需要复位,使CPU及系统各部件处于正确的初始状态,并从初始状态开始工作。单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如RST引脚上一个高电平并维持2个机器周期,则CPU就可以响应并将系统复位。复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
复位操作由上电自动复位和按键手动复位两种方式。上电自动复位是在加电瞬间电容通过充电来实现的。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。只要电源的上升时间不超过1 ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。
1.4 电源设计
电动车车体采用市售玩具坦克,其特点为稳定性高,比较容易实现精确转向控制。使用车载电池为车直流电机供电同时经过LM7805稳压后为单片机系统供电。地面接收端为3个音频接收器,需要对信号进行放大滤波和比较,考虑到滤波可靠性,使用双电源供电,声源接受端使用微机电源产生的正负9 V供电,上位机系统采用9 V直流电源经过7805稳压后供电。
由于无线模块使用的电源电压是3.3 V,所以使用1117-3.3进行降压,把电压降到3.3 V,如果电压超过3.6 V时芯片烧坏。
1.5 电机驱动电路硬件设计
由于小车有两个电机,同时驱动电机需要较大的电流,用单片机无法直接驱动,因此需要用专门的电机驱动芯片。L298N[1]是SGS公司的产品,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46 V、2 A以下的电机。本设计采用L298N作为电机驱动芯片。L298 可驱动两个电机,OUTl、OUT2 和 OUT3、OUT4 之间分别接两个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。
由单片机的P1口控制电机驱动芯片L298,P1.2、P1.3分别连接L298的5脚和7脚,以控制电机1的转向;P1.4、P1.5分别接L298的10脚和12脚,以控制电机2的转向;P1.6、P1.7分别接L298的6脚和11脚,分别控制两个电机的转动和停止。L298的2、3输出端接小汽车的一个电机,13、14两个输出端接小汽车的另一个电机。1、15两脚接地。用由于电机在正常工作时对电源的干扰很大,只用一组电源时会影响单片机的正常工作。所以选用双电源供电。一组5 V电源给单片机和控制电路供电,另外一组 5 V、9 V电源给L298N的+VSS、+VS 供电。
P1口状态与小汽车行驶状态对应关系如表1所示。
表1 P1口状态与小汽车行驶状态表Tab.1 State and the car driving P1 mouth status table
1.6 声音发送硬件设计
单片机发送的信号经过放大后给喇叭。喇叭发音的优点是范围广,但是声音响度不够,因此在信号从单片机出来后经过LM386音频放大电路放大,这样在远距离的声音接收器就能接收到理想的音频信号。为了让喇叭发出多分段的声音,语音芯片采用采用ISD4004语音芯片。
ISD4004[1]语音芯片构成语音录放电路,进行真人录音,并在小车行驶过程中根据题目要求的任务进行适时地语音提示;根据程序设计,在启动,转向等时间根据声音在存储地址进行调用并同步播放。
1.7 音频接收模块硬件设计
采用驻极体式麦克风作为音频信号接收传感器,其特点是耐用,灵敏度较高,在测试中完全可以达到要求,并且价格低。麦克接收到声源发出的音频信息后通过三极管和LM386放大,信号被送入单片机处理。LM386是一种音频集成功放,具有功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小的特点。在电源与地之间接入电容滤出干扰波。麦克接收音频信号送给三极管放大,经电容耦合送给LM386,再通过LM386放大,信号放大倍数可达到2 000倍左右。放大后的信号电压可达到几伏[2]。
LM386声音放大电路如图3所示。
图3 LM386声音放大电路Fig.3 LM386 sound amplifying circuit
1.8 电机控制ASSP芯片MMC-1设计
此芯片用于两相四线步进电机和用于直流电机。
MMC-1[3]为多通道两相四线式步进电机/直流电机控制芯片,基于NEC电子16位通用MCU固化专用程序实现。通过UART或SPI串行接口,为主控MCU扩展专用电机控制功能,可同时控制3路步进电机或直流电机。
MMC-1内部共有13个寄存器,用于设定,控制3通道电机工作。寄存器地址00H~0CH,低4位有效,每个寄存器固定长度8位。通过串行接口访问。复位后所有寄存器内容为00H。
电机控制功能:
MMC-1共有3个通道电机控制单元,通过设置寄存器可分别设置工作模式,实现不同功能。步进电机工作模式和直流电机工作模式
直流电机控制功能:
每一路直流电机需要CHnDCPWM和CHnDCDIR两个引脚(n=1~3),CHnDCPWM 用于 PWM 输出,CHnDCDIR 用于指定电机转向,外接一个全桥驱动芯片就可以控制直流电机工作。输出频率固定16 kHz,通过调节占空比控制电机转速。
直流电机功能说明:开始/停止运行和正向/反向运行。
过电流检测功能,每一通道都对应一路电流检测引脚CHnSEN(n=1~3),当该引脚的电平超过额定电平(Vdd/8)对应的通道的输出立即停止。
直流电机启动MMC-1顺序:
1)MMC-1 上电,RESET=“H”,SLEEP=“H”。
2)主控 MCU延时 50 μs,等待 MMC-1初始化结束。
3)设置 ChnDuty 寄存器(n=1~3),确定此通道电机运行速度。
4)设置 ChnMode 寄存器(n=1~3),确定此通道电机运行模式,同时启动电机运行。
使用ASSP芯片驱动电机控制,通过加入三极管同时控制两个电机。经过测试发现正反转时,脉冲调试之后示波器显示的占空比是相反的。
ASSP芯片引脚图如图4所示。
图4 ASSP芯片引脚图Fig.4 ASSP chip pins figure
ASSP芯片使用原理图如图5所示。
图5 ASSP芯片使用原理图Fig.5 Using principle diagram of ASSP chip
1.9 无线通信数据传输模块电路设计
为了降低系统综合造价,首先必须在系统硬件方面着手,根据应用特性,针对现有的集成芯片。因此此科目的无线通信数据传输模块采用NRF905。nRF905单片无线收发器,可以自动完成处理字头和CRC(循环冗余码校验)的工作,可由片内硬件自动完成曼彻斯特编码/解码,使用SPI接口与微控制器通信,配置非常方便,其功耗非常低。使用nRF905的微功率无线传输模块,nRF905微功率无线传输模块提供标准RS-232、485,UART/TTL电平3种接口方式,可直接与计算机、单片机或其它UART器件直接连接使用。通过SPI接口对nRF905进行配置,该接口包括5个寄存器,它们都是通过SPI指令进行工作的。
无线芯片使用原理图如图6所示[4]。
图6 无线芯片使用原理图Fig.6 Using principle diagram of wireless chip
此芯片的电压范围为1.9~3.6 V之间,笔者选用了3.3 V但它的接口与单片机的P0口连接时候,需要加10 kΩ的上拉电阻。
1.10 电源选择
采用8节1.2 V可充电式Ni-Cd电池串联共9.6 V作为电源[5]供电,经过LM2940CT降压后给直流电机和单片机系统供电,然后将5 V电压再次降压、稳压后给无线收发模块供电。Ni-Cd电池的电量比较足,并且可以充电,重复利用,因此,这种方案比较可行。并且车上预留的空间刚好可以装上电池。
2 整体调试
调试包括硬件调试和整体联调。由于硬件和软件的设计是相对独立进行的,并且软件的设计要依据硬件连接图,因此软件调试是在硬件完成之前。而硬件的设计需要根据硬件连接图进行焊接,并需要在焊接结束后测试硬件的各项指标是否符合设计要求。硬件焊接无误后,把程序写进单片机,进行软、硬件的联合调试。在调试中找出缺陷,判断故障源,对硬、软件做出修改,反复进行这一过程,直至确信没有错误之后将焊接板与小汽车连接,进行总体调试,并在调试过程中找出缺陷,对软件或者硬件进行进一步的修改,直至达到预期设计目的。
为了确定系统与题目要求的符合程度,笔者对系统中的关键部分进行了实际的测试[6]。
2.1 测试方法
在自制的实验台上,通过在Ox线右侧的多个位置作为起始点,进行了测试。可移动声源发出声音后开始运动,到达Ox线并停止,这段运动时间为响应时间,通过测量响应时间,用下列公式计算出响应的平均速度。
电动车的起始位置到Ox线的垂直距离6.2指标测试可移动声源停止后的位置与Ox线之间的距离为定位误差,用米尺测量。
可移动声源在运动过程中任意时刻超过Ox线左侧的距离,用米尺测量。
平均速度测量如表2所示。
表2 平均速度测量Tab.2 Average velocity measurement
定位误差与过线距离测量如表3所示。
表3 定位误差与过线距离测量Tab.3 Positioning error and line distance measurement
2.2 电机驱动电路
电机驱动电路直接用稳压可调直流电源供电,用外加信号触发,观看电机转速以及测量电机两端的电压。电机状态如表4所示。
表4 电机工作状态表Tab.4 Motor work status table
2.3 无线模块通信测试
两个无线模块在不同距离间通信。状态如表5所示。
2.4 功耗检测
供电电压为7.2 V,移动声源全速前进电流为600 mA。
表5 通信测试表Tab.5 Correspondence test table
2.5 测试结果分析
经过多次数据测试,通过对测试数据的分析,声音引导系统能够完成设计的基本要求,性能指标及实现功能如下:
1)以小车、压电式蜂鸣器为基本模块的可移动的声源。
2)可移动声源发出声音后开始运动,到达Ox线并停止,平均速度为6.3 cm/s。
3)可移动声源停止后的位置与Ox线之间的距离为定位误差,定位误差平局值为1.5 cm。
4)可移动声源在运动过程中任意时刻超过Ox线左侧的最大距离为3 cm。
5)可移动声源到达Ox线后,小车上的LED灯亮、声音鸣响。
6)功耗低,性价比高。
3 结 论
语音识别技术是目前新兴技术之一,由于它制作成本比较低,使用方便,因此被广泛应用于各种领域。为了能使语音识别技术走进日常生活,能和日常应用结合起来,更好地为人们服务。
本系统以ATMEGA16为核心部件,通过接收音频信号,利用可移动声源和接收器之间的不同距离,产生一个可移动声源离指定点的误差信号,并用无线方式将此误差信号传输至可移动声源的技术并配合相应的软件算法实现了声音引导系统,并完成了基本要求的各项任务。在系统设计过程中,力求硬件线路简单,功耗低,有效利用现有资源,并充分发挥软件编程方便灵活的特点,来满足系统的设计要求。
[1]CUI Shu-mei,ZHANG Wei.Research of control method on FAW hybrid electric car's motor system[C]//Proceedings of the 23rd Chinese Control Conference, 2005:1557-1560.
[2]徐爱钧,彭秀华.Keil Cx51 V7.0单片机高级语言编程与μVision2应用实践[M].北京:电子工业出版社,2004.
[3]DENG Tao,SHEN Hui.Design and evaluation of highperformance solarelectric car[C]//15th International PhotovoltaicScienceandEngineeringConference,2005:68-69.
[4]张伟,王力.Protel 99SE基础教程[M].北京:人民邮电出版社,2006.
[5]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2005.
[6]王彦,陈文光,朱卫华.全国大学生电子设计竞赛训练教程[M].北京:电子工业出版社,2006.