我是靠谱客的博主 缥缈钥匙,最近开发中收集的这篇文章主要介绍倒车雷达c语言编程,汽车倒车雷达系统的设计与实现(论文c1),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

5系统误差分析及解决方案5.1影响超声波探测的因素

在使用超声波传感器的过程中,发射和接受都利用的是这样的装置。通常情况下超声波的频率为40kHz。因此得到的是障碍物与小车的距离。但是毕竟一个超声波传感器不能传到所有的区域,其探测的范围是很有限的,有些阻挡物又被其他设备遮盖了,而在这种情况下是不是仍继续能够检测到,就跟下面所述的因素有关:

(1) 根据反射的理论我们可以得到这样的信息,入射角和反射角是相等的,但是这种反射是不是可以回到发射装置中是不确定的,主要还是得看障碍物的表面与传播的角度。

(2) 障碍物与传播角度的不同,同样也对强度有一定的影响。

(3) 在超声波发生反射的过程中,由于阻挡层的差异使得发射的多少也不同,有的物体会吸收,而有的会全部反射。这些都是与阻挡层本身的特性分不开的,对于相对柔软、含有缝隙的障碍物在检测的过程中更不容易被发现。

(4) 空气也可以对实验造成一定的影响,因此在其他条件都一致的情况下,间隔越大,超声波在发射和反射中的衰减越大,障碍物也就越不容易被发现。

综上所述,影响超声波探测的主要几个因素就是:角度、大小、表面材质和距离。

因此,归纳出了几种会对实验造成巨大影响的不利因素:

(1)在草坪上前进或者在道路凹凸不定的情况下。

(2)阻挡物为比较尖锐的情况。

(3)在柔软的物质或者极易吸收波的情况下。

(4)在相同频率(40 KHz)下有其他杂音的混入,如重金属,强度较高的气体排放,汽车的轰鸣在正对传感器的范围内。

(5)在发射装置的外部有其他物品。

(6)一些类似于金属网和细线等小物件。

5.2超声波测距的误差分析

根据超声波测距公式L=c•t/2,可知测距的误差是由超声波的温度、传播速度和测量距离传播的时间引起的。

5.2.1 温度误差

由于超声波也是一种声波,其声速与温度有关,如表3-1所示,列出了几种不同温度下的声速。在测量时,如果温度变化不大,则可认为声速是基本不变的。

表5-1超声波波速与温度的关系表

温度(℃) -30 -20 -10 0 10 20 30

声速(m/s) 312 320 326 322 337 345 350

阻挡物与传感器的远近计算:S=V/2,V表示的是速度,T表示的是时间间距。从表5-1可以得到在温度不一致的情况下,超声波传播的速度也相差很大,相距最大的速度达到了70m/s。由此就可以得到很大的误差。

5.2.2 时间误差

在实验的过程中,当进行距离测试的时候要达到一定的要求,在误差低于1mm的情况下,如果将声速记为340m/s,而且不仅在空气中的损失,那么得到的距离的误差s△t

如果不记超声波在空气中传播的损失,而且得到的时间差值达到足够的精度,那么就会把误差控制在1mm的范围之内。但是如果想要达到这种标准,那么我们就要把在传播中遇到的各种情况也作为参考。下面举例说明,超声波在常温下(18℃)的传播速度为340m/s,而在高出12℃的情况下(30℃)是350m/s,12℃的温度差别造成速度差别为10m/s。如果在这种温度下以常温的速度来进行计算的话,若距离相差100m,那么误差就会达到5m之高,即使是相距1m的距离也会达到误差为5mm。

5.2.3 回波检测对时间测量的影响

