1 引言
超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而用于距离测量。利用超声波检测往往较迅速、方便、计算简单、易于实时控制,且测量精度能达到工业实用要求,因此在移动机器人的研制中得到广泛应用。移动机器人要在未知和不确定环境下运行,必须具备自动导航和避障功能。超声波传感器以其信息处理简单、速度快和价格低的特点广泛用作移动机器人的测距传感器,实现避障、定位、环境建模和导航等功能。
2 系统总体设计方案
2.1 超声波测距原理
2.1.1 超声波发生器
超声波为直线传播方式,频率高,反射能力强。空气中其传播速度为340 m/s,容易控制,受环境影响小。因此采用超生波传感器作为距离探测的“眼睛”,可用于测距领域的超声波频率为20~400 kHz的频段,空气介质中常用为40 kHz。
2.1.2 压电式超声波发生器原理
压电式超声波发生器实际上利用压电晶体的谐振工作。超声波发生器内部结构有2个压电晶片和1个共振板。当它的两电极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将发生共振,并带动共振板振动,产生超声波。反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电品片振动,将机械能转换为电信号,这时就成为超声波接收器。
2.1.3 超声波测距原理
超声波发射器向某一方向发射超声波,在发射的同时开始计时,超声波在空气中传播,碰到障碍物就立即返回。超声波接收器收到反射波立即停止计时,超声波在空气中的传播速度为340 m/s。系统中,超声波测距采用检测超声波往返时间的方法。由于时间长度与声音通过的距离成正比,当超声波发射极发出一个短暂的脉冲波时,计时开始;当超声波接收端接收到第1个返回波脉冲后,计时立即停止。根据计时器记录的时间t,可计算发射点距障碍物的距离(s),即:s=340t/2。这就是所谓的时间差测距法。[page]
2.2 系统总体设计
该系统采用μC/OS-lI操作系统,系统将软件划分为4个功能模块:回波A/D采集模块, LED显示和按键处理模块,LCD显示模块,报警、存储及串口处理模块。其中,回波A/D采集模块用于采样,保存实时数据;LED显示和按键处理模块用于处理采样数据,并将其转换成有实际意义的参数:LCD显示模块是将各种参数在LED显示;而报警、存储及串口处理模块主要是实时处理相应数据。图1为系统设计总体框图。
3 系统硬件设计
3.1 LPC2138微控制器简介
LPC2138内嵌512 KB的高速Flash存储器和32 KB的RAM,具有丰富的外设资源:2个32位定时器(带捕获、比较通道),2个10位8路A/D转换器,1个10位D/A转换器,PWM通道,47路 GPIO,9个边沿或电平触发的外部中断,具有独立电源和时钟的RTC,多个串行接口(UART、I2C、SPI、SSP)。它内含向量中断控制器,可配置中断优先级和向量地址.片内Boot装载程序可实现在系统应用编程(ISP/IAP),通过片内PLL可实现60 MHz的CPU操作频率,具有空闲和掉电2种低功耗模式,并可通过外部中断唤醒,图2为LPC2138的整体结构图。
3.2 超声波发射电路
超声波发射电路是南超声波发射器T和PWM产生的40 kHz频率信号、驱动(或激励)电路等组成。该系统设计采用ARM中的PWM模块产生高精度的40 kHz的频率信号,然后通过南74HC00等组成的驱动电路,最后将发射信号送到超声波发射器T。对于放射探头T,选用发射频率为40kHz的一种,该类型现在应用较普遍,电路也简单,只需给发射端40 kHz的脉冲,发射探头即不断发送超声波。具体硬件电路如图3所示。
其中超声波发射和接收采用φ15的超声波换能器TCT40-10F1(T发射)和TCT40-10S1(R接收),其中心频率为40 kHz,安装时应保持两换能器中心轴线平行并相距4~8 cm。
[page]
若将超声波接收电路用金属壳屏蔽起来,则可提高抗干扰能力。根据不同测量范围要求,可适当调整与接收换能器并联的滤波电容器C4,以获得合适的接收灵敏度和抗干扰能力。
3.3 超声波接收电路
超声波接收电路由以MC3403为核心的三级滤波放大电路和二极管的倍压稳流电路等组成。处理好的回波信号被送到ARM的A/D转换模块进行A/D采样,从而触发得到返回的时间。德州仪器公司的MC3403的具体引脚配置如图4所示。超声波接收电路如图5所示。
|
5 测量结果 该系统经过反复调试后进行测试,测量范围为0.1~4.5m,测量精度为1cm,测量误差保持在4 cm以下,因此系统性能比较良好。其测试数据如表1所示。
6 结束语 基于ARM和μC/OS—II的超声波测距系统利用LCD显示,电路简单,显示界面友好,通讯能力强,可扩展性好,具有良好的实际应用价值。该系统可运用于机器人智能行走和导航,在汽车电子行业也有一定的应用领域.可配合其他模块实现多功能测量,同时在显示输入上可扩展触摸屏功能。
|
关键字:μCOS-Ⅱ 超声波测距
引用地址:
基于μC/OS-Ⅱ的高精度超声波测距系统设计
推荐阅读最新更新时间:2024-03-30 22:18
超声波测距C语言程序
超声波则距 是很多 电子制作 爱好者比较喜欢的制作项目,下面的这款超声波测距C语言程序,超声波测距发送用的是反相器推挽输出,这样可以加大发射功率,超声波测距接收端用的CX20106A这个红外芯片接收40KHZ的方波,这是网上比较经典的模式,按照这个电路是挺容易成功的测量误差的问题 1m内应为mm级、2m内1cm左右、5m的时候3cm左右。下面的这款超声波测距C语言程序程序也挺简单的,用的定时器和外部中断,接收到回波的时候触发外部中断,在中断服务程序中进行处理,不用加注释应该能看懂吧,这款超声波测距C语言程序程序肯定还有很多不足,给初学者用用应该也可以吧。 #include #define unit unsigned int #d
[单片机]
基于单片机的超声波测距仪设计
摘要 STC89C52是STC系列单片机里应用比较广泛的一款,在自动控制领域里享有很高的价值,以其易用性和多功能性受到了广大电子设计爱好者的好评。本次设计主要是利用STC89C52单片机、超声波传感器完成测距报警系统的制作,以STC89C52为主控芯片,利用超声波对距离的检测,将前方物体的距离探测出来,然后单片机处理运算,与设定的报警距离值进行比较判断,当测得距离小于设定值时,STC89C52发出指令控制蜂鸣器报警。 1 绪论 1.1 项目研究背景及意义 由于超声测距是一种非接触检测技术,不受光线、被测对象颜色等的影响,较其它仪器更卫生,更耐潮湿、粉尘、高温、腐蚀气体等恶劣环境,具有少维护、不污染、高可靠、长寿
[单片机]
超声波测距 51单片机 12864 液晶显示
超声波测距的模块,51单片机接上12864液晶,HC-SR04超声波模块,就可以了,具体程序没怎么看,超声波模块的硬件也不晓得,今天先贴个图,贴个程序吧(程序是淘宝买的模块附赠的)。 超声波测距51单片机12864液晶显示源程序: #include reg52.h #include intrins.h //引脚定义 sbit RX = P1 ^ 1; sbit TX = P1 ^ 2; sbit CS = P3 ^ 3; //片选 高电平有效 单片LCD使用时可固定高电平 sbit SID = P3 ^ 4; //数据
[单片机]
基于AT89C2051的超声波测距系统
非接触式的距离测量在工业中有广泛的应用机器人视觉系统中对距离的测量,汽车倒车雷达系统及液位、物位的检测系统等。有鉴于此,设计了基于超声波传感器的测距控制系统,以实现距离的测量和显示,并能输出控制信号及实现和上位机的通信。与以往类似系统不同的是:本设计采用了一种直流电机PWM调速芯片作为超声波发射驱动电路。 其优点是:电路简单,易于控制,而且对于不同电压峰值要求的超声波传感器,可以改变其供电电压值。 显示部分采用一种串行通讯芯片驱动数码管,以节约单片机IO口的使用数量和提高数码量,因此,系统应用灵活,实用性强,其模块化设计可嵌入到不同的系统中。 1 超声波测距传感器 超声波传感器是一种换能器,它把电能或机械能转换成声能。本设
[单片机]
超声波测距模块+AVR单片机控制程序
【超声波测距模块】-【机器人的耳朵】 #include avr/io.h #include avr/iom16.h #include util/delay.h int main(void) { DDRA=0x00; PORTA=0x00; //PA口初始化 DDRD=0xff; PORTD=0xff; //PD口初始化 char j,i; int h,u,l; while(1) { j=1; //激活while(j)循环 i=1; //激活while(i)循环 u=6000; //还原检测循环 PORTA&=(1 0); //PA0脚高电平 _delay_us(20); //延时20US
[单片机]
简易同位升降系统的单片机源码(用超声波测距实现)
/*******************************************************************/ /*******************超声波测距仪************************************/ /*******************(液晶屏显示)************************************/ /*******************晶振 11.0592MHz********************************/ #include reg52.h #include 12864.h #include l298.h
[单片机]
基于C8051单片机超声波测距电平触发编写
#include c8051f020.h #include intrins.h #define uchar unsigned char #define uint unsigned int void SYSCLK_Init (void); void PORT_Init (void); void StartModule() ; void display(unsigned char bai,unsigned char shi,unsigned char ge); void delay(unsigned int z); void timerinit(); void delay(unsigned int z); void Timer_Co
[单片机]
超声波测距传感器模块HG-C40U工作程序图文详解
超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。 超声波测距模块有好多种类型,目前比较常用的有URM37 超声波传感器 默认是232接口,可以调为TTL接口,URM05大功率超声波 传感器 测试距离能到10米,算是目前来说测试距离比较远的一款了,另外还有比较常用的国外的几款SRF系列的超声波模块,目前的超声波模块精度能到1cm。今天工采网小编为大家介绍一款新的超声波测距模块——韩国Hagisonic超声波测距传感器模块——HG-C40U及使用方法。 韩国Hagisonic 超声波测距传感器模块 - HG-C40U 超声波测距传感器模块 - HG
[传感器]