برای راهاندازی فلومتر با آردوینو، معمولاً از فلومترهای توربینی دارای سنسور هال مثل YF-S201 استفاده میشود. سیم قرمز به 5V، سیم مشکی به GND و سیم زرد به پایه دیجیتال دارای Interrupt مثل پایه ۲ یا ۳ آردوینو وصل میشود. سپس آردوینو با شمارش پالسها، دبی لحظهای و حجم عبوری آب را محاسبه میکند.
راه اندازی فلومتر با آردوینو به کارگیری یک پلتفرم الکترونیکی متن باز با کد نویسی برای کنترل فلومترهای ساده توربینی است که با سنسور اثر هال از نوع Swith کار میکنند. خروجی این سنسور فقط دو حالت روشن و خاموش دارد و یک پالس الکتریکی تولید خواهد کرد. برد آردوینو میتواند سیگنال الکتریکی سنسور فلومتر را دریافت کرده و پردازش نماید تا براساس برنامهای که به آن داده شده، کنترل عملگر پمپ را در اختیار بگیرد. اگر قصد دارید تا یک فلومتر با کمترین هزینه راه اندازی کنید، این مقاله برای شما است.

سنسور فلومتر مناسب آردوینو
خرید فلومتر مناسب برای راه اندازی با آردوینو، اولین قدم است. همه فلومترها با برد کنترل آردوینو سازگار نیستند و انتخاب نادرست ممکن است باعث خطای اندازهگیری و یا آسیب به برد و حتی سوختن سنسور شود. اما فلومترهای توربینی با سنسور هال از نوع سوئیچی را میتوان از طریق یک برد آردوینو کنترل کرد. فلومترهایی مانند:
فلومتر Yf-S201
رایجترین مدل است که برای کنترل دبی در پروژهها با ۱ الی ۳۰ لیتر در دقیقه مناسب است. این فلومتر از نوع توربینی با بدنه پلاستیکی است که با اتصالات اینچی و سیگنال حداکثر ۴۵۰ پالس طراحی شده است.
فلومتر Yf-S401
یک فلومتر مشابه Yf-S201 است که برای کنترل دقیق دبیهای بسیار کم از حدود ۰.۳ الی ۶ لیتری با همان بدنه پلاستیکی طراحی شده است.
فلومتر Yf-B1
یک فلومتر توربینی با بدنه برنجی است که توانایی اندازهگیری دبی از ۲ الی ۱۰۰ لیتر بر دقیقه را دارد. ضریب کالیبراسیون این فلومتر حدوداً ۵۰۰ پالس بر لیتر است که کاملاً مناسب پروژههای نیمه صنعتی است.
فلومتر Yf-B5
یک فلومتر توربینی با بدنه برنجی است که در محدوده دبی از ۵ الی ۱۵۰ لیتر کار میکند و برای استفاده در فضاهای کاملا صنعتی کارایی دارد.
فلومتر Yf-S403
فلومتر با عملکرد بسیار دقیق در محدوده ۰.۱ الی ۲ لیتر در دقیقه است که مناسب دبیهای بسیار پایین و پروژههای دوزینگ دقیق در صنایع حساس طراحی شده و کاربردی گسترده دارد.
برای پروژههای آموزشی، اندازهگیری آب مصرفی خانگی و یا فعالیتهای سبک باغبانی کار با فلومتر Yf-S201 کافی است. اما اگر دبی سیستم شما بسیار کم و دقت اندازهگیری زیاد است، بهتر است فلومترهای Yf-S401 یا Yf-S403 را تهیه کنید. اما برای سیالات داغ یا پرفشار این فلومترهای بدنه پلاستیکی کارایی ندارند و باید مدلهای بدنه برنجی Yf-B1 و یا Yf-B5 را تهیه نمایید. اگر هدف اندازهگیری جریان مایعات، گازها یا بخار در خطوط صنعتی باشد، فلومتر ورتکس میتواند یکی از انتخابهای مناسبتر نسبت به سنسورهای ساده آموزشی باشد.
در پروژههای ساده آردوینو معمولاً از فلومترهای پالسی استفاده میشود، اما در کاربردهای صنعتیتر، فلومتر مغناطیسی برای اندازهگیری دبی مایعات رسانا گزینهای دقیق و پرکاربرد است.

