Реле уровня воды на микроконтроллере PIC16F628A

2014-07-20

В этой статье хочу предложить радиолюбителям самостоятельно изготовить реле уровня воды на микроконтроллере PIC16F628A. Похожая разработка ранее рассматривалась на сайте, однако там отсутствовала возможность управления насосом (или другим исполнительным механизмом) можно было только смотреть, сколько воды в емкости. Предлагаемая мною разработка позволяет смотреть, сколько воды в емкости, а также поможет облегчить/автоматизировать процедуру наполнения емкости водой.

Реле уровня воды состоит из нескольких частей:

  1. Датчики уровня воды;
  2. Электроника, которая обрабатывает информацию, полученную от датчиков.

Повторяться не стану и если Вас заинтересует данная разработка, то об устройстве датчиков можно почитать вот эту статью – индикатор уровня воды в баке.

Что умеет делать реле уровня воды на PIC16F628A:

  1. В схему заложена возможность независимого управления двумя реле, к которым можно подключить насос/насосную станцию и электроклапан;
  2. Если нужды в одном реле нет, то можно воспользоваться прошивкой, где работа данного реле отключена. При этом из схемы можно исключить ненужные детали;
  3. Можно зрительно (по светодиодам) судить об уровне воды в баке;
  4. Когда замыкается самый верхний (по схеме) датчик, светодиод этого уровня воды начинает мерцать с частотою 2 Гц. Для привлечения внимания;
  5. Есть возможность использовать данную разработку для бережного управления насосной станцией (в которой есть реле давления и гидроаккумулятор). Функция позволяет станции включаться на 15 секунд и если есть вода в водопроводе, то срабатывает стандартное реле давления (установленное на станции), что позволяет закачивать воду в бак. Если же за 15 секунд станция «не подхватила» воду, то она отключается. Через 15 минут попытка повторяется.

Логика работы реле уровня воды довольно проста. Реле клапана (узел выделен пунктирной линией на схеме) отключается только когда емкость полностью заполнена водой (замкнут самый верхний по схеме датчик) и мерцает светодиод HL1. Все остальное время - данное реле включено. Это сделано для того чтобы вода могла самотёком заполнять емкость. Данная функция отлично подходит для подключения системы к центральному водоснабжению. Если же воду необходимо закачивать с колодца, то необходимости в клапане нет. В этом случаи используем соответствующую прошивку и исключаем из схемы все детали выделенные пунктирной линией. Если воды в баке нет совсем или же замкнут только первый (нижний по схеме) датчик, то включается реле насоса, насос начинает закачивать воду в емкость. При замыкании датчиков включаются светодиоды соответствующего уровня воды. Когда замкнется самый верхний датчик, насос перестанет закачивать воду в емкость. Следующее включение насоса произойдет только когда уровень воды в баке опуститься до самого нижнего датчика. Про функцию бережного использования насосной станции уже писал.

На рисунке 1 можно увидеть эл.клапан. В моем случае использовался клапан нормально-замкнутый с катушкой, рассчитанной на 220В. Сразу замечу, что катушка очень сильно греется.

Электроклапан

Рисунок 1

Лучше использовать клапан с катушкой, рассчитанной на более низкое напряжение. Насосная станция показана на рисунке 2.

Насосная станция

Рисунок 2

Принципиальная схема реле уровня воды на микроконтроллере PIC16F628A показана на рисунке 3.

Схема реле уровня воды на микроконтроллере PIC16F628A

Рисунок 3 - Принципиальная схема реле уровня воды на микроконтроллере PIC16F628A.

Рассмотрим узлы схемы. В качестве логики используется микроконтроллер PIC16F628A фирмы Microchip, по необходимости прошивку можно адаптировать и для микроконтроллеров PIC16F648A, PIC16F84.

Важно! Для понижения напряжения использовать понижающий трансформатор, который обеспечит необходимую гальваническую развязку с опасным сетевым напряжением.

На диодном мосте VD1, интегральном стабилизаторе DA1 и конденсаторах C9, C10 собран выпрямитель напряжения.

Конденсатор С3 необходимо ставить в непосредственной близости от выводов питания микроконтроллера DD1.

Цепочка R2 и C4 необходима для надежного сброса микроконтроллера.

Узел на ZQ1, C1, C2 необходим для запуска внутреннего тактового генератора микроконтроллера.

