- Компоненте потребне
- ИФС201 Сензор протока воде
- Кружни дијаграм
- Ардуино код сензора протока воде
- Ардуино сензор протока воде ради
Ако сте икада посетили велике производне компаније, прво што ћете приметити је да су све аутоматизоване. Индустрије безалкохолних пића и хемијска индустрија морају стално мерити и квантификовати течности којима рукују током овог процеса аутоматизације, а најчешћи сензор који се користи за мерење протока течности је сензор протока. Коришћењем сензора протока са микроконтролером као што је Ардуино, можемо израчунати брзину протока и проверити запремину течности која је прошла кроз цев и контролисати је према потреби. Осим у производној индустрији, сензори протока могу се наћи и у пољопривредном сектору, преради хране, управљању водом, рударској индустрији, рециклажи воде, апаратима за кафу итд. Надаље, сензор протока воде биће добар додатак пројектима као што су Аутоматски дозатори воде и паметни системи за наводњавање где треба да надгледамо и контролишемо проток течности.
У овом пројекту ћемо изградити сензор протока воде користећи Ардуино. Повезаћемо сензор протока воде са Ардуином и ЛЦД-ом и програмирати га тако да приказује количину воде која је прошла кроз вентил. За овај конкретни пројекат користићемо сензор протока воде ИФ-С201, који користи холов ефекат да би осетио брзину протока течности.
Компоненте потребне
- Сензор протока воде
- Ардуино УНО
- ЛЦД (16к2)
- Конектор са унутрашњим навојем
- Повезивање жица
- Цев
ИФС201 Сензор протока воде
Сензор има 3 жице ЦРВЕНУ, ЖУТУ и ЦРНУ, као што је приказано на доњој слици. Црвена жица се користи за напон напајања који се креће од 5В до 18В, а црна жица је повезана на ГНД. Жута жица се користи за излаз (импулси), који може да очита МЦУ. Сензор протока воде састоји се од сензора зупчаника који мери количину течности која је прошла кроз њега.
Радна сензора протока на ИФС201 воде је једноставна за разумевање. Сензор протока воде ради на принципу Халл ефекта. Халов ефекат је стварање разлике потенцијала у електричном проводнику када се магнетно поље примењује у правцу окомитом на смер протока струје. Сензор протока воде интегрисан је са магнетним сензором ефекта Халл-а, који генерише електрични импулс при свакој револуцији. Његов дизајн је такав да је сензор Халл ефекта запечаћен од воде и омогућава сензору да остане сигуран и сув.
Слика само модула сензора ИФС201 приказана је испод.
Да бих се повезао са цевчицом и сензором протока воде, користио сам два конектора са унутрашњим навојем као што је приказано доле.
Према ИФС201 спецификацијама, максимална струја коју вуче при 5В је 15мА, а радни проток је од 1 до 30 литара у минути. Када течност тече кроз сензор, он остварује контакт са ребрима турбинског точка, који је постављен на путу течне течности. Осовина турбинског точка повезана је са сензором Халл ефекта. Због тога, кад год вода прође кроз вентил генерише импулсе. Сада све што треба да урадимо је да измеримо време за плусеве или да избројимо број импулса у 1 секунди, а затим израчунамо стопе протока у литру на сат (Л / Хр), а затим користимо једноставну формулу за претворбу да пронађемо запремину воде која је кроз њега прошла. За мерење импулса користићемо Ардуино УНО. Слика испод приказује пиноут сензора протока воде.
Кружни дијаграм
Проток воде Сензор дијаграм је приказан испод интерфејс сензор протока воде и ЛЦД (16к2) са Ардуино. Ако сте нови у Ардуину и ЛЦД-има, можете размислити о читању овог чланка о повезивању Ардуина и ЛЦД-а.
Веза сензора протока воде и ЛЦД-а (16к2) са Ардуином дата је испод у табеларном формату. Имајте на уму да је лонац повезан између 5В и ГНД, а пин 2 лонца повезан је са В0 пином ЛЦД-а.
С.НО |
Осигурач сензора протока воде |
Ардуино Пинс |
1 |
Црвена жица |
5В |
2 |
Црн |
ГНД |
3 |
Жута |
А0 |
С.Но |
ЛЦД |
Ардуино |
1 |
Всс |
ГНД (шина уземљења плоче) |
2 |
ВДД |
5В (позитивна шина плоче) |
3 |
За везу са В0 погледајте горњу напомену |
|
4 |
РС |
12 |
5 |
РВ |
ГНД |
6 |
Е. |
11 |
7 |
Д7 |
9 |
8 |
Д6 до Д3 |
3 до 5 |
Користио сам плочу за пренос података, а након што је веза успостављена према схеми кола приказаној горе, моја поставка за тестирање је изгледала отприлике овако.
Ардуино код сензора протока воде
Комплетна шифра Ардуино сензора протока воде дата је на дну странице. Објашњење кода је следеће.
Користимо заглавну датотеку ЛЦД-а, која нам олакшава повезивање ЛЦД-а са Ардуином, а пинови 12,11,5,4,3,9 додељени су за пренос података између ЛЦД-а и Ардуина. Излазни пин сензора повезан је са пин 2 Ардуино УНО.
волатиле инт флов_фрекуенци; // Мерење импулса сензора протока // Израчунати литри / сат пловка вол = 0,0, л_минуте; непотписани сензор протока знака = 2; // Улаз сензора унсигнед лонг цуррентТиме; унсигнед лонг цлоопТиме; #инцлуде
Ова функција је рутинска услуга прекида и она ће се позивати кад год постоји сигнал прекида на пин2 Ардуино УНО. За сваки сигнал прекида, број променљиве проток_фреквенција ће се повећати за 1. За више детаља о прекидима и њиховом раду, можете прочитати овај чланак о Ардуино прекидима.
воид флов () // Функција прекида { флов_фрекуенци ++; }
У подешавању празнине, МЦУ-у кажемо да се пин 2 Ардуино УНО користи као ИНПУТ давањем команде пинМоде (пин, ОУТПУТ). Коришћењем наредбе аттацхИнтеррупт, кад год дође до пораста сигнала на пину 2, позива се функција протока. Ово повећава број у променљивој флов_фрекуенци за 1. Тренутно време и цлоопТиме се користе да би се код покренуо сваке 1 секунде.
воид сетуп () { пинМоде (сензор протока, ИНПУТ); дигиталВрите (сензор протока, ХИГХ); Сериал.бегин (9600); лцд.бегин (16, 2); аттацхИнтеррупт (дигиталПинТоИнтеррупт (сензор протока), проток, РИСИНГ); // Прекид подешавања лцд.цлеар (); лцд.сетЦурсор (0,0); лцд.принт („Мерач протока воде“); лцд.сетЦурсор (0,1); лцд.принт ("Цирцуит Дигест"); цуррентТиме = милис (); цлоопТиме = цуррентТиме; }
Функција иф осигурава да се сваке секунде код унутар ње извршава. На тај начин можемо рачунати број фреквенција које ствара сензор протока воде у секунди. Карактеристике импулса брзине протока из техничког листа су дате да је фреквенција 7,5 помножена са брзином протока. Дакле, проток је фреквенција / 7,5. Након што нађете брзину протока у литрима / минути, поделите је са 60 да бисте је претворили у литар / сек. Ова вредност се додаје променљивој вол сваке секунде.
воид лооп () { цуррентТиме = милис (); // Сваке секунде израчунајте и одштампајте литре / сат иф (цуррентТиме> = (цлоопТиме + 1000)) { цлоопТиме = цуррентТиме; // Ажурира цлоопТиме ако (фреквенција_ток! = 0) { // Фреквенција импулса (Хз) = 7,5К, К је проток у Л / мин. л_минуте = (фреквенција_ток / 7,5); // (фреквенција импулса к 60 мин) / 7.5К = проток у Л / сат лцд.цлеар (); лцд.сетЦурсор (0,0); лцд.принт („Рате:“); лцд.принт (л_минуте); лцд.принт ("Л / М"); л_минуте = л_минуте / 60; лцд.сетЦурсор (0,1); вол = вол + л_минуте; лцд.принт ("Вол:"); лцд.принт (вол); лцд.принт ("Л"); фреквенција_ток = 0; // Ресетовање бројача Сериал.принт (л_минуте, ДЕЦ); // Штампање литара / сат Сериал.принтлн ("Л / Сец"); }
Функција елсе ради када из датог временског распона нема излаза са сензора протока воде.
елсе { лцд.цлеар (); лцд.сетЦурсор (0,0); лцд.принт („Рате:“); лцд.принт (фреквенција_ток); лцд.принт ("Л / М"); лцд.сетЦурсор (0,1); лцд.принт ("Вол:"); лцд.принт (вол); лцд.принт ("Л"); }
Ардуино сензор протока воде ради
У нашем пројекту повезали смо сензор протока воде на цев. Ако је излазни вентил цеви затворен, излаз сензора протока воде је нула (без импулса). На пину 2 Ардуина неће бити сигнала прекида, а број протока_фреквенција биће нула. У овом стању ће радити код који је написан унутар елсе петље.
Ако се отвори излазни вентил цеви. Вода тече кроз сензор, који заузврат ротира точак унутар сензора. У овом стању можемо да посматрамо импулсе који се генеришу од сензора. Ови импулси ће деловати као сигнал прекида Ардуино УНО-у. За сваки сигнал прекида (растућа ивица), број променљиве проток_фреквенција ће се повећати за један. Тренутно време и променљива цлоопТИме осигуравају да се за израчунавање протока и запремине сваке секунде узима вредност фреквенције протока. Након завршетка израчунавања, променљива флов_фрекуенци се поставља на нулу и цела процедура се започиње од почетка.
Комплетан рад такође можете пронаћи у видео запису на дну ове странице. Надам се да сте уживали у водичу и уживали у нечему корисном, ако имате проблема, оставите их у одељку за коментаре или користите наша форума за друга техничка питања.