基于AT89S52单片机声音导引系统.docx
B甲086在充分调研的基础上,根据题目要求,以AT89S52单片机为控制核心,加直流电机及其驱动电路、音频脉冲信号产生和接收电路、电源电路及其他电路,我们设计了声音导引系统。该声音导引系统具有产生和接收音频脉冲信号、智能测距、声光指示、无线通信等功能。利用MMCT及1M298N来控制可移动声源的运动状态,并有效地降低了软件的难度。在声源行进过程中,采用声波测距模块进行测距,接收器根据读取时间计算出声源距接收点的距离,PT2262及PT2272根据距离的测量结果,对声源的运动进行实时调节,进而确定可移动声源的运动方式。实验证明系统设计灵巧、算法合理、控制准确,不仅完全实现了题目的基本要求,也基本实现了发挥部分,并且有所创新。摘要I1方案比较、设计及论证12硬件实现电路设计23软件系统的设计44测试分析及仪器55创新点56结论6参考文献6附录一声音导引系统部分实物图7附录二部分原程序81方案比较、设计及论证1.1 声音引导的选择方案一:采用传统的扬声器发声,使用驻极体话筒进行对信号的接收并通过放大电路进行放大。普通扬声器价格便宜,容易控制,但发声频率较宽,在接收的过程中容易引入环境声音或可移动声源移动时的机械声音,从而造成对声音信号处理的不稳定。方案二:将发音频率较宽的扬声器换为发音频率较窄而且较高的蜂鸣器发声,通过调节可以提高系统的稳定性。但在测试过程中发现麦克风灵敏度不高,近距离可以实现声音的检测,但对于大于30Cm以外的声源相应不够明显,信号放大后噪声波形不易判断,故在此次设计中不宜采用。方案三:采用频率较为单一的超声波进行传输测量。超声波指向性强,在介质中传播的距离较远,可以完全满足50CmTOOCm距离检测的要求。超声波是利用压电晶体的谐振来进行工作的,只有发射频率与接收压电晶体片的固有振荡频率相同时,接收端才能对信号作出有效的响应。所以采用超声波发射产生的单一信号进行引导可以有效的避免周围环境的影响。通过以上分析可以看出采用超声波进行导引具有其他方案无可比拟的优势。超声波作为一种不可闻声波有效的降低了小车行进过程的噪声污染,能较准确的实现测距功能。1.2 无线收发装置的选择方案一:采用自制振荡回路实现无线发射接收。自制成本低,但高频振荡不稳定,数据传输过程中容易造成丢失或出错。方案二:采用成品发射接收电路。成本虽略有提高,但性能优于自制发射接收电路,传输数据准确稳定。在通过对两种电路测试比较的基础上,为提高系统的稳定性,我们采用了成本稍高但性能稳定的成品发射接收电路,有效的提高传输数据的准确性,保证了系统的正常运行。1.3 主控芯片的选取单片机控制器是系统的核心,在总体上控制各系统模块完成各自的功能。对单片机控制器芯片选取的基本要求是在保证能够较好的完成各项控制功能的基础上尽可能的降低成本,以提高其性价比;同时尽量选取操作简单,性能稳定,运行速度较快,功耗相对较低的芯片。AT89S52作为经典51系列单片机具有应用灵活、价格低廉、使用方便等特点。本单片机支持USB和串口下载,操作简单,易于实现。根据本题的要求充分利用本单片机的资源,能较好的实现各项功能。1.4 数学模型建立及数据处理方式的优化题目要求利用声音来引导可移动声源移动到OX线上,然后沿OX到达平面的中心位置,在此我们提供了以下三种运行方案。方案一:圆弧运动方式。利用超声波测距模块返回的时间进行距离测算:s=340t(m)0在保证SB不变的情况下使可移动声源向接收器C运动,当SC=J(SB尸-2J(SB)2-0.25时,即可判定可移动声源到达OX线段。对于SB小于0.5m的区域,通过程序将可移动声源右转90。进行行进并实时判断SB的距离,直到检测到SB的长度大于或等于0.6m时进行弧线移动。到达OX后进行向左转头,在保证SAsSB相同距离的条件下运行,使SA(SB)趋近0.707m,当距离等于0707m时停下报警,完成任务。此方案是我们想出的第一套方案,从理论上分析能够实现大赛的部分要求,但存在部分情况下平均速度过慢,掉头不灵等问题。方案二:直线测距方式直行方式。通过超声波传感器测出可移动声源距A、B、C三点的距离SA、SB、SCt则可通过公式d=屋运>豆(x、y分别表示声源距相邻两接收器的距离)计算出可移动声源距AB、AC线的距离。可移动声源在保持距离AB线不变的情况下向距AC线减小的方向移动,当测得距离AC等于0.5m时停止运动。根据距离A点的距离控制可移动声源向左或向右旋转901进而实现向中心位置的移动。此方案解决了调头不灵的问题,理论分析完全可以实现,但程序中存在平方、开方等运算,程序繁冗,MCS-51处理困难。方案三:时间对比直行方式。此方案数据不经过处理直接进行数据判断,根据读取时间的不同来控制可移动声源的运动。开始可移动声源直接向前运动,并在移动过程中向A、B两点发射超声波,当A点接受到的时间落后于B点的时可移动声源一直前进,直到A、B两点同时检测到声音信号时,可移动声源停止运动。根据时间t判断控制小车向左(右)转,进而根据A、C点接受信号的先后顺序控制可移动声源向中心运动。综合考虑,第三种方案实现容易,算法简单,足以完成大赛规定的各种任务,所以我们选择了第三套方案来完成本次大赛规定的任务。2硬件电路设计硬件电路系统主要分为电源模块、单片机最小系统、超声波发射模块、超声波接收模块、电机驱动模块、无线收发模块、声光指示模块。其系统结构框图如图1所示。图1声音导引系统结构框图2.1 电源模块电源是电路的基础,由于可移动声源与接收器之间没有线路的直接连接,我们采用电池分别为两部分进行供电,可移动声源与接收端采用相同的稳压电路。电源电路”如图2所示。2.2 单片机系统设计2.2.1接收器单片机电路接收端单片机主要由基本的震荡电路、无线发射模块、复位电路及外部中断电路组成。由于AT89S52仅有两个外部中断源,所以不能同时对三个接收电路返回的信号进行响应。在实现过程指定的方案中同时测量的接收器小于3个即可实现全部功能,而在三个接收器中A的使用最为频繁。在电路设计构成中我们将B、C两个探测信号共用一个外部中断。2.2.2可移动声源中单片机系统设计可移动声源采用两轮驱动的三轮小车通过MMC-I芯片对两个1M298N进行控制。同时单片机最小系统从无线接收模块读取数据,执行主控制芯片发送的命令。具体实现电路如图3所示。+5V9AS1EEPr-i-TXD/SO10PO.0&H1ED七彩f930p严RXD/SIP1.3XTA11P3.0P3.1控制器XTA12AT89S52RSTP3.2P2.7P2.6P2.5P2.4CRYI*12M18122827262530pC3无线接收图3.可移动声源控制器电路2. 3超声波模块超声波发生器实际上是利用压电晶体的谐振来工作的。超声波有两个压电晶片和一个共振板。当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。在电路设计过程,我们采用555振荡电路产生40kHz频率信号给超声波发射器供应信号,并从接收端读取信号。在接收端经过放大处理电路将信号转换为电平变化后接单片机中断进行测控,实现单片机对信号及时响应。超声波模块只能发射固定频率的超声波,所以我们采用由555定时器构成的多谐振荡电路实现对超声波发射模块的控制,具体电路如图4所示。由于单个超声波发射接收头的有效角度为30°,为扩大测量范围,我们模仿雷达将发射头装在一个能够自由旋转的可控减速电机上,使有效范围扩展到了360"有效。2.4 声光指示系统声音指示使用的是一个蜂鸣器,通过单片机给其发送指令完成声光指示功能。光指示采用七彩1ED,显示效果十分明显。2.5 电机驱动部分电路设计电机驱动采用芯片MMC-I对1M298N进行控制,其电路如图5所示。图5.电机驱动电路2.6 无线收发系统无线收发前端采用PT2262进行编码。PT2262是一种低功耗CMOS编码电路上编码芯片PT2262接收数据后发出地址码、数据码、同步码,编码通过无线发射电路向外发射。在接收端收到信号后将信号送入PT2272进行解码。将编码后的一系列数据还原回原形式。3软件系统的设计该系统主要采用两片AT89S52作为控制核心,将外部超声波模块采用单片机的两个外部中断进行中断计时,同时保证电机驱动及无线收发的正常运行。可移动声源在移动过程中,测试两接收点接收到信号的先后顺序判断可移动声源是否到达指定位置。开始运行时,可移动声源前进方向垂直于OX线,在这种情况下我们控制可移动声源直行。在行驶过程中存在某路线与OX线的交点,在此点发送的超声波信号,A、B两接收器能同时检测到。到达这点后即可完成到达OX线的任务,停止运动并给出声光指示,图6.主程序流程图等待7秒后完成后续任务。可移动声源在开始只是直行,可认为可移动声源在短距离移动后方向未发生变化,然后根据信号到达A接收器时间的长短判断出可移动声源在中心位置的上侧或下侧,从而控制可移动声源左转或右转90。,向中心位置移动。同时向A、C两接收器发射信号,当A、C同时接收到信号后停止运动,即到达W点,并再次给出声光指示。其具体流程框图叼如图6所示。4测试分析及仪器4.1 测试仪器秒表、米尺、数字万用表、双通道示波器、直流稳压电源等。4.2 速度测试可移动声源在移动过程中,随着距OX距离的减小速度逐渐降低,对于在不同距离上的平均速度我们进行了多次测量,具体测量结果如表1所示。表1可移动声源距OX的距离与速度关系测量结果距OX的距离(Cm)T1(s)V1(cms)T2(s)V2(cms)T3(s)V3(cms)V(cms)102.334.292.114.742.254.444.49204.364.594.164.814.044.954.78305.245.735.275.695.095.895.80405.936.756.076.595.846.856.73506.138.156.258.006.337.908.02通过上表可以看出随着距OX的距离减小,可移动声源的速度逐渐降低,在从大于20Cm的位置起始运动时,小车可以保持大于5cms的平均速度运动,而在小于20Cm内,可移动声源的运动速度略显不足,但近距离的慢速运动有利于保证可移动声源的定位精确性,在协调定位精确性与短距离运动速度的方面尚有一定的提升空间,有待进一步调试。4.3 定位误差测试在保证原先对应速度不变的情况下,可移动声源从距离OX线30Cm的地区出发,在到达OX线后测量偏离线的距离并计算误差,测量结果如表2所示。表2.定位误差测试结果次数1234567平均误差距中心点距离(Cm)2.71.91.11.70.81.32.11.66现有条件下,可移动声源能满足大赛要求的定位精度,保证偏离在3cm以内变化。4.4 误差分析的影响误差的因素很多,包括环境、测量、硬件信号传输速率,软件运行速率等。在本系统中,环境因素很难加以调节。为提高硬件的传输速度,应尽量使用高速器件,尽量调