HC

您所在的位置:网站首页 声波测距实验步骤 HC

HC

2024-07-04 12:21:42| 来源: 网络整理| 查看: 265

文章目录 1、超声波模块介绍1)产品特点2)基本工作原理3)实物图4)电气参数 2、超声波模块原理1)超声波时序图2)实现思路 3、参考代码1)stm8基于TIM1的ch1输入捕获实现2)51实现测距并使用数码管显示(淘宝提供)

1、超声波模块介绍

超声波模块一般使用的都是HC-SR04来进行测距 在这里插入图片描述

1)产品特点

HC-SR04 超声波测距模块可提供 2cm-400cm 的非接触式距离感测功能,测 距精度可达高到的非接触式距离感测功能,测距精度可达高到 3mm ;模块包括超声波发射器、接收器与控制电路。

2)基本工作原理

(1)采用 IO 口 TRIG 触发测距,给最少 10us 的高电平信呈。 (2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回; (3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声 波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

3)实物图

在这里插入图片描述 如右图接线,

Vcc:+5V电源供电Trig:输入触发信号(可以触发测距)Echo:传出信号回响(可以传回时间差)Gnd:接地 4)电气参数

在这里插入图片描述

2、超声波模块原理 1)超声波时序图

在这里插入图片描述 以上时序图表明你只需要提供一个 10uS 以上脉冲触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波。一旦检测到有回波信号则输出回响信号 。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。公式:uS/58=厘米或者 uS/148=英寸;或是:距离=高电平时间*声速(340M/S)/2;建议测量周期为 60ms 以上,以防止发射信号对回响信号的影响。 注: 1 、此模块不宜带电连接,若要带电连接,则先让模块的 GND 端先连接,否则会影响模块的正常工作。 2 、测距时,被测物体的面积不少于 0.5 平方米且平面尽量要求平整,否则影响测量的结果

2)实现思路

1.直接给trig高电平,然后读取ECHO引脚是否为高电平,若为高电平,则开启定时器,然后继续检测等待其为低电平的时候,获取计数器值,然后进行计算

2.开启外部中断,先将ECHO配置上升沿中断,当中断来临的时候,在中断函数里面开启定时器,再将其配置为下降沿中断,等待下降沿中断来临的时候,获取计数器值。

其实上面的两种方法,其思路都是通过计算定时器的counter值,来计算距离

3.定时器一路PWM控制触发以及触发周期,超声波返回信号高电平时间用定时器通道捕捉功能获取

定时器输入捕获的使用方法可以参考一下我其他的文章:TIM定时器使用介绍

3、参考代码 1)stm8基于TIM1的ch1输入捕获实现 // 关于超声波测距的宏定义 #define HCSR04_TRIG PC_ODR_ODR0 //PC0为TRIG,输出10us的高电平 #define HCSR04_ECHO PC_IDR_IDR1 //PC1为ECHO,输入一个脉冲信号 #define SYS_CLOCK 16000000 //定义系统当前fmaster频率值15797600UL。 //获取距离的函数 float Hcsr04_getdistance(void) { u16 B_num = 0; u32 Time = 0; float Distance = 0; HCSR04_TRIG = 0; // printf("准备开始测试...\n"); // TIM1_CCR1H=0x00;//清除捕获/比较寄存器1高8位 // TIM1_CCR1L=0x00;//清除捕获/比较寄存器1低8位 TIM1_SR1&=0xF9;//清除CC1IF标志位与CC2IF标志位 TIM1_SR2&=0xF9;//清除CC1OF标志位与CC2OF标志位 TIM1_CCER1|=0x11;//捕获功能使能 // printf("捕获功能开启,等待ECHO信号...\n"); //TRIG给最少 10us 的高电平信呈 HCSR04_TRIG = 1; delay_10us(5); HCSR04_TRIG = 0; // overflow_count = 0; // printf("TRIG已发送 10uS 以上脉冲触发信号...\n"); while((TIM1_SR1&0x02)==0);//等待捕获比较1标志位CC1IF变为“1” // TIM1_CR1|=0x01; //使能TIM1计数器功能“CEN=1” // printf("上升沿信号捕获...\n"); while((TIM1_SR1&0x04)==0);//等待捕获比较2标志位CC2IF变为“1” // printf("下降沿信号捕获...\n"); //取出数据CC2IF位就自动清0 B_num=(u16)TIM1_CCR2H


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