应客户要求,使用一款名为FMK24的微波雷达模块测量距离并解算速度,之前小打小闹从未用过这么高大上的距离传感器,某宝上一查居然300多块大洋,略略肉疼,决心好好搞一下子。

附上官方给出的模块说明书 链接:https://pan.baidu.com/s/1YuWepOETU1NLYAkW2fiOlA  提取码:l51c

从手册上看,模块已经自带数据处理芯片,能够直接输出距离量,格式如下:

1、直接连上电脑,顺利收到数据,注意波特率和输出单位:

2、接入单片机解算速度

使用简单方便的STC89C52单片机,通过串口输入雷达模块的数据量,配置波特率为57600bps,8位数据位:

void UART_Init(void)   //配置接收串口:57600bps
{//定时器波特率设置===============================TMOD = 0x22;      //定时器1:自动重装8位定时器模式//定时器0:自动重装8位定时器模式TL1 = 0xff;TH1 = 0xff;     //溢出时间=(256-255)* 12/11.0592 us//溢出率=921600TR1 = 1;        //计时开始//UART设置===============================       SCON= 0x50;        //  SM0-SM1=0 1:8位数据位,一位停止位  // REN:1;接收允许// SM2=0:RI置位//   TI=0,RI=0: 清除接收、发送中断标志位PCON= 0X80;   //  SMOD=1,波特率=T1溢出率/16 = 57600bps;//中断设置===============================ES=1;                 //允许串口中断PS=1;         //串口中断高优先级?????????EA=1;         //总中断允许
}

3、距离提取

这里只计算第一个跟踪的目标,多目标距离用法不知应用在何处,为编程方便,将数据直接在中断函数中进行处理,在计算过程中担心起始的数据会出现乱码的情况,设置了一个有效数据起始标志作为判断是否收到待处理数据的有效起始位。

void Receive() interrupt 4    //======================= '\n'为停止符号
{static unsigned char rec[10],rec_count=0;char count_num=0,count_dis=0,byte_count=0,start=0,j=0,       jj=0;int distance_temp=0;if(RI)              //接收中断{ RI=0;if(SBUF!='\n')        //未收到停止符号{if(start_flag == start)      //已有开始标记,则开始接收数据{rec[rec_count++]=SBUF;               }                       else{return;            //未标记开始,放弃接收数据}}else                //接收到停止符{if(start_flag == start)     //已经有过开始标记,接收数据有效,开始处理{                     rec[rec_count++]=SBUF;           //接收最后一位停止符if(rec[0]!= 'E'&&rec[0]=='1')  //存在有效目标,计算出距离,仅计算第一个目标{//start_flag=end;                   //标记数据接收结束while(rec[start++]!=':');   //start定位到第一位数据while(*(rec+start+j)!='\n'){j++;byte_count++;             //获取有效数位长度}for(;rec[start]!='\n';){distance_temp += (rec[start]-'0')*pow(10,byte_count-1);byte_count--;start++;}object[0].distance = distance_temp;}//不存在有效目标-> 清零接收rec_count=0;             //数据处理完毕  -> 清零接收memset(rec,0,10);
//                  start_flag = end; //?????}else{start_flag = start;       //未有开始标记标记,则标记有效数据接收开始}}}
}

4、测试输出

5、计算速度

原来的思路是在主函数中间隔50ms取两个距离值,做除法,类似

    object[1].distance = object[0].distance;      //存储50MS前的距离            delay_ms(20);      //50msdelay_ms(30);     speed = (object[1].distance - object[0].distance)*36/50;   //   厘米/ms 换算为  Km/h

结构,但实际运行时发现,即使模块处于运动状态,两者的距离值也经常出现相同情况。

目测是数据处理阶段比较粗糙,可进一步改进。

