Обратный осмос: от ремонта до модернизации, или контроллер ZJ-LCD-F7 от китайских умельцев, и его доработка

d694d28dd45b91feb686a3db9fd6e5f3.jpg

Сломался фильтр обратного осмоса …

Нет, пожалуй, начать нужно с того, что у меня, в частном доме, нет централизованной канализации — использую выгребную яму (все что налил — нужно вывезти). Учитывая еще то, что зимой нужно хорошо поработать лопатой для снега, чтобы автомобиль смог подъехать к месту, то к расходу воды сантехникой и бытовыми приборами я отношусь очень ревностно.

Так вот когда вывозить яму я стал на неделю раньше обычного срока, первое подозрение пало на фильтр — он подключен к водопроводу и канализации, а что он там и когда сливает — никто не знает. Положив трубку слива отработанной воды в тазик, получил и доказательства вины: после открытия крана чистой воды и срабатывания датчика высокого давления, включается клапан промывки на 20 сек, потом он, как и положено выключается, но на 10–15 сек, а потом опять срабатывает и так по кругу пока не наберется накопительный бак. Хотя, его задача — один раз включиться на 18 сек в начале разбора отфильтрованной воды, промыв таким образом мембрану перед ее использованием. Естественно, расход воды при этом увеличился в несколько раз.

Техническое отступление, для не знакомых с обратным осмосом

Фильтр обратного осмоса один из самых эффективных фильтров питьевой воды. Фильтрующим элементом служит обратноосмотическая мембрана, с настолько маленькими ячейками, что через них может, под давлением помпы или водопровода, протиснуться только молекула воды или растворенные частицы таких же размеров, а таких — мизер. Производители фильтров заверяют, что через мембрану не проходят даже бактерии и вирусы. Я попробовал с микрометром гоняться за бактериями — так и не получилось снять мерки. За вирусами не пробовал — из защитных средств у меня только диэлектрические перчатки :-). Так что поверим на слово.

Вода через мембрану проходит довольно медленно — течет тонкой струйкой. Поэтому после мембраны всегда ставят накопительную емкость на 5–10 л, с резиновой диафрагмой, под которую закачан воздух. Под давлением помпы (водопровода) при наборе воды диафрагма сжимается, при разборе — воздух выталкивает воду. Кроме мембраны фильтр содержит входной клапан, входной датчик низкого давления (водопроводного), датчик высокого давления на выходе мембраны, показывающий, что начался разбор отфильтрованной воды, и клапан промывки. Когда срабатывает датчик высокого давления (давление в накопительной емкости упало при разборе воды), открывается входной клапан и включается помпа (если таковая есть). Чистая вода начинает проходить сквозь мембрану в накопительную емкость, а вода с остатками примесей, сливается через ограничитель потока с калиброванным отверстием (300–500 лм/мин в зависимости от производительности мембраны) в канализацию. Кроме того, сразу после срабатывания входного клапана, на 15–20 сек открывается также и клапан промывки, включенный параллельно ограничителю потока, для быстрого смыва застоявшейся перед мембраной воды. Естественно, когда накопительная емкость будет полной — сработает датчик высокого давления, входной клапан закроется и система перейдет в режим ожидания. Если фильтром несколько дней не пользоваться, перед мембраной может заводиться всякая «живность». Поэтому нужно периодически брать пару стаканов чистой воды даже если в этом нет необходимости, чтобы включался клапан промывки. По этой же причине через 3–4 года эксплуатации желательно менять накопительную емкость.

Через какое-то время мембрана вырабатывает свой ресурс (обычно 2–3 года), ячейки увеличиваются и сквозь мембрану начинают проходить растворенные соли более крупных размеров — увеличивается минерализация воды. Чтобы знать когда пора менять мембрану, желательно периодически измерять общую минерализацию. Я, например, для этого приобрел недорогой измеритель «TDS-3». TDS (Total Dissolved Solids) — это общее количество растворенных частиц, то есть общая минерализация. Измеряют ее в миллиграммах на литр (мг/л) или в миллионных долях — parts per million (ppm). Эти единицы близкие по значению и для простоты считаются равными. Для точного определения TDS используется метод испарения — отношение веса оставшегося осадка к весу воды до испарения. Для приближенных измерений используется метод измерения электропроводности воды (именно соли добавляют воде эффект электропроводности). Такие приборы называют еще кондуктометрами (conductivity — электропроводность).

