Летом многие дачники пользуются душем, в котором вода нагревается на солнце в металлическом баке. Как правило, в качестве бака используют 200-литровую бочку, которую, чтобы вода лучше нагревалась, заполняют не полностью. Количество воды приходится определять визуально, что очень неудобно. Предлагаемое устройство может с достаточной для практики точностью определять степень заполнения любого бака правильной формы водой и ее температуру. Результаты измерения выводятся на ЖКИ.
Измеритель состоит из конструктивно самостоятельных частей: погружаемой в бак измерительной линейки, основного электронного блока и блока индикации и питания. Линейка изготовлена из отрезка пластмассового профиля, имеющего форму швеллера с полками неодинаковой ширины, применяемого при монтаже пластиковых просверлены через равные интервалы 16 отверстий, в которые вставлены головками наружу винты М3 — они служат датчиками уровня и на схеме рис. 1 обозначены Е1—Е16. С обратной стороны винты закреплены гайками, под которые подложены провода, соединяющие их с разъемом XS1 — 20-контактной панелью для микросхемы, расположенной в верхней части линейки и всегда остающейся выше уровня воды. В нижней части линейки расположен датчик температуры DS1, выводы которого также соединены с контактами панели.
После проверки правильности соединении и работоспособности датчика температуры внутренняя часть швеллера, где проложены провода залита строительным герметиком. Незалитыми оставлены корпус датчика и разъем.
Готовая линейка установлена в баке вертикально. Ее удерживает магнит от мебельной магнитной защелки, закрепленный в полости швеллера винтами перед ее заливкой герметиком.
Действие прибора основано на том, что сопротивление между металлическим баком и погруженным в воду датчиком значительно меньше, чем между баком и датчиком, которого вода не достигает Микроконтроллер электронного блока, действуя по записанной в него программе прежде всего проверяет состояние датчиков Е1, Е5, Е9 и Е13 Найдя среди них "сухой”, она уточняет результат, проверяя состояние трех датчиков, расположенных ниже него.
Поскольку между дном бака и уровнем самого нижнего датчика Е1, а также между уровнями любых двух соседних датчиков, заключена 1/16 часть емкости бака, микроконтроллер вычисляет количество воды в нем, умножая известный объем этой доли ("мерку") на номер самого верхнего датчика, находящегося ниже уровня воды.
В приложенных к статье программах объем "мерки" задан равным 12,5 л. Чтобы изменить его, нужно найти в исходном ассемблерном тексте программы следующий фрагмент:
movlw 19 ; (11001)=12,5.
M0VWF МЕРКА ; УСТАНОВКА КАЛИБРОВКИ.
и заменить в его первой строке шестнадцатеричную константу 19 (что соответствует 12,5 л) удвоенным значением определенного экспериментально или расчетным путем объема "мерки" в литрах округленным до целого числа. Это число при записи в программу тоже, конечно, должно быть выражено в шестнадцатеричной системе. После изменения константы программу необходимо оттранслировать заново. Это можно сделать с помощью известной среды разработки программ MPLAB.
К сожалению, разработанная программа не может правильно вычислить объем воды, превышающий 255 л. Если это необходимо, объем "мерки", вводимый в программу, нужно уменьшить, например, вдвое, запомнить поправочный коэффициент и умножать на него показания прибора.
Схема электронного блока измерителя показана на рис. 2. Коммутатор, собранный на двух микросхемах-мультиплексорах DD2 и DD3, по командам микроконтроллера DD1 поочередно подключает к нему датчики уровня. Поскольку в микроконтроллере программно включены резисторы, соединяющие его входы с плюсом питания, не погруженному в воду датчику соответствует уровень лог. 1, а погруженному — лог 0. На выходах RC4 и RC5 микроконтроллер формирует сигналы управления мультиплексорами. С выводом RA4 соединена цепь данных датчика температуры.
Выходы RC0—RC2 используются для вывода информации на многоразрядный ЖКИ HG1, выполненный по технологии "контроллер на стекле" (англ. Controller on Glass — COG) Первоначально был применен девятиразрядный COG-индикатор TIC9162, но оказалось, что его трудно найти в продаже. Поэтому предназначенная для работы с ним программа YPOBEH была переработана под аналогичные но восьмиразрядные индикаторы TIC55 и TIC8148. Она получила название YPOBEH55, С программой для индикатора TIC9162 будет работать и индикатор TIC55, но в его младшем разряде не будет отображен символ градуса.
Печатная плата электронного блока изображена на рис. 3 Пронумерованные контактные площадки по ее периметру соединены жгутом проводов длиной 20 см с соответствующими контактами разъема ХР1, представляющим собой небольшую печатную плату с двумя рядами по 10 контактных площадок с шагом 2,5 мм. Расстояние между рядами — 7,5 мм. В отверстия этих площадок впаяны штыри, сделанные из выводов резисторов, Жгут пропущен внутрь бака, и его разъем сочленен с разъемом XS1 измерительной линейки.
Плата помещена в унифицированный корпус Z-67 (рис. 4), который с помощью магнита закреплен на внешней поверхности бака Для защиты от влаги все щели в нем тщательно промазаны герметиком.
Индикатор HG1 и батарея GB1 с выключателем SA1 расположены на отдельной печатной плате (рис. 5), чертеж которой ввиду простоты не приводится. Вывод 6 индикатора TIC55 оставлен свободным Образующие батарею гальванические элементы типоразмера АА помещены в укрепленный на плате пластиковый батарейный отсек. Поскольку потребляемый измерителем ток не превышает 1.5 мА, а используют его кратковременно, комплекта элементов питания хватает на весь летний сезон.
Соединение платы индикации и питания с основной платой — без разъемов жгутом проводов длиной 1,5...2 м. Можно использовать кабель UTR применяемый для соединения компьютеров в локальных сетях Для платы индикации изготовлен корпус из прозрачной пластмассы, хорошо склеивающейся дихлорэтаном. Плату в корпусе располагают в месте, защищенном от атмосферных осадков.
Вместо мультиплексоров К561КП1 можно применить их импортные аналоги CD4052. Датчик температуры — DS18S20 в корпусе ТО-92 Его может заменить датчик DS1820
Материал взят из: Журнала Радио 2010 №8
В архиве Печатная плата, Прошивка для микроконтроллера PIC16F630 и Исходный код программы на ассемблере
uroven.rar [15,5 Kb] (cкачиваний: 442)