最終更新日:2021/5/27
流量を制御しながらモニタ出来る計器として上記の様なフローセンサが有ります。これはこれで重要なセンサですが、Arduinoに取り込むことが考慮されていません。Arduinoでデータを取り込む事を前提としたセンサについて調査しました。
流用センサは機械的なモノ、ホールセンサのようなもの、気体のみ、液体のみ等々制限が多いです。基本パルス出力なので、流量が低いと一定時間内にパルスが発生しません。精度が気になるところですね
機械部には
のアイコンが付いているモノが殆どです。台湾の中江紅流量傳感器の製品をOEMで使っているのかなと思われます。
南アフリカのマイクロロボティクスと云うお店はYF_S401のデータシートを提供していました。DFROBOT・SEN0217の場合 450パルス/1L/min と云う情報があります。最低流量の1LPMの場合で、1秒間に7.5パルスしか出力されません。
型番 | メーカ | 外観 | 参考価格 |
呼び径 |
範囲 |
YF-B7 | Seeed Technology |
|
\801 | G1/2 |
液体 1〜25 LPM |
YF-B1 | Seeed Technology |
|
\685 | G1/2 |
液体 1〜25 LPM |
YF-B5 | Seeed Technology |
|
\801 |
液体 1〜30 LPM |
|
YF-B6 | Seeed Technology |
|
\801 |
液体 1〜30 LPM |
|
YF-B4 | Seeed Technology |
|
\801 | G1/2 |
液体 1〜25 LPM |
YF-5401 | Seeed Technology |
![]() |
\1,103 | G1/8 |
液体 0.3〜6 LPM |
SEN0216 | DFRobot |
![]() |
\1,033 | G1/8 |
液体 0.3〜6 LPM |
SEN0217 (YF-S201) |
DFRobot |
![]() |
\1,044 | G1/2 |
液体 1〜30 LPM |
SEN0360 | DFRobot |
![]() |
\11,432 | 22mm |
Air 150 SLPM |
sa512 |
![]() |
G1/2 |
液体 0.5-5LPM |
||
YF-S401 |
uxcell |
![]() |
\663 |
液体 0.3-6LPM |
|
FL-608 |
DIGITEN |
![]() |
\1,319 |
G3/4 |
液体 1-60LPM |
YF-S301 |
![]() |
G3/8 |
液体 0.3-10LPM |
||
YF-S402 |
![]() |
G3/8 |
液体 0.3-6LPM |
||
DN-32 |
![]() |
G1-1/4 |
液体 1-120LPM |
||
DN20 |
![]() |
\998 |
G3/4 |
液体 2〜45LPM |
|
D6F-PH |
|
![]() |
\3,807 |
4.9mm |
気体 ±500 Pa |
DN15 (YF-S201C) |
|
![]() |
\650 |
4.9mm |
気体 1-30LPM |
接続例です。中江紅流量傳感器オリジナルの商品はケーブルの色或いはコネクタのpinアサインが統一されています。
JSTの中継コネクタSMP-03V-BCを採用しているモノが多いです。
提供されているサンプルコードです。パルス信号の立ち上がりを拾ったら割込でカウントするプログラムになっています。AVR用なのでSTM32に変更する場合は割込用のコードを見直す必要があります。
// Reading liquid flow rate using an Arduino // Code adapted by Charles Gantt from PC Fan RPM code written by Crenn@thebestcasescenario.com // http:/themakersworkbench.com http://thebestcasescenario.com volatile int NbTopsFan; //measuring the rising edges of the signal int Calc; int hallsensor = 2; //The pin location of the sensor //----------- void rpm (){ //This is the function that the interupt calls NbTopsFan++; //This function measures the rising and falling edge of signal } //The setup() method runs once, when the sketch starts //----------- void setup() { pinMode(hallsensor, INPUT); //initializes digital pin 2 as an input Serial.begin(115200); //This is the setup function where the serial port is initialised attachInterrupt(0, rpm, RISING); //and the interrupt is attached } // the loop() method runs over and over again as long as the Arduino has power void loop () { NbTopsFan = 0; //Set NbTops to 0 ready for calculations sei(); //Enables interrupts delay (1000); //Wait 1 second cli(); //Disable interrupts Calc = NbTopsFan * 60 / 7.5); //(Pulse frequency x 60) / 7.5Q = flow rate in L/hour Serial.print (Calc, DEC); //Prints the number calculated above Serial.print (F(" L/hour\r\n")); //Prints "L/hour" and returns a new line }
免責事項
本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。
商標・登録商標
Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。