Есть и противники у обратноосмотических фильтров. Они утверждают, что вода после них мертвая — одни молекулы воды. Если ее пить — вымываются мол минеральные соли из организма. Другая крайность — пить воду из артезианской скважины. Ее минерализация может быть такого уровня, что пить ее постоянно тоже рискованно (такую воду относят к разряду: лечебно-столовая). А если минерализация еще больше — это уже лечебная вода, которую нужно принимать по назначению врача.

Но ведь никто не запрещает противникам обратного осмоса найти поставщика минерализированной воды из скважины и не обработанной обратным осмосом. Причем узнать это не по рекламным заявлениям производителя, а какими-то другими путями (например, используя личные связи — на таких предприятиях могут работать знакомые, или знакомые знакомых). И добавлять к обратноосмотической, в нужной пропорции, воду, прилично обогащенную минералами, из такой скважины. Подозреваю, что большинство производителей бутилированной газированной и негазированной воды так и получают воду, с четко регламентированным количеством солей, указанном на этикетке. Кстати мой «TDS-3» всегда показывал минерализацию, укладывающуюся в диапазон общей минерализации, указанной на этикетке бутылки с водой.

Ремонт

Ну что же, раз идет перерасход воды — неисправна автоматика. Достаю обтянутую термоусадкой автоматику, разрезаю ее… и сильно удивляюсь (пока первый раз) — автоматика представляет собой жгут соединенных определенным образом проводов. А где же микроконтроллер — 21-й век на дворе! С другой стороны, эта «автоматика» исправно проработала больше пяти лет: может производитель и прав — зачем удорожать изделие.

Собственно схема получилась такая — клапаны открываются через контакты датчиков высокого и низкого давления, соединенные последовательно: датчик низкого давления НР (замыкается при давлении воды на входе); датчик высокого давления НЗ (наоборот, замыкается при отсутствии давления во время разбора отфильтрованной воды). Клапан промывки стоит параллельно ограничителю потока 300 мл/мин и, как потом выяснилось, содержит электронную схему, включающую клапан на 18 сек после подачи питания. Блок питания — обычный выпрямитель, без стабилизатора (без нагрузки 31V, при включенном клапане промывки 27V). Вот собственно схема фильтра: и принципиальная, и гидравлическая (рис. 1).

3b693578aa83048a462607658731c538.png

Рис. 1. Схема фильтра с простой автоматикой

Таким образом, получается, что неисправна электроника, встроенная в клапан промывки. Клапан был извлечен, разобран, срисована схема электроники управления клапаном — схема задержки построена на таймере HA17555 (рис. 2).

1379e9058ed3983be1ebb560c21b1365.png

Рис. 2. Схема автоматического клапана промывки

Никаких внешних признаков: подгоревших деталей, плохих паек, обрывов дорожек. Детали звонятся нормально. Электролитические конденсаторы без утечки и имеют номинальную емкость.

Но оказалось, что при включении на столе, от лабораторного источника питания — клапан работает как положено: включается при подаче питания на 18–20 сек и выключается до следующей подачи питания. Никакие механические влияния на клапан не заставили его опять перестать работать. Проверка блока питания также результата не дала.

Клапан был установлен на место, фильтр собран и включен — все работает в штатном режиме. Но я был очень недоволен — неисправность не была локализована и могла опять проявиться в любой момент.

Выбор

