一种高精度超声波测距系统设计
来测量误差,为了提高系统的测量精度,设计了温度补偿电路。系统采用数字温度传感器DS18B20来采集温度,DS18B20是美国DALLAS公司生产的1-wire总线串行数字温度传感器,它具有微型化、低功耗、抗干扰能力强、易于与微处理器接口等优点,适合于各种温度测控系统。它的测量温度范围为-55℃~+125℃,精度可达0.0675℃,最大转换时间为200ms。
数字式温度传感器和模拟温度传感器最大的区别是:将温度信号直接转化成数字信号,然后通过串行通信的方式输出。因此掌握DS18B20的通信协议是使用该器件的关键。该协议定义了几种信号类型:复位脉冲、应答脉冲时隙;写"0"、读"1"时隙,读"0"、读"1"时隙。初始化后,传感器输出两个字节的温度,进行数据处理后得到实际温度的值,利用式(2)可计算补偿声速。
液晶显示电路
字符点阵系列模块是一类专门用于显示字母、数字、符号等的点阵型显示模块。分4位和8位数据传输方式。它提供5&TImes;7点阵+光标和5&TImes;10点阵+光标的显示模式。提供显示数据缓冲区DDRAM、字符发生器CGROM和 "/mndz/search.php?keywords=字符发生器&search=1" target="_blank">字符发生器CGRAM,可以使用CGRAM来存储自己定义的最多8个5&TImes;8点阵的图形字符的字模数据。它提供了丰富的指令设置:清显示,光标回原点,显示开/关,光标开/关,显示字符闪烁,光标移位,显示移位等。提供内部上电自动复位电路,当外加电源电压超过+4.5V时,自动对模块进行初始化操作,将模块设置为默认的显示工作状态。OCM2X16显示两行字符,每行可以显示16个字符。本设计采用OCM2X16,显示两行字符,一行显示当前的环境温度,一行显示所测距离。
系统软件设计
系统软件包括主程序、温度采集子程序、定时器计时子程序、计算子程序、液晶显示子程序等。主程序包括初始化和各个子程序的调用,最后把测量结果用液晶显示屏显示出来(见图4)。
结论
本系统采用飞思卡尔单片机MC9S12DG128B做主控制器,可靠性好,抗干扰和电磁兼容性强,内部资源较丰富,软件的工作量大大降低,而且支持背景调试(BDM)方式,编程更加方便,灵活。
在本设计中,通过外部硬件电路来产生40kHz的超声波信号,因而相对于由单片机产生的40kHz超声波信号而言,更加接近超声波传感器的共振频率,因而使超声波传感器的输出最大,可以有效地提高测量距离,测量距离在0.3m~4m内。
本设计采用数字式温度传感器实现对单片机超声波测距系统的温度测量和补偿,对声速进行补偿,对引起测量误差的因素进行修正处理,提高了系统的测量精度及灵敏度,使探测精度不超过1cm,从而达到了很好的效果。
- 超声波测距原理及简介(10-07)
- 超声波测距系统中单片机的应用(10-07)
- 超声波测距的主要应用领域(10-07)
- 超声波测距原理分析(11-15)
- 精确的无线温度传感器可为自身供电(08-22)
- 精确的温度至比特转换器解决了温度传感器测量难题(03-09)