STM32超声波模块实验(定时器实现)

实验材料准备

1个HC-SR04超声波模块
1台STM32F103ZET6开发板
若干杜邦线

HC-SR04模块简介

在这里插入图片描述

STM32定时器设置

实验中接收发送信号都用定时器,方便管理
在这里插入图片描述
上表在《STM32中文参考手册_V10》第119页,实验中产生PWM输出使用TIM_CH1完全重映射,输出IO口为PC6。

在这里插入图片描述
上表在《STM32F103ZET6芯片手册》第31页,当PA1配置为输入模式,TIM_CH2使能输入捕获时就能获取到PA1输入的信号

PWM输出配置

超声波模块触发信号需要大于10us的高电平,预先设定获取超声波传来信号的周期为500ms,需要将PWM信号的周期也设为500ms

计算公式:T=(arr+1)(psc+1)/72M (单位为秒)

实现500ms有多种设置方式,为了输出大于10us也不太长的高电平信号,arr设置为39999,psc设置为899,代入上式计算得T=0.5,也就是500ms
之后设置占空比:
定时器现在装载值最大为40000,对应时间为500ms=500000us,当占空比为2时,2*500000/40000为25us左右

输入捕获配置

输入捕获配置参考正点原子《实验10 输入捕获实验》部分

验证输入输出

将STM32板子的PA1和PC6连接并将捕获的结果打印至串口,得出如下图
在这里插入图片描述
22us和23us左右,满足大于10us的要求。

转换公式

设捕获的时间为t,距离为s
则公式为

s=t/58

其中t单位为秒(s),s单位为厘米(cm)

实验结果

在这里插入图片描述
测距对象最好选择平面物体,不然会出现测距不准的情况。

源码链接

链接:https://pan.baidu.com/s/1P1ZZkkj_o5S4IQbYtU1VEA
提取码:skap
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫卡的小星星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值