Поэтому я «психанул» и решил поставить на обратный осмос умную автоматику на микроконтроллере. Сформировал свои требования к умной автоматике:

  1. Контроль входного датчика и датчика высокого давления. Блокировка при отсутствии воды.

  2. В начале разбора чистой воды — включение входного клапана и промывка мембраны 20 сек.

  3. После наполнения накопительного бака — выключение входного клапана.

  4. При простое пару раз в сутки включать промывку мембраны для борьбы с микробами.

  5. Желательно контролировать количество солей в отфильтрованной воде TDS-метром. При выходе за установленный предел — сообщить о необходимости замены мембраны.

  6. Каким-то образом контролировать время работы разных фильтров и мембраны. Сообщать когда время наработки фильтров будет исчерпано.

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

Первый вариант: электронный контроллер СВ-5

Его (рис. 3) можно приобрести в местных интернет-магазинах. Стоимость эквивалентна 50$. Под фильтры с питанием 24V. Производятся вроде бы в Турции.

c0ceffd178850c55726c142516944c15.jpg

Рис. 3. Контроллер СВ-5

Первые 5 пунктов моих требований выполняются. При простое более 7,5 часов должен включить промывку. В комплекте идет только крепежное приспособление и электроды датчика солемера. Тройник, куда вставлять электроды нужно подбирать и покупать самому. Перечень комплектации какой-то неконкретный.

По поводу шестого пункта моих требований — тут есть вопросы. В интернет-магазинах дают только фото выключенного блока. Но нашел видео о работе фильтра с установленным СВ-5 и там видны практически все режимы его работы. Ни в одном из режимов на дисплее часов не выявлено — значит внешний модуль RTC (Real-time clock), при его копеечной стоимости, в СВ-5 не установлен. Возможно, из-за неудобства периодической смены элемента питания RTC. То есть используется только вычислительная мощность микроконтроллера. В то же время, например, в микроконтроллерах AVR, функция millis () возвращает 4-байтовое число без знака. В число такого типа максимально можно поместить 4 294 967 295 миллисекунд, что соответствует примерно 49 дней и 17 часов. Кроме того, существуют библиотеки, позволяющие подсчитывать время более 49 дней — «хоть до второго потопа». То есть считать месяцы для микроконтроллера не проблема. Но тогда для защиты от пропадания электропитания нужно хотя бы раз в сутки увеличивать счетчик отработанных дней в EEPROM микроконтроллера (или внешнем). Тогда можно вести учет дней работы фильтров или мембраны и выводить в каком-то виде на дисплей (в СВ-5 предусмотрено пять шкал для разного количества месяцев наработки от 3 до 36). Правда выдержит ли EEPROM микроконтроллера такое количество циклов перезаписи — это вопрос?

Второй вариант: контроллер обратного осмоса ZJ-LCD-F7

Продается на Aliexpress (рис. 4). Стоимость самого контроллера порядка 30$, с полным комплектом всех датчиков и клапанов — около 50$. Также под фильтры с питанием 24V. Производители LOUCHEN ZM и HaiHuiLai (Китай). Пункты 1, 2, 3 и 5 моих требований также вроде выполняются. По поводу включения при простое (п.4 требований) пару раз в сутки промывки мембраны — непонятка. Только в одном из магазинов написано, что «каждые 6 часов будет открывать электромагнитный клапан промывки, чтобы промыть мембрану RO в течение 20 секунд» (RO — Reverse Osmosis).

А вот к п.6 моих требований здесь кардинально другой подход — считаются не только отработанные дни, но и количество воды, потребленное от водопровода (контроллер комплектуется датчиком потока). В настройках уже указывается не только максимальное количество отработанных дней, но и максимальный объем воды, который должен пройти через входные фильтры, после которого будет выдано предупреждение о необходимости замены. В настройках можно ввести максимальное значение объема воды для 4 групп фильтров.

506cad868ca4bdbda755c62decea4650.jpg

Рис. 4. Контроллер ZJ-LCD-F7

Дни подсчитываются микроконтроллером скорее всего по тому же принципу, что и в первом варианте. Остается и проблема долговечности EEPROM.

Нужно быть внимательным — точно в таких же корпусах продаются контроллеры расхода воды, но называются ZJ-LCD-М. Основное отличие внешне — дополнительные кнопки «Старт» и «Стоп» и отсутствие проводов подключения электродов солемера.

