(SKU:RB-02S034)水流量傳感器
目錄 |
產(chǎn)品介紹
Water Flow Sensor 水流傳感器,主要由塑料閥體 、水流轉(zhuǎn)子組件和霍爾傳感器組成。此傳感器應(yīng)用于水的流量測(cè)控系統(tǒng),例如安裝在熱水器進(jìn)水端,對(duì)水的流量進(jìn)行檢測(cè)。Water Flow Sensor 外觀輕巧靈便,體積小,便于安裝,葉輪內(nèi)部鑲有不銹鋼珠,永久耐磨,密封圈采用上、下受力的結(jié)構(gòu)永不漏水?;魻栐捎玫聡?guó)進(jìn)口。并且用灌封膠封裝防止進(jìn)水,永不老化。所有原材料均有符合ROHS 檢測(cè)標(biāo)準(zhǔn)??梢赃m合各種控制器和開(kāi)發(fā)板,如:Arduino 控制器、STC 單片機(jī)、AVR 單片機(jī)等。
規(guī)格參數(shù)
- 進(jìn)水口內(nèi)徑:8.5mm
- 進(jìn)水口、出水口外徑:20.12 mm
- 輸出波形:方波
- 工作電壓范圍:DC +3V~+24V
- 最大工作電流:15mA(DC +5V)
- 負(fù)載能力:≤10mA(DC +5V)
- 使用溫度范圍:≤80℃
- 使用濕度范圍:35%~90%RH(無(wú)結(jié)霜狀態(tài))
- 允許耐壓:水壓1.75Mpa 以下
- 保存溫度:-25℃~80℃
- 保存濕度:25%~95%RH
- 輸出脈沖高電平:>DC 4.5V(輸入電壓DC +5V)
- 輸出脈沖低電平:<DC 0.5V(輸入電壓DC +5V)
- 精度(流量——脈沖輸出):1~30L/min±1%以?xún)?nèi)
- 輸出脈沖占空比:50±10%
- 輸出上升時(shí)間:0.04uS
- 輸出下降時(shí)間:0.18uS 流量
- 耐熱性:在80±3℃環(huán)境中放置48h ,返回常溫1-2h 無(wú)異常,且零件無(wú)裂紋、松馳、膨脹、變形等現(xiàn)象,精度變化10%以?xún)?nèi)。
- 耐寒性:在-20±3℃環(huán)境中放置48h ,返回常溫1-2h 無(wú)異常,且零件無(wú)裂紋、松馳、膨脹、變形等現(xiàn)象,精度變化10%以?xún)?nèi)。
- 耐濕性:在40±2℃,相對(duì)濕度90%~95%RH 環(huán)境中放置72h 取出后,絕緣電阻1MΩ以上。
- 耐久性:在常溫下,從水口通入0.1Mpa 水壓,以接通1S,斷開(kāi)0.5S 為一循環(huán)。
- 流量---脈沖特性參照表
引腳定義
- 紅色線(xiàn)(IN):接正極(+)
- 黃色線(xiàn)(OUT):信號(hào)輸出線(xiàn)
- 黑色線(xiàn)(GND):接負(fù)極(-)
Water Flow Sensor模塊結(jié)構(gòu)圖
Water Flow Sensor使用注意事項(xiàng):
此款水流傳感器嚴(yán)禁劇烈沖擊以及化學(xué)物質(zhì)的侵蝕。嚴(yán)禁拋擲或碰撞。檢測(cè)介質(zhì)不宜超過(guò)120℃。安裝方式為垂直于地面,且傾斜度不超過(guò)5度。
使用方法
工作原理
水流量傳感器又可以叫做霍爾傳感器,傳感器整體是由 ABS 工程塑料制成,上下兩端為 4 分螺牙,中間為一個(gè)圓柱體結(jié)構(gòu),并有三根導(dǎo)線(xiàn)接出,紅色為正極、黑色負(fù)極、黃色信號(hào)輸出端。其內(nèi)部還有一個(gè)五葉輪和霍爾元件,背面有一個(gè)箭頭,這個(gè)箭頭表示水流的方向,所以如果更換的時(shí)候不能裝反。
霍爾傳感器中,五葉輪連接磁性轉(zhuǎn)子,轉(zhuǎn)子置于線(xiàn)圈中,線(xiàn)圈即為霍爾集成元件,當(dāng)水通過(guò)水流轉(zhuǎn)子組件時(shí),磁性轉(zhuǎn)子轉(zhuǎn)動(dòng)并且轉(zhuǎn)速隨著流量變化而變化,霍爾傳感器輸出相應(yīng)脈沖信號(hào),反饋給控制器,由控制器判斷水流量的大小,進(jìn)行調(diào)控。
編程原理
水流量傳感器共引出三個(gè)引腳,分別是信號(hào)S、電源正Vcc、電源地GND,實(shí)際使用時(shí)可以將傳感器連接到 Arduino UNO 控制器的數(shù)字引腳,例如數(shù)字引腳2號(hào),
脈沖特性:水平測(cè)試脈沖頻率(Hz)=[8.1Q -3 ]±10%(水平測(cè)試) (Q 為流量L/min )
硬件連接1
- 水流量傳感器的黃色線(xiàn)連接到 Arduino UNO 控制器的信號(hào)引腳 S 上
- 水流量傳感器的紅色線(xiàn)連接到 Arduino UNO 控制器的電源正引腳 V 上
- 水流量傳感器的黑色線(xiàn)連接到 Arduino UNO 控制器的電源負(fù)引腳 G 上
例子程序1
volatile int NbTopsFan; //定義函數(shù)NbTopsFan 為整形 int Calc; //定義函數(shù)Calc 為整形變量 int hallsensor = 2; //定義hallsensor 為數(shù)字口2 int flag; //定義flag 為整形變量 void rpm () { NbTopsFan++; //函數(shù)自動(dòng)+1 } void setup() { pinMode(hallsensor, INPUT); //定義hallsensor 為輸入信號(hào) Serial.begin(9600); //定義波特率為9600, Serial.print("Welcome to www.robotbase.cn"); delay(1000); attachInterrupt(0, rpm, RISING); //定義中斷進(jìn)程 } void loop () { NbTopsFan = 0; //NbTops 初始值為0 sei(); //初始化中斷 delay (1000); //延遲1 秒 cli(); //禁用中斷 Calc = (NbTopsFan * 60 / 8.1); //(脈沖頻率×60)/ 8.1 Q,=流量L /小時(shí) Serial.println(Calc); }
程序效果1
將例子程序上傳到 Arduino UNO 控制器中,如果上傳無(wú)誤,Arduino IDE 的串口監(jiān)視器中會(huì)顯示當(dāng)前測(cè)試的流量值,如下圖所示:
應(yīng)用例程
硬件設(shè)備
- Arduino UNO 控制器 * 1個(gè)
- Arduino 傳感器擴(kuò)展板 V5.0 * 1個(gè)
- Water Flow Sensor * 1個(gè)
- RS360 齒輪自吸直流小水泵 * 1個(gè)
- 繼電器模塊 * 1個(gè)
- 大按鈕模塊 * 1個(gè)
- Serial LCD1602 * 1個(gè)
- ACE 鋰聚合物電池 * 1個(gè)
- 3P 傳感器連接線(xiàn) * 2個(gè)
- Water Flow Sensor 連接轉(zhuǎn)接線(xiàn) * 1個(gè)
- 鱷魚(yú)夾-JST 電池連接線(xiàn) * 1個(gè)
- 水泵進(jìn)水管 * 1根
- 水泵出水-Water Flow Sensor 進(jìn)水轉(zhuǎn)接管(自制,實(shí)際應(yīng)接6 分管)
- Water Flow Sensor 輸水管(自制,實(shí)際應(yīng)接6 分管)
- 9V 1A 電源適配器 * 1個(gè)
接線(xiàn)示意圖
具體連接順序?yàn)椋?br />
- Water Flow Sensor連接到傳感器擴(kuò)展板的數(shù)字口2
- 繼電器連接到傳感器擴(kuò)展板數(shù)字口3(另一端連接電源連接線(xiàn)上)
- 大按鈕連接到傳感器擴(kuò)展板數(shù)字口4
- 串行1602液晶連接到COM口
應(yīng)用程序
volatile int NbTopsFan; //定義函數(shù)NbTopsFan 為整形 int Calc; //定義函數(shù)Calc 為整形變量 int on = 3; //定義on 為數(shù)字口3 int key = 4; //定義key 為數(shù)字口4 int hallsensor = 2; //定義hallsensor 為數(shù)字口2 int flag; //定義flag 為整形變量 void rpm () { NbTopsFan++; //函數(shù)自動(dòng)+1 } void setup() { pinMode(key,INPUT); //定義key 為輸入信號(hào) pinMode(on, OUTPUT); //定義on 為輸出入信號(hào) digitalWrite(on,HIGH); //定義on 初始信號(hào)為高電平 pinMode(hallsensor, INPUT); //定義hallsensor 為輸入信號(hào) 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");//光標(biāo)移動(dòng)到第1 行第1 列 delay(1000); attachInterrupt(0, rpm, RISING); //定義中斷進(jìn)程 } void loop () { NbTopsFan = 0; //NbTops 初始值為0 sei(); //初始化中斷 delay (1000); //延遲1 秒 cli(); //禁用中斷 Calc = (NbTopsFan * 60 / 8.1); //(脈沖頻率×60)/ 8.1 Q,=流量L /小時(shí) 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");//光標(biāo)移動(dòng)到第1 行第1 列 flag = Calc; } } void cc() { if (LOW == digitalRead(key))//如果digitalRead 為低電平則執(zhí)行下面的語(yǔ)句 {digitalWrite(on,LOW);}//on 輸出低電平 else if (HIGH == digitalRead(key))//如果digitalRead 為高電平則執(zhí)行下面的語(yǔ)句 {digitalWrite(on,HIGH);}//on 輸出高電平 }
程序效果
完成以上步驟后,首先給系統(tǒng)上電。系統(tǒng)上電后,按下大按鈕(使水泵運(yùn)轉(zhuǎn)),從而讓水流流過(guò)水流傳感器,系統(tǒng)就可以測(cè)試流量了。
下圖為水流流量測(cè)試系統(tǒng)初始時(shí)串行1602液晶顯示圖:
下圖為水流流量測(cè)試系統(tǒng)測(cè)試時(shí)串行1602液晶顯示圖:
應(yīng)用視頻
產(chǎn)品相關(guān)推薦
購(gòu)買(mǎi)地址
周邊產(chǎn)品推薦
Arduino 旋轉(zhuǎn)角度傳感器
水蒸氣傳感器 雨水探測(cè)器 液位開(kāi)關(guān)
通用傳感器連接線(xiàn) 3P杜邦連接線(xiàn)