FMK24微波雷达测距模块的使用相关推荐

  1. 单片机控制雷达测距模块HC-SR04测量距离(通过测试)

    雷达测距模块在小车防撞中应用比较不错,在这篇文章中简单介绍下雷达测距模块HC-SR04的使用. 一.硬件介绍 引脚四个,分别为VCC.TRIG.ECHO.GND 单片机控制引脚TRIG:用于给出促发测 ...

  2. 微波雷达传感器模块,人体雷达感知存在,场景智能联动

    人们为了从外界获取信息,必须借助于感觉器官.而单靠人们自身的感觉器官,在研究自然现象和规律以及生产活动中它们的功能就远远不够了.为适应这种情况,就需要传感器. 传感器是一种检测装置,能感受到被测量的信 ...

  3. 微波雷达传感器感应模块,智能安防过滤雨水树叶干扰技术应用

    微波雷达原理是检测物体移动的产生的微波,检测范围大,呈现一个扇面检测,前后均能检测,即使有物体遮挡,依旧能检测到,作为安防设备再好不过了. 微波雷达感应模块,利用多普勒原理,以平板天线发射高频电磁波并 ...

  4. 5.8GHz雷达感应模块应用,智能家居照明技术,微波雷达传感器

    5.8GHz的雷达感应模块有何妙用呢? 非5.8GHz的雷达感应模块,在一些家居环境使用感应信号频率难控制,用于智能家居方面的效果会有局限性.5.8GHz的雷达感应模块感应信号频率精准,稳定,感应灵敏 ...

  5. hb100 微波雷达arduino_【Arduino】108种传感器系列实验(119)---HB100多普勒雷达模块...

    /* [Arduino]108种传感器模块系列实验(资料+代码+图形+仿真) 实验一百一十九:HB100微波雷达感应模块 10.525GHz多普勒探测器探头传感器 项目:测试HB100模块,输入改为模 ...

  6. 基于微波雷达传感器的智能安全车门锁,微波雷达感应模组技术

    基于微波雷达传感器的智能安全车门锁,为了解决由于人们的粗心而不正当的使用车门所造成的事故问题,通过微波雷达感应模组对周围物体进行感应检测. 在危险发生前做出判断,通过蜂鸣器的鸣叫声对车内人员进行提醒和 ...

  7. 测量 XW-HLR26-24G 微波雷达模块的性能测试

    简 介: 利用ESP32 MicroPython 模块中的UART1对于 雷达模块性能进行测试.验证了它的基本通信格式,能够读取对应的数据,它的数据更新速率为每秒钟4个测量数据. 关键词: 雷达模块, ...

  8. HLK-LD1125H-24G人体测距微波雷达

    ** HLK-LD1125H-24G人体测距微波雷达 ** 概述 转载官方概述: HLK-LD1125H-24G 是一款高灵敏度 24GHz 毫米波人体存在检测雷达模块.区别于传统雷达通过检测人体移动 ...

  9. RCWL-0516微波雷达模块检测人体移动(发光二极管)

    首先,介绍一下RCWL-0516的主要引脚: 其次是RCWL-0516与UNO和LED灯的连接示意图及实际连接图: VIN-5V OUT-D2 GND-GND D3.电阻.二极管串联 当微波雷达模块检 ...

最新文章

  1. 报名 | 2019年第六届清华大学大数据社会科学讲习班
  2. 你的微服务敢独立交付么?
  3. contentSize、contentInset和contentOffset区别
  4. 【Android 异步操作】AsyncTask 异步任务 ( FutureTask 模拟 AsyncTask 执行过程 | AsyncTask 执行过程回顾 | FutureTask 分析 )
  5. 在dos下用csc命令编译,提示“csc不是内部或外部命令,也不是可运行的程序... ”
  6. [How TO]-堡垒机快捷登陆SSH服务器-expect自动输密码
  7. 会话(session)
  8. Android官方开发文档Training系列课程中文版:Activity测试之创建运行测试
  9. bp神经网络预测未来五年数据_基于小波神经网络的数据中心KPI预测
  10. centos8离线安装Apache_疯狂Hive之Hivean安装部署与交互方式(一)
  11. [论文写作] 论文写作利器
  12. Impala操作审计
  13. 关于vim的误删除经历
  14. 8、kubernetes之存储卷资源
  15. vmware Esxi 回收Thin模式磁盘空间
  16. 京东Q3财报净亏损28亿元,连续亏损,徐雷会下课吗?
  17. 润肤悦颜各种偏方秘方
  18. Linux下定时函数timerfd_xxx()的使用
  19. 云服务器惠普版_云服务器惠普版_工作进度通报,笔记本开箱目录20200531版
  20. python中msg函数_【ROS】ROS自定义msg以及在python中的使用

热门文章

  1. 远程开启3389端口
  2. 华为设备如何查看电源的序列号?
  3. 软考高级论文评分标准
  4. ES2对数据的基本操作
  5. Linux系统下超级好用的终端——Terminator终结者
  6. 遥感数据、气象数据、土地土壤数据、农业数据、行政区数据...GIS数据获取网站整理
  7. 红米 android 4.4.4,红米Note4G双卡版搭载基于Android4.4.4开发的MIUIV6系统
  8. 程序员必读的189本书
  9. AtCoder Beginner Contest 177 D.Friends
  10. 火狐所以版本资源下载及驱动下载