APP下载

基于STM 32控制的声音导引系统

2010-03-20许崇言

单片机与嵌入式系统应用 2010年12期
关键词:接收器声源单片机

许崇言

(西北民族大学榆中校区电气工程学院,兰州730124)

引 言

声音导引系统,主要是靠声音来完成对机器的智能控制,既方便又快捷。尤其是环境比较恶劣、不适合人类停留的地方,可以依靠声音来控制机器的正常运行。声音导引系统也是智能化控制的一个方面,对未来的智能化发展有较大的促进作用,对未来智能机器人的研究也大有帮助。

1 系统总体方案

如图1所示,声音导引系统由1个可移动声源S,声音接收器A、B和C构成。其中,可移动声源由发声模块和无线接收模块组成;A、B、C三处各放置一个声音接收器。

针对系统设计要求,可以采用以下实现方案:在O点设置一个STM 32单片机控制器,作为A、B、C三个声音接收器的公共控制器,并通过一个公共无线发送模块向可移动声源发送反馈信号。可移动声源开始运动并发出声音后,声音接收器A、B和C收到声音,将声音信号分别传送给STM 32单片机,由STM 32单片机判别A、B和C哪个声音接收器先接收到该声音信号。

若声音接收器B先收到,则不发送反馈信号给可移动声源。一旦声音接收器A先收到声音信号,表明可移动声源已经在定位误差的范围内到达Ox线,无线发送模块立即向可移动声源发送反馈信号,可移动声源接收到该信号后,立即停止运动。该方案电路简单,只需要一套无线收发系统,因此也节约了成本。

2 系统硬件设计

图1 声音导引系统示意图

本系统中,可移动声源由EDC-CarX V1.0-2007.06四驱版DIY竞赛小车、日本NEC电机控制ASSP芯片MMC-1、STM 32 Cortex-M 3系列单片机、无线接收模块、天线、蜂鸣器组成;音频接收模块、无线发送模块、天线组成声音接收器。

如图2所示,本系统主要靠无线模块实现主从控制器之间的通信,进而通过MCU-1来控制电机的运行状态。由于该系统要求系统的响应速度快、功耗低、稳定性高等,一般的C51单片机不能满足要求,综合考虑选择ST公司Cortex-M 3系列的STM 32F103VE作为主控芯片。该芯片基于专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex-M 3内核。其特点如下:工作时钟频率最高达到72M Hz;单周期乘法和硬件除法;256~512 KB的Flash,高达64 KB的SRAM;睡眠、停机和待机3种低功耗模式;2通道12位D/A转换器;多达13个通信接口;11个定时器,可以进行输入捕捉/输出比较/PWM信号通道和增量编码输入。

图2 系统框图

可移动声源电机部分由STM 32-F103VE、MMC-1和L293芯片驱动,其控制、驱动电路如图3所示。MMC-1和L293都是直流电机的控制芯片,这种组合更有利于精确控制。

图3 可移动声源控制、驱动电路

无线接收模块电路如图4所示。SCDRX2DS为无线接收模块的控制芯片。301是电路的稳压芯片,起到电压保护的作用。

3 软件设计

本系统的软件部分主要分为移动声音模块和声音接收模块。采用ST公司提供的函数库进行开发。该函数库是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征,以及每一个外设的驱动描述和应用实例。通过使用函数库,无需深入掌握细节,用户就可以轻松地应用外设,从而大大缩短了用户的编程时间,进而降低了开发成本。为了减小开发难度,本设计以引用函数库为主,添加自己的用户程序完成整个系统的软件部分。

3.1 移动声音模块

本模块主要实现移动声音控制器的功能。利用延时的方法产生高低电平来驱动蜂鸣器产生声源。通过SPI串口和NEC的从控芯片进行通信,发送命令进而来控制电机的运行状态。通过无线模块接收的信息先暂存在SPI的缓冲区中,以备控制命令及时发送。发送的控制命令有前进、后退、左转、右转和停止信号。移动声音模块控制流程如图5所示。

3.2 声音接收模块

本模块的功能主要是循环接收传感器的信息,根据3个接收器传回声音的顺序不同,来判断移动声音的位置和运行状态,进而将前进、后退、左转和右转控制命令发送给移动声源。由于该控制器的采样频率要高,因此把主控制器的时钟频率通过PLL调到最大72 MHz。声音接收模块控制流程如图6所示。

4 系统测试

测试仪器包括:100 MHz数字示波器,数字万用表(型号VICTOR-VC890D),STM 32单片机开发板,秒表,卷尺。

用示波器观测单片机、MMC-1芯片的输入/输出引脚信号波形,用数字万用表检查元件有无虚焊,从而确定对电机的驱动情况。

图4 可移动声源无线接收模块电路

图5 移动声音模块控制流程

图6 声音接收模块控制流程

结 语

可移动声源开始运动并发出声音,3个声音接收器收到来自可移动声源的声音信号后,立即发出各自载波频率的反馈信号给可移动声源。可移动声源根据接收到的不同信号频率判断反馈信号的源头,从而由MCU发出相应控制信号(前进、倒退和转弯),导引可移动声源在定位误差的范围内。

用秒表、卷尺测试小车运动的平均速度,并量取定位误差。假设小车初始位置为S0,小车停止位置为S且SS0与O′y间夹角为α,全程运动时间为t,S与Ox线间距离为d,则小车平均速度为SS0◦tan(α/t)。测试数据如表1所列。

表1 测试数据

[1]白延敏.单片机典型系统开发实例精讲[M].北京:电子工业出版社,2009.

[2]刘鲲,孙春亮.单片机C语言入门[M].北京:人民邮电出版社,2008.

[3]兰吉昌.单片机完全学习手册[M].北京:化学工业出版社,2009.

[4]求是科技.单片机典型外围器件及应用实例[M].北京:人民邮电出版社,2006.

[5]STM 32社区.全新STM 32微控制器函数库,2009-01.

[6]STM 32社区.STM 32F10x参考手册,2008-12.

猜你喜欢

接收器声源单片机
虚拟声源定位的等效源近场声全息算法
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于GCC-nearest时延估计的室内声源定位
JXG-50S型相敏轨道电路接收器自动测试台
运用内积相关性结合迭代相减识别两点声源
新型二取二结构的25Hz微电子相敏接收器数据处理方法研究
力-声互易在水下声源强度测量中的应用
Microchip推出两个全新PIC单片机系列