Для выяснения вопроса об промывке при простое, спросил одного из продавцов: идет ли с автоматикой мануал на английском. Продавец спросил адрес электронной почты и выслал документацию. Но там оказались: текстовый файл (формат .txt) с короткой инструкцией, пару фото товара и мануал какой-то «левой» автоматики с названием LCD-M. Тщательные попытки поискать мануал в pdf-формате в Интернете увенчались успехом. В инструкции действительно указывалось об автоматической промывке через каждые 6 часов. Также там указывалось, что при превышении количества солей свыше 50 ppm, контролер поднимет тревогу зуммером и морганием на дисплее.

Дополнительные сенсоры (датчик потока и TDS сенсор) подключаются по следующей схеме (рис. 5):

d8522483c738ff9bfc98992ade32ee14.png

Рис. 5. Схема подключения дополнительных датчиков

После раздумий выбираю вариант 2 — полная комплектация при той же цене что и «чистый» контроллер 1-го варианта, плюс учет расхода воды — что особенно для меня важно. Решение принято, товар оплачен.

Как измеряют TDS другие

Но еще до покупки я уже видел один недостаток ZJ-LCD-F7, с которым не хотелось мириться — короткие провода (не более 50 см). Тут все очевидно: раз я покупаю контроллер с дисплеем, значит я хочу контролировать работу фильтра при каждом подходе к нему. И меня явно не вдохновляло при каждом разборе воды залазить на коленях до половины в тумбочку, чтобы посмотреть на текущие параметры контроллера. Выход один — удлинить провода где-то до 1,2 м, чтобы вынести контроллер наружу.

Удлинить провода клапанов, датчиков низкого и высокого давления, а также питания, собственно, не проблема. Датчик Холла сенсора потока выдает прямоугольные импульсы частотой несколько сотен герц (при максимальном потоке). Там, если точно подберешь коэффициент пересчета, можно добиться точности в 1–2% — я с похожим уже «игрался» раньше. В инструкции на контроллер написано, что подстройка коэффициента датчика потока вынесена в меню — так что точность будет зависеть уже от меня. Ну, а провода для удлинения датчика потока лучше взять экранированные, и то для уменьшения влияния сигнала датчика на сигналы в других проводах.

Непонятен остался только принцип измерения количества солей в воде TDS сенсором. А от этого будет зависеть погрешность, внесенная удлинением проводов сенсора.

Наверное, сейчас, в ожидании пока доставят товар, самое время «прошвырнуться» по Интернету и посмотреть -, а как там измеряют TDS любители? Поиск показал, что датчики для измерения электропроводности воды можно приобрести даже для плат Arduino. Кроме самого датчика и проводов, в набор входит плата (рис. 6). TDS сенсор может быть просто с электродами из нержавеющего металла (цена такого набора 15–20$), а может быть и более профессиональным, один из электродов которого покрыт платиной и такой комплектуется калибровочными растворами (тогда цена будет 50–75$, судя по цене — это явно не мой вариант).

fc6d0e26571bf5017eb7924c459a12f7.jpg

Рис. 6. Наборы для измерения TDS

В некоторых магазинах дают эту ссылку на описание принципа измерения и принципиальную схему платы. Схема (рис. 7), на предлагающейся плате, содержит DC/DC преобразователь напряжения LM2660M (для преобразования +5V в -5V) для питания остальных элементов, 14-ти разрядный счетчик с генератором CD4060BM, выполненный по CMOS-технологии (для формирования прямоугольных импульсов) и 4 прецизионных усилителя в одном корпусе TL034CD.

d4eacfbdbfe30d70d54bceb05637b604.png

Рис. 7. Схема платы, идущей в комплекте с сенсором для измерения TDS

