基于μC/OS实时系统的超声波

时间:2022-02-12 11:55:15

基于μC/OS实时系统的超声波

摘 要: 本设计是以ATmega16单片机为核心,以UC/OS实时操作系统为软件平台的的低成本、高精度、微型化数字显示的超声波测距系统,实现对前方物体距离的测量。利用超声波传感器对前方物体进行感应,实现无接触式测量,单片机对超声波传感器发射和接收的超声波信号进行分析和处理,并采用DS18B20对系统进行温度补偿,最后将结果显示出来。此系统具有抗干扰能力强、实时性好,经过系统扩展和升级后有很好的应用前景。

关键词: 超声波;ATmega16;μC/OS;测距

0 前言

随着科学技术的快速发展,超声波将在测距中的应用越来越广,超声波测距系统作为一种新型的实用的工具在各方面都将有很大的发展空间,它将朝着更加高定位高精度的方向发展,以满足日益发展的社会需求。

超声波具有指向性强,能量消耗缓慢,传播距离较远等优点,因此被广泛应用于距离的测试中。使用超声波检测往往更快速,方便,计算简单,易于做到实时控制,并且在测量精度方面能达到工业使用的要求,测量时与被测物体无需直接接触等优点使其具有广泛的实际应用价值。

目前国内一般是用专用集成电路设计超声波测距仪,但是成本高,没有显示,操作使用不方便,拓展不灵活。基于以上缺点设计了基于ATmega16的超声波测距系统,可广泛应用于生活、生产等各个领域。

ATmega16是基于增强的AVR RISC结构的低功耗8位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16的数据吞吐率高达1MIPS/MHz,从而可以减缓系统在功耗和处理速度之间的矛盾。

ATmega16 AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与运算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC微控制器最高至10倍的数据吞吐率。

1 超声波测距原理

超声波是一种频率在20KHz以上的机械波,在空气中的传播速度约为340m/s(20℃时)。超声波可由超声波传感器产生,常用的超声波传感器两大类:一类是采用电气方式产生超声波,一类是用机械方式产生超声波,目前较为常用的是压电式超声波传感器。由于超声波具有易于定向发射,方向性好,强度好控制,对色彩、光照度不敏感,反射率高等特点,因此被广泛应用于无损探伤,距离测量、距离开关、汽车倒车防撞、智能机器人等领域。

超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器接收到反射波就立即停止计时。

式中:c—超声波波速:t—从发射出超声波到接收到回波所用的时间。

由于超声波属于声波范围,其波速c与温度有关,经过测量得出超声波与温度的关系,如表1所示。

2 系统设计

本系统采用ATmega16为主控制器,超声波发射和接收电路中都对相应信号进行放大和整形,以保证测量结果尽可能精确。用动态扫描法实现LED数字显示,另外设计温度测量电路测量当时的空气温度,单片机以测量的温度对超声波的传播速度进行调整,使测量精度能够达到要。系统整体结构包括超声波发射电路,超声波接收电路,单片机电路,显示电路和温度补偿电路等几部分模块组成。

UCOS_Ⅱ是一个源代码公开的实时操作系统,它是用ANSIC写成的,所以可移植性非常强。在系统开发中,由于把实时操作系统UCOS_Ⅱ移植到了ATmega16单片机上。

超声波测距仪系统框图如图2所示。

利用单片机定时器由PD5端口发送40KHz的方波信号,用9012三极管作为驱动放大使得超声波发生器产生超声波。

超声波接收电路主要有CX20106A和一些常用元件构成,CX20106A是一款应用广泛的红外线检波接收的专用芯片,其具有功能强、性能优越、接口简单、成本低等优点。CX20106A内部有前置放大器、限幅放大器、带通滤波器、检波器、积分器及整形电路构成,对接收探头收到的信号进行放大、滤波等处理,其总放大增益80db。实验证明用CX20106A接收超声波(无信号时输出高电平),具有很好的灵敏度和较强的抗干扰能力。本系统中选择温度芯片DS18B20作为温度传感器。DS18B20测量温度范围为—55~125℃,精度为±0.5℃。

3 软件设计

近十年来嵌入式操作系统(RTOS)得到了飞速发展,各种流行的微处理器(MCU)8位、16位和32位均可以很容易的得到多种嵌入式实时系统(专业化公司有美国WinCE,WindRiver等,自由软件有μC/OS—II及uClinux等等)的支持。8位、16位MCU以面向硬实时控制为主,32位以面向手机和信息处理和多媒体处理为主,在这些方面Linux正逐渐成为嵌入式操作系统的主流。嵌入式实时操作系统不仅具有微型化、高实时性等基本特征,而且还将向高可靠性、自适应性、支持多CPU核、构件组件化的方向发展。客观世界对嵌入式智能化、装置轻、低功耗、高可靠性的永无止境的要求,使得近千种嵌入式微处理体系结构和几十种实时多任务操作系统并存于世。嵌入式技术也将与时俱进,不断创新。 而像μC/OS—II这样的优秀的自由免费的嵌入式操作系统,为了最大限度的满足可移植性的要求,绝大部分代码用C语言写成,只有一少部分用到汇编语言。但对于嵌入式系统这样的专用性很强的系统来说,必须针对嵌入式系统内核本身裁剪,改写μC/OS—II的部分代码,以实现μC/OS—II在不同MCU平台上的移植。

使用ATmega16单片机进行检测数据处理,对定时器1进行初始值设定,然后利用OCR寄存器进行输出比较匹配,最后对输入捕捉寄存器进行设置,利用输入捕捉功能计数并最终计算的出距离,其测距功能初始化程序如下:

4 总结

基于ATmega16和μC/OS—II的超声波测距系统利用LCD显示,电路简单,人机显示友好,通讯能力强,可扩展性好,具有良好的实际应用价值。该系统可运用于机器人智能行走和导航,在航天电子行业也有一定的应用领域,可配合其他模块实现多功能测量,同时在显示输入上可扩展触摸屏功能。

参考文献:

[1]王祖麟、余强、谢毓,基于μC/OS—Ⅱ的高精度超声波测距系统设计[J].电子设计工程,2009,07.

[2]苏凯、任军、王斌、马龙飞、党浩,基于超声波测距的实时路况信息采集系统[J].实验室研究与探索,2011,08.

[3]赵广涛、程荫杭,基于超声波传感器的测距系统设计[J].微计算机信息,2006,01.

上一篇:不同铵硝配比营养液对生菜内源激素的影响 下一篇:中波广播发射台经常遇到的技术故障