2024年4月19日发(作者:mini2平板参数尺寸)
— 囊。 j : IENGE EXCHANGE 经验交流 ■
超声测距模块HC—SR04的超声波测距仪设计
李军,申俊泽
(东北石油大学计算机与信息技术学院嵌入式实验室,大庆163318)
现的。设超声波脉冲由传感器发出到接收所经历的时间
引 言
随着国民经济的迅速发展,超声波在机械制造、石油
化工、航空航天等领域发挥着越来越重要的作用。
为t,超声波在空气中的传播速度为c,则从传感器到目标
物体的距离D可用下式求出:
D:C・t/2
超声波测距作为一种非接触式距离测量方法,具有不
受外界光及电磁场等因素影响的优点,实现电路简单,成
超声波测距模块HC—SR04可提供2~400 cm的非
接触式距离感测功能,测距精度
可高达3 mill。模块包括超声波
发器、接收器与控制电路。图2
为HC—SR04的引脚图。
各引脚功能如下:
①VCC是5 V电源,GND为地。
图2 HC—SR04引脚图
本低;同时,还具有易于定向发射、方向性好、对人体伤害
小等特点。上述优势使得与超声波测距领域相关的仪器
设备在数据处理、检测性能和工程设计系统化等方面有了
更大的发展空间。
1 总体设计
本系统利用三星公司的¥3C241o及超声波测距模块
HC—SR04构造了一个嵌入式系统平台。整个系统由3
部分组成:底层硬件平台、系统软件层和应用软件层。系
统硬件结构如图1所示。
HC.SR04
②TRIG是触发测距引脚,给至少1O s的高电平
信号。
③ECHO是信号接收引脚。有信号返回时,通过I/O
口ECHO输出一个高电平,高电平持续的时间就是超声
波从发射到返回的时间。
障 匝 碍
物
S处理器 显示屏 3C2410 LCD
3 软件设计
在软件开发之前,首先要完成软件开发环境的搭建,
接下来最重要的工作就是设备驱动程序的开发。当软件
系统底层的程序完成之后,就可以着手上层的与设备无关
的应用程序。最后就是系统的图形界面的设计,并将应用
程序烧写到¥3C2410开发板上。
图1 系统硬件结构图
超声波测距仪的软件层由驱动及应用程序组成。其
中,应用程序包括数据采集程序及图形用户界面;而驱动
程序的设计是本系统的重点。
3.1 系统开发环境的建立
(1)交叉编译环境的建立
2 硬件设计
2.1¥3C241 O处理器
¥3C2410处理器是三星公司的一款基于ARM920T
交叉编译是嵌人式开发过程中的一项重要技术,是编
译技术发展过程中的一个重要分支。本系统采用的交叉
编译器是cross一3.3.2.tar.bz2。安装此编译器只需要在
/usr/local目录下建一个arm的目录,将cross一3.3.2.tar.
bz2拷贝到arm目录下,然后进入该目录进行解压,并设
内核的16/32位RISC嵌人式微处理器。ARM920T由
ARM9TDMI、存储管理单元(MMu)和高速缓存3部分组
成,主频可达200 MHz;外围硬件资源包括64 MB
SDRAM、64 MB NAND Flash、2个五线异步串行口、1个
10M网口及用户扩展口等。本系统利用开发板提供的
置相应的环境变量。
(2)Qt/Embedded和Qtopia开发环境的建立
建立Qt/Embedded和Qtopia开发环境的具体步骤如
GPIO扩展资源,实现对超声波测距模块HC—SR04的数
据采集及控制,同时在LCD屏上显示精确的距离数值。
下:首先,下载tmake、Qt/Embedded、Qtopia的源码包,注
意版本之间的向后兼容性;其次,把这3个源码包分别解
压到不同的目录下;最后,编辑/etc/bashrc文件,设置环
境变量,并利用交叉编译器编译Qt/Embedded。
2.2超声波测距模块
超声波测距是借助于超声脉冲回波渡越时问法来实
paper@mesnet.com.cn(投稿专用) 201 1年第10期 卑 机 嵌入式彖碗应国 77
匡甄al,EXPERtENGE EXCHANGE 算j童
3.2超声波测距模块程序设计
超声波测距模块程序由驱动及应用程序组成。应用
程序传送给超声波测距模块驱动控制参数,具体测距由驱
动程序完成。存用户态应用程序中读取超声波设备,可获
得所需的信息。
I inux系统访问设备就像访问文件一样。字符设备
使用struct file—operation结构来定义没备的各种操作集
合,结构中的各个函数分别响应同名或类似名称的系统调
O1
O2
O3
O4
定性,测试了12组数据,并对测距结果与实际距离进行了
比较。距离测试结果如表1所列。
表1距离测试结果
序 号 测试距离
2
2
11
5O
cm
实际距离
1
2
1O
5O
O5
06
O7
O8
09
1O
11
12
102
l52
2O2
253
3O3
352
402
4O2
1OO
15O
200
25O
3OO
350
4O0
500
州。它是操作外设的函数接口,又称设备驱动程序接口。
编写宁符设备驱动程序,主要实现struet file—operation结
构中的各个函数。 然,驱动程序并不是要实现所有的这
些函数,可以根据实际设备需要实现必要的函数。超声波
传感器设备驱动中定义的数据结构为:
slalie struct file operations gpio
fops一{
.
owrler—
open
THIS M(}DUI E,
gpio
open,
.
由实验数据可知,该超声波测距器的盲区(超声波传
感器检测到墙壁的最近距离)为2 efn;而最远测量距离为
.
read=:gpioread,
release—gpio release,
.
400 cm。电路程序设计时,为了避免超声波从发射器直接
传送到接收器引起的直射波触发,延时约为0.1 ms,所以
超声波测距器会有一个最小可测距离。而由于超声波在
数gpl’o—init用于初始化GPIO
没备。函数gpi0 setup—cdev创建并
传播过程中会产生衰减且发射功率有限,导致远距离回波
很难检测到,所以会有一个最远测量距离。另外,通过温
注册字符设备,动态分配设备号。函
数gpio—open用于打开并配置为输入
度补偿可以提高测量精度。
口。函数gpio read用于读取超声波
测距模块输出的距离数据。函数
gpio release用于关闭GPIO设备。
超声波测距系统的应用程序主
要由测距程序、超声波发生子程序、
5 结 论
利用超声波测距原理,系统在¥3C2410+Linux的平
台上,实现了自动测距和实时显示功能。该系统所有运
算、处理、显示都实现数字化;操作简单,使用方便,测量速
度快、准确,结果显示直观;体积小,携带方便,适用于各种
水文液位测量、障碍物的识别以及车辆自动导航等领域,
具有良好的应用前景。●鬣
参考文献
[1]石秀民.嵌入式系统原理与应用[M].北京:北京航空航天大
学出版社,2007.
E2]工宜怀.嵌人式技术基础与实践[M].北京:清华大学出版
社,2009.
[3]优龙科技发展公司.YLP2410使用手册,2007.
[4]宋宝华.Linux设备驱动开发详解[M].北京:人民邮电出版
社,2008.
[5]欧文盛.ARM嵌入式Linux应用实例开发[M].北京:中国
电力出版社,2008.
[63 Xteam(中国)软件技术有限公司.Qt程序设计[M .北京:清
4超声波测距仪数据测量结果
在系统设计并实现后,为了验证测距仪的准确性与稳
7 8 Microcontrollers&Embedded Systems
华大学出版社,2002.
(收稿日期:2011 06 1 5)
20 1 7年第10期
Www.mesnet.corn.cn
发布者:admin,转转请注明出处:http://www.yc00.com/num/1713492803a2259676.html
评论列表(0条)