新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AT89S52的声音导引系统设计

基于AT89S52的声音导引系统设计

作者:时间:2010-06-09来源:网络收藏
0 引言
2009年全国大学生电子大赛的B题是“”;题目要求并制作一有一个可移动声源S,三个声音接收器A,B,C,声音接收器之间可以有线连接。声音接收器能利用可移动声源和接收器之间的不同距离,产生一个可移动声源离指定位置的误差信号,并用无线方式将此误差信号传输至可移动声源,引导其运动。

1 系统的具体与实现
1.1 系统组成

系统组成如图1所示,在系统设计中采用两块单片机()分别作为可移动的声源的检测和控制核心。通过单片机(MCUl)对接收器接收到声源信号的时间做处理,检测出当前小车的位置,然后通过无线发送给MCU2。MCU2根据当前的位置控制电机的转速及转向,当停止下来时给出相应的声光提示。

本文引用地址:http://www.eepw.com.cn/article/173314.htm


1.2 具体算法实现
1.2.1 设计与计算

该设计主要是根据接收器接收到声源信号的时间间隔来确定当前小车的位置S,如图2所示。设S点到C点的距离为a。S点到A点的距离为b;S点到B点的距离为c。设S点的坐标设为l,h),假设由单片机测得接收器A、接收器B和接收器C接收到信号的时间间隔计算出b与a的距离差为c1;b与c的距离差为c2。由图2中关系可得到如下方程:


则可根据测量的距离差△d=|c2-c1|求得相应的小车的位置(l,h)。


1.2.2 误差信号产生
该设计的误差信号产生主要有三个方面:
检波误差 由声源信号产生的半波损失,其误差的大小与声源信号发射的频率有关。当频率越小时,△d=|c2-c1|则越小。如频率为5 kHz的声源信号,其周期为O.2 ms,则半波损失导致△d=0.1 ms×340 m/s=3.4 cm,所以频率越大,半波损失越小。
单片机的测量时间产生的误差 单片机晶振为24 MHz,内部时钟经12分频后,时钟周期为O.5μs,测量时间误差为±0.5μs,则会产生一定的误差信号。
计算误差 在计算声源位置的过程中,数据有一定的取舍,则会产生一定的误差。
1.2.3 控制理论简单算法
该设计的控制理论简单算法主要考虑三种方案:
方案一:根据计算出的△d=|c2-c1|的值来确定小车是否移动,当移动到△d=O时,控制小车停止。
方案二:根据测得△d=|c2-c1|的具体值控制字PWM,PWM=K△d,其中k为比例调节,△d越大,K越大,从而控制小车的速度。
方案三:PID控制算法
在连续运动控制系统中,将偏差的比例(P),积分(I)和微分(D)通过线性组合构成控制量。控制系统中以驱动电机转速采样信息为反馈量,采用增量式数字PID控制算法,通过输出PWM信号对电机实现闭环控制。计算公式为:


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