超声波在反射的过程中,在遇到接收装置时,是以最先接收到的为基准记录的,为了防止中间存在扰乱信号,就会设定门限值。当接收的包络线大于设定值时,记录为准确的达到时间,这里所得到的数据有一个相对的错后,如果这时的信噪比也相对较小,那么得到的误差也会相对较大。对接收到的尽心进行进一步的研究,当在收到信号的瞬间,最先接到的包络线呈现出e的关系增加,并且在第9个信号传播到达的时候关系达到最大值,第3个为最值的3/4,所以我们可以得到一种适合门限的措施。通常在外界环境没有特殊变换的情况下,我们选用40kHz的波作为传输信号,那么在第9个信号到达时经过了9/40 kHz=0.225ms;如果间距为一米或是两米的范围内,可以每隔16ms就发射一次,占空比为1/8。以8次为一个序列,而时间差为32ms,以第一次发射的最大值作为一个准则,而以这个数据的3/4记做门限值,得到t1,因而得到了接收的时间为t=t1-2.2/40kHz=t1-55×10-6,采用这种方法得到的结果比较准确,排出了其他因素的影响,因而在实验中采取这样的方法。

5.3误差解决方案5.3.1 温度补偿

超声波在空气中进行传播时,其速度会受到很多因素的影响,比如温度和压强等,但这两种情况下,前者会产生更大的影响,所以我们就要寻求一种方法来弥补这一影响。在这里,通常情况下我们利用温度补偿来实现。

在进行实验的过程中外界的温度是不断地悄悄地进行变化的,过程相对比较缓慢,所以在原有的基础上增添一个AD590。它的作用就是对温度进行补偿,它的电压经过模数转换之后再传递到芯片,芯片在作出反应的情况下会对传送过来的信号进行处理,检测出当时情况下的速度,经过这种方法就把温度的变化减少的最小。AD590具有很高的线性度,同时不以电压为传输,所以不会因导线长短而受到干扰。如果相距的距离较大的时候,传播途径上的温度是不均匀的,难以测出其温度分布,为了消除影响可以在电路中添加自动校准装置。这种需要在距离探头相应距离的情况下加一个反射装置,也必须在反射装置附近要一定的接收信号。但是又必须让大多数的发射信号准确的通过,使得能够接收到信息。加入了这样的装置后就会使得一方面有信号由反射装置反射回来,达到校准的目的,由此得到的结果更加精确。

5.3.2 提高计时精度,减少时间量化误差

要想减少时间的量化误差,那么在进行设计的过程中,最好的选择就是直接利用芯片内部的技术装置,因为这种装置的计数频率相对较大,与晶振的频率进行比较的话,只能达到十二分之一的水平。同样举个例子进行说明,如果把晶振频率假设为6MHz,那么相应的技术频率就为0.5MHz,这时得到的误差的值为0.68mm;如果将两个数据分别变为12MHz、1MHz,那么得到的误差为0.34mm,除去这种方法,利用设计的其他装置,那么就在实验中引起芯片的晶振就能够以芯片为基准,由此误差也会变弱。

5.3.3 时间增益补偿电路

当超声波在空气中进行传播的过程中,随着传播距离的增加声强会进行减弱,即衰减。导致这种衰减现象的发生在于声速的自身扩散,在声波进行传递的过程中,由于一些反射或者散射也会导致这种衰减现象。但是这种现象的发生不会使能量的总数减少,相应的只是偏离了预先设定的路线。我们将信号原始的声音强度设为I0,传播了x的距离,上述过程的进行,使得声强最终得到了I,就可以得到这样的方法I=I0e-xα(α为空气衰减系数)。

通过上面的叙述以及最终的计算得到,超声波在空气中传输时,传播距离越远,到达时的总能量越少。由于介质中的影响不同,回波脉冲的声音程度也有差异,因此到达的也不一致,这种就造成了一定的误差。通常情况下接收信号上都设计有比较器,将这种信号与一个预先设定的信号进行对比,通常我们将其进行整形处理,最后得到方波;而这种间隔的远近对于误差的产生也有很大的影响。

时间增益补偿电路是放大电路的一种,其倍数与时间有关,呈指数关系。在进行研究的情况下,增益控制系统通常采取数字电位器,根据单片机本身的特性,把补偿数据应用在电位器上,由此就对超声波的衰减状态进行了控制,达到了时间增益补偿的效果。这种设计的实现相比其他的来讲比较容易,而且能够随着实验的进行做相应的改变,可以全面的发挥单片机自身的性能。

5.3.4 小波去噪