Описания работы схемы нет, но внимательно на нее посмотрев, можно понять основные моменты. На операционные усилители и делитель частоты подается питание +/-5V. Сформированные таким образом прямоугольные импульсы размахом от -5V до +5V подаются на один из электродов TDS сенсора. Сигнал, снятый со второго электрода, и зависящий от проводимости воды, подается на масштабирующий усилитель U3B, затем на однополупериодный выпрямитель U3C, превращающий отрицательный сигнал в положительный, и одновременно на сумматор U3D. Последний складывает сигналы, пришедшие в положительной полярности, с сигналами пришедшими в отрицательной полярности, но преобразованные выпрямителем в положительную. Полученное на выходе сумматора положительное напряжение будет пропорциональным проводимости воды. Все эти преобразования происходят на плате на небольшом расстоянии от TDS сенсора. Полученное таким образом напряжение уже по более длинным проводам подается на аналоговый вход микроконтроллера платы Arduino для измерения. При пересчете измеренного напряжения в ppm, учитываются геометрические размеры электродов сенсора.

Почему на первый электрод подают не постоянное напряжение, а прямоугольные импульсы, да еще и частотой около 1 кГц? Дело в том, что во время измерения, фактически через воду проходит электрический ток, из-за чего происходит поляризация молекул — положительно и отрицательно заряженные ионы стремятся к соответствующим электродам сенсора. При этом вода немножко становится электролитом, что вносит сильную погрешность в измерения. Для устранения эффекта поляризации электролита, измерения выполняют на значительной частоте (около 1 кГц). За короткий период измерения ионы просто не успевают поляризоваться.

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

В самом простом случае (ссылка) радиолюбители обходятся без операционников (рис. 8): два цифровых выхода выдают противофазные прямоугольные импульсы частотой более 3 кГц.

5408c075ec622e57668579e2676f3caa.png

Рис. 8. Простой принцип измерения TDS

В первую фазу на первом электроде «единица», на втором «ноль» и ток течет в этом направлении. В следующую фазу — все наоборот и ток течет в обратную сторону. Выходы микроконтроллера соединены с электродами сенсора через резисторы. Одновременно электроды сенсора соединены и с двумя входами микроконтроллера. При каждой смене фазы — измеряется напряжение на соответствующем электроде. Потом данные усредняются. Проще не придумаешь!

Особо изобретательные радиолюбители (ссылка) смогли подключить TDS-метр, похожий на мой TDS-3, к плате Arduino, получив таким образом неплохую точность измерения. В этом TDS-метре, по утверждению автора статьи, используется принцип преобразования напряжения в частоту, которую Arduino измеряет и пересчитывает в ppm.

Контроллер обратного осмоса ZJ-LCD-F7

Через месяц с лишним я уже внимательно разглядывал диковинку — дошло без повреждений, комплектация соответствовала описанию продавца, внешне по качеству изготовления замечаний не было. Название производителя LOUCHEN ZM красовалось на передней панели. Но никакой документации не положили — хорошо, что я ранее нашел ее в сети. Провода оказались длиной около 40 см — удлинять нужно по любому.

Ну что же, для определения принципа измерения TDS, открываем контроллер и смотрим что там внутри (рис. 9).

d501e8301eeec0b0e269a30fbd7fbbfc.jpg

Рис. 9. Плата контроллера ZJ-LCD-F7

ZJ-LCD-F7 выполнен на микроконтроллере MB95F636K. Логотип производителя в виде прописной буквы F с черточками сверху и снизу. Казалось бы, что может быть проще — по логотипу вычислить производителя. Но на одном сайте указывали, что это Fairchild Semiconductor, на другом — что это Fujitsu Semiconductor, на третьем — Freescale Semiconductor (главное, чтобы на букву F). Ладно, попробуем поискать как для покупки, и посмотрим производителя. На eBay и Alibaba предлагают эти микроконтроллеры (на фото — логотип как у меня) как Fujitsu Original. Действительно — datasheet на MB95F636K у Fujitsu Semiconductor есть. Ну что ж — будем думать, что это Fujitsu.

Рядом с микроконтроллером — кварцевый резонатор на 16 МГц. Память EEPROM используется внешняя FT24C02A. Микросхема HT1622 используется в качестве драйвера дисплея. Дисплей, судя по картинкам на нем, заказной, не универсальный. Для управления клапанами стоит реле JQC-3FF с током контактов 15А и полевой транзистор UT2955. Источник питания +5V собран на понижающем импульсном стабилизаторе MC34063. Под дисплеем находится лист белого пластика, в торце которого в отверстия вставлены светодиоды подсветки (рис. 10).

