(SKU:SEN0306) 24GHz微波测距雷达

来自DFRobot Product Wiki
跳转至: 导航搜索

[[|thumb|300px|right|微波传感器]]

目录

概述

微波测距雷达是一款通过发射和接收无线电波来感应物体距离的电子传感器。与其他原理的测距传感器相比具有体积小,重量轻,测距范围广, 具有一定的穿透能力(烟雾、粉尘、薄非金属材料等),具备多目标识别测量能力等优势。
其工作原理是通过测量发射与接收信号之间的时间差来测量物体距离,其工作为调频连续波方式(FMCW)。其内部集成了微波雷达的所有信号处理单元,用户只需要通过异步串行接口获取物体距离即可。

特性

这种探测方式与其它探测方式相比具有如下的优点:

  1. 非接触探测;
  2. 不受温度、湿度、噪声、气流、尘埃、光线等影响,适合恶劣环境;
  3. 抗干扰能力强;
  4. 输出功率小,对人体构不成危害;
  5. 探测距离远,测距精度高;
  6. 感应角度大,测距范围广;
  7. 可以读取多个不同距离目标的距离信息;
  8. 微波的方向性很好,速度等于光速;

产品参数

  • 输入电压: 4-8V(DC)
  • 输入电流: >100mA
  • 尺寸: 44mm*34mm*5mm
  • 重量: 8g
  • 存储温度: -40℃~80℃
  • 使用温度: 0℃~70℃
  • 发射参数:
    • 探测距离: 0.5-20m(最小范围0.5m,最大范围20m)
    • 发射频率: 24GHz
    • 发射功率: 6dBM(最大值10dBM)
    • 调制方式: FMCW
  • 接收参数:
    • 数据更新速度: 10Hz
    • 垂直面3dB波束宽度: 33度
    • 水平面3dB波束宽度: 78度

引脚说明


SEN0306接口.jpg
编号 功能描述
1 电源输入。输入电压 4v-8v 直流电源,

电流驱动能力需>100mA

2 地(GND)
3 辅助电源输出。此辅助电源输出电压为 3.3V,电流驱动能

力最大 100mA)

4 异步串行接口信号输出(TX)。输出距离信息或者距离频谱

信息。通讯波特率为 57600bit/s

5 异步串行接口信号输入(RX)。此接口功能保留。
6 工作模式选择。当此接口悬空时为距离数据输出,此接口

接地(GND)时为距离+频谱数据输出


传感器模块说明

结构说明

SEN0306产品结构示意.jpg


信号处理示意图

下图为传感器模块工作原理框图,将传感器接收到的微小信号经过放大,再通过比较电路将信号转换为方波信号,输出0、1数字信号,便于单片机处理。


SEN0306工作原理示意.jpg

  数据输出共分为两种协议,当模式选择端口6接地(GND),为距离+频谱数据输出。此时,数据分为数据头、距离数据、频谱数据和
  数据尾组成,格式如下:
  0xff,0xff,0xff,0x**,0x**,0x##...0x##,0x00,0x00,0x00
  前三组 0xff 是数据头,接下来的 0x**是 16 位距离信息的高8位,第二个0x**是距离信息的低8位。共 16 位的二进制数据表示
  目标的距离,单位是cm。
  第一个 0x##是距离谱线的第一个谱线幅度,接下来是第二条谱线的幅度,以此类推,共 126 条谱线。谱线的幅度范围为 1-44。此
  谱线作为用户后期处理识别多目标等功能用。最后的三组 0x00 是数据尾,标志着一组数据的结束。
  当模式选择端口悬空,输出数据仅有距离信息,格式如下:
  0xff,0xff,0xff,0x**,0x**,0x00,0x00,0x00
  前三组0xff是数据头,接下来的0x**是16位距离信息的高8位,第二个0x**是距离信息的低8位。共16位的二进制数据表示
  目标的距离,单位是 cm。接下来的三组 0x00是数据尾。
  串口采用通讯格式为1位启始位,8位数据位,1为停止位,无奇偶校验

使用教程


准备


接线图


SEN0192连线图.png



Warning yellow.png

说明:安装时要让天线面朝着需要探测的区域


注意:本传感器具有2-16m范围连续可调,电位器顺着MIN方向调节,探测距离减小;电位器逆着MIN方向调节,探测距离增大。


样例代码

点击下载库文件arduino定时器库函数如何安装库?
代码完成的功能:当微波传感器探测到有移动物体时,Arduino板的D13脚LED会被点亮,点亮2S后会自动熄灭,下次再探测到移动物体时,该LED会再次被点亮

/***************************************************
  Microwave sensor
 <http://www.dfrobot.com.cn/goods-1231.html>
  
 ***************************************************
 This example reads temperature and humidity from SHT1x Humidity and Temperature Sensor.
  
Created 2015-7-30
 By Loan <Loan.he@dfrobot.com>
  
 GNU Lesser General Public License.
 See <http://www.gnu.org/licenses/> for details.
 All above must be included in any redistribution
 ****************************************************/
 
/***********Notice and Trouble shooting***************
 1.Connection and Diagram can be found here
 <http://wiki.dfrobot.com.cn/index.php?title=%28SKU:SEN0192%29_Microwave_sensor%E5%BE%AE%E6%B3%A2%E4%BC%A0%E6%84%9F%E5%99%A8%E6%A8%A1%E5%9D%97>
 2.This code is tested on Arduino Uno, Leonardo, Mega boards.
 3.arduino Timer library is created by jonoxer.
 See <http://www.dfrobot.com.cn/images/upload/File/SEN0192/20160112134309yy5nus.zip arduino Timer library> for details.
 ****************************************************/
#include <MsTimer2.h>           //Timer interrupt function
int pbIn = 0;                   // Define the interrupt PIN is 0, that is, digital pins 2
int ledOut = 13;                
int count=0;                    
volatile int state = LOW;       //Define ledOut, default is off
 
void setup()
{      
     Serial.begin(9600);          
     pinMode(ledOut, OUTPUT);
     attachInterrupt(pbIn, stateChange, FALLING); // Sets the interrupt function, falling edge triggered interrupts.
     MsTimer2::set(1000,process); // Set the timer interrupt time 1000ms
     MsTimer2::start();//Timer interrupt start

}
 
void loop()                     
{
    Serial.println(count); // Printing times of 1000ms suspension
    delay(1);        
    if(state == HIGH)  //When moving objects are detected later, 2s shut down automatically after the ledout light is convenient.
  {
    delay(2000);
    state = LOW;
    digitalWrite(ledOut, state);    //Turn off led
  }

 }

 
void stateChange()  //Interrupt function
{  
  count++;  

}

void process()   //Timer handler
{
  if(count>1)  //1000ms interrupt number greater than 1 is considered detected a moving object (this value can be adjusted according to the actual situation, equivalent to adjust the detection threshold of the speed of a moving object)
       {
                   state = HIGH;            
                   digitalWrite(ledOut, state);    //Lighting led
                   count=0;   //Count zero
  
       }
        else
            count=0;   //In 1000ms, interrupts does not reach set threshold value is considered not detect moving objects, interrupt the count number is cleared to zero.  
}    


常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!


更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!


更多



DFshopping car1.png DFRobot商城购买链接

个人工具
名字空间

变换
操作
导航
工具箱