电子设计工程
Electronic Design Engineering
第19卷Vol.19第15期No.152011年8月Aug.2011
frastructure
基于STM32单片机的高精度超声波测距系统的设计
苑洁,常太华
(华北电力大学控制与计算机工程学院,北京102206)
摘要:提出了一种基于STM32单片机的超声波测距系统的设计方案。与传统单片机相比,STM32的主频和定时器的频率高达72MHz ,提高了时间测量的分辨率。在开启定时器计时的同时,启动PWM 通道驱动超声波发射器和输入捕获通道捕捉回波信号,提高了测量的精度。在充分分析超声波测距产生盲区和误差原因的基础上,设计了时间增益补偿电路(TGC )和双比较器整形电路分别测量远、近距离,并通过软件算法对回波信号进行峰值时间检测,简化了电路。实验研究表明,该系统测量精度达到了1mm ,盲区低至2.5cm 。
关键词:STM32单片机;超声波测距;双比较器;时间增益补偿(TGC );峰值时间检测中图分类号:TP216
文献标识码:
文章编号:1674-6236(2011)15-0076-03
Design of ultrasonic distance measurement system
bad on STM32microprocessor
YUAN Jie ,CHANG Tai -hua
人人听力网rrting(North China Electric Power University ,Beijing 102206,China )
Abstract :An ultrasonic distance measurement system bad on STM32Microprocessor is prented.Compared with the traditional microcontroller ,the basic frequency and the Timer frequency of the STM32microcontroller reach up to 72MHz ,which improve the resolution of the measuring time.The superiority is that you can start PWM channels to drive ultrasonic transmitters and input capture channel at the same time.The time gain compensation (TGC )circuit and the double comparator plastic circuit are ud to reduce the blind area and error.In addition ,using the peak time detecting technique through the software algorithm ,the arrival time of ultrasonic echo can be correctly detected.The experiments show that the system measurement accuracy can reach t
o 1mmand the blind area low to 2.5cm.
Key words :STM32Microprocessor ;ultrasonic distance measuring ;double comparator ;time -gain compensation (TGC );peak time detecting
收稿日期:2011-05-28
稿件编号:201105115
基金项目:国家自然基金重点项目(51036002)
作者简介:苑洁(1982—),女,山东日照人,硕士研究生。研究方向:检测新技术与自动化装置等。
超声波测距是一种典型的非接触测量方式。超声波在气体、液体及固体中以不同速度传播,定向性好、能量集中、传输过程中衰减较小、反射能力较强[1]。且超声波测距系统结构简单、电路易实现、成本低、速度快,所以在工业自动控制、建筑工程测量和机器人视觉识别等领域应用非常广泛。
超声波测距一般采用渡越时间法
[2-4]
。超声波测距的实质
是时间的测量,即:用超声脉冲激励超声探头向外发射超声波,同时接收从被测物体反射回来的超声波(简称回波),通过精确测量从发射超声波至接收回波所经历的射程时间t (渡越时间),按下式计算超声波探头与被测物体之间的距离
S ,即
S =12
ct (1)
其中,c 为空气介质中声波的传播速度。
在常温下,超声波的传播速度为340m /s ,但其传播速度c 易受到空气中温度、湿度、压强等因素的影响,其中温度的
影响最大。一般温度每升高1℃,声速增加约为0.6m /s [5]。本文采用DS18B20数字温度计来检测现场温度,用以实现波速的校准,因很多文献对此都有说明,故本文不做深入介绍。
c =331.4×1+T /273姨≈331.4+0.607T (m/s )
(2)
式中,T 为环境温度。
1系统组成
超声波测距系统由STM32单片机、超声波发射电路、接
大学英语六级词汇
收电路、放大电路、比较整形电路、测温电路等组成。系统以
STM32单片机为核心,协调各部分电路工作。STM32单片机
首先发出一系列频率为40kHz 的方波,输送给超声波发射电路并激励出超声波。超声波在空气中传播,遇障碍物返回,进入超声波接收器,然后经过滤波、放大、整形,进入单片机。系统框图如图1所示。
-76-
2
硬件设计
2.1
超声波发射电路
工作原理为:由STM32的高级定时器TIM1输出两路
40kHz 、占空比为50%的互补的PWM 信号,经过Max232升
压产生约18Vpp 来驱动超声波发射器T40-16,并激励出超声波,每次发射8个周期脉冲。电路通过三极管Q1来开、关
Max232的电源,在开始发射前,打开Max232的电源,待电路
稳定后开始发射,并在发射结束后关断Max232电源,这样设计不仅降低了发射电路对接收电路的干扰,同时也降低了功
耗。发射电路如图2所示。
2.2双比较器整形电路
超声波发射器发出的超声束角度是0°到360
°,主要集中
在0°到±60°,
由于安装壳的阻挡,超声波不能直接发射到接收器上。但是因为声波传输的特性,声波会出现未经障碍物反射就直接回到接收探头被检测到,造成接收器认为是实际发射收到的回波信号,导致误报。这种现象就是声波的衍射现象,无法避免。
衍射信号的幅值随着超声波发射探头和接收探头之间距离的增大而减小,实际设计过程中不会将测距模块设计的太大,因此超声波收、发探头之间的距离也较小,但是当被测距离L 比较小时,反射信号的幅值相对于衍射信号大的多,所以设置合适的近距离比较器阈值,就可以完全屏蔽衍射波,而只有
反射波才能通过。本文对远、近距离的测量采用不同阈值的比较器。近距离比较器测量2.5~50cm 的范围,远距离比较器测50cm ~4m 的范围。
回波信号由NE5532放大,经比较器LMV331整形后进
入单片机。回波信号经过一级放大后,一路经过近距离比较器LMV331,比较整形后进入单片机。另一路进入增益可控可调的放大电路。其中,NE5532是一款双运放、高性能、低噪声的运算放大器,相比较大多数标准运放,显示出更好的噪声性能,具有相当高的小信号带宽和电源带宽。电路如下图3所示。
2.3时间增益(TGC )补偿电路
超声波在空气中传播时,声强随着传播距离的增加而减
小,这就是所说的声衰减现象,造成衰减的原因是声束本身的扩散以及声波的反射、散射等。由于回波信号的幅值随着被测距离的增大而呈指数规律衰减,远距离目标的回波信号幅度小,为了提高测距精度,必须对衰减的回波进行增益补偿[6]。基于此,设计了时间增益补偿电路。时间增益补偿电路(TGC )通过电子可调电位器改变输入电阻来实现,如图4所示。
其中,MAX5161是一种具有32级抽头的数字电位器,端-端阻值为50k Ω,具有3线串行接口,实现阻
值的调节。事先把通过实验获得的与一定距离对应的放大增益换算成数字电位器的抽头位置,并把这些位置参数固化到E2PROM 中。在测量过程中,单片机通过查表方式获得对应的增益,然后通过串行设置对应增益。利用单片机控制数字电位器,电路实现较简单、增益控制范围大且补偿特性能根据需要进行调整,充分利用了单片机的软件资源。
3
软件算法
3.1
基本流程
系统以STM32单片机为核心,实现对各部分的控制和响
应。测距软件的基本流程:首先使用美国DALAS 公司生产的
DS18B20数字温度传感器测量环境温度,通过查找事先建立
图1超声波测距系统框图
Fig.1Block diagram of ultrasonic distance measurement system
图2超声波发射电路
dhea
Fig.2Transmitted circuit of ultrasonic nsors
图3放大和比较整形电路
Fig.3Amplifying and comparative plastic circuit
图4
时间增益补偿电路
Fig.4
Time-gain compensation circuit
苑洁,等基于STM32单片机的高精度超声波测距系统的设计
-77-
好的声速-温度对照表得到当前声速;开启计数器计时,同时通过STM32的PWM 模块产生8个周期40KHz 的脉冲方波和输入捕捉模块捕获超声波回波。待回波进入接收电路,经放大/整形等硬件处理
后,进入单片机。单片机捕捉到回波的触发信号,并记录产生下降沿的时刻;经过软件滤波,和峰值时间检测算法,得到峰值时刻作为回波到达的时刻,最后计算距离。软件流程如图5所示。
STM32的高级定时器由一个16位的自动装载计数器组
成,时钟源频率高达72MHz ,大大提高了时间测量的分辨率。高级定时器有4个独立的通道,本文利用其互补的PWM 来驱动超声波发射器,输入捕获通道来捕捉回波信号,在开启定时器的同一时刻也启动了PWM ,这不仅消除了启动发射和启动计时之间的误差,并且捕获通道精准的记录了超声波回波到达的时刻(比较器的下降沿)。待单片机进入中断后读取该值,而非等到进入中断后才开始读取当前计时器的值。
3.2峰值时间检测
回波信号处理常规的方法是采用具有固定阈值电平的
比较器电路,将回波信号与某一固定阈值电平在比较器电路中进行比较,比较器输出的翻转时间就是回波到达的时间,在使用了时间增益补偿电路后,超声波回波信号的幅值得到了相对的稳定,但由于回波信号幅度仍存在一定程度的波动及回波信号被展宽,造成了时间检测产生一定的误差,因而在设计中把回波幅度的峰值时间点作为回波到达的时间。传统的峰值检测方法大多通过硬件电路,包括包络检测电路、微分电路和过零检测电路,设计较复杂,难实现。本文通过软件方法来实现峰值检测。
超声波回波经过比较器LMV331后,将产生频率为40kHz 的方波,由于比较器阈值固定,回波信号的
占空比将由小变大,达到一个最大值后再变小,而占空比最大处正对应着峰值点所在的回波波形,th/2处对应着峰值时刻点,如图6所示。STM32的PWM 输入模式启用两个输入捕获单元对应同一个输入信号,分别捕获信号的上升沿和下降沿,可以方便计算出回波信号的频率和占空比。
4实验结果
为了验证系统的测量精度及盲区,在实验室进行了测距
实验,表1中的测量距离一栏取的是3次测量的平均值。测量结果如表1所示。
由表1中数据可知:一方面,由于采用了峰值时间检测技术,使得系统的盲区很小;另一方面,在所测量程内,由于采用了时间增益补偿技术,使得测量误差并没有随着距离的增大而增大。
5结束语
系统采用高速单片机STM32做微处理器,利用其内部高
级定时器资源消除了测距系统启动发射和启动计时之间的偏差以及收到中断到中断响应停止计时之间的滞后,提高了测距精度;采用时间增益补偿(TGC )技术,用单片机根据补偿要求对放大器的放大增益进行控制,使得不同距离的回波幅度保持基本不变;采用峰值时间检测技术,正确检测每次回波
信号的峰值时间点,进一步提高回波到达时间检测的精度;采用双比较器整形电路,在近距离测量时,有效的屏蔽了衍射信号,减小了测量盲区。本系统可以在需要测量盲区较小、测量精度较高的环境中使用,具有较大的推广价值。
图5
系统主程序流程图
Fig.5Flow chart of the main
program
图6峰值时间检测原理图
Fig.6Principle diagram peak time
detecting
表1
超声波测距数据及误差
Tab.1Data and error of the system
实际距离/mm 测量距离/mm 绝对误差/mm 实际距离/mm 测量距离/mm 绝对误差
/mm 25以下盲区
1400
1400.910.912525.350.3518001800.780.78100100.730.7322002200.980.98200200.530.5326002600.790.79300300.580.5830003000.840.84400400.640.6434003400.820.82500500.580.5838003800.900.901000
直到成为我的那一天1000.56
0.56
4000
4000.74
0.74
(下转第82页)
日语能力测试报名
-78-
参考文献:
[1]韦穗林.数字式超声波测距仪的研制[J].电子设计工程,
2009,17(10):39-41.
WEI Sui-lin.Development of the digital ultrasonic rangefinder [J].Electronic Design Engineering,2009,17(10):39-41.
[2]赵连玉,赵小强.超声波测距系统中的温度补偿[J].组合机
床与自动化加工技术,2008(12):62-64.
长脸适合的发型ZHAO Lian-yu,ZHAO Xiao-qiang.Compensation of temperature in ultrasonic ranging system[J].Modular Machine Tool&Automatic Manufacturing Technique,2008(12):62-64.
[3]刘光华,卜英勇,王纪婵.基于单片机的高精度超声波测距
早教英文儿歌系统[J].仪表技术与传感器,2007(2):66-68.
LIU Guang-hua,BU Ying-yong,WANG Ji-chan.Ultrasonic distance measure system with high precision bad on single-chip microcomputer[J].Instrument Technique and Sensor,2007(2):66-68.[4]张凯,王安敏.基于AT89C52单片机的超声波测距系统[J].
仪表技术与传感器,2006(6):45-49.
ZHANG Kai,WANG An-min.Ultrasonic distance testing system bad on AT89C52Single-chip microcomputer[J].
Instrument Technique and Sensor,2006(6):45-49.
[5]王文生,齐广学,温淑慧.一种高精度超声测距方法的研究
[J].传感技术学报,2002(3):219-221.
WANG Wen-sheng,QI Guang-xue,WEN Shu-hui.Study of a new ultrasonic distance measurement method with high precision[J].Chine Journal of Sensors and Actuators,2002(3):219-221.
[6]黄心汉,曾祥进,王敏.自动增益电路在超声波测距系统中
的应用研究[J].测控技术,2005,24(7):69-71.
HUANG Xin-han,ZENG Xiang-jin,WANG Min.Application &rearch of auto-gain circuit in ultrasonic place measurement system[J].Measurement&Control Technology,2005,24(7):69-71.
TIM0019#7
论坛成人LD P_First_Cycle
MOV(021)#80C9104//扩展模块控制字设定
MOV(021)#80C9105
LD P_1s
MOV(021)2D2000//通道设定
MOV(021)3D2002
MOV(021)4D2004
MOV(021)5D2006
4.3组态王与PLC的通信
组态王支持与欧姆龙PLC通过串口RS232进行通信[7]。对组态王中的OMRON CP1L驱动软件进行下载安装后,检查串口的配置是否一致:
端口:COM2;
波特率:9600;
数据位:7;
奇偶校验:偶;
丝绸之路英文停止位:2。
在组态王里定义建点时,要求对应于PLC中每个变量,PLC中的数据类型与组态王数据字典里面的数据类型必须相同,然后运行组态,测试设备PLC是否通信正常。完成系统硬件与软件的通信。
5结束语
利用成熟的PID技术,以PLC和组态王软件为基础设计了一套白乳胶反应釜的监控系统,不仅解决了目前生产中的各种问题,同时提高了整个系统的自动化水平。
系统主要达到了以下几个功能:
1)解决了人工操作中引发剂小流量控制不精确的问题;
2)通过PLC软件编程能准确实现Q t=Q0+50×△T的VAC 流量控制;
3)工艺过程中计时更加准确,减少了人工操作时的时间误差;
4)PC监控界面信息更及时、全面,Web发布使监控系统更完善;
5)提高了生产效率,保证了产品质量。
该控制系统已经成功应用于生产。
参考文献:
[1]夏晨,李朴.反应釜设计及其温度控制系统[J].化工自动化
及仪表,2004,31(1):66-69.
XIA Chen,LI Pu.Reaction still design and temperature control system[J].Chemical Industry Automation and Measuring Appliance,2004,31(1):66-69.
[2]管丰年,安宏伟,周书同.基于PLC的间歇式化学反应釜控
制系统[J].潍坊学院学报,2009(2):17-19.
GUAN Feng-nian,AN Hong-wei,ZHOU Shu-tong.Control system for batch chemical reactionKettle bad on PLC[J].
Weifang Institute Journal,2009(2):17-19.
[3]日本欧姆龙公司.SYSMAC CP系列操作手册[S].2007.
[4]谢克明,夏路易.可编程控制器[M].北京:电子工业出版社,
2010.
[5]北京亚控公司.组态王6.53用户手册[S].2007.
[6]日本欧姆龙公司.SYSMAC CP系列编程手册[J].2007.
[7]贾贵礼,吴尚勤.组态软件控制技术[M].北京:北京理工大
学出版社,2007.
△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△△(上接第78页)
-82-