У овом чланку, чаробњак ће нам рећи како направити систем за надгледање и контролу нивоа воде у резервоару. То је једноставан и поуздан систем.
Његове кључне карактеристике су следеће:
Праћење нивоа воде у реалном времену.
Аутоматска пумпа за укључивање / искључивање.
Хитно гашење пумпе.
Алати и материјали:
-Ардуино Про мини
-Утразвучни сензор ХЦ-СР04;
- Модул МАКС485;
- ЛЦД модул и2ц;
ЛЦД 1602;
- Микроконтролер АТТИНИ45 / 85;
- Регулатор напона ЛМ7805;
НПН транзистор (2н3904);
-Н-канални МОСФЕТ ИРФД024ПБФ;
Диода 1Н4007;
5-полни конектор;
4-полни конектор
-2-пински конектор;
- Терминали са 2 контакта (плави) - 2 ком;
- терминал са 2 контакта (зелена);
ДЦ прикључак (- 2 ком.)
-Аудио прикључак (мушки / женски) - 2 ком;
- отпорник 1 кОхм;
- Отпорник 10 кОхм - 3 ком;
- кондензатор 100 нФ - 3 ком;
Кондензатор 100 уФ;
- СМД дугме, 6к3.5мм;
-ДИП прекидачи (СПСТ 2) - 2 ком;
- тастер за напајање;
-Тумблер;
-12В ДЦ релеј;
-Релектор;
- једносмерно напајање 5 В (> 200 мА);
- ДЦ 12В напајање (> 500 мА);
- Кутије за случај одговарајуће величине;
-Причвршћивачи;
-Прибор за лемљење;
- одвијач;
-Вире;
Први корак: Јединица сензора
Овај уређај мери ниво воде и шаље податке главном регулатору. Има два сензора за мерење нивоа воде. Један је ХЦ-СР04 ултразвучни сензор удаљености, а друга два дугачка шрафова стрше према споља, као што је приказано на фотографији.
Да бисте инсталирали сензоре потребно је да извршите следеће кораке:
Поставите ултразвучни претварач наопако на предњу страну поклопца близу врха и обележите две рупе за ултразвучни предајник и пријемник.
Изрежите рупе и причврстите сензор на место врућим лепком.
Затим избушите две рупе пречника 3 мм са размаком од 2-3 цм у средини поклопца.
Уметните дугачке вијке М3 са жичаним прикључком стегнутим између две подлошке на стражњој страни поклопца и затегните матице М3 на другој страни.
Сензорска јединица користи АТТИНИ45 као примарни микроконтролер. Као што је раније поменуто, ХЦ-СР04 се користи за мерење нивоа воде. Делује мерењем удаљености од врха резервоара.
Такође, контрола се врши помоћу два вијка у кругу, на који је уграђен транзистор. Микроконтролер чита податке са оба ова сензора и шаље податке Ардуину инсталираном у регулацијској јединици.
Најпре је мастер хтео да пошаље податке преко ХЦ-12 РФ модула. Али распон ових модула не одговара захтевима.Чаробњак је користио претварач МАКС485 ТТЛ у РС485 и направио ХЦС 12 модуле да би се инсталирао уместо ХЦ-12 модула.
Схема и веза до плоче могу се преузети на овој адреси.
Инсталација је следећа:
ХЦ-СР04 у главни круг:
Вцц - 5В (ЦН1).
триг - тригПин (ЦН1).
ецхо - ецхоПин (ЦН1).
Гнд - ГНД (ЦН1).
М3 вијци за главни круг:
Вијак 1 - 5 В (ЦН1).
Вијак 2 - 100 (ЦН1).
МАКС485 (ТКС) модул:
ВЦЦ - 5В (прикључак ХЦ-12)
А - 1/4 инчни аудио прикључак.
Б - 1/4-инчни аудио прикључак.
ГНД - ГНД (ХЦ-12 конектор)
Р0 - РКС (ХЦ-12 конектор)
РЕ - ВЦЦ (МАКС485) или 5В.
ДЕ - РЕ (скраћено РЕ и ДЕ).
ДИ - ТКС (прикључак ХЦ-12).
ДЦ прикључак (П1 конектор):
Савет - 5В
Рукав - ГНД
Корак други: контролер
Рад регулатора је једноставан. Ардуино се користи као главни контролер. Он прима податке сензора послате са предајничке плоче преко мак485 модула. Има ЛЦД екран 1602 који приказује тренутни ниво воде и рад пумпе. За укључивање релејног склопника користи 12 В релеје као прекидач. Има два прекидача, један за осветљење ЛЦД-а и један за укључивање / искључивање пумпе за нужду.
Повезана је шема шема и дизајна штампане плочице за предајник и пријемник овде.
И2ц ЛЦД модул је директно лемљен за 1602 ЛЦД. Скакач позадинског освјетљења на и2ц модулу повезан је са склопком за укључивање / искључивање. Дугме за случај нужде (велико) повезано је са главним кругом преко прикључка П4.
И2ц ЛЦД модул за главни круг (ЦН4):
ГНД - ЦН4-1 (ГНД1).
ВЦЦ - ЦН4-2 (5В).
СЦЛ - ЦН4-3 (А5).
СДА - ЦН4-4 (А4).
Прикључци релејских контактора:
А1 - 230 ВАЦ1 (нула).
А2 - НЕ (контакт релеја).
С1 - 230 ВАЦ1 (нула).
С2 - 230 ВАЦ2 (фаза)
Л1 - Жица мотора пумпе 1
Л2 - Жица мотора 2 пумпе.
Спојите ЦОМ контакт релеја на 230 ВАЦ2 (линија).
Трећи корак: Софтвер и програмирање
Сада је потребно програмирати контролере на оба уређаја.
Да бисте преузели код на АТТИНИ45, преузима СофтвареСериал.х библиотеку.
У функцији Лооп,
> Прво проверите да ли је резервоар пун или није.
> Ако је пун, шаље „255.“
> Ако није пун, проверава ниво воде ултразвучним сензором звука и преноси податке серијском комуникацијом.
Овај програм користи гетвтрЛвл () подфункцију за добивање тренутног нивоа воде. Прво, мери време које је сензору потребно за пренос и пријем ултразвучних таласа. Тада се време претвара у даљину користећи брзину звука.
дист = пулсеИн (ецхоПин, ХИГХ); // време које проводи звучни талас.
дист = дист / 28/2; // превести време у даљину у цм
дист = дист * 1,25; // овде 1.25 је корекциони фактор за превазилажење грешке мерења
ретурн дист; // враћа удаљеност функцији позива
Сада за Ардуино.
У функцији Лооп:
> Прво се проверава да ли је тастер за хитне случајеве притиснут или не.
> Провера сензора. Део програма проверава да ли постоји грешка сензора. тј. ако су примљени подаци 5 пута неисправни (<= 1), на екрану се појављује грешка сензора и пумпа се искључује.
> Следећи део приказује тренутни ниво воде и даје наредбу за пумпу 1 ако је ниво воде мали, или 0 ако је 100% (пун).
Овај програм користи две подфункције упдтМотор () и гетВатерЛвл (). Функција упдтМотор () приказује рад пумпе на ЛЦД-у, а такође шаље сигнал релеју.
Функција гетВатерЛвл прво проверава да ли постоји грешка у вези. Ако веза између предајника и пријемника није успостављена током времена чекања (3000 мс). Показује грешку сензора и искључује пумпу.
Када се веза успостави, операција се наставља.
Све је спремно, хвала мајстору на интересантном домаће.