Индикатор(датчик) уровня воды на микроконтроллере PIC16F628А – устройство, которое позволит визуально контролировать уровень воды в непрозрачной ёмкости. Предлагаемое устройство может пригодиться всем, у кого есть загородный дом с летним душем или дача, огород, да что угодно лишь была бы емкость с водой. После некоторых модернизаций из индикатора получилось реле уровня воды.
Сам индикатор состоит из двух основных частей:
- Датчики уровня воды;
- Электроника, которая обрабатывает информацию, полученную от датчиков.
Теперь подробнее рассмотрим каждую из составных частей индикатора.
О схеме.
Схема индикатора собиралась из того, что было под рукой, и разрабатывалась вообще для микроконтроллера PIC16F84, но позже было принято решение добавить поддержку более дешевого и доступного микроконтроллера - PIC16F628A.
Принципиальная схема индикатора уровня воды (рисунок 1) проста, как пять копеек. FM приемник на RDA5807 - проще не бывает!
Рисунок 1 - Принципиальная схема индикатора уровня воды на микроконтроллере PIC16F628A
Рассмотрим основные узлы. Сердцем устройства является микроконтроллер PIC16F628A фирмы Microchip. Для стабильного питания которого, применяется выпрямитель на диодном мосте, конденсаторах и интегральном стабилизаторе L7805.
Для понижения напряжения настоятельно рекомендуется применить понижающий трансформатор, который обеспечит необходимую гальваническую развязку. Гасящие конденсаторы лучше не ставить, так как появляется риск оказаться под опасным потенциалом напряжения.
Датчики подключаются к схеме через барьерные резисторы.
Четыре светодиода отображают текущее количество воды в емкости. В зависимости от того какой датчик замыкает с общим проводом, светодиод того датчика и будет светиться. Весь перечень деталей сведён в таблицу 1.
Позиционное обозначение | Наименование | Аналог/замена |
С1, С3 | Конденсатор керамический – 15пФх50В | |
С2 | Конденсатор электролитический - 470мкФх25В | |
С4 | Конденсатор керамический – 0,1мкФмкФх50В | |
С5 | Конденсатор электролитический - 1000мкФх10В | |
DA1 | Интегральный стабилизатор L7805 | L78L05 |
DD1 | Микроконтроллер PIC16F628A | PIC16F648A, PIC16F84 |
HL1-HL4 | Светодиод 3мм | |
R1-R5, R11 | Резистор 0,125Вт 5,1 Ом | SMD типоразмер 0805 |
R6-R9 | Резистор 0,125Вт 510 кОм | SMD типоразмер 0805 |
R10 | Резистор 0,125Вт 1 кОм | SMD типоразмер 0805 |
R12-R15 | Резистор 0,125Вт 180 Ом | SMD типоразмер 0805 |
VD1 | Диодный мост 1А х 1000В 2W10 | |
XP1-XP4 | Штекер платный | |
XT1-XT2 | Клеммник на 2 контакта. | |
XT3 | Клеммник на 3 контакта. | |
ZQ1 | Кварц 4МГц типаразмер HC49 |
О датчиках.
В качестве датчиков используются тонкие хомуты из оцинкованной жести, которые, в свою очередь, располагаются на пластиковой трубе, на определенном расстоянии друг от друга. Труба крепится к тяжелому основанию(рисунок 2).
Рисунок 2 – Тяжелое основание для пластиковой трубы с датчиками.
К хомутам подводятся провода, соединяющие датчики и схему (можно использовать витую пару). Вся эта конструкция устанавливается в емкость с водой. Замыкать датчики между собой будет вода. Расстояния между датчиками выбираются произвольные. В моем случае, емкость была условно разделена на три части, и по уровню каждой части на трубе был установлен хомут. Если для емкости был предусмотрен перелив, то последний хомут должен быть установлен на уровне перелива.
Конструкция датчиков может быть и иной. Главное соблюдать требуемую последовательность.
Как работает.
Работает такая конструкция очень просто. На самом низу трубы (или на основании) крепится общий провод для работы с датчиками. Относительно этого провода будут происходить все измерения. Вода, наполняя емкость, постепенно начнет замыкать общий провод с датчиками. Первый на очереди - датчик 1. Когда общий провод с ним замкнется тогда включиться первый светодиод. Далее к первому датчику добавится второй датчик, при этом включится второй светодиод, а первый выключиться и т.д. Когда произойдет замыкание с четвертым датчиком - включиться четвертый светодиод. Который, в свою очередь, будет мерцать с частотой 2 Гц.
Подобный алгоритм работы можно легко организовать на обычной логике. Так поначалу и делалось, однако, из-за частых ошибочных состояний, было принято решение заменить схему на современное микроконтроллерное устройство. Рабочая программа для PIC-микроконтроллера была написана на языке ассемблер и отлажена в программе MPLab 8.8
Моделирование.
Работа устройства моделировалась в программе протеус см. рисунок 3. Модель сделана для микроконтроллера PIC16F84A! Внимательно выбираем прошивку.
Рисунок 3 – Модель уровня воды на микроконтроллере.
О печатной плате.
Печатная плата получилась размерами 55х50мм (рисунки 4-5 !!! не в масштабе).
Рисунок 4 – Печатная плата индикатора уровня воды в баке на микроконтроллере PIC16F628A (низ) не в масштабе.
Рисунок 5 – Печатная плата индикатора уровня воды в баке на микроконтроллере PIC16F628A (верх) не в масштабе.
Внешний вид индикатора показан на рисунке 6.
Рисунок 6 – Готовая плата индикатора уровня воды.
Корпус.
Схему готового индикатора разместил в корпусе небольшого приемника рисунки 7-8.
Рисунок 6 – Готовая плата индикатора уровня воды на микроконтроллере PIC16F628A в корпусе приемника.
Рисунок 7 – Кнопка включения питания.
Отверстия для динамика заклеил клеем, а на лицевую сторону приклеил глянцевую фотография рисунки 8-9
Индикатор, собранный из заведомо рабочих деталей, начинает работать сразу и в наладке не нуждается.
Рисунок 8 – Заклееные отверстия.
Рисунок 9 – Лицевая панель индикатора уровня воды на микроконтроллере PIC16F628A.
Видео работы устройства.
Файлы к статье:
Индикатор уровня воды в баке на микроконтроллере PIC16F628A(статья в pdf)
Комментарии
Ещё попристаю немного. Pic подключён к gnd через резистор 5.1Ом. Первый раз такое встречаю, обычно напрямую. Это для защиты?
Предполагаю использовать в качестве измерительной штанги полипропиленову трубу разделеную на части и соединеную между собой латунными фитингами. К фитингам соответственно подпаять провода. Латунь вроде не окисляется.
И попробую добавить выносной блок индикации, соответственно внеся корректировки в схему. Если необходимо для истории пришлю фото с готовым изделием.
Ёмкость тоже в сухом помещении находится. Используется как "перевалочная", то есть приезжает машина, заливает тонну воды через заборную трубу. Следить не всегда получается вот выносной блок индикации и планирую сделать, чтобы развозчик воды видел когда бак наполнился. Был случай что развозчик воды задумался и сухое помещение чуть не стало мокрым.
Уже и плату новую сделал.
Кстати, устройство водовозчику очень понравилось, сначала смотрел косо, потом ничего, втянулся, а как сломалось так расстроился.
Фото как обещал будут.