قطعات مورد نیاز برای راه اندازی فلومتر با آردوینو
قبل از آنکه فلومتر را به آردوینو وصل کنید، باید قطعات مناسب را روی میز کار داشته باشید. یک اشتباه کوچک در خرید قطعات و یا سیمبندی نامتعارف کافی است تا ساعتها وقت خود را تلف کرده و هیچ نتیجهای نگیرید. اولین باری که تصمیم گرفتم تا یک فلومتر ساده Yf-S201 را با آردوینو کنترل کنم، نمایشگر LCD را بدون ماژول 12c تهیه کرده بودم و یک روز کامل درگیر پروژهای شده بودم که نه جواب میداد و نه میدانستم که یک ماژول راهاندازی کم است. فهرستی که در ادامه معرفی میشود یک مجموعه قطعات استاندارد برای راهاندازی است. ولی ممکن است در بازار برد آردوینو و یا نمایشگری با ساختار طراحی متفاوت پیدا کنید. برای راه اندازی فلومتر با آردوینو به تجهیزات زیر نیاز دارید:
برد آردوینو
بردهای uno و یا nano برای یک پروژه آزمایشی یا خانگی کافی است. البته nano فضای کمتری اشغال میکند و اگر پروژه دائمی است، بهتر از همین مدل nano را تهیه کنید.
فلومتر Yf-S201
اگر پروژه آزمایشی یا خانگی و نهایتاً باغبانی است، تهیه یک فلومتر بدنه پلاستیکی با خروجی پالس Yf-S201 که محدوده دبی ۱ تا ۳۰ لیتر را پشتیبانی میکند، کافی است.
نمایشگر LED 16X2 با ماژول 12c
این نمایشگر برای نشان دادن دبی لحظهای و حجم کل سیال عبور کرده است. ماژول 12c نیز بخش الحاقی است که تعداد سیمهای اتصال را از ۸ به ۲ عدد کاهش میدهد.
کابل USB
برای برنامهریزی در آردوینو و تغذیه اولیه برد است.
منبع تغذیه ۵ ولت
برای راهاندازی نهایی پروژه است که میتوانید از آداپتور ۵ ولت و یا یک پاور بانک استفاده کنید.
اتصالات فلومتر
فلومتر Yf-S201 یا هر مدل دیگر باید با شیلنگ یا لوله به پمپ متصل شود.

نحوه اتصال فلومتر به آردوینو
اتصال فلومتر به آردوینو یکی از سادهترین بخشهای این پروژه است، اما اگر دقیق انجام نشود، ممکن است تا ساعتها شما را گیج کرده و درگیر مشکلی باشید که در همان ابتدا ایجاد شده است. به طور پیش فرض در نظر میگیریم که شما از فلومتر ساده Yf-S201 برای اتصال به آردوینو استفاده میکنید. این فلومتر سه سیم دارد:
- سیم قرمز فلومتر به پایه ۵ ولت آردوینو متصل میشود. این سیم برای تغذیه سنسور است.
- سیم مشکی فلومتر به پایه GND آردوینو وصل میشود. این سیم مسیر برگشت جریان است.
- سیم زرد فلومتر به پایه دیجیتال ۲ آردوینو متصل میشود. این سیم باید پالسهای تولید شده توسط سنسور فلومتر را به برد کنترل آردوینو منتقل کند.
این سیمبندی به راحتی انجام میشود، اما در نظر داشته باشید که پایه ۲ و پایه ۳ آردوینو هر دو قابلیت وقفه خارجی (Interrupt) را دارند و میتوان آنها را به جای یکدیگر استفاده کرد. اولین باری که از آردوینو برای راهاندازی یک فلومتر استفاده کردم، اشتباهاً سیم زرد را به پایه ۲ آردوینو متصل کرده بودم. اما در کد محصول از پایه ۳ برد استفاده کرده بود. اشتباهی ساده که به راحتی ممکن است شما را گیج کرده و راه اندازی پروژه را چالش برانگیز کند. همچنین سیم زرد فلومتر که برای انتقال سیگنال دیجیتال است را تا حد ممکن از سیمهای تغذیه و یا منبع نویز دور نگه دارید تا پالسهای کاذب تولید نشود.
در کنار فلومترهای قابل اتصال به آردوینو، فلومتر التراسونیک برای اندازهگیری جریان بدون تماس مستقیم با سیال کاربرد دارد و در بسیاری از سیستمهای صنعتی استفاده میشود.

