摘要:超声波测距是一种典型的非接触测量方式,应用非常广泛。本文提出了一种基于STM32单片机的高精度超声波测距方案。与传统单片机相比,STM32的主频和定时器的频率可以通过PLL倍频高达72MHz,高分辨率的定时器为高精度的测量提供了保证。超声波的发射使用定时器的PWM功能来驱动,回波信号的接收使用定时器的输入捕获功能,开始测距时,定时器的开启将同时启动PWM和输入捕获,完全消除了启动发射和启动计时之间的偏差,提高了测量精度。为使回波信号趋于稳定,设计了时间增益补偿电路(TGC),在等待回波的过程中随着时间的推移需要将放大器的增益值不断增大,通过实验获取不同距离需要设置的增益值,对应不同时间需要设置数字电位器的增量,并将该参数固化在单片机的FALSH中,在测距过程中,根据时间查询电位器增量表改变电位器阻值,实现回波信号的时间补偿,提高了测量的精度。为了在减小盲区的同时而不减小测量范围,设计了双比较器整形电路分别处理近、远距离的回波信号,近距离比较器可以有效屏蔽超声波衍射信号从而减小了测量盲区。传统的峰值检测方法大多通过硬件电路实现,设计较复杂,稳定性差。本文通过软件算法对回波信号进行峰值时间检测。不仅简化了电路,降低了成本,而且提高了系统的稳定度。经研究表明,该系统测量精度达到了lmm,盲区低至3cm,量程可达500cm。本系统在近距离测试时,系统的精度较理想,可作为停车时的倒车雷达使用,也可以用于液面检测(油箱液位),还可以用于自动门感应,机器人视觉识别等。如果多使用几个测距仪,将这些集成一个大系统,那么整个大系统可用于定位避障。
2019-12-21 21:50:24 7.86MB STM32单片机 超声波测距 双比较器
1
以 ARM 为内核的 STM3 微控制器做主控,基于STM32单片机指纹识别系统的设计。本软件编写 C 语言代码总体过程:建立工程文件,包括选择主控芯片,建立 C 文件,添 加相应的头文件。编写 C 语言代码,明白程序编写的总体思路。掌握完整的程序流程。做好 程序模块化分工。编译 C 文件。通过编译,模拟仿真的方法检查 C 文件的正确性和实用性。 修改有问题的地方。往复多次过程,完成整个 C 文件编写的工作。程序下载,由 KEIL 软件直 接生成可下载的文件。通过仿真器或者第三方的软件平台。完成软件的下载和验证
2019-12-21 21:49:04 1.88MB 指纹 单片机
1
水中PH检测,浊度检测,TDS检测 能够很好的检测水中的这些参数并且显示在lcd1602上,使用的是kei5软件
2019-12-21 21:49:03 3.53MB transd
1
STM32F1xx中文参考手册/STM32F103ZET6中文,STM32单片机数据手册
2019-12-21 21:48:36 10.59MB STM32 单片机 嵌入式
1
一块stm32 一块lcd 几个独立按键做的俄罗斯方块游戏机。建议看一下我的往期博客,里面有关于代码的介绍。
2019-12-21 21:47:47 20.23MB stm32 单片机 俄罗斯方块 嵌入式
1
实例讲解基于STM32的UCOSIII技术,针对UCOSIII中使用到的各种处理进行详细分析。
2019-12-21 21:46:44 6.2MB UCOIII STM32 单片机系统
1
适用于stm32单片机,实测可以采集SHT20温湿度数据,使用IIC通讯
2019-12-21 21:46:04 5.97MB IIC sht20
1
基于STM32单片机智能手环心率计步器体温显示设计 本设计由STM32F103C8T6单片机核心板电路+ADXL345传感器电路+心率传感器电路+温度传感器+lcd1602电路组成。 1、通过重力加速度传感器ADXL345检测人的状态,计算出走路步数、走路距离和平均速度。 2、通过心率传感器实时检测心率,通过温度传感器检测温度。 3、lcd1602实时显示步数、距离和平均速度、心率以及温度值。
2019-12-21 21:42:00 3.02MB stm32 加速度传感 1602 温度传感
1
本例基于stm32单片机的lcd12864液晶的并行显示程序。测试稳定。
2019-12-21 21:35:06 2KB lcd12864并行
1
电脑通过串口传给单片机,单片机用KNN算法给出手写数字的预测结果,并且在液晶上显示
2019-12-21 21:07:31 6.3MB stm32 KNN
1