您现在的位置: 首页 >> 技术支持 >> 基于MSP430F449单片机的声音定位系统的设计
基于MSP430F449单片机的声音定位系统的设计
声源定位在当今日益智能化的社会中有着诸多方面的应用,特别是在智能控制,军事等领域。文中设计的系统以MSP430F449单片机为控制核心,步进电机驱动的小车作为移动声源载体,设计两个间距固定的麦克风作为接收设备,测量声源发声到麦克风接收到声音的时间差数据,声源通过无线模块接收到数据从而计算出声源的坐标,然后控制声源小车运行到指定坐标实现定位控制。经测试,本系统能精确的控制小车到达指定坐标点,系统工作稳定。
定位系统是当今很热门的一个研究课题,国内外测距定位技术常用到的有激光测距定位,超声波测距定位,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低通结,即可有效滤除时钟信号带来的高频噪声。