کد راه اندازی فلومتر با آردوینو
بدون کد نویسی آردوینو فقط یک برد الکترونیکی ساکت است که نمیتواند پالسهای ورودی را تحلیل نماید. مرحله کدنویسی سختترین بخش راه اندازی فلومتر با آردوینو است. کد زیر برای راهاندازی و ذخیره دبی محاسبه شده براساس لیتر (Lit) است و باید آن را روی برد آردوینو آپلود کنید:
double flow;
const byte flowSensorPin = 2;
volatile unsigned long pulseCount = 0;
unsigned long currentTime;
unsigned long lastTime;
void pulse() {
pulseCount++;
}
void setup() {
pinMode(flowSensorPin, INPUT);
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(flowSensorPin), pulse, RISING);
currentTime = millis();
lastTime = currentTime;
}
void loop() {
currentTime = millis();
if (currentTime - lastTime >= 1000) {
lastTime = currentTime;
flow = pulseCount / 7.5;
pulseCount = 0;
Serial.print(flow);
Serial.println(" L/min");
}
}
محاسبه دبی و حجم آب عبوری
کد زیر یک نمونه ساده برای خواندن پالس فلومتر YF-S201 و نمایش دبی لحظهای در Serial Monitor آردوینو است. در این برنامه با تکنیک millis برای زمانسنجی استفاده شده تا هر ثانیه یک بار دبی را برحسب لیتر بر دقیقه روی نمایشگر LCD چاپ کند. همچنین از رابطه استاندارد تعداد پالس تقسیم بر ۴۵۰ و در نهایت ضرب در ۶۰ برای تحلیل لیتر سنجی استفاده شده است. البته این کد صرفاً دبی لحظهای فلومتر را نشان میدهد.
double totalVolume = 0.0;
volatile unsigned long pulseCount = 0;
void pulse() {
pulseCount++;
}
void setup() {
pinMode(2, INPUT);
Serial.begin(9600);
attachInterrupt(digitalPinToInterrupt(2), pulse, RISING);
}
void loop() {
totalVolume = 0.00225 * pulseCount;
Serial.print(totalVolume, 3);
Serial.println(" L");
delay(500);
}
فرمول محاسبه دبی با آردوینو چیست؟
دبی لحظهای بر حسب لیتر بر دقیقه:
Flow Rate = (Pulse Count / Calibration Factor) × ۶۰
اگر ضریب کالیبراسیون فلومتر YF-S201 برابر ۴۵۰ پالس بر لیتر باشد، تعداد پالسهای ثبتشده در هر ثانیه بر ۴۵۰ تقسیم و در ۶۰ ضرب میشود تا دبی بر حسب لیتر بر دقیقه به دست بیاید.
نحوه کالیبراسیون فلومتر برای افزایش دقت
ضریب کالیبراسیون پیش فرض فلومتر Yf-S201 حدود ۴۵۰ پالس بر لیتر است. اما این عدد در عمل میتواند بسته به فشار آب، دمای سیال، نحوه نصب و تلرانس ساخت تغییر کند. برای افزایش دقت باید این ضریب را متناسب با شرایط واقعی پروژه تنظیم کنید. لذا مرحله کلیدی کالیبراسیون در راه اندازی فلومتر با آردوینو را در پیش دارید.
با فرض آنکه فلومتر را به آردوینو متصل کردهاید و از یک کد ساده که فقط تعداد پالسها را میشمارد و در Serial Monitor نمایش میدهد استفاده میکند، مرحله کالیبراسیون را آغاز کنید. برای این کار به یک ظرف مدرج با حجم دقیق نیاز دارید. کد را طوری تنظیم کنید که با فشردن یک کلید یا ارسال یک کاراکتر از Serial Monitor، شمارش پالسها شروع شود. سپس شیر آب را باز کنید و اجازه دهید تا جریان پایداری برقرار گردد.
باید دقیقاً یک لیتر آب را از فلومتر عبور دهید. اما از آنجا که عبور دقیقاً یک لیتر دشوار و شاید غیر ممکن است، میتوانید از ۵ یا ۱۰ لیتر آب استفاده کنید. سپس شیر را ببندید و تعداد پالسهای ثبت شده در Serial Monitor را بخوانید. حالا میتوانید ضریب واقعی را براساس تعداد پالسهای ثبت شده با تقسیم بر حجم عبوری به لیتر محاسبه کنید. این مقدار ضریب واقعی کالیبره شده را در کد برنامه نویسی جایگزین کنید. البته یادتان باشد که:
- شیر آب باید کاملاً باز باشد و جریان پایداری از فلومتر عبور کند.
- قبل از شروع کالیبراسیون مطمئن شوید که هیچ حبابی در مسیر نیست. زیرا حبابها میتوانند پالسهای کاذب تولید کنند.
- اگر فشار آب ساختمان نوسان دارد، مرحله کالیبراسیون را در همان فشاری انجام دهید که فلومتر قرار است در پروژه نهایی کار کند.

