在这篇文章中,我们将使用Arduino和16 × 2液晶显示器来构建一个数字流量计。我们将看一下YF-S201水流传感器,它的构造和工作,以及如何与Arduino接口来提取一些有用的读数。
拟议的项目可以测量以升/分钟为单位的水流速率和以升为单位的总水流。
让我们看看YF-S201水流传感器。
YF-S201的说明:
YF-S201是一个基于霍尔效应的水传感器。它有三个端子5V(额定工作电压),GND和输出。+5V为红色线,黑色线为GND,黄色线为输出线。
传感器给出的频率与水流成正比。YF-S201传感器可以测量从1升/分钟到30升/分钟。水压应小于等于1.75 MPa。
水可以从一端注入,水可以从另一端流过。
传感器可放置在油箱主闸阀后;如果你想测量一个水管网络中的水流,或者你可以把它放在一个水龙头前,测量单个水龙头的水流。
传感器可以放置在用户需要的任何地方,但必须小心,避免水泄漏。
传感器有一个磁和霍尔效应传感器;如果我们看一下水流传感器的侧面,我们可以看到一个塑料涡轮机在水流的路径上。
一个圆形的磁铁嵌入在涡轮机的中心,霍尔效应传感器是密封的,防止潮湿,并放置在磁铁上方。霍尔效应传感器在涡轮机每转一圈时产生一个脉冲。
串行绘图仪上的水流波形
我们可以在arduino IDE的串行绘图器上看到水流传感器产生的脉冲,如下图所示(使用arduino单通道示波器)。
我们已经把空气吹过传感器旋转涡轮作为一个测试,产生的波形如上所示。左侧较致密的波形表示涡轮的频率较高、转速较快,右侧较致密的波形表示频率较高、转速较快。
一致的水流输出一致的频率。
我们必须转换频率进升/分钟。为了做到这一点,制造商给出了一个公式:
水流速率(升/分钟)=频率/ 7.5
因此,我们需要测量生成频率,并将上述公式应用到程序代码中。
YF-S201技术规格:
·精度:+/- 10%,如果需要更好的精度,我们需要校准。
·工作温度:-25至+ 80摄氏度。
·工作湿度:35% ~ 80% RH。
·输出占空比:50%±10%。
·最大水压:1.75 MPa。
·每升脉冲数:450。
·最大电流:5V时15 mA
YF-S201水流传感器就到这里。
现在让我们看原理图。
原理图:
水流传感器的输出引脚连接到Arduino的A0。使用10 k电位器用于调整显示对比度。连接Arduino和液晶显示器如上图所示。
程序代码:
//----- r.g riish开发的程序-----//
# include < LiquidCrystal.h >
液晶显示器(12,11,5,4,3,2);
int X;
int Y;
float Time = 0;
浮动频率= 0;
浮水流量= 0;
Float total = 0;
浮动LS = 0;
const int input = A0;
Const int test = 9;
无效的设置()
{
Serial.begin (9600);
液晶显示器。开始(16日2);
lcd.clear ();
lcd.setCursor (0,0);
液晶显示器。打印(“水流量计”);
lcd.setCursor (0,1);
lcd.print ("****************");
延迟(2000);
pinMode(输入,输入);
pinMode(测试、输出);
analogWrite(测试,100);
}
无效循环()
{
X = pulseIn(输入,HIGH);
Y = pulseIn(输入,LOW);
时间= X + Y;
频率= 1000000 /时间;
水流=频率/ 7.5;
LS =水流/ 60;
如果(频率> = 0)
{
如果(isinf(频率))
{
lcd.clear ();
lcd.setCursor (0,0);
液晶显示器。打印(L / Min: 0.00);
lcd.setCursor (0,1);
液晶显示器。打印(“总:”);
lcd.print(总);
液晶显示器。打印(“L”);
}
其他的
{
total = total + LS;
以(频率);
lcd.clear ();
lcd.setCursor (0,0);
液晶显示器。打印(“L /分钟:”);
lcd.print(水流);
lcd.setCursor (0,1);
液晶显示器。打印(“总:”);
lcd.print(总);
液晶显示器。打印(“L”);
}
}
延迟(1000);
}
//----- r.g riish开发的程序-----//
作者的原型:
“L/Min”表示当前的流量,“Total”表示电路接通后的总流量。
你也可以流动任何粘度值接近水的液体。
如果您对这个使用Arduino的数字流量计有任何疑问,请在评论区表达,您可能会得到快速的回复。
因此,水压应小于1.75 mpa。先生我们可以用这个项目来计算汽油泵的压力吗?因为我不确定汽油泵的压力在mpa,谢谢
嗨Shaihk,
汽油在这个传感器上应该可以正常工作。我不建议使用汽油或任何昂贵的液体,因为这个传感器有+/- 10%的公差。这意味着你最终会多消耗10%或少消耗10%的汽油。
问候
你能给我这个程序的流程图吗?
嗨
是否有可能添加一个Eprom内存到电路中,以便在电源关闭的时候保持消耗?我想在代码上也必须做一些更改。你能解决这个问题吗?谢谢你!
嗨Wexler,
是的,我们可以增加SD卡,或者利用ATmega 328P的内置EEPROM来保存数据。我们可以为您提供解决方案。
定制的Arduino代码目前是premium,如果您有兴趣评论您的详细要求,我们将继续。
问候
先生,我知道把LCD连接到电位器上是为了调节亮度,但是你为什么把流量传感器的5v引脚连接到电位器上呢?我能知道为什么需要这种联系吗?
嗨,拉胡尔,
仔细看电路,5V线是常见的电位器和流量传感器,它只是5V路径,红线。
问候
先生,请回答我的问题
我做了一个一次绕组220匝(18 swg线1kg),二次绕组22匝(10 swg 650g)的变压器,现在输入电压为210伏,输出电压为18伏
Bobin尺寸是(6inch×3inch)多少电流给出的输出?????
请回答我的问题
害怕,
通过视觉分析是不可能判断电流的,你必须用电流表来检查。