摘要:超声波测距是一种典型的非接触测量方式,应用非常广泛。本文提出了一种基于STM32单片机的高精度超声波测距方案。与传统单片机相比,STM32的主频和定时器的频率可以通过PLL倍频高达72MHz,高分辨率的定时器为高精度的测量提供了保证。超声波的发射使用定时器的PWM功能来驱动,回波信号的接收使用定时器的输入捕获功能,开始测距时,定时器的开启将同时启动PWM和输入捕获,完全消除了启动发射和启动计时之间的偏差,提高了测量精度。为使回波信号趋于稳定,设计了时间增益补偿电路(TGC),在等待回波的过程中随着时间的推移需要将放大器的增益值不断增大,通过实验获取不同距离需要设置的增益值,对应不同时间需要设置数字电位器的增量,并将该参数固化在单片机的FALSH中,在测距过程中,根据时间查询电位器增量表改变电位器阻值,实现回波信号的时间补偿,提高了测量的精度。为了在减小盲区的同时而不减小测量范围,设计了双比较器整形电路分别处理近、远距离的回波信号,近距离比较器可以有效屏蔽超声波衍射信号从而减小了测量盲区。传统的峰值检测方法大多通过硬件电路实现,设计较复杂,稳定性差。本文通过软件算法对回波信号进行峰值时间检测。不仅简化了电路,降低了成本,而且提高了系统的稳定度。经研究表明,该系统测量精度达到了lmm,盲区低至3cm,量程可达500cm。本系统在近距离测试时,系统的精度较理想,可作为停车时的倒车雷达使用,也可以用于液面检测(油箱液位),还可以用于自动门感应,机器人视觉识别等。如果多使用几个测距仪,将这些集成一个大系统,那么整个大系统可用于定位避障。
2019-12-21 21:50:24 7.86MB STM32单片机 超声波测距 双比较器
1
正在学习51单片机,想利用HC-SR04超声波模块做作品的同学,可以通过这套代码的理解逐渐对超声波上手
2019-12-21 21:45:09 2.62MB 51单片机 超声波模块 HC-SR04 LCD显示
1
利用STM32单片机驱动HCSR04超声波测距模块,并增加蜂鸣器报警装置和LCD显示装置。LCD实时显示测距仪和被测物之间的距离信息并用点阵表示。距离过近则蜂鸣器报警。
2019-12-21 21:44:56 5.38MB STM32 HCSR04 LCD
1
STM32读取超声波测距模块的数据,用到STM32的通用定时器,输入捕获
2019-12-21 21:44:05 6.69MB 超声波测距
1
自己写的基于STM32F407单片机的超声波测距程序,超声波模块是HC_SR04,通过实际测量,在测量15cm的时候,误差在2cm左右,测量20cm的时候,误差在1厘米左右,最远测量距离不超过4m,超过后定时器溢出,测得的数据就不准了,而这个模块精准测量范围也在4m左右,通过一个LED灯作为判断的依据。
2019-12-21 21:41:39 4.06MB STM32F407 超声波测距
1
基于STM32F407写的超声波测距和多路PWM输出,程序简单,注释比较全面,便于理解。可以通过自己稍微修改来实现避障小车,或者距离检测,控制多路舵机等等,我觉得实用性比较高,就传上来,分享一下。
2019-12-21 21:41:39 4.4MB STM32F407 多路PWM输出 超声波测距
1
核心板STM32F1,通过超声波模块测障碍物距离(定时器),OLED时时显示所测得距离值,同时增加了蜂鸣器短距报警,通过设定距离阈值,当小于其时,蜂鸣器“滴滴滴”报警,且距离越小,报警频率越快.......测试通过
2019-12-21 21:34:07 14.02MB STM32 测距 oled 报警
1
超声波测距产生的数据通过串口可以发送出来,单片机用的是STC89C52
2019-12-21 21:26:11 4KB 超声波 测距 串口
1
51单片机超声波测距1602显示,代码简洁,高效,注释完整方便理解
2019-12-21 21:25:55 45KB 单片机 超声波 1602显示
1
基于msp430和12864的超声波测距利用定时器A中断测时,s=c*t/2直接用淘宝买的超声波模块就可以测距。
2019-12-21 21:23:24 34KB msp430 lcd12864 超声波测距
1