خطاهای رایج در راه اندازی فلومتر با آردوینو
بیشتر خطاهای راهاندازی فلومتر با آردوینو به سیمبندی، تعریف اشتباه پایه در کد، نویز سیگنال، وجود هوا در مسیر جریان و کالیبره نبودن سنسور مربوط میشود.
| خطای رایج | علت احتمالی | راهحل پیشنهادی |
| دبی صفر نمایش داده میشود | سیم سیگنال فلومتر به پایه اشتباه وصل شده یا در کد، پین دیگری تعریف شده است. | پایه اتصال سیم زرد فلومتر را با پایه تعریفشده در کد بررسی کنید. اگر سیم به پایه ۲ وصل است، در کد هم باید پایه ۲ تعریف شده باشد. |
| اعداد Serial Monitor نوسان زیادی دارند | وجود نویز الکتریکی روی سیم سیگنال، مخصوصاً اگر سیم از کنار پمپ یا سیم برق عبور کرده باشد. | سیم سیگنال را از منابع نویز دور کنید و در صورت نیاز از خازن 100nF بین پایه سیگنال و GND استفاده کنید. |
| فلومتر پالس ارسال نمیکند | فشار آب کافی نیست، سیمبندی اشتباه است یا جهت نصب فلومتر برعکس انجام شده است. | جهت فلش روی بدنه فلومتر، اتصال سیم قرمز به 5V، سیم مشکی به GND و سیم زرد به پایه دیجیتال را بررسی کنید. |
| مقدار دبی کمتر یا بیشتر از مقدار واقعی است | ضریب کالیبراسیون با شرایط واقعی پروژه هماهنگ نیست. | فلومتر را با عبور دادن حجم مشخصی از آب، مثل ۵ یا ۱۰ لیتر، کالیبره کنید و ضریب واقعی را در کد جایگزین کنید. |
| حجم کل آب اشتباه محاسبه میشود | تعداد پالسها درست شمارش نمیشود یا مقدار تبدیل پالس به لیتر دقیق نیست. | مقدار پالس بر لیتر را بر اساس تست واقعی محاسبه کنید و از عدد ثابت کارخانه بدون کالیبراسیون استفاده نکنید. |
| بعضی پالسها از دست میروند | متغیر شمارنده پالس بهصورت volatile تعریف نشده یا از delay طولانی در کد استفاده شده است. | متغیر pulseCount را با volatile تعریف کنید و برای زمانسنجی از millis() بهجای delay() استفاده کنید. |
| عدد دبی با وجود جریان ثابت، بالا و پایین میشود | وجود حباب هوا در مسیر جریان یا نوسان فشار آب. | قبل از تست، هواگیری مسیر را انجام دهید و کالیبراسیون را در فشار کاری واقعی پروژه انجام دهید. |
| بعد از آپلود کد، هیچ عددی نمایش داده نمیشود | Serial Monitor روی Baud Rate اشتباه تنظیم شده یا Serial.begin با مقدار متفاوتی نوشته شده است. | مقدار Baud Rate در Serial Monitor را روی همان عدد داخل کد، معمولاً ۹۶۰۰، قرار دهید. |
| فلومتر کار میکند اما عددها غیرمنطقی هستند | مدل فلومتر با ضریب کالیبراسیون استفادهشده در کد هماهنگ نیست. | دیتاشیت مدل فلومتر را بررسی کنید؛ ضریب YF-S201 با مدلهایی مثل YF-B1 یا YF-S401 یکسان نیست. |
| سنسور آسیب میبیند یا داغ میشود | اتصال اشتباه تغذیه یا استفاده از ولتاژ نامناسب. | ولتاژ کاری سنسور را بررسی کنید و برای YF-S201 از تغذیه ۵ ولت DC استفاده کنید. |
موارد زیر نمونه ای از خطاهای سادهای است که ممکن است مرتکب شوید:
- سیم سیگنال را به یک پین وصل میکنید، اما در کد پین دیگری را آدرس دادهاید.
- متغیر شمارنده پالس در کدنویسی را به شکل Volatile تعریف نمیکنید. در این صورت کامپایلر آن را بهینه سازی نکرده و برنامه درست کار نمیکند.
- ممکن است از دستورات Delay به جای millis در زمانسنجی استفاده کنید. اما Delay برای تاخیرهای طولانی است و پالسها با بازه زمانی کوتاه را نمیخواند.
- وجود هوا در جریان آب هنگام کالیبراسیون را جدی نمیگیرید و این در حالی است که پالسهای کاذب تولید میشود.
- سیم سیگنال فلومتر را از کنار تجهیزات با نویز زیاد مانند سیم برق شهری یا پمپ عبور میدهید.
- یک منبع تغذیه ۵ ولت مستقل برای راهاندازی فلومتر ندارید.
- فلومترهای توربینی جهت نصب مشخص دارند که با یک فلش روی بدنه نشان داده میشود. اما ممکن است همین نکته ساده را فراموش کنید.
جمعبندی: آیا برای راه اندازی فلومتر با آردوینو آماده هستید؟
راه اندازی فلومتر با آردوینو پروژهای است که در ظاهر ساده به نظر میرسد، اما مثل هر کار الکترونیکی جزئیاتی دارد که اگر رعایت نکنید، پاسخ مناسبی نیز نخواهید گرفت. از انتخاب قطعه مناسب تا سیمکشی، کدنویسی و کالیبراسیون هر مرحله نکات ریز و درشتی دارد که اگر نادیده گرفته شود، کل پروژه را از کار میاندازد.
توصیه میکنم که اول قطعات را با دقت و براساس مشخصات فنی بخرید. فلومتری با سیمبندی نامتعارف یا نمایشگری بدون ماژول راهاندازی ممکن است ساعتها وقت شما را تلف کند. به کارگیری متغیرهای Volatile در کد نویسی برای جلوگیری از دست رفتن پالسها نیز ضروری است. یادتان باشد که ضریب درج شده توسط کارخانه یک مقدار تقریبی است و ممکن است شرایط آزمایشگاه سازنده با پروژه شما به کل متفاوت باشد. اگر این نکات را رعایت کنید، راهاندازی فلومتر با آردوینو اصلاً ماجرای دشواری نیست و به راحتی میتواند یک پروژه کاملاً حرفهای حتی در ابعاد صنعتی باشد.
در پروژههای آردوینو، فقط اتصال فلومتر به برد کافی نیست و ابتدا باید از سلامت سنسور مطمئن شوید. به همین دلیل مطالعه آموزش تست فلومتر با اهم متر قبل از شروع سیمبندی میتواند خطاهای احتمالی را کاهش دهد. همچنین برای درک بهتر تفاوت تجهیزات جریان، پیشنهاد میشود مقاله فرق فلومتر و فلورگلاتور را هم بررسی کنید.

