Датчик уровня воды в резервной емкости

Датчик уровня и температуры воды собран на микроконтроллере ATTiny2313 (DD1). Тактируется микроконтроллер кварцевым резонатором частотой 7,3728 МГц (QZ1). Конденсаторы С9, С10 являются фильтром напряжения питания. Резистор R7 подтягивает вход reset микроконтроллера к напряжению питания, конденсатор C8 обеспечивает небольшую задержку запуска микроконтроллера при подаче напряжения питания.

Для обмена данными по сети, используется модуль USART микроконтроллера. Он подключается к сети через приемопередатчик ST485B (DA2). Резистор R1 подтягивает вход RX к напряжению питания, чтобы во время работы приемопередатчика RS-485 на передачу, обеспечить уровень стопового бита на входе приемника модуля USART. Резистор R2 обеспечивает включение приемопередатчика на прием при запуске микроконтроллера. Конденсаторы С4 и С5 являются фильтром напряжения питания. Для индикации состояния обмена по сети предусмотрены три светодиода HL1..HL3 (ошибка обмена, прием данных, передача данных). Резисторы R4..R6 ограничивают ток через них.

Все устройства в сети, в зависимости от типа, имеют код устройства, который передается в ответ на запрос контроллера. Датчик уровня воды имеет код 0xCA.

Подключение к шине производится кабелем «витая пара». Вместе с данными сети, по кабелю подается напряжение питания. Питается схема от интегрального стабилизатора L7805 (DA1). Диод VD1 защищает схему при неправильном подключении напряжения питания.

Микросхема DS18B20 (DA3) это датчик температуры воды, передающий данные по шине 1-wire. Резистор R3 подтягивает линию шины к напряжению питания.

Элементы R11..R14, C11..C14 являются формирующими и измерительными цепями датчика.

Светодиоды HL4..HL6 является индикаторами уровня воды, резисторы R8..R10 ограничивают ток через светодиоды.

Работает датчик следующим образом.

Каждую минуту микроконтроллер опрашивает состояние датчика DA3. Данные температуры преобразуются в BCD формат, и сохраняются в буфер передачи.

При включении питания, выводы PB1 и PB3 настраиваются как входы с высокоимпедансным состоянием, а выводы PB0 и PB2 настраиваются как выходы с уровнем логического нуля. При этом конденсаторы С11..С14 полностью разряжаются.

Затем на выходе PB1 формируются импульсы с периодом 5 мсек. Если уровень воды выше электрода минимального уровня, конденсатор не успевает зарядиться, так как через электроды датчиков разряжается на «землю». Если уровень воды, ниже электрода минимального уровня, конденсатор заряжается до напряжения примерно 3,5В.

По окончанию формирования импульсов, программа микроконтроллера проверяет уровень напряжения на входе PB0. Если обнаруживается уровень логической «1» (уровень воды, ниже электрода минимального уровня), программа определяет уровень воды как минимальный, записывая определенное значение состояния датчика в буфер передачи USART, и включая светодиод минимального уровня воды.

Если обнаруживается уровень логического «0» (уровень воды, выше электрода минимального уровня), проверяет состояние датчика верхнего уровня по аналогичному алгоритму. Если на электроде верхнего уровня обнаруживается уровень логического «0» (уровень воды, выше электрода максимального уровня), программа определяет уровень воды как максимальный, записывая определенное значение состояния датчика в буфер передачи USART, и включая светодиод максимального уровня воды.

Если на электроде верхнего уровня обнаруживается уровень логической «1» (уровень воды, ниже электрода максимального уровня), программа определяет уровень воды как средний, записывая определенное значение состояния датчика в буфер передачи USART, и включая светодиод среднего уровня воды.

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

Конструктивно датчик выполнен в герметизированном пластиковом корпусе. Электроды из нержавеющей стали крепятся к печатной плате на металлических стойках. Вдоль оси электродов прорезаны продольные отверстия для регулировки положения электродов. Общий электрод выполнен в виде герметично запаянной медной или латунной трубки диаметром 8 мм. В него помещен датчик температуры воды.

Ниже приведен чертеж печатной платы датчика.