Резисторы R4-R7 необходимы для «подтяжки» выводов микроконтроллера к +5В питания.

Резисторы R8-R11 и конденсаторы С5-С8 необходимы для подавления помех, которые могут возникать на проводах подключения датчиков.

Светодиоды подключаются к разъемам XP1 – XP4. XP4 – нижний уровень воды, XP1 – верхний уровень воды. Со всем перечнем деталей можно ознакомиться, посмотрев в таблицу 1.

Таблица 1 – Перечень компонентов для самостоятельного изготовления реле уровня воды на микроконтроллере PIC16F628А.
Позиционное обозначение Наименование Аналог/замена
С1, С2 Конденсатор керамический – 15пФх50В SMD типоразмер 0805
С3-С8 Конденсатор керамический – 0,1мкФх50В SMD типоразмер 0805
С9 Конденсатор электролитический - 470мкФх25В
С10 Конденсатор электролитический - 1000мкФх10В
С11,С12 Конденсатор пленочный высоковольтный – 0,01мкФх630В
DA1 Интегральный стабилизатор L7805
DD1 Микроконтроллер PIC16F628A PIC16F648A, PIC16F84
HL1-HL4 Светодиод 3мм
К1, К2 Реле JZC-4123 JQC-3F
R1, R3, R8-R11, R14, R15 Резистор SMD 0805 5,1 Ом
R2 Резистор SMD 0805 1 кОм
R4-R7 Резистор SMD 0805 510 кОм
R12, R13 Резистор SMD 0805 5,1 кОм
R16-R19 Резистор SMD 0805 180 Ом
R20-R21 Резистор 0,5 Вт 39 Ом
VD1 Диодный мост 1А х 1000В DB107
VD2, VD3 Диод выпрямительный 1N4007
VT1,VT2 Транзистор BC846 SOT23
XP1-XP6 Штекер платный
XT1-XT2 Клеммник на 2 контакта.
XT3-XT5 Клеммник на 3 контакта.
ZQ1 Кварц 4МГц типаразмер HC49

Попробовать работу реле уровня воды можно на упрощенной модели, построенной в протеусе. Рисунок 4.

Модель реле уровня воды в протеусе

Рисунок 4

Печатная плата показана на рисунках 5-7

Важно! Рисунки плат приводятся для ознакомления. Платы не в масштабе. Для изготовления плат необходимо использовать заготовки из архива.

Плата печатная реле уровня воды на микроконтроллере PIC16F628A (верх)

Рисунок 5 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (верх)

Плата печатная реле уровня воды на микроконтроллере PIC16F628A (низ детали)

Рисунок 6 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (низ детали).

Плата печатная реле уровня воды на микроконтроллере PIC16F628A (низ)

Рисунок 7 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (низ).

Рабочая программа для PIC-микроконтроллера была написана на языке ассемблер и отлажена в программе MPLab 8.8

Реле уровня воды, собранное из заведомо рабочих деталей, начинает работать сразу и в наладке не нуждается.

Видео не по теме

Подведем небольшой итог. В статье представлена довольно подробная инструкция по самостоятельному изготовлению реле уровня воды на микроконтроллере PIC16F628A. Само реле не содержит дефицитных деталей, при правильной сборке в наладке не нуждается. Прошивка предоставляется без каких-либо ограничений. Реализована функция бережного использования насосной станции. Реле способно управлять эл.клапаном и насосом.

Повторили изобретение? Присылайте фото на media собака pichobby.lg.ua.

Файлы к статье:

Реле уровня воды на микроконтроллере PIC16F628A(статья)

Архив с проектом

Прочитано 6678 раз

Понравилась статья? Помоги и остальным о ней узнать! Это просто.

Комментарии  

 
0 # Виталий 13.10.2014 17:31
Отличная схемка, применил в смывном бачке, Клапан от стиралки, работает классно. Спасибо автору. :lol:
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 07.02.2015 21:56
Кто повторял конструкцию, присылайте фото печатной платы, готового устройства можно и видео. Размещу на сайте. Почта - support собочка pichobby.lg.ua.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # сергей 20.02.2015 21:41
Схема хорошая. Её ещё можно улучшить. Сможете сделать управление бистабильным клапаном?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 20.02.2015 22:35
Цитирую сергей:
Схема хорошая. Её ещё можно улучшить. Сможете сделать управление бистабильным клапаном?

Опишите алгоритм управления клапанами. Подумаю что можно сделать.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 21.02.2015 21:05
Как Вас понял, то управлять необходимо клапаном, который питается током постоянного напряжения? На какое напряжение клапан? Если применить мостовую схему на транзисторах для управления клапаном?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # сергей 22.02.2015 13:12
Да катушка клапана питается постоянным напряжением, напряжение питания 9 вольт. можно использовать мостовую схему управления,но я пробовал обычные кт315 и кт361 не получилось, наверно большое падение напряжения в переходах.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 22.02.2015 18:01
Сообщите сколько Ом сопротивление катушки или по меряйте ток при котором клапан надежно срабатывает.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # сергей 22.02.2015 18:48
Катушка сопротивлением 4 Ом 2 ватта
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 22.02.2015 18:57
Может 40 Ом? https://yadi.sk/d/RTGqneM8eqBHi Вот ссылка на проект в протеусе. Пока тестовый. Есть возможность посмотреть?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # сергей 22.02.2015 19:44
Нет 4 ом. Насчет протеуса,не пользуюсь. У меня есть контроллер полива G75 он управляет такими клапанами, разбирал его посмотреть как он устроен.Микросхема сделана на плате и залита, на выходе стоят транзисторы в smd исполнении 3 штуки на каждый канал,всего каналов 4 и есть 1 конденсатор электролит, я так понял что конденсатор подключается к питанию и заряжается, а потом подключается к катушке клапана и он срабатывает. Питание 9 вольт от кроны хватает на год работы. У меня с родной хватило на 2 сезона
Транзисторы искал не нашёл видно тоже какие то заказные
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 22.02.2015 20:14
https://yadi.sk/i/moKR6vxXeqEq5 Вот схема моста. Если сопротивление катушки все же 4 Ом, то питается она скорее от импульсного напряжения. Если использовать не импульсное напряжение, то мощность 2Ватта никак не получить. (Ток = 9В/4Ом = 2,25А, Мощность = 2,25А*9В = 20,25Вт.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 22.02.2015 20:16
Вместо BC546 можно использовать кт3102.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # сергей 22.02.2015 22:58
мост проверил работает, полярность переключает, но когда подключаю клапан он не срабатывает. Просаживается напряжение до нуля.От батареи которой запитывал мост клапан работает. Мне кажется лучше использовать схему с двумя реле и электролитами которую присылал.
Да катушка работает от импульса. Поэтому расчеты и не подходят.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Вадик 16.12.2015 11:33
Сергей а на две бочки одним насосом можно сделать на мк? Если не трудно то подскажите как? Заранее спасибо
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 23.02.2015 20:30
Понятно, что мост с такими параметрами работать с клапаном не будет, так как был рассчитан только для светодиодов. Последние несколько вопросов. Планируете запитывать клапан от кроны? Или у схемы будет свой стационарный блок питания. Просто на переходах транзисторов падает около 0,6 В(на каждом) и на резисторах тоже, а на клапане желательно 9 вольт в чистом виде иметь. Можно мост на полевиках сделать, у ник падение сток исток маленькое.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # сергей 24.02.2015 19:30
Питать клапан и схему думаю от 6 батарей АА. Чтобы уровнемер был автономным.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 24.02.2015 20:19
Хорошо. Не буду больше допытывать вопросами... Постараюсь к концу недели подправить прошивку. Отправлю на почту.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # сергей 24.02.2015 20:23
Ничего страшного, это же для полезного дела
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 09.03.2015 21:37
Добавил поддержку бистабильного клапана. Сам архив с проектом не обновлял. Пока не вижу необходимости. Кому нужно вышлю на почту.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Orange53 10.08.2015 20:50
Вопрос автору , в программе учтен "дребезг контактов" датчика воды ? при сильном напоре возникают волны набегая на датчик в схемах без демпфирования возникают многократные пограничные сработки , при использовании глубинного насоса с пускателем вся эта "морзянка" смотрится как минимум не приятно .
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 10.08.2015 23:37
Доброго времени, Orange53. "Дребезг контактов" учтён. В программу изначально был добавлен таймер на 500мс, который запускается по условию срабатывания датчика. По истечению 500мс происходит повторная проверка этого же датчика.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Orange53 11.08.2015 12:41
это хорошо , тогда еще вопрос ... если не подключать промежуточные уровни (выводы мк d2,d3 ) , а только общий /нижний/верхний будет ли логика нормально работать?
пытался запустить проект в протеусе ,подключил файл прошивки , симуляция запустилась но ругается на собаку слишком частый сброс ...видимо надо как то сконфигурировать рic ...
Ответить | Ответить с цитатой | Цитировать
 
 
0 # spotok 13.03.2017 19:02
задержка на включение сразу после выключения нужна поболее, например секунд 5 и более, иначе из-за гидроудара начинается морзянка.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 13.03.2017 19:52
Цитирую spotok:
задержка на включение сразу после выключения нужна поболее, например секунд 5 и более, иначе из-за гидроудара начинается морзянка.

Доброго времени. Это Вы сейчас о чём?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Orange53 11.08.2015 13:30
UPD ...с протеусом разобрался все работает , очевидно что средние уровни придется паралелить ...
Антон возможно ли изменить прошивку ?. нужен след алгоритм ... уровень ниже нижнего отключение rel1 , rel2 включено , когда поднимется до нижнего rel 1 включается . при поднятии до зеленого уровня rel 2 отключается rel1 работает . при поднятии до красного срабатывает моргуля/бузер тип предупреждение затопления ..по релюхам без изменений .
если человеческим языком то ... емкость находится в подвале куда качает глубинный насос в скважине , но вода есть не всегда , и если глубинный защищен своей автоматикой то напорный насос который выкачивает из емкости нет , поэтому если уровень ниже нижней точки хотелось бы сделать запрет на включение потребителя ..и изменить задержку с 500мс на 1-2 мин если счетчика хватит .
ps править прошивку под каждого за просто так скучно по этому хочу предложить энную сумму , что скажите ?
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 11.08.2015 19:51
Доброго времени, Orange53. Средние уровни можно посадить на минус питания. Если правильно Вас понял, то реле1 - напорный насос, а реле2 - глубинный? Если наоборот? Разница в подключении принципиальна? Насчет вознаграждения - совсем не против.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Orange53 14.08.2015 22:29
Приветствую ! разницы никакой какое реле чем будет управлять , главное чтоб алгоритм выполнялся .
внимательно рассмотрел ваши прошивки ..., практически идеально подходит r1-r2_on , хотелось бы изменить 3 вещи ... кнопка 4 всегда замнкнута , при замыкании кнопок 3,2 загорается зеленый индикатор и глубинный насос отключается (красный сд) , расходчик работает (зеленый сд ) при размыкании в рбратной последовательности после того как разомкнется контакт 3 глубинный должен включится (красный сд) а расходчик выключится ...когда контакт 3 снова замкнется расходчик включаается . кнопка №1 при срабатывании не зависимо от уровня в баке должна вызвать отключение всех насосов и включить моргалку ( датчик затопления насосной ) . задержка на срабатывание на все каналы 25сек .
Вот как то так .... надеюсь вас не отпугнут столь масштабные переделки .
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 17.08.2015 23:15
Доброго времени! Посмотрю что можно сделать.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Ерёмин Антон 27.08.2015 17:09
Доброго времени, Orange53. Необходимо внести некоторую ясность в алгоритм. С глубинным насосом все ясно. А вот с расходником не все понятно. Расходник должен быть включен в диапазоне между нижним красным светодиодом и зеленым или же только включаться/ отключаться в крайних положениях? Жду ответа.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # orange533 28.08.2015 11:01
Приветствую , рад что вы не забыли эту тему , расходчик должен отключаться только при пониженном уровне (защита от сухого хода ) и при затоплении .
Ответить | Ответить с цитатой | Цитировать
 

Добавить комментарий

Уважаемые посетители сайта! Ваш e-mail мне совершенно не нужен, его требует система для идентификации Вас в комментариях, как уникального пользователя. Рассылок никаких не будет. Так что смело следите за темой.


Защитный код
Обновить

Все права защищены. При указании активной, индексируемой ссылки на сайт PICHOBBY.LG.UA, полное или частичное использование материалов разрешается. Уважайте чужие труды! Не забывайте проставлять ссылки! Правообладателям
© Ерёмин Антон Юрьевич 2013-2017гг.