f90b9be5f1f55ef5fddebf630e17b7c8.jpg

Рис. 10. Подсветка дисплея

При осмотре монтажа никаких операционных усилителей я не заметил. Чтобы понять принцип измерения, прозвоню куда идут провода от разъема TDS сенсора. Да… Такого я не ожидал — один провод напрямую, другой через резистор, но оба идут на цифровые входы/выходы. Моих знаний и опыта явно не хватает, чтобы понять — как при помощи двух цифровых входов/выходов, подсоединенных к штырям сенсора, измерить проводимость воды! Или микроконтроллер все же не Fujitsu и имеет другую распиновку? Ну что же, придется немного применить метод обратного инжиниринга — по монтажу нарисовать схему контроллера. Или хотя бы обвязку микроконтроллера и входных разъемов. Сказано — сделано. Вот результат (рис. 11).

16e8c6aa0966056cbfd65934b862ea05.png

Рис. 11. Основная часть схемы контроллера обратного осмоса ZJ-LCD-F7

Теперь все стало на свои места — один из электродов TDS сенсора кроме цифрового выхода, все-таки параллельно идет еще и на аналоговый вход (вывод 15). Получается принцип измерения TDS как в простом случае, рассмотренном выше, только здесь измерение проводится только в одну из фаз. Я ошибся, утверждая, что проще не придумаешь — все-таки еще упростили!

Судя по остальным элементам схемы — микроконтроллер все-таки Fujitsu. Теперь видно, что входным клапаном и помпой управляет мощное реле, а клапаном промывки — полевой транзистор. Видно для экономии цифровых портов ввода/вывода, клавиатура построена на резисторных делителях и подключена к аналоговым входам, для определения по уровню напряжения, какая из кнопок замкнута.

На дисплее слева вверху должно выводиться значение температуры. В инструкции из Интернета пишут, что это температура воды. Но такого датчика в комплектации нет, как и разъема на плате для него. Может датчик на плате и измеряют температуру окружающей среды? При внимательном осмотре, датчика на плате не обнаружил. Остается последний, но самый действенный способ — под перевернутую плату поднести паяльник и смещая его позицию смотреть на изменение температуры на дисплее. Так и есть — температура резко возрастает при поднесении паяльника под микроконтроллер. Внимательно просмотрев Datasheet, нашел регистр, запросив который можно получить температуру делителя микроконтроллера (как самого горячего участка кристалла). Конечно, приятно контролировать температуру кристалла микроконтроллера, но термокомпенсацией TDS тут «и не пахнет»!

Доработки

Удлиняем провода

Начнем с TDS сенсора — насколько повлияет удлинение проводов на принцип его измерения? Готовим удлинитель из двух отдельных экранированных и изолированных снаружи проводов. Я не стал отрезать разъем от сенсора, а на удлинитель поставил разъемы с обеих сторон. Экраны обеих проводов, со стороны контроллера, через дополнительный разъем, подключил к ближайшему контакту общего провода (рис. 12). Теперь могу оперативно переключать TDS сенсор и через удлинитель, и без него.

c36c7718a6bcbdb489348eb323331114.jpg

Рис. 12. Разъем, заземляющий экраны проводов удлинителя TDS сенсора

Теперь собираем «приспособу» — вместо клапанов подсоединяем лампочки, вместо датчиков — тумблеры, датчик потока через трубочки подключаем к емкости с водой, TDS сенсор опускаем в стакан с водой, ppm которой перед этим померил своим TDS-3. Производим первое включение на столе.

Все вроде клацает как положено. Частота прямоугольных импульсов, подаваемых на TDS сенсор — 0,5 кГц. Но, самое главное — это результаты измерения воды с разным содержанием солей. Я в стакан с TDS сенсором заливал и воду из-под фильтра, проверив содержание солей в ней моим TDS-3, и воду смешанную с водопроводной, в определенной пропорции, чтобы получить разные значения ppm. Причем измерял как с удлинителем, так и без него. Вот результаты:

