查看(SKU:RB-02S034)水流量传感器的源代码
←
(SKU:RB-02S034)水流量传感器
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
<br/> [[文件:02S03401.png|500px|有框|右]] ==产品介绍== 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 为一循环。 # 流量---脉冲特性参照表 [[文件:Water Flow Sensor02.jpg|800px|有框|居中]] ==引脚定义== * 红色线(IN):接正极(+) * 黄色线(OUT):信号输出线 * 黑色线(GND):接负极(-) ==Water Flow Sensor模块结构图== [[文件:Water Flow Sensor03.jpg|400px|有框|居中]] Water Flow Sensor使用注意事项:<br/> 此款水流传感器严禁剧烈冲击以及化学物质的侵蚀。严禁抛掷或碰撞。检测介质不宜超过120℃。安装方式为垂直于地面,且倾斜度不超过5度。 ==使用方法== ===工作原理=== 水流量传感器又可以叫做霍尔传感器,传感器整体是由 ABS 工程塑料制成,上下两端为 4 分螺牙,中间为一个圆柱体结构,并有三根导线接出,红色为正极、黑色负极、黄色信号输出端。其内部还有一个五叶轮和霍尔元件,背面有一个箭头,这个箭头表示水流的方向,所以如果更换的时候不能装反。<br/> 霍尔传感器中,五叶轮连接磁性转子,转子置于线圈中,线圈即为霍尔集成元件,当水通过水流转子组件时,磁性转子转动并且转速随着流量变化而变化,霍尔传感器输出相应脉冲信号,反馈给控制器,由控制器判断水流量的大小,进行调控。<br/> ===编程原理=== 水流量传感器共引出三个引脚,分别是信号S、电源正Vcc、电源地GND,实际使用时可以将传感器连接到 Arduino UNO 控制器的数字引脚,例如数字引脚2号, 脉冲特性:水平测试脉冲频率(Hz)=[8.1Q -3 ]±10%(水平测试) (Q 为流量L/min )<br/> ===硬件连接1=== * 水流量传感器的黄色线连接到 Arduino UNO 控制器的信号引脚 S 上 * 水流量传感器的红色线连接到 Arduino UNO 控制器的电源正引脚 V 上 * 水流量传感器的黑色线连接到 Arduino UNO 控制器的电源负引脚 G 上 ===例子程序1=== <pre style='color:blue'> 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); } </pre> ===程序效果1=== 将例子程序上传到 Arduino UNO 控制器中,如果上传无误,Arduino IDE 的串口监视器中会显示当前测试的流量值,如下图所示: [[文件:02S03404.png|500px|有框|居中]] ===应用例程=== ====硬件设备==== * Arduino UNO 控制器 * 1个 * Arduino 传感器扩展板 V5.0 * 1个 * Water Flow Sensor * 1个 * RS360 齿轮自吸直流小水泵 * 1个 * 继电器模块 * 1个 * 大按钮模块 * 1个 * Serial LCD1602 * 1个 * ACE 锂聚合物电池 * 1个 * 3P 传感器连接线 * 2个 * Water Flow Sensor 连接转接线 * 1个 * 鳄鱼夹-JST 电池连接线 * 1个 * 水泵进水管 * 1根 * 水泵出水-Water Flow Sensor 进水转接管(自制,实际应接6 分管) * Water Flow Sensor 输水管(自制,实际应接6 分管) * 9V 1A 电源适配器 * 1个 ====接线示意图==== [[文件:Water Flow Sensor04.jpg|400px|有框|居中]] 具体连接顺序为:<br/> * Water Flow Sensor连接到传感器扩展板的数字口2 * 继电器连接到传感器扩展板数字口3(另一端连接电源连接线上) * 大按钮连接到传感器扩展板数字口4 * 串行1602液晶连接到COM口<br/> ====应用程序==== <pre style='color:blue'> 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 输出高电平 }</pre> ====程序效果==== 完成以上步骤后,首先给系统上电。系统上电后,按下大按钮(使水泵运转),从而让水流流过水流传感器,系统就可以测试流量了。<br/> 下图为水流流量测试系统初始时串行1602液晶显示图: [[文件:Water Flow Sensor05.jpg|400px|有框|居中]] 下图为水流流量测试系统测试时串行1602液晶显示图: [[文件:Water Flow Sensor06.jpg|400px|有框|居中]] ==应用视频== [[File:shui liu liang 01.png|400px|居中|link=http://v.youku.com/v_show/id_XMzc2MDY0MzA0.html?from=y1.7-2]] ==产品相关推荐== [[文件:erweima.png|230px|无框|右]] ===购买地址=== [http://www.alsrobot.cn/goods-174.html 水流量传感器] ===周边产品推荐=== [http://www.alsrobot.cn/goods-167.html Arduino 旋转角度传感器]<br/> [http://www.alsrobot.cn/goods-626.html 水蒸气传感器 雨水探测器 液位开关]<br/> [http://www.alsrobot.cn/goods-196.html 通用传感器连接线 3P杜邦连接线]<br/> ===相关问题解答=== [http://www.makerspace.cn/forum.php?mod=viewthread&tid=1291&highlight=%E6%B0%B4%E6%B5%81%E9%87%8F 水流量传感器输出什么信号?]<br/> ===相关学习资料=== [http://www.makerspace.cn/portal.php 奥松机器人技术论坛]
返回
(SKU:RB-02S034)水流量传感器
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面
页面信息