2008定 仪表技术与传感器 Instrument Technique and Sensor 2008 No.11 第11期 基于CPLD的新型高精度超声波传感器测距系统研制 堵(1.南通大学电气工程学院,江苏南通俊 ,吴晓。,华亮 226007;2.浙江工业大学智能信息研究所,浙江杭州 310032) 摘要:利用单片机技术和EDA技术各自的优点,提出了一种新颖的超声波传感器高精度测距系统设计方法。该方法 采用CPLD完成超声波的产生和发射、回波接收、超声传播时间测量、盲区处理,采用单片机完成系统启停控制、距离计 算、温度补偿和显示。文章完成了感测系统软硬件设计,并进行了详细的理论和实验研究。实验结果表明文中提出的设 计方法精度高、重复性好、可靠性高,具有较好的应用前景。 关键词:超声波传感器;测距;CPLD;单片机;盲区 中图分类号:TP273 文献标识码:A 文章编号:1002—1841(2008)11—0008—04 Novel High Precision Distance-measuring System Design for Ultrasonic Sensor Using CPLD DU Jun。,WU Xiao ,HUA Hang ’ (1.Nantong University,Nantong 226007,China;2.Zh ̄iang University of Technology,Hangzhou 310032,China) Abstract:This paper presented a novel high precision distance—measuring system design method for ultrasonic sensor using single chip processor and EDA technique.The CPLD was used to generate and transmit uhrasonic,receive echo,measure travel time of the ultrasonic,process to blind zone.The single chip processor was used to control start and stop of the system,calculate the distance,compensate the error caused by temperature.The software and hardware platforms of the system were desined.The- goretical and experimental studies of distance measurement were completed.The novel methods forward have the features of effieien- cy,high precision,better repeatability,high reliability and it has broad prospect in application. Key words:untrasonic sensor;distance measurement;CPLD;SCM;blind zone 0引言 一种新颖的超声测距系统,该系统以单片机为主控芯片,CPLD 超声波传感器是测距常用传感器之一。在利用高性能控 制器提高超声波测距精度方面,国内外进行了广泛研究。在超 声波测距系统中,系统接收信号的大小和质量直接取决于发射 传感器的驱动信号,由于传播距离的要求以及超声波空问衰减 现象…的存在,传感器的驱动电压一般为几十V到几百V 2 J。 对于应用系统来说,一般要求传感器频率为几万Hz以上甚至 上MHz.传统的驱动控制电路采用模拟电路或单片机控制信 号,这往往难以达到与传感器频率非常匹配的驱动信号,从而 影响系统的接收信号的质量。2000年西安理工大学杨媛等E3] 研究了基于CPLD的超声波驱动控制电路;2003年程万军等 ] 采用CPLD作为超声波感测系统的驱动器,实现了液位的高精 度检测;2004年文献[5]介绍了一种基于DSP的超声波传感器 系统的构成、工作原理及误差分析,该系统在足球机器人中得 负责超声波的产生、发送和接收以及对超声波的传播时间进行 高速计数,并采用数字温度传感器进行温度补偿,实现了高精 度距离检测。 1测距系统总体设计 在设计测距电路时采用超声脉冲回波检测法 J。采用分 立式超声波探头(NU40C16TR一2)作为测距传感器,单片机采 用AT89¥51,CPLD采用EPM7128SLC84—15。测距系统总体框 图如图1所示。单片机给CPLD发出启动指令,并从CPLD取 出数据。CPLD内部模块说明:模块①为发射控制模块,它接收 到单片机的命令后,启动发射信号产生模块和超声波传播时间 测量模块;模块②为发射信号产生模块,发出驱动脉冲驱动超 声波发射探头发出超声波;模块③为超声波传播时间测量模 块,采用CPLD的高速计数器实现对超声波传播时间的精确测 到了良好的应用;2005年文献[6]采用嵌入式SPT—K控制器 量;模块④为盲区处理模块,作用是延时接收回波信号,避开串 设计了具有信号发生及调理、测温、信号放大、监测、报警输出 等功能的超声波测距系统,该系统具有较高的精度,运行可靠; 2006年河海大学刘永富等采用复杂可编程逻辑控制器,设计了 具有高精度、高抗干扰能力、响应速度快的超声波位移检测系 统 J。文中结合单片机技术和EDA技术各自的优点,设计了 基金项目:南通市应用研究计划项目(K2007023);南通大学自然科学基 金项目(07Z047) 收稿日期:2008-06—06收修改稿日期:2008—08—07 扰信号;模块⑤为回波信号检测处理模块,计算超声波传播时 间并通知单片机取数。 2超声波发射驱动模块设计 2.1驱动信号的产生 外加信号频率等于两压电晶片的固有振动频率时,将会发 生共振,采用的超声波传感器中心频率为40 kHz,因此在超声 波发射电路中,对CPLD的I/O口置高和置低,产生40 kHz脉 冲信号,输出到发射电路中。由于CPLD的I/O口使用时具有 第11期 堵俊等:基于CPLD的新型高精度超声波传感器测距系统研制 9 4 CPLD模块设计 4.1发射控制模块 作用是接收到单片机的命令后,启动发射信号产生模块和 启动超声波传播时间测量模块,封装模块如图3所示,图中sT 端口接收单片机的启动信号;RST为复位信号;BEG端El锁存 单片机的开始脉冲并启动测距。仿真波形见图3。 图1分立式超声波传感器测距系统总体框图 一定的灌电流能力,而吸电流能力较小,所以用74HC04来提高 【 l口0ns Name: Value:1 00 0ns 200 0ns , . 其输出电流的能力,保证40 kHz的脉冲信号有一定的功率。 ● 即 ST 口 。 ll CPLD产生周期为25 s的调制脉冲波,经过74HC04后在超声 即 RST 口 波传感器发射探头两端输入反向同频脉冲,可以增大超声波传 啊P BEG 口 l感器的发射功率。实验表明,每次只要发射3个脉冲,就可以 使超声波传感器工作。如发射脉冲波数太大,则发射能量增 图3发射控制模块及仿真波形图 大,超声波衰减速度变慢,多次折射返回信号可能会使接收探 4.2发射信号产生模块设计 头误触发。而且发射脉冲数越多,串扰时间越长,测量盲区越 发射信号产生模块发射3个频率为40 kHz的脉冲。原理 大。因此采用3个发射脉冲。 图和仿真波形如图4所示。图中C256模块将品振提供的 由于设计的测量电路发射功率较弱,最远可稳定测距为 20 MHz主频信号进行256分频(如图5所示),得到的近似80 5 m,如需测量更远距离,可将单片机输出的调制波通过脉冲变 kHz信号再二分频就得到40 kHz的脉冲,使超声波传感器的压 压器升压后驱动超声波探头 。 电晶片工作在最佳频率。 2.2探头系统误差修正 因压电材料易碎,并因密封、阻抗匹配等要求,超声换能器 封装在探头外壳内,使压电材料与探头表面有一定距离,这样 会带来测量误差。采用如下方法测量:设压电材料与表面距离 为 ,将探头放在离探头距离固定的障碍物前测量,距离分别 为 、L:(L。≠ ), 、 分别为超声波发射到接收的时间,则 1 1 Lo=—l叶 _c(Tl+ )一 ~(厶 l+ ) 经过多次测量后取平均值,传感器 为4 mm. 3超声波接收模块设计 Name: Value 100 0us 200 0us 超声波接收处理电路采用集成电路CX20106l1o],如图2所 啊 20Iv1Hz 10 mO-STA J I示。CX20106接收到与其中心频率相符的超声波信号时,7脚 0 I 输出低电平。 ■ RST I 1 I -■ OUT40KHZl 0 图4脉冲产生原理图及仿真波形 l ! : T.. o !:i竺 :■■■—■■■■■■■_:卯s. !!一一竺.巴!一.一. : !. .. l outy l 厂——]厂——] l lcd:4qe4i rlldda…t[taa177 0el l1l Io, D D 1s161_6 ■■■硼——啊—圈—啊—瞳啊1■硼■硼●—啊啊啊■啊—啊■啊l_ _■l■_啊l一 图5分频仿真波形 4.3超声波传播时间测量模块设计 设计的测距系统有效检测距离为5 m,超声波的传播速度 为344 m/s,有源晶振提供20 MHz的高频脉冲,则可计算出至 图2超声波接收电路原理图 多需要计算的脉冲个数,如式(1)所示。而2 <0.58 x 10 < 2 ,则如采用CPLD内二进制高速同步计数器74163进行传播 10 Instrument Technique and Sensor NOV.2(】08 时间测量,至少需要5片。取其中2片163计数器进行仿真,原 理图及仿真结果如图6所示。 1/f20:采用163计数器延时产生加窗信号来避开盲区。计数器 计数脉冲为80 K,延时结束前即使接收模块接收到回波,传播 0.58×10 (1) 时间测量模块也不工作。由式2可得要产生700 Ixs延时信号, ×10。 。74i63 B-即} Z 0 20MHZ 0 ]几几几r1 r]厂]n几几n几几几几n几几n『 I--RST 1 REO 0 |._PlO 0 B'-DL 0 ●Q7 D ●06 0 ●05 口 ●04 0 ................. ●03 0 ———]广———一 ●02 0 .......J I............. I............ ●O1 0 ]厂]厂]厂]厂] j∞ 0 r一]r-]r_]r.]r_]r_]r_]厂]r_1厂 ●OUT4OI4"[Z 0 图6超声波传播时间测量模块原理图及仿真结果 4.4盲区处理模块设计 分立式超声波传感器盲区主要是由信号串扰引起 ,发射 信号未经反射就被接收探头感应到。示波器采集到的串扰信 号及有效信号如图7所示。因此在设计中必须给串扰信号加 上加窗信号,加窗信号实质就是盲区信号。 l Aol‘咏冲信号(3个脉冲波) r IL / l L I| /I I 鲎f- \、\审扰信号 有效触发 信粤 ■■■■■ ■■ *幽 嘲黼瞄趱 醚黼蝴 蝴蜷醯黜黼 缴黼皴 糍蝴 图7 CX20106输出的串扰信号及有效信号 为留有一定的裕量,将盲区时设置为700 s,在不需要进 行很近距离测量时,将盲区设置大点可以提高系统可靠性。则 盲区距离为L=344 X(0.000 7/2)=0.120 4 m. 计数器需计数56次。盲区处理模块原理图及仿真结果如图8 所示。 [1/(80×10 )]×10 一 700 56 (2) }I j: i: : i:————— 1 —。 — .‘.-.・.・.・.・萱l6 00.0us 700.0us end 10 I 『 图8盲区处理模块原理图及仿真结果 4.5回波信号检测处理模块设计 回波检测处理模块封装如图9所示,RST为复位信号,RE— CEIVE端口接收回波脉冲;当RECEIVE端口出现脉冲上升沿 时,COUT端口改变电平告知单片机并使传播时间测量模块停 止计数。仿真结果如图9所示,在700 txs内即使REC端出现 回波脉冲,由于盲区处理模块作用,检测处理模块不动作。在 700 txs后REC端出现回波脉冲,检测处理模块使计数器停止 计数,并通知单片机取数。 4.6 CPLD总体仿真 CPLD总体设计波形仿真如图l0所示。 5单片机模块设计 单片机通过CPLD控制测距启止,采集CPLD传播测量模 块数据并计算被测距离。由于超声波的速度易受环境温度影 响从而引起测距误差,采用数字式温度传感器DS18B20_l 监测 现场温度,由单片机通过查表方式进行温度补偿,减少由于温 度引起的超声波传播速度的误差。 单片机P1口从CPLD取出超声波传播时间测量模块的数 据,取数采用分时方式进行。单片机程序流程图如图11所示, 定义全局变量如下: sbit AA=P31;//低八位数据控制口 sbit BB=P3^6;//中八位数据控制口 sbit CC:P2^2;//高八位数据控制口 第11期 堵俊等:基于CPLD的新型高精度超声波传感器测距系统研制 unsigned int dis;//距离数据 unsinged long sum;//与超声波传播时间相对应的高频脉冲个数 unsigned char low;//低八位数据存贮器 unsinged char mid;// ̄}\位数据存贮器 unsigned char hig;//高八位数据存贮器 j : 图9 回波信号检测处理模块及仿真波形 圈10 CPLD总体仿真结果 图11单片机测距流程图 6结束语 在空旷地带将一块3 cm×3 cm的方形塑料板放在超声波 传感器正前方,超声波传感器可以稳定检测到最远障碍物的距 离为5 m.在超声波可达范围物体内,移动测量范围左右边线的 夹角为70。左右,则超声波传感器扩散角约为70。,在空间形成 70。的类圆锥体状声波场(70。是距离超声波传感器1 ITI处的测 量值)。测量结果如表1所示。测量结果精度高,重复性非常 好,满足移动机器人对的障碍物物测量要求。 表1分立式超声波测量数据分析 根据超声波传播理论 ],当障碍物的尺寸小于超声波波长 1 1 的÷时,二 超声波将发生绕射;当障碍物尺寸大于波长的—}时,二 才 能反射。采用的超声波传感器发射频率为40 kHz,相应半波长 为4.25 mm,因此在理论上最小可以测得4.25 mm的障碍物。 将2.5、2、1.5、1 OITI 的塑料块作为障碍物进行试验,结果表明 1 om 方形被测物传感器仍能稳定测量。 实验结果表明:设计的感测系统结构简单、精度高、重复性 好、可靠性高、成本低,该系统在移动机器人避障及导航中得到 了良好的应用。 参考文献: [1] 应崇福.超声学.北京:科学出版社,1990. [2]王家桢,王俊杰.传感器与变送器.北京:清华大学出版社,1996. [3]杨媛,高勇,马军,等.CPLD在超声波传感器驱动控制电路中的应 用.西安理工大学学报,2000,26(4):381—383. [4] 程万胜,吴新军,刘军.用CPLD设计高精度超声液位检测系统. 传感器技术,2003(3):42—44. [5]姚鹏程,李小坚,翁舟波,等.一种机器人超声波传感器系统.山西 电子技术,2004(2):22—24. [6]蔡艳平,成曙,徐斌,等.基于嵌入式SPT—K控制器的超声波测距 系统.测控技术,2005,24(3):82—85. [7] 刘永富.基于超声与CPLD的高精度位移检测:[学位论文].南 京:河海大学,2006. [8] 罗本成,原魁,刘晋东,等.机器人多路超声波环境探测器的研制. 中国科学院研究生院学报,2002,6(19):172—176. [9]李郁峰.履带式移动机器人及其无线控制的实现:[学位论文].太 原:太原理工大学,2005. [10]吴银风,刘光聪.红外接收电路CX20106的应用.电气时代,2003 (9):110—111. [11] 田胜军,秦宣云,何永强.基于超声波测距系统的温度补偿电路 设计.微计算机信息,2007,23(5):307—309. 作者简介:堵俊(1958一),副教授,主要从事信号检测、信号及系统分析 方面的研究及教学工作。E—mail:du.j@ntu.edu.cn