سوالات متداول
آیا میتوان فلومتر Yf-S201 را مستقیماً به برق ۵ ولت آردوینو متصل کرد؟
بله، فلومتر Yf-S201 با ولتاژ ۵ ولت DC کار میکند و میتوان آن را مستقیم از پایه ۵ ولت آردوینو تغذیه کرد.
اگر فلومتر هیچ پالسی ارسال نمیکند، مشکل از کجاست؟
احتمالاً یا سیم سیگنال شل است و یا به پایه اشتباهی وصل شده است. همچنین ممکن است آب با فشار کافی از داخل فلومتر عبور نمیکند.
چرا اعداد روی LCD یا Serial Monitor ناپایدار هستند و دائم تغییر میکنند؟
این مشکل معمولا به خاطر نویز الکتریکی روی سیم سیگنال است. همچنین وجود حبابهای هوا داخل مسیر جریان نیز باعث چنین مشکلی میشوند.
ضریب کالیبراسیون را چگونه در نظر بگیریم؟ آیا ضریب کالیبراسیون درج شده در کاتالوگ محصول دقیق است؟
لزوماً خیر، ضریب پیش فرض کارخانه در شرایط آزمایشگاهی محاسبه شده که ممکن است در شرایط پروژه شما همخوانی نداشته باشد. لذا باید حتماً مرحله کالیبراسیون را سپری کنید.



