查看: 4398|回复: 9

如何用STM32来控制超声波

[复制链接]
  • TA的每日心情
    开心
    2013-10-30 20:43
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-7-27 00:01:01 | 显示全部楼层 |阅读模式
    分享到:
    超声波探测精度要1mm,声音传输速度是0.34mm/us所以定时必须是1us,如果用中断来计数,CPU全部浪费在CPU上,且死在定时中断里,根本就无法精确,求高手解答!最好能自己做个,然后附上代码!谢谢!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-30 20:43
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-7-27 00:01:37 | 显示全部楼层
    自己抢沙发
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-7-18 14:32
  • 签到天数: 148 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-7-27 15:32:45 | 显示全部楼层
    那就采用更高的系统时钟啊。但是1mm的精度应该是做不到的,还要考虑温度、湿度等这些外界因素的影响。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-1-12 22:37
  • 签到天数: 259 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-7-27 19:52:45 | 显示全部楼层
    这貌似确实是个问题啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2015-1-10 23:37
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-7-30 16:11:55 | 显示全部楼层
    刚测了SR04,用HCLK的,如果lz能精确到这个地步,同求代码
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-30 20:43
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-7-30 21:17:39 | 显示全部楼层
    bli19 发表于 2013-7-30 16:11
    刚测了SR04,用HCLK的,如果lz能精确到这个地步,同求代码

    我用计数方法做的,当超声波发出时开始定时使能,把TIM分频为72,这样频率为1M,最小刻度为1us,然后TIM->ARR设置很大(保证超声波接收是,定时永远无法溢出),但超声波接收时产生外部中断读取计数值x复位TIM,,这样就定时了xus,这是距离精确到0.17mm,最后修正代码误差,得到比较精确的数值,我没有考虑温度湿度。仅供参考!谢谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2013-8-16 12:29
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-8-2 14:07:26 | 显示全部楼层
    apple1163526267 发表于 2013-7-30 21:17
    我用计数方法做的,当超声波发出时开始定时使能,把TIM分频为72,这样频率为1M,最小刻度为1us,然后TIM- ...

    额···想请教一下,这样的数据可靠么,个人觉得不能精确到mm级。楼上用的是超声波的模块吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-30 20:43
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-8-4 14:08:21 | 显示全部楼层
    608伺候 发表于 2013-8-2 14:07
    额···想请教一下,这样的数据可靠么,个人觉得不能精确到mm级。楼上用的是超声波的模块吗? ...

    是的,111111111111111111111111111111111111111111111111111111111
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2013-8-16 12:29
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    发表于 2013-8-4 23:23:47 | 显示全部楼层
    apple1163526267 发表于 2013-8-4 14:08
    是的,111111111111111111111111111111111111111111111111111111111

    呵呵···这些都是叹号么···我还是对数据的真实度表示怀疑,个人觉得,你精确到的数据只是定时器时钟频率导致数据单位可以达到mm...因为超声波模块,很难做到那么精确吧···
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-30 20:43
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-9-13 22:39:06 | 显示全部楼层
    608伺候 发表于 2013-8-4 23:23
    呵呵···这些都是叹号么···我还是对数据的真实度表示怀疑,个人觉得,你精确到的数据只是定时器时钟 ...

    首先呢,我确实达到这个精度,信不信由你,1是我为了让凑字数用的
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-25 19:16 , Processed in 0.205480 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.