1、智能声音跟随玩具小车摘要 本设计以 TI公司超低功耗 MCU MSP430 处理器为核心设计,制作一个可以通过声音跟随人走动且能绕过小型障碍的智能玩具小车。该智能小车要求能够快速定位声源位置并快速反映调整车头行进到声源处,通过应用红外发射、红外接收和声音采集装置与单片机MSP430强大功能及其外围电路连接,再通过电机控制和算法控制来寻找声源及绕过障碍的方法来实现所需功能。 1. 引言本系统设计在当今遥控玩具汽车盛行的背景下,考虑到遥控汽车的遥控器容易坏,而且一些年龄较少的儿童不会使用遥控器,因此希望做出简单的能进行声源跟随并且能利用声音进行简单控制的玩具小车,以此代替遥控汽车面向年龄更小的儿童
2、。2. 系统方案 本设计将系统分为五个模块,分别为电源供电模块,430MCU 控制模块,避障模块,声源定位模块和驱动模块。通过 MCU的引脚对声源定位模块的信号进行扫描,通过算法计算判断声源位置,通过 MCU引脚驱动直流电机驱动芯片使小车进行拐弯行进,同时MCU又对避障模块进行扫描,当前方遇到障碍使,MCU 引脚电平将发生改变,此时再通过 MCU控制驱动电路进行避障。电源模块关键点:将提供的电源电压控制为 3.3V。避障模块关键点:将红外发生器和接收器放在小车最前端实现前端避障。声源定位模块关键点:将声音接受器即 MIC成三角排列,可通过接受声音的先后顺序,通过算法判断声源位置。图 1:系统方
3、案结构图3. 系统硬件设计1) 电源模块电源模块利用 4块 1.5V干电池进行供电,利用稳压芯片 AMS1117-3.3将电压转换为 3.3V,用其对接下来的控制模块,声源定位模块和避障模块进行供电图 2:电源供电模块原理图 2)430MCU 控制模块设计用大赛提供是 MSP430G2板作为控制模块,利用 VCC和 GND进行供电,其中P1.0和 P1.1通过电机驱动模块作为左轮的驱动,P1.2 和 P1.3通过电机驱动模块作为左轮的驱动,P1.4 是红外接收结果的反馈引脚,P1.5,P1.6 和 P1.5是声音接收的引脚。3)红外避障模块图 3:红外避障模块红外避障模块由一个红外发射头和一个
4、红外接收头如图构成,将其放在小车的最前端。在小车行进过程中,如果前方有障碍物,由红外发射头发射的红外线将被反射给红外接收头,此时 P1.4引脚将被外部下拉为低电平。此则说明前方有障碍物需要绕行。4)声音定位模块11MIC1 对应 P1.5MIC3 对应 P1.7车头车尾图 4:声音定位模块单个接收器硬件设计电路图 图 5:MIC 的分布图声音定位模块由三个如图 4的分立电路构成,分别与 P1.5,P1.6 和 P1.7连接,其中每个声音接收器由 S8050接成如图 4的音频放大电路,用 10uf的电解电容进行直流隔离,当 MIC输入声音时,MIC 的两端电压将产生波动。由 Re=0,所以音频放
5、大电路上发射极电阻接近为 0,在此计算交流放大倍数应该为,所以只要相应的 MIC接收到声音,相应的引脚就会被置高电平,如果没有接收到信号则是低电平。如图 5是三个声音接收器的放置位置,MIC1 和 MIC3前后间隔 6cm,MIC2 距离MIC1和 MIC2的连接线为 4cm。通过对 P1.5,P1.6 和 P1.7的引脚扫描,得到三个MIC接收声音的先后顺序,和相差的时间间隔,以车头为 12点钟方向,通过算法算出声源的位置。5)电机驱动模块电机驱动通过 P1.0,P1.1,P1.2 和 P1.3利用直流电机驱动芯片LG9110来驱动左直流电机和右直流电机,通过电机的正传和反转来完成小车的前进
6、,后退,左转,右转,从而进行避障和跟随声音行进。图 6:电机驱动模块4. 系统软件设计1) 避障软件设计小车行进扫描前方是否有障碍物进行避障是否2) 声源定位软件设计一、 算法如右大图为 a、b 和 c三点为三个 MIC的对应位置,各 个 MIC之间距离参数为如图所示,声速为 v。可将三个 MIC接收到 声音的情况分为 6种。 声源在车的左方,a 第一 个收到声音,b 第二个收到声音,c第三收到声音=arcos(vT1+vT2)/0.06) 声源在车的左方,a 第 一个收到声音,c 第二个收到声音,b 第三收到声音1=arccos(vT1/0.06) 声源在车的左方,c 第一个收到声音,a 第
7、二个收到声音,b 第三收到声音2=arccos(vT1 /0.06) +90 声源在车的左方,c 第一个收到声音,b 第二个收到声音,a 第三收到声音3=180- arccos(vT1+vT2)/0.06) 声源在车的右方,a 第一个收到声音,b第二个收到声音,c 第三收到声音4=37- arcsin(vT1/0.05) 声源在车的右方,b 第一个收到声音,a第二个收到声音,c 第三收到声音车头abc3cm3cm4cm53车尾vT1声源位置vT2vT21vT1声源位置 2vT1声源位置vT23vT1声源位置vT24vT1声源位置vT2 5vT1声源位置vT26声源位置vT2vT10.057声源
8、位置vT2vT10.055=90-(53- arcsin(vT1/0.05))=37+ arcsin(vT1/0.05) 声源在车的右方,b 第一个收到声音,c 第二个收到声音,a 第三收到声音5=90+(53- arcsin(vT1/0.05))=143+ arcsin(vT1/0.05) 声源在车的右方,c 第一个收到声音,b 第二个收到声音,a 第三收到声音7=180- arcsin(vT1/0.05)二、 声源定位程序流程图小车行进扫描 P1.5 是否高电平且a=1扫描 P1.6是否高电平且 b=1扫描 P1.7是否高电平且 c=1否 否 否i= i+S1=ia=0i = i+S2=i
9、b=0i= i+S3=ic=0i 是否为 1是 是 是开始计时是否 i 是否为 3结束计时记录时间 T1结束计时,i=0记录时间 T2是 是i =0;a=1;b=1;c=1;否判断 a,b,c 的时序,通过 T1 和 T2 依照算法计算声源方位T1=0;T2=0;S1=0;S2=0;S3=0;a=0;b=0;c=0;控制电机使小车转向,并往声源位置行进3) 整体系统软件设计5. 系统创新系统利用 TI公司的超低功耗 MCU MSP430从根本上降低了功耗,利用简单的多个共射放大电路,通过引脚扫描和算法运算实现对声源的定位,甚至可以利用声音的时序实现简单的智能控制。而且小车前方具有避障装置,令小车跟随声源的同时具有避障的功能。6. 评测与结论系统测试方法:系统通过多方面的实际使用来测试小车能实现的数据,通过测试 10秒内行进的直线距离测试小车的行驶速度,通过多次前方放置障碍测试小车避障情况,通过多次多方位的拍手测试小车对声源定位的成功率。达到的指标:速度:第一次 第二次 第三次 第四次 平均速度10s行进距离 2.8m 3.1m 2.6m 3.3m 0.29m/s避障成功率:成功 失败 成功率43次 7次 86%声源定位成功率成功 失败 成功率67次 33 67%