TDS-3

с удлинителем

без удлинителя

7

1

1

9

3

4

50

50

50

70

96

98

Как видим, какая схема, такая и точность — на уровне индикатора. Но подкупает точность в той точке, где разработчики обещают поднять тревогу после превышения ppm — ровно 50! В принципе, меня это устраивает. И как видим, мой удлинитель тоже вносит довольно незначительную погрешность. Значит можно монтировать, удлинив провода до 1,2 м. Вот так выглядит контроллер с удлиненными проводами (рис. 13).

fd47bb56636de209c6a7d3a118db342b.jpg

Рис. 13. Провода удлинены до 1,2 м

Первое включение — и, как положено, первый блин комом — вроде все работает, а TDS вообще не измеряет. Оказалось, нужно было после монтажа, при наборе воды в фильтр, тройник с TDS сенсором повернуть вниз сенсором — иначе образуется воздушная пробка и электроды сенсора не достают до воды. После устранения причины, TDS стал измерять нормально. Кстати, если после замены картриджей предварительной очистки TDS будет показывать одни нули — скорее всего завоздушился его сенсор — опять таки, поворот сенсором вниз решит проблему.

Колхозим — добавляем режим промывки при разборе воды

Но что это? Как? … Оказывается промывка не включается при разборе чистой воды и срабатывании датчика высокого давления (это мое второе сильное удивление). Она включается только при включении контроллера и потом через каждые 6 часов. Разработчики решили, что мне лучше фильтровать застоявшуюся воду (подумаешь, простояла она больше 5 часов!). У меня шок!

Я это так не оставлю! Я … нет, жаловаться не буду :-), я доработаю схему (на жаргоне это называется колхозить), чтобы п.2 моих требований все же выполнялся. К контроллеру добавляем схему одновибратора с таймером, выполненную на маленькой платке, на микросхемах в smd корпусах, для уменьшения габаритов (см. рис. 14–16). Получилось разводку дорожек выполнить с одной стороны платы.

aed698af14145bc20e3770c0973ee981.jpg

Рис. 14. Контроллер с установленной платой одновибратора с таймером

9ee9f7e8147d7e43a7a9e4ec64cb82f5.jpg

Рис. 15. Плата одновибратора с таймером

6e48144e2d1ab889df638f45cdcc0243.jpg

Рис. 16. Рисунок печатной платы

На рис. 18 показана схема контроллера с добавлением нового узла. Теперь при срабатывании датчика высокого давления по срезу импульса (пропадание уровня в момент замыкания датчика) запускается одновибратор на HEF4049BT, который в свою очередь запускает таймер (ICM7555IBAZ-T) на 18–20 сек. Последний принудительно включит на это время клапан промывки, независимо от сигналов с микроконтроллера. Одновибратор срабатывает только по срезу импульса, то есть при размыкании датчика высокого давления после набора воды — ничего не произойдет.

… А ведь этого можно было достигнуть просто добавив пару строк кода в прошивке!

Бесперебойник

В контроллере счетчик количества дней приращивается через каждые 24 часа от момента включения питания фильтра. Если питание пропадет, например, через 23 часа (после включения или последней записи) — считай сутки пройдут без увеличения счетчика. У меня часто бывают периоды, когда ночью кратковременно пропадает электросеть, что можно заметить утром по обнулению часов на кухонной бытовой технике. Естественно, в этом случае, погрешность подсчета дней будет значительной. С другой стороны, если бы контроллер делал запись, например, раз в час — быстро бы вышла со строя микросхема памяти, что тоже не выход. Поэтому при частом пропадании питания, наверное, есть смысл подумать об доработке питания контроллера источником бесперебойного питания.

Покупать для этой цели настоящий бесперебойник — затея глупая, как неоправданная трата финансов. Да и мощность бесперебойника должна быть смешная — сама автоматика потребляет около 10 мА. Поэтому попробуем «слепить» что-нибудь самостоятельно и не дорого.

