SKU:RB-02S034 水流量传感器
目录 |
产品介绍
Water Flow Sensor 水流传感器,主要由塑料阀体 、水流转子组件和霍尔传感器组成。此传感器应用于水的流量测控系统,例如安装在热水器进水端,对水的流量进行检测。Water Flow Sensor 外观轻巧灵便,体积小,便于安装,叶轮内部镶有不锈钢珠,永久耐磨,密封圈采用上、下受力的结构永不漏水。霍尔元件采用德国进口。并且用灌封胶封装防止进水,永不老化。所有原材料均有符合ROHS 检测标准。可以适合各种控制器和开发板,如:Arduino 控制器、STC 单片机、AVR 单片机等。
规格参数
- 进水口内径:8.5mm
- 进水口、出水口外径:20.12 mm
- 输出波形:方波
- 工作电压范围:DC +3V~+24V
- 最大工作电流:15mA(DC +5V)
- 负载能力:≤10mA(DC +5V)
- 使用温度范围:≤80℃
- 使用湿度范围:35%~90%RH(无结霜状态)
- 允许耐压:水压1.75Mpa 以下
- 保存温度:-25℃~80℃
- 保存湿度:25%~95%RH
- 输出脉冲高电平:>DC 4.5V(输入电压DC +5V)
- 输出脉冲低电平:<DC 0.5V(输入电压DC +5V)
- 精度(流量——脉冲输出):1~30L/min±1%以内
- 输出脉冲占空比:50±10%
- 输出上升时间:0.04uS
- 输出下降时间:0.18uS 流量
- 耐热性:在80±3℃环境中放置48h ,返回常温1-2h 无异常,且零件无裂纹、松驰、膨胀、变形等现象,精度变化10%以内。
- 耐寒性:在-20±3℃环境中放置48h ,返回常温1-2h 无异常,且零件无裂纹、松驰、膨胀、变形等现象,精度变化10%以内。
- 耐湿性:在40±2℃,相对湿度90%~95%RH 环境中放置72h 取出后,绝缘电阻1MΩ以上。
- 耐久性:在常温下,从水口通入0.1Mpa 水压,以接通1S,断开0.5S 为一循环。
- 流量---脉冲特性参照表
- 引脚定义
- 红色线(IN):接正极(+)
- 黄色线(OUT):信号输出线
- 黑色线(GND):接负极(-)
Water Flow Sensor模块结构图
管径说明:
- G1/2
- G -- 55 度非螺纹密封管螺纹,属惠氏螺纹家族.标记为 G 代表圆柱螺纹.国家标准可查阅 GB/T7307-2001
- 1/2 -- 4分管
- 说明:将1英寸化为8分,4分即管外径为4/8*25.4 = 12.7mm
Water Flow Sensor使用注意事项:
此款水流传感器严禁剧烈冲击以及化学物质的侵蚀。严禁抛掷或碰撞。检测介质不宜超过120℃。安装方式为垂直于地面,且倾斜度不超过5度。
工作原理
水流量传感器又可以叫做霍尔传感器,传感器整体是由 ABS 工程塑料制成,上下两端为 4 分螺牙,中间为一个圆柱体结构,并有三根导线接出,红色为正极、黑色负极、黄色信号输出端。其内部还有一个五叶轮和霍尔元件,背面有一个箭头,这个箭头表示水流的方向,所以如果更换的时候不能装反。
霍尔传感器中,五叶轮连接磁性转子,转子置于线圈中,线圈即为霍尔集成元件,当水通过水流转子组件时,磁性转子转动并且转速随着流量变化而变化,霍尔传感器输出相应脉冲信号,反馈给控制器,由控制器判断水流量的大小,进行调控。
内部结构图:
编程原理
水流量传感器共引出三个引脚,分别是信号S、电源正Vcc、电源地GND,实际使用时可以将传感器连接到 Arduino UNO 控制器的数字引脚,例如数字引脚2号
脉冲特性:
水平测试脉冲频率(Hz)=[8.1Q -3 ]±10%(水平测试) (Q 为流量L/min )
使用方法
example1_Arduino
- 硬件连接
- 水流量传感器的黄色线连接到 Arduino UNO 控制器的数字引脚 2
- 水流量传感器的红色线连接到 Arduino UNO 控制器的电源正引脚 V 上
- 水流量传感器的黑色线连接到 Arduino UNO 控制器的电源负引脚 G 上
- 示例程序
volatile int NbTopsFan; //定义函数 NbTopsFan 为整形 int Calc; //定义函数 Calc 为整形变量 int hallsensor = 2; //定义 hallsensor 为数字口2 int flag; //定义 flag 为整形变量 void rpm () { NbTopsFan++; //函数自动+1 } void setup() { pinMode(hallsensor, INPUT); //定义hallsensor 为输入信号 Serial.begin(9600); //定义波特率为9600, Serial.print("Welcome to www.robotbase.cn"); delay(1000); attachInterrupt(0, rpm, RISING); //定义中断进程 } void loop () { NbTopsFan = 0; //NbTops 初始值为0 sei(); //初始化中断 delay (1000); //延迟1 秒 cli(); //禁用中断 Calc = (NbTopsFan * 60 / 8.1); //(脉冲频率×60)/ 8.1 Q,=流量L /小时 Serial.println(Calc); }
- 程序效果
将例子程序上传到 Arduino UNO 控制器中,如果上传无误,Arduino IDE 的串口监视器中会显示当前测试的流量值,如下图所示:
example2_Arduino
- 主要硬件
- Starduino UNO R 3 控制器 * 1个
- Arduino 传感器扩展板 V5.0 * 1个
- Water Flow Sensor * 1个
- RS360 齿轮自吸直流小水泵 * 1个
- 继电器模块 * 1个
- 大按钮模块 * 1个
- Serial LCD1602 * 1个
- 7.4V 锂电池 * 1个
- 3P 传感器连接线 * 2个
- Water Flow Sensor 连接转接线 * 1个
- 水泵进水管 * 1根
- 水泵出水-Water Flow Sensor 进水转接管(自制,实际应接6 分管)
- Water Flow Sensor 输水管(自制,实际应接6 分管)
- 9V 1A 电源适配器 * 1个
- 硬件连接
具体连接顺序为:
- Water Flow Sensor连接到传感器扩展板的数字口2
- 继电器连接到传感器扩展板数字口3(另一端连接电源连接线上)
- 大按钮连接到传感器扩展板数字口4
- 串行1602液晶连接到串口
- 示例程序
volatile int NbTopsFan; //定义函数NbTopsFan 为整形 int Calc; //定义函数Calc 为整形变量 int on = 3; //定义on 为数字口3 int key = 4; //定义key 为数字口4 int hallsensor = 2; //定义hallsensor 为数字口2 int flag; //定义flag 为整形变量 void rpm () { NbTopsFan++; //函数自动+1 } void setup() { pinMode(key,INPUT); //定义key 为输入信号 pinMode(on, OUTPUT); //定义on 为输出入信号 digitalWrite(on,HIGH); //定义on 初始信号为高电平 pinMode(hallsensor, INPUT); //定义hallsensor 为输入信号 Serial.begin(9600); //定义波特率为9600, Serial.print("$CLEAR\r\n"); //清屏 Serial.print("$GO 1 4\r\n");//显示的地址为第1 行第4 列 Serial.print("$PRINT Welcome to\r\n"); //打印字符Welcome to Serial.print("$GO 2 1\r\n");//显示的地址为第2 行第1 列 Serial.print("$PRINT www.robotbase.cn\r\n");//打印字符www.robotbase.cn Serial.print("$CURSOR 1 1\r\n");//光标移动到第1 行第1 列 delay(1000); attachInterrupt(0, rpm, RISING); //定义中断进程 } void loop () { NbTopsFan = 0; //NbTops 初始值为0 sei(); //初始化中断 delay (1000); //延迟1 秒 cli(); //禁用中断 Calc = (NbTopsFan * 60 / 8.1); //(脉冲频率×60)/ 8.1 Q,=流量L /小时 cc(); if(flag != Calc) { Serial.print("$CLEAR\r\n"); //清屏 Serial.print("$CLEAR\r\n"); //清屏 Serial.print("$GO 1 6\r\n");//显示的地址为第1 行第6 列 Serial.print("$PRINT "); Serial.print(Calc);Serial.print(" L/h \r\n"); //打印字符" L/h " Serial.print("$GO 2 1\r\n");//显示的地址为第2 行第1 列 Serial.print("$PRINT Flow Measurement\r\n");//打印字符" Flow Measurement " Serial.print("$CURSOR 1 1\r\n");//光标移动到第1 行第1 列 flag = Calc; } } void cc() { if (LOW == digitalRead(key))//如果digitalRead 为低电平则执行下面的语句 {digitalWrite(on,LOW);}//on 输出低电平 else if (HIGH == digitalRead(key))//如果digitalRead 为高电平则执行下面的语句 {digitalWrite(on,HIGH);}//on 输出高电平 }
- 程序效果
完成以上步骤后,首先给系统上电。系统上电后,按下大按钮(使水泵运转),从而让水流流过水流传感器,系统就可以测试流量了。
下图为水流流量测试系统测试时串行1602液晶显示图:
应用视频
相关资料
- 产品资料
下载链接 :https://pan.baidu.com/s/1PIhK8fWJPkd3ux5J9J5fmg 提取码:316p
* 产品购买链接:http://www.alsrobot.cn/goods-174.html