在进行实验的过程中,接收到的信号中经常掺杂很多的杂质,超过了原有的信号,这就造成了相应的误差的产生。研究过程中通常采取的方法就是小波去噪法,把得到的回波信号进行处理,并且精确地找出传播时间,进而得到精确的传播距离。这种方法的实现从根本上讲就是对接收波进行过滤,以得到准确的数据和滤波。这种方法最初对这种夹杂杂质的波进行小波变换,接着在对不同情况下进行参数提取,剔除掉干扰,然后再进行还原操作,最终得到了原始信号。通常我们常用的有以下四种方法:小波变换阀值去噪、小波分解与重构法去噪、平移不变量小波去噪以及小波变换模极大值法去噪。

杂质在各个尺度上都会对信号造成一定的干扰,但是我们要得到的信号只存在于相对较大的参数中,我们只对这样的信号进行小波变换,得到的结果更能将最初的信号还原出来,由此可以得到小波变换的实施能够在相应的数据中实现。将进行变换完成的信号系数做一些特殊处理,如消除、置零、缩小幅度、阀化等,就可以将杂质信息剥离出来,最终把得到的信号进行还原,就完成了消除噪音的目的,得到了较为精确的信号。

在具体实验的过程中,一些不确定的情况以及空气状况对精度都有一定的影响,因此得到的结果并不是完全准确的,多多少少都会存在一些偏差即误差,因此就要选择更好的措施来降低误差的产生。

针对温度对系统的影响,采用温度补偿装置,能够最大程度的降低对系统的影响。但是环境的不确定性又使得传输信号在这种情况下产生了巨大的误差,因此在外界环境复杂的情况下找出原有信号就成为了减小误差、提高精度的重要措施。

结论

本设计主要是利用STC89C52单片机,设计一个倒车防撞循迹报警系统,这个系统具有的功能很多,在设计的过程中对这些功能的控制具有一定的难度,并且它具有很多的优点,主要可以在性能上、安全上、精度上、技术上等等都具有很强大优势,应用性比较高。对于这次设计,我还有一些地方由于一些原因的影响,并没有很好的完成,主要实现了测距循迹报警这三个功能。此次设计最终要实现的目标是超声波测距仪不仅能够产生超声波并且可以完成波的发送和接收,以及红外传感器能够探测路径实现循迹,从而实现在LCD上显示的测量距离。

在设计的过程中,我进行了大量的资料查找,并且结合学习到的关于单片机和超声波的知识,在导师的指导下对这个系统进行了设计,对课题要求也基本上完成了。但是,在本次设计中,我还有很多的不足的地方,由于知识的欠缺,在实验上不能达到很好的设计,这就使得器件在运用上显得比较粗燥,而且技术上的叙述也达不到特别精准、具体。

超声波测距仪的软件设计主要由主程序、超声波测距程序、循迹程序及显示程序组成。众所周知,C语言程序有利于实现较为复杂的算法,加之汇编语言程序具有比较高的效率,而且能够很容易的精细计算程序运行的时间,因为本设计的程序既有较为复杂的计算(计算距离时),又要求精细的计算程序运行的时间(超声波测距时),所以本设计对于控制程序采用了C语言和汇编语言的混合编程。但是由于汇编语言比较难,实现起来不是很容易,所以本设计基本都采用了C语言来实现所有功能。

本次毕业设计的完成,对我起到了一个很大的帮助,从中我学到了很多东西,对软件的编程,对硬件的焊接制作,以及单片机的一些功能都有了一定的认识。这使我认识到了只学习书本上的知识是远远不够的,因为书本大多都是理论概述的东西,很难再书本上体会到实践的内涵,所以我们要结合书本上的理论知识很好的运用到实践中,但是在理论与实践的结合过程中我们会有遇到很多的问题,需要考虑的东西也很多,因此我们必须要经过一些测试与验证才能得出结果。通过本次的毕业设计,我更加深信实践才是验证真理的唯一方法,而且在硬件的焊接制作中,动手能力也得到了提高。最后总结出最重要的一点就是,要充分认识到只有把理论与实践相结合,才能做好每一件事情。

最后

以上就是缥缈钥匙为你收集整理的倒车雷达c语言编程,汽车倒车雷达系统的设计与实现(论文c1)的全部内容,希望文章能够帮你解决倒车雷达c语言编程,汽车倒车雷达系统的设计与实现(论文c1)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部