Первым делом смотрим в каких пределах будет нормально себя «чувствовать» микроконтроллер. Согласно datasheet, для MB95F636K рекомендуемое значение напряжения питания 2,4 — 5,5В. Прекрасно — литий-ионный аккумулятор типоразмера 18650 имеет номинальное напряжение 3,7В. Полностью заряженным он выдаст 4,2В, а минимальное напряжение хоть и указывают 2,5В, но лучше ниже 3,0В его не разряжать — ниже 3,0В он выдаст буквально несколько процентов емкости, но в этом режиме очень велик риск существенной потери емкости. Так что аккумулятор 18650 отлично справится с задачей — нам главное, чтобы при отсутствии электричества микроконтроллер продолжил считать время, даже если при этом потухнет дисплей. Для заряда такого аккумулятора — контроллеров заряда предостаточно. Я выбрал HW-107. Собственно сам контроллер заряда собран на микросхеме TC4056A, а на микросхеме DW01V и коммутаторе FS8205A собрана защита аккумуляторной батареи от перезаряда и переразряда.

Штатный резистор R3 (см. рис 18), определяющий ток заряда, я заменил с 1,2 кОм на 2,4 кОм, перенастроив таким образом устройство на максимальный зарядный ток 500 мА. Резистор R5 я заменил из 100 Ом на 270 кОм, что сместило минимальное напряжения срабатывания защиты с 2,5 В до 3,0 В. Алгоритм работы устройства получился следующий:

  • при отсутствии питания на входе и падении напряжения на аккумуляторе меньше 3,0 В — защита его отключит от нагрузки;

  • при напряжении на аккумуляторе больше 4,3 В — защита его отключит;

  • если подключить аккумулятор с напряжением на нем меньше 3,0 В — зарядный ток будет равен 1/10 от запрограммированного резистором R3 — то есть 50 мА, до достижения напряжения 3,0 В;

  • после достижения 3,0 В — зарядный ток увеличится до 500 мА и зарядное будет работать в режиме стабилизации этого тока до достижения напряжения 4,2 В;

  • дальше устройство переходит в режим стабилизации напряжения на уровне 4,2 В; ток при этом будет постепенно уменьшаться;

  • когда ток станет меньше 50 мА — заряд прекратится; устройство будет следить за напряжением — при его уменьшении опять включится подзаряд до уровня 4,2 В.

Питается зарядка от отдельного сетевого адаптера. К штатному источнику питания контроллера зарядное устройство подключил через диод Шоттки D9 типа 1N5819. Благодаря этому при наличии электроэнергии в сети, диод D9 будет закрыт и не будет влиять на работу контроллера. При пропадании электроэнергии микроконтроллер будет продолжать питаться уже от аккумулятора до момента, когда напряжение на нем упадет до 3,0 В. Если до этого момента электроэнергия появится — счет времени не будет прерван. Дисплей при отсутствии электроэнергии светится не будет и при разборе воды клапаны включиться не смогут. То есть бесперебойник служит только для поддержания хода времени контроллером!

Поместив схему в корпус от неисправного свича, получилась, в прямом смысле слова, вот такая «конструкция выходного дня» — рис. 17. И стоит копейки.

a3c7c57ff5de3a34657c43511dda2312.jpg

Рис. 17. Бесперебойник

Если с электроэнергией проблем нет — выполнять эту доработку нет смысла. Хотя сам принцип можно применить в других похожих устройствах.

534ac1f33358eba987e8b98d5ea53dde.png

Рис. 18. Схема контроллера ZJ-LCD-F7 с доработками

Кронштейн крепления

Ну и последний мазок — из нержавейки изготовил вот такой кронштейн (рис. 19), для быстрого и удобного монтажа на саморезы. Как установить контроллер на кронштейны, что шли в комплекте (белые П-образные пластмассовые на фото) — я так и не догадался.

f0db1ead4ed6321b17a255b34d961c0b.jpg

Рис. 19. Самодельный кронштейн

Блок питания я рискнул оставить без изменений: максимальное значение входного напря

© Habrahabr.ru