В этой статье хочу предложить радиолюбителям самостоятельно изготовить реле уровня воды на микроконтроллере PIC16F628A. Похожая разработка ранее рассматривалась на сайте, однако там отсутствовала возможность управления насосом (или другим исполнительным механизмом) можно было только смотреть, сколько воды в емкости. Предлагаемая мною разработка позволяет смотреть, сколько воды в емкости, а также поможет облегчить/автоматизировать процедуру наполнения емкости водой.
Реле уровня воды состоит из нескольких частей:
- Датчики уровня воды;
- Электроника, которая обрабатывает информацию, полученную от датчиков.
Повторяться не стану и если Вас заинтересует данная разработка, то об устройстве датчиков можно почитать вот эту статью – индикатор уровня воды в баке.
Что умеет делать реле уровня воды на PIC16F628A:
- В схему заложена возможность независимого управления двумя реле, к которым можно подключить насос/насосную станцию и электроклапан;
- Если нужды в одном реле нет, то можно воспользоваться прошивкой, где работа данного реле отключена. При этом из схемы можно исключить ненужные детали;
- Можно зрительно (по светодиодам) судить об уровне воды в баке;
- Когда замыкается самый верхний (по схеме) датчик, светодиод этого уровня воды начинает мерцать с частотою 2 Гц. Для привлечения внимания;
- Есть возможность использовать данную разработку для бережного управления насосной станцией (в которой есть реле давления и гидроаккумулятор). Функция позволяет станции включаться на 15 секунд и если есть вода в водопроводе, то срабатывает стандартное реле давления (установленное на станции), что позволяет закачивать воду в бак. Если же за 15 секунд станция «не подхватила» воду, то она отключается. Через 15 минут попытка повторяется.
Логика работы реле уровня воды довольно проста. Реле клапана (узел выделен пунктирной линией на схеме) отключается только когда емкость полностью заполнена водой (замкнут самый верхний по схеме датчик) и мерцает светодиод HL1. Все остальное время - данное реле включено. Это сделано для того чтобы вода могла самотёком заполнять емкость. Данная функция отлично подходит для подключения системы к центральному водоснабжению. Если же воду необходимо закачивать с колодца, то необходимости в клапане нет. В этом случаи используем соответствующую прошивку и исключаем из схемы все детали выделенные пунктирной линией. Если воды в баке нет совсем или же замкнут только первый (нижний по схеме) датчик, то включается реле насоса, насос начинает закачивать воду в емкость. При замыкании датчиков включаются светодиоды соответствующего уровня воды. Когда замкнется самый верхний датчик, насос перестанет закачивать воду в емкость. Следующее включение насоса произойдет только когда уровень воды в баке опуститься до самого нижнего датчика. Про функцию бережного использования насосной станции уже писал.
На рисунке 1 можно увидеть эл.клапан. В моем случае использовался клапан нормально-замкнутый с катушкой, рассчитанной на 220В. Сразу замечу, что катушка очень сильно греется.
Рисунок 1
Лучше использовать клапан с катушкой, рассчитанной на более низкое напряжение. Насосная станция показана на рисунке 2.
Рисунок 2
Принципиальная схема реле уровня воды на микроконтроллере PIC16F628A показана на рисунке 3.
Рисунок 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, С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
Важно! Рисунки плат приводятся для ознакомления. Платы не в масштабе. Для изготовления плат необходимо использовать заготовки из архива.
Рисунок 5 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (верх)
Рисунок 6 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (низ детали).
Рисунок 7 – Плата печатная реле уровня воды на микроконтроллере PIC16F628A (низ).
Рабочая программа для PIC-микроконтроллера была написана на языке ассемблер и отлажена в программе MPLab 8.8
Реле уровня воды, собранное из заведомо рабочих деталей, начинает работать сразу и в наладке не нуждается.
Видео не по теме
Повторили изобретение? Присылайте фото на media собака pichobby.lg.ua.
Комментарии
Опишите алгоритм управления клапанами. Подумаю что можно сделать.
Транзисторы искал не нашёл видно тоже какие то заказные
Да катушка работает от импульса. Поэтому расчеты и не подходят.
пытался запустить проект в протеусе ,подключил файл прошивки , симуляция запустилась но ругается на собаку слишком частый сброс ...видимо надо как то сконфигурировать рic ...
Доброго времени. Это Вы сейчас о чём?
Антон возможно ли изменить прошивку ?. нужен след алгоритм ... уровень ниже нижнего отключение rel1 , rel2 включено , когда поднимется до нижнего rel 1 включается . при поднятии до зеленого уровня rel 2 отключается rel1 работает . при поднятии до красного срабатывает моргуля/бузер тип предупреждение затопления ..по релюхам без изменений .
если человеческим языком то ... емкость находится в подвале куда качает глубинный насос в скважине , но вода есть не всегда , и если глубинный защищен своей автоматикой то напорный насос который выкачивает из емкости нет , поэтому если уровень ниже нижней точки хотелось бы сделать запрет на включение потребителя ..и изменить задержку с 500мс на 1-2 мин если счетчика хватит .
ps править прошивку под каждого за просто так скучно по этому хочу предложить энную сумму , что скажите ?
внимательно рассмотрел ваши прошивки ..., практически идеально подходит r1-r2_on , хотелось бы изменить 3 вещи ... кнопка 4 всегда замнкнута , при замыкании кнопок 3,2 загорается зеленый индикатор и глубинный насос отключается (красный сд) , расходчик работает (зеленый сд ) при размыкании в рбратной последовательности после того как разомкнется контакт 3 глубинный должен включится (красный сд) а расходчик выключится ...когда контакт 3 снова замкнется расходчик включаается . кнопка №1 при срабатывании не зависимо от уровня в баке должна вызвать отключение всех насосов и включить моргалку ( датчик затопления насосной ) . задержка на срабатывание на все каналы 25сек .
Вот как то так .... надеюсь вас не отпугнут столь масштабные переделки .
Возможно ли добавить функцию Ручное управление.
Т.е. Иногда нужно набрать пол бака воды при этом отслеживать уровнь на светодиодах. Не дожидаясь отключения клапана верхнего уровня.
А иногда нужен полный бак. Это работает.
Благодарен за ответ.
Можно ли доработать данный девайс.
Установить тумблер Режим Авто и ручное. В авто все как и есть .При срабатывании верхнего датчика клапан перекрывается. В ручном режиме при наличии дополнительной кнопки. При нажатии кнопки вкл клапан. еще раз нажать клапан выкл. При этом уровень воды отображается на светодиодах. С увв. к Вам Андрей.
Привет. Не мог бы скинуть на почту код в ассемблере?
Отписался Вам на support
Буду пробовать
Письмо получил. Найду исходник и отправлю Вам.
Меня очень заинтересовала данная система, у меня неглубокая скважина с накопительным баком и хотелось бы сделать автоматическую подкачку воды из скважины, но так как у Вас нет возможности править, хотел бы попросить у Вас исходный код в ассемблере данного проекта, заранее благодарен.