基于MSP430的声音定位系统的设计
扫描二维码
随时随地手机看文章
摘要:声源定位在当今日益智能化的社会中有着诸多方面的应用,特别是在智能控制,军事等领域。文中设计的系统以MSP430F449单片机为控制核心,步进电机驱动的小车作为移动声源载体,设计两个间距固定的麦克风作为接收设备,测量声源发声到麦克风接收到声音的时间差数据,声源通过无线模块接收到数据从而计算出声源的坐标,然后控制声源小车运行到指定坐标实现定位控制。经测试,本系统能精确的控制小车到达指定坐标点,系统工作稳定。
关键词:声音定位;MsP430;无线控制;步进电机
定位系统是当今很热门的一个研究课题,国内外测距定位技术常用到的有激光测距定位,超声波测距定位,CPS定位等,而利用音频信号实现定位的技术也凶其低成本,易实现,精确度较高等优势而在飞速发展,存智能控制领域有着较广泛的应用。
1 系统整体设计
系统主要南移动声源,声音接收处理,软件处理三大部分组成如图1所示。移动声源主要以小车为载体由蜂鸣器产生周期性的声音信号。声音接收处理由麦克风接收声音信号并对信号进行放大滤波等,直至将信号送入单片机。软件处理部分由送入单片机的信号做出相应判断并控制无线模块发送数据和命令给移动声源,移动声源再做相应调整。
1.1 声音接收处理部分
采用差分放大器AD620放大接收到的微弱的声音信号,后级利用MAX264构成Q值较高的带通滤波器,滤波之后的信号跟一级放大以提高相邻两脉冲幅度差,放大之后信号再经比较器LM311整形得到脉冲信号作为中断信号送入MSP430处理,处理之后得到时间差数据,通过无线模块NRF24L01将数据送到声源做处理。同时键盘输入的目的坐标点数据也通过无线模块传输到声源。
1.2 移动声源部分
声源载体为步进电机驱动的两轮小车,利用蜂鸣器发声。车上的MSP430控制蜂鸣器发声,无线模块收到来自声音接收处理端发过来的数据后计算出声源坐标,根据目的坐标点由MSP430输出相应PWM波控制步进电机转动使小车移动到目的坐标点。
1.3 软件处理部分
声源发出周期性的声音信号,开始发声时刻通过无线模块给接收端一个标志,接收端开启定时器开始计时,出现有效中断信号后停止计时,即可得到时间差数据。声源部分接收到时间差数据后计算出坐标控制电机运动。
2 系统硬件模块电路设计
2.1 系统可行性分析
声源端和接收端都采用MSP430F449单片机,外部品振8 MHz,则:时钟周期=0.125μs。根据系统算法的设计,系统核心是测出声音信号到两接收点的时间差。现系统的精度要求为1 cm,声波速度为344 m/s则:时间精度Te=0.01/344=29μs。单片机在一个时间精度能够执行的指令个数为:Te/Tsck=29/0.125=232。本系统中,由接收端通过无线信号控制移动声源的停车和移动,所以移动声源的位置误差产生主要是来自于接收端和声源之间的无线通信,而无线通信主要的耗时来自单片机内无线指令的执行,而1 cm误差范围内的232条指令时间足够执行无线指令。声源部分的单片机主要负责接收点之间的无线通信,控制小车运动,产生周期性声波等操作,对精度要求不高。综上所述,采用MSP430F449单片机作为声源端和接收端控制芯片完全满足系统的性能指标。
2.2 功能模块电路设计
(1)差分放大电路设计
采用双麦克风接收声音信号,能大大减小环境噪声干扰,提高共模抑制比。采用仪表放大器AD620进行差分放大,AD620共模抑制比可达100dB以上,能够有效的抑制共模噪声,并且可达到60 dB的放大倍数,仅需一个外接电阻就可调节其放大倍数。采用双麦克风差分放大的一个重要优势在于:放大输出信号的幅度不再是与声源和麦克风之间的距离成反比,而是其幅度随声源在平面坐标的不同而随机发生很小范围的波动(这是由于电路放大的是两个麦克风声音信号之差,距离远声音信号之差不会变的很小,距离近声音信号之差也不会很大),这有利于比较器门限的设定。但由于采用双麦克风差分放大,即使AD620放大倍数很高,放大后的信号峰值仍然不超过100 mV,须进一步放大。系统后级放大采用的是较高Q值的带通滤波器,滤波的同时对中心频率信号也有着很高的放大倍数。
(2)声音信号滤波模块设计
本系统以蜂呜器作为声源,蜂鸣器发出的声音信号频率为3.6 kHz。在声音信号经过前置放大电路以后,会引入高频噪声和低频噪声,因而必须在后级处理模块中接入Q值较高的带通滤波电路,滤波采用MAX264开关电容滤波器,能取得优良的带通滤波特性,同时较高Q值进一步放大信号。由于开关电容滤波器难以避免有高频开关噪声,因而滤波输出信号后接一个简单的RC低通结,即可有效滤除时钟信号带来的高频噪声。
(3)后级放大模块设计
滤波之后的信号噪声幅度在20 mV以下,为了便于比较器门限的设定,再跟一级放大以提高比较信号两相邻脉冲幅度之差,这有利于系统的稳定丁作。选用高CMRR运放OPA602。
(4)比较整形模块设计
为了能对滤波输出声音信号进行处理,需要将模拟信号整形成能被单片机识别的TTL脉冲信号。采用比较器LM311实现对输出信号的整形,得到的信号接到MSP430扩展的中断口上,以实现对时间差的测量。
(5)无线发射模块设计
本系统采用无线收发模块RF24L01进行误差信号的传输。该芯片1.9~3.6 V供电,功耗小。其内置2.4GHz天线,并采用高效的GFSK调制,抗干扰能力强。这款芯片制成了PCB板,内置专门的稳压电路,使其在各类的电源供电情况下,都有很好的通信效果。该模块可以通过软件设置地址,只有收到本机地址时才会输出数据,可直接与各种单片机连接使用,软件编程十分方便。
3 系统软件设计
声源引导部分的软件设计包括对可移动声源发声命令的发送,时间差信号的接收与处理,载体小车上电机控制命令的发送以及无线发射模块的控制。可移动声源部分的单片机主要完成对无线接收模块上寄存器的查询,得到声源引导部分发出的数据命令,并对可移动声源部分的蜂鸣器和步进电机进行控制。软件设计流程如图2所示。
4 系统测试及分析
本系统设计制作一声音定位系统,小车作为声源载体可以移动。A,B两个麦克风之间距离固定为1 m,小车起始位置为直线AB上方平面的任意点,但须保证车头方向与AB中垂线Ox垂直。键盘输入目的坐标点,小车应能精确快速到达指定点。
4.1 测试数据
数据如表1所示。
4.2 测试结果分析
从测得数据来看,精确度比较可靠,测得坐标误差最大为0.8 mm,控制小车运动到指定位置的误差最大为1.0 cm,这可能是由于小车在启动和转弯过程中带来的,也可能是由于前面测坐标的误差放大带来的。