Управление обратным осмосом, на базе "наны"
- Войдите на сайт для отправки комментариев
Здравствуйте, товарищи! Я только собираюсь попробовать свои силы в применении ардуины в быту, заказал на ебее нану, пока жду. Применить хочу для начала для очень простой задачи. Изучил здешний форум, но не нашел ничего похожего под мою задачу. Необходимо автоматизировать управление домашней установкой водоочистки. Сейчас все работает на простой схеме с 2 датчиками и 2 электроклапанами, без всякой электроники, но творческий зуд подмывает сделать дополнительную процедуру промывки мембраны автоматически по времени 2 раза в сутки + в момент начала и окончания фильтрации. Можно, конечно и без ардуины в этом деле обойтись, но в идеале хотелось бы далее научить её контролировать температуру воды, степень очистки, и возможные протечки воды вцелом на кухне с перекрытием воды и оповещением. Прошу дать мне стартовый пинок, так сказать, ткнуть носом в примеры скетчей циклического суточного (12 часового) таймера, с целью открывать электроклапан на 15 сек каждые 12ч например, а кроме того и при смене уровня на конкретном порту?
Пинок - Тыц
Формируете два подобных счётчика, на 12 часов и 15 сек, когда сработает первый (через 12 часов), включаете клапан, разрешаете работу второго счётчика и запрещаете работу первого. При срабатывании второго счётчика, отключаете клапан, разрешаете работу первого счётчика и запрещаете работу второго. Получите цикличность - через 12 часов сработает клапан, который через 15 сек отключится.
Тыц (Цифровой ввод-вывод)
А вообще, составьте для себя "из квадратиков" алгоритм работы на бумажке, будет проще описать всё с помощью кода...
Премного благодарен, думал вообще никто не ответит :) Я вот тут за прошедшее время узнал о существовании RTC DS3231, там есть 2 будильника, и у меня сразу возник вопрос, а какова логика срабатывания будильника, он просто шлет некий код по шине передачи данных, или выставляет некий логический уровень на аппаратном выходе, если да, то в виде импульса и можно ли задавать его длительность? Т.е. может просто настроить 2 будильника и пусть он 2 раза в сутки открывает кларан, и один логический элемент добавить для дополнительно включение по смене уровня (начало/конец фильтрации)...
С этой м/с не работал, но мельком глянув в даташит: есть аппаратный вывод SQW, на котором, взависимости от конфигурационных бит RS1 и RS2 в регистре 0Eh (см 13 страница даташита) частота импульсов может быть 1Гц, 1 или 4 или 8 кГц.
А вообще, стОит ли лезть в такие сложности?
Для ваших целей (периодическое срабатывание, не требующее какой-либо точности) простой дуины - за глаза. Для дальнейшей модернизации, если освоитесь, можно оставить пины с I2C свободными и перекроить под RTC, если потребуется. Сделайте сперва проект попроще, усложнить всегда успеется.
Разбейте работу на этапы -
Для начала, составьте базовую схему устройства - чем питать, как управлять клапанами (ключи) и какие планируются датчики.
Затем, простой алгоритм - что и когда должно происходить.
Далее, программно, реализуйте "кирпичики" - открыть-закрыть клапан, считать состояние датчика, "отмерить" интервал времени (его можно для отладки уменьшить до десятков секуд). Ну а потом всё это "сочлените" согласно вашему алгоритму...
Питание 24В (электроклапаны) далее DC-DC преобразователь для ардуины.
Повышающий насос не применяется, т.к. используется гидромеханический пермеатный насос.
2 нормальнозакрытых электроклапана: 1 - на подачу воды в систему, 2 - промывка мембраны (обеспечивает байпас в обход дренажного дросселя).
2 контактных датчика давления:
датчик 1 - нормально разомкнутый - стоит перед клапаном 1, определяет наличие воды в водопроводе, при давлении выше 1бар - замыкается и является условием работы всей программы фильтрации, иначе стоп и ожидание выполнения условия "1".
датчик 2 - нормально замкнутый, (условие "2"), стоит на выходе пермеата, размыкается при достижении давления 3бар в накопительной ёмкости, что является условием прекращения фильтрации.
на сегодня, датчики просто коммутируют по вышеописанной логике электроклапан 1 и всё. электроклапан 2 пока отсутствует, промывка осуществряется ручным краном, что напрягает :)
Алгоритм: при включени питания программа стартует, проверяет условие "А", если "1", то проверяет условие "Б", если "1", то включает клапан 1 до достижения состояния "0" условия "Б", одновременно включает клапан 2 с отсчётом 15 сек.
Если условие "Б"="0", то открывается клапан 2 на 15 сек, после чего начинается отсчёт 6ч интервала.
По достижении состояния "0" условия "Б", включается клапан 2 с отсчётом 15 сек, по истечении которых выключаются оба электроклапана. После чего начинается отсчёт 6ч интервала.
При изменении состояния условия "Б" с "0" на "1" текущий таймер отсчёта интервала сбрасывается и останавливается.
Условие "А" контролируется круглосуточно, при его падении в "0", программа безусловно прерывается и ожидает состояния "1".
Дополнительно предполагается ввести условие "В" - сопротивление на аналоговом входе N (сухой датчик протечки="0", мокрый = "1"), если "1" - безусловно отключаем все клапаны, включаем зуммер на цифровом выходе х (в дальнейшем подаем 7сек импульс на закрытие шарового злектровентия на стояке ХВС, совершаем звонок хозяину через модуль GSM), кроме того, хотелось бы внести постоянный мониторинг температуры воды и солесодержания пермеата, а так же напоминание о замене картриджей предфильтрации раз в три месяца (тут уже без RTC никак) и мембраны по превышению уровня солесодержания. Однако наткнулся на сложности с поиском датчика проводимости/температуры жидкостина ебее. В комплектах с др. оборудованием они продаются валом, а отдельно не могу найти, хоть тресни, только пара вариантов из США по конской цене...
Ну, как-то так :))))
Думаю, сперва реализуйте простую часть алгоритма...
В качестве датчика протечки и температуры жидкости
Спасибо, датчик протечки такой и предполагался, а вот второй имелось ввиду датчик проводимости кондуктометр, TDS sensor, (он же и температуру меряет по совместительству), для определенияэффективности работы мембраны обратного осмоса и необходимости её замены.
Кондуктометр http://www.ebay.com/itm/Arduino-Conductivity-Sensor-/131924239855?hash=item1eb74c25ef:g:6mcAAOSwlfxXG~Nk
http://www.ebay.com/itm/D-D-INLINE-TDS-METER-MONITOR-RO-TESTER-REVERSE-O...
Обалдеть, модуль измерения TDS 90$... Тоже подумываю автоматизировать осмос, добавить автопромывку по опустошению бака перед набором, поставить защиту от дёрганья при низком входном давлении, да и индикацию режимов и tds прикрутить. Может ещё расходомер с индикацией текущего объёма в баке. Но при таких ценах на модуль, сопоставимых с готовым контроллером, видимо придётся или подключаться к китайскому тдс-нику, или колхозить измерительный модуль на рассыпухе.
Обалдеть, модуль измерения TDS 90$... Тоже подумываю автоматизировать осмос, добавить автопромывку по опустошению бака перед набором, поставить защиту от дёрганья при низком входном давлении, да и индикацию режимов и tds прикрутить. Может ещё расходомер с индикацией текущего объёма в баке. Но при таких ценах на модуль, сопоставимых с готовым контроллером, видимо придётся или подключаться к китайскому тдс-нику, или колхозить измерительный модуль на рассыпухе.
Как я понимаю, с этими датчиками все дело в титановых электродах нормированной площадью поверхности, между ними меряется сопротивление. Я нашел просто датчик без модуля вот здесь:
http://www.ebay.com/itm/new-tds-conductivity-test-water-quality-detection-probe/222135461644?hash=item33b84e270c
А вот здесь видно, что в самих датчиках стоит компаратор или что-то подобное, т.к. 4 провода идут...
http://www.ebay.com/itm/d-d-inline-tds-meter-monitor-ro-tester-reverse-osmosis-marine-aquarium-fish-tank/190469671751?hash=item2c58e08b47
Однако вот здесь http://www.ebay.com/itm/RO-Water-Filter-LCD-Display-Control-TDS-water-quality-Life-Monitor-Alarm-System-/172233238669?&_trksid=p2056016.m2518.l4276
использован простой датчик без начинки, аналогичный первой ссылке. Человек, разбиравший этот блок, сказал, что он собран очень примитивно, чуть ли ни на ПИК контроллере. Так что вопрос в алгоритме измерения пересчета показаний датчика. Откалибровать можно по солевому раствору, контролируя обычным "фломастером", нам ведь абсолютная точность не нужно, важны относительные показания... :)
А насчёт расходомера для исчисления остатка в баке, придется же ставить 2 расходомера, либо ставить двунаправленный расходомер, но я таких не видел. Там же датчик Холла, ему все равно, в какую сторону считать. Так что надо 2 и путем вычитания получать актуальное количество, причем нужно будет его обнулить сперва на пустом баке, надо этот алгоритм продумать....
Мне в этом плане отчасти проще, система с насосом. Есть импульсы с датчика - проверяем, работает ли насос. Если да - наполнение, если нет - расход. Правда, может быть накладка при одновременном наборе бака и расходе воды, но это надо будет проверять экспериметально, возможно отлавливать изменение частоты импульсов с расходомера. Конечно, проще поставить два расходомера, но пока заказан и едет один (выделеный на это дело бюджет съели соленоиды, а ещё надо обратный клапан под JG брать, 5$ за кусочек пластика...)
Обнуление планировал сделать колхозным методом - поставить бак на подпружиненую площадку с конечником.
А я не вижу разницы с насосом или без. У вас датчик высокого давления управляет насосом и электроклапаном, у меня только электроклапаном, но цепи управления абсолютно идентичны. Обратный клапан у меня стоит интегрированный в уловой фитинг выхода пермеата из мембраны, стоил года 3 назад рублей 45 в оффлайн магазине :)
Интегрированый обратный клапан не позволяет организовать промывку мембраны обратным давлением пермеата, только прямым потоком (шунтированием ограничителя сброса). Возможно, это излишество, но пренебрегать возможностью продлить срок жизни мембраны не хочется.
С этим согласен, а вы хотите процесс обратной промывки тоже автоматизировать?! Кстати, вы какую ардуинку планируете применить для осмоса?
Промикро или нанку. В любом случае мега328 5в. В принципе ради промывки всё и затеваю. Только что заказал модуль дождя (сенсор протечки) и термосенсор дс18б20. Может задумка наконец стронется с мёртвой точки. Буду учиться в процессе :)
А датчик температуры куда планируете установить?
Либо вклеить в JG-тройник, либо использовать металлическую трубку, прижать гильзу датчика и термоизолировать снаружи. Но это всё в дальних планах, пока начну с промывочного таймера и индикации на 1602.
tekagi, приветствую! Получил я наконец из Китая Нано, даже попробовал залить в нее циклический таймер, мигает светодиодом в 1Гц, но на большее я пока не способен. Я надеюсь, у вас гораздо больше опыта в программировании? Вы еще не делали промывочный таймер?
Опыта маловато, но дорогу осилит идущий :)
Из действующих конструкций на дуине пока только мод тестера батарей от bodriy2014 (перебирал авторский скетч).
Вчера забрал с почты дисплей и i2c модуль к нему, релюшки есть, как разберусь с библиотекой таймера - начну эксперименты. Пока думаю, как снять сигнал с реле давления, не нарушая нынешнюю цепь. Скорее всего будет опторазвязка, но у самодельной ниже повторяемость, а модулей такого типа я пока не встречал.
Вечером скину список модулей, что планирую использовать. Пинайте хотя бы раз в неделю, чтобы не забросил))
Идея: Датчик высокого давления рвёт цепь +24В, подключитесь к ключевому контакту датчика, и через резистор примерно 10кОм подайте на логический вход Ардуины, ограничив стабилитроном, чтоб оставалось 3,3В. массу Ардуины соедините ествественно с массой насоса. А какой дисплей и i2c модуль к нему планируете применить, можно ссылку?
Для таймера будет достаточно собственно ардуинки, DC-DC конвертера и нескольких реле . Чтобы видеть текущее состояние системы самый обычный дисплей 1602 и модуль I2C к нему. Можно было бы обойтись и без модуля, но хочется иметь побольше свободных пинов. Ну и на будущее - расходомер, термометр, RTC, датчик протечки. Ну и кнопки, естественно.
Нашёл модуль опторазвязки, но скорее всего буду делать на рассыпухе, почти по той же схеме. Напрямую через резистор-стабилитрон соединять неохота, хотя такой вариант и не исключаю.
По управлению соленоидами и насосом - пока в сомнениях, использовать релейные модули или полевики.
Не вижу смысла пользовать реле в 21 веке при наличии дешевых полевых ключей с защитным диодом. Дайте хоть одну весомую причину? Для развязки никаких причин аналогично не вижу. Цепь питания общая, ток постоянный....
Дисплей какой то мрачный, подложка синяя и без подсветки, а что на нем можно увидеть вообще?
Не вижу смысла пользовать реле в 21 веке при наличии дешевых полевых ключей с защитным диодом.
Может и что-нибудь из серии IRLZ поставлю, посмотрим. На скетче это сильно не отразится (только инверсией выходного сигнала).
Для развязки никаких причин аналогично не вижу. Цепь питания общая, ток постоянный....
В цепи стоят два реле давления, цепляясь параллельно каждому мы можем снимать незваисимые сигналы. Если снимать через резистор - при сработке одного РД мы не увидим сработку другого. (можно, конечно, прицепить параллельно РД по резистору, и сравнивать сигналы на входах, но не хочется). Ну и охота сделать повторяемую конструкцию, без особого изменения схемы. У кого-то РД сухого хода стоит ближе к плюсу, у кого-то к минусу... При опторазвязке этих проблем нет, и оптроны копеечные. Ну и помехоустойчивость выше (особеннно учитывая выплески с соленоидов).
Дисплей какой то мрачный, подложка синяя и без подсветки, а что на нем можно увидеть вообще?
Дисплей нормальный, подсветка есть :) Единственный минус - нет кириллицы. Но мне это некритично. В принципе подойдёт любой 1602 на контроллере HD44780.
Для повторяемости надо датчики давления тупо заводить на ардуину, а соленоиды и насос запитывать ключами и не городить огород, я считаю :)
А в описании дисплея написано что подсветки нет...
Вот как например люди делают, жаль, это контроллер осмоса, скетчем поделиться не хотят... :
Не люблю я все датчики заводить на электронику. Даже при сборке простых щитов автоматики стараюсь аварийные цепи дублировать дубовыми электромеханическими устройствами. "Мозги" подвисли, реле залипло, ключ пробило - уже нет возможности отреагировать на видимую аварийную ситуацию. А так и контроллер видит аварию, и "железное" выключение происходит.
Ниже на странице на фото: "Blue Backlight". Заказывал именно у этого продавана, дисплейчик сейчас лежит передо мной, светится синим и мигает тестовым скетчем.
Вот как например люди делают, жаль, это контроллер осмоса, скетчем поделиться не хотят... :
Линк можно? Коммерческая разработка?
На работе стоит промышленный контроллер осмоса, Мега16, такой же дисплей, замер TDS и температуры, счётчик наработки часов, управление промывкой и насосом, входа от двух РД и внешнего останова от предфильтра.
Линка нет, чел в личке обмолвился что сделал несколько лет назад и забыл. скетч якобы не сохранился....
А дисплейчик в работе и правда симпатичен, пожалуй возьму тоже, на ебее блин 105руб. придётся у вашего продавца заказать :)
Наброски и эксперименты здесь. Пока реализован только таймер промывки и частично индикация.
Приветствую! Изучил Ваш счетч и схему, доработал Вашу схему под себя. Я считаю, теперь нужно реализовать алгоритм "антидребезга" чтоб насос не включался от кратковременного падения давления при наборе воды из бака, например 10 сек, а когда включает насос для начала фильтрации - одновременно включал промывку на 10 сек. А так же, по сигналу достижения высогого давления аналогично сперва включалась промывка на 10 сек, а потом уж выключался насос. Кроме того есть идея: в описании алгоритма одного из промконтроллеров осмоса реализована идея циклической промывки импульсами по 5 сек. мотивируя это тем, что длительная монотонная промывка неэффективна, т.к. отложения срывает лучше при скачках потока. Может реализовать вместо 1х15сек сделать 3х5сек с интервалом в 1-2 сек.
Кстати, цоколевка выходов Вашей платы и Нано, совпадает?
Нумерация выводов вроде одинаковая, а вот расположение отличается.
Скетч пока экспериментальный, в нём не реализован минимально требуемый функционал (например, нет управления входным клапаном/помпой).
Задержка включения набора будет, эта часть несложная. А вот как сделать антидребезг по реле сухого хода - пока не знаю. (при старте помпа может дёргаться, если давление в трубопроводе выше давления включения, но ниже гистерезиса). Скорее всего при наличии дёрганий на старте буду останавливать алгоритм на полчаса.
Про импульсный режим промывки тоже думал (хотя в нашем промконтроллере промывка сплошным потоком).
Есть ещё один подводный камень: после промывки (а также при начале фильтрации после простоя) несколько минут с мембраны идёт вода с гораздо более высоким содержанием солей (при обычных 50 доходит до 200-300), это одна из причин, почему я хочу вынести обратный клапан за пределы уголка (иметь возможность сливать эту воду в канализацию). По этой же причине не хочу делать донабор бака, а ждать опустошения, промывать и набирать с нуля. Плюс это не даст воде в баке застаиваться.
Предлагаю дребезг помпы оставить на потом, т.к. меня он не касается, мне интереснее дребезг при верхнем давлении.... Как это после промывки подскакивает TDS? Ведь промывка перед началом набора для того и применяется, что-бы исключить этот неприятный эффект - повышение TDS при начале фильтрации после простоя? 50-200 это в каких еденицах? насчёт полного опустошения бака мысль интересная, но будет ли удобно на практике, в один прекрасный момент, когда захочешь попить чаю, понять, что бак пустой и нужно ждать?
Даже если в середине набора поставить на промывку - тдс подскакивает, потом за минуту-полторы приходит в норму. Физику процесса не совсем понимаю, может за счёт того, что смывает отложения и пока более крупные отверстия не закроются проходит больше примесей, может за счёт механического перемещения мембраны поднимается часть застоявшихся отложений с внутренней стороны. Эффект наблюдал неоднократно.
Либо донабор и мириться с застоем, либо цикл с опустошением. Мне ближе второе, но первое в разы проще реализовать.
Мерял в микросименсах. Входная вода у меня вообще колеблется в пределах 1300-2000.
Хммм... Странный эффект, впервые от вас о нём услышал. Надо будет на форуме по осмосу попытать людей, у кого осмос без бака, пусть проверят!
А какого "застоя" Вы боитесь в баке? Чему там "застаиваться", если вода практически стерильна?
Бактериалка всё равно есть, а озон не поставишь - резиновая мембрана в баке его боится. Даже если набрать воду после осмоса в стерильную тару и оставить на недельку-другую тдс будет медленно расти. Не стерилизовать же регулярно систему.
Всё имхо, может где и не доглядел)
Зря волнуетесь, мембрана изготовлена из EPDM - этилен-пропиленового каучука — это синтетический эластомер, обладает высокой стойкостью к УФ излучению, отличается хорошей стойкостью к воздействию озона, низких и высоких температур, имеет высокую сопротивляемость к окислению. Периодически в бак надо добавлять немного перекиси водорода, вот и всё. Но это секрет! :)
Что касается ваших замеров в микросименсах, если переводить в милионные доли округлённо 1:2, то как то великоваты у вас получаются значения... С мембраны 25ppm в норме и 100ppm после промывки это как-то не реально...
Факты - вещь упрямая) Минимум, что мне удавалось получить - 17мкСм, когда проводимость входной воды падала до 400 и стояла филмтековская мембрана. Нонче стоит Вонтрон.
Сейчас замерил входную воду - 1740 микросименс.
Про мембрану бака почитаю, любопытно.
Озон если и буду ставить - то даже не в ближайших планах, поэтому в алгортим включать не собираюсь. Генератор зона, инжектор, рециркуляция... слишком много заморочек, как для бытовой системы. Ультрафиолет тоже - лампа недолговечная, дорогостоящая, не любит частых включений-выключений. LEDов нужного спектра (емнип 264нм) по вменяемым ценам не встречал в природе.
По схеме - это пока наброски, буду вносить изменения.
Хотите совет бывалого? При установке мембраны подматывайте штуцер пермеата (где 2 колечка уплотнительных) лентой ФУМ. Сразу заметите снижение TDS. У меня если мерить без бака - 5ррm. в полном баке - 10ppm. На входе зимой, 130, летом 200, весной все 300ppm.
Прошу вас первоочерёдно внести в скетч коррективы насчет циклической промывки, антидребезг при включении и пред/пост промывку при включении/выключении фильтрации. Я ьюы уже попробовал в железе :)))
Возникла дилемма с дребезгом по окончанию набра бака. Как ведёт себя система без помпы - не знаю, моя дёргается 3-7 раз с неравномерным интервалом (от 0,3 до нескольких секунд).
Если сделать задержку в несколько десятков секунд (минут) после первого срабатывания реле набора - можем на выходе получить распределённый во времени дребезг с интервалом задержки. Пока склоняюсь к идее по первому срабатыванию считать бак почти полным, заблокировать реле высокого давления релюшкой на некий интервал, скажем, секунд 20, за который давление в баке гарантировано поднимется выше гистерезиса реле давления. Но поскольку при возможном зависании дуины в данном положении (маловероятно, но учесть хочется) не будет возможности остановить насос по аварийному давлению хотелось бы прицепить сторожевую собаку, а ардуиновский загрузчик её не любит (по тем крохам информации, что удалось найти). Конечно, это решается сменой бутлоадера или прошивкой программатором вовсе без загрузчика, но повторяемость в этом случае будет хуже...
Ну и пока не реализовал стартовую промывку. Получается, что при каждом донаборе бака мы будем дважды промывать мембрану - стоит ли оно того, если набирается поллитра? Гистерезис-то на простеньких РД нерегулируемый.
В макетку пока не заливал, добью базовый алгоритм - начну отлавливать баги (а их, похоже, немало :) ).
Приветствую! Как продвигается дело? Что -то новостей от Вас нет...
Нужен тест в железе, хотя бы в режиме макетирования. Реализованы отработка аварий, стартовая и циклическая промывка. Ресурс картриджей пока отображается "для красоты", учёт времени не реализован. На схеме перенёс входной соленоид за реле сухого хода. Нарисуйте свою схему гидравлики и какие модификации вносили в мою электрическую, чтобы я знал различия.
Схема гидравлики у меня простая: датчик низкого давления ->клапан -> предфильтры, мембрана, бак -> датчик высокого давления. И клапан промывки мембраны на дренаже. Электрическую схему сейчас попробую где-нибудь на облаке выложить, жаль, что здесь лички нету, проще было бы в почте обмениваться файлами...
t.e.k.a.g.i@yandex.ru
У меня реле низкого стоит после входного соленоида, чтобы система лишний раз под давлением не стояла.
У меня реле низкого стоит после входного соленоида, чтобы система лишний раз под давлением не стояла.
Простите, я не совсем понял смысл? Датчик низкого давления показывает наличие давление в водопроводе, если его нет- все цепи размыкаются. а у вас что получается? Если система в простое (бак набран, разбора нет) то ваш датчик низкого показывает нормальное давление. И вот отключили воду в водопроводе, а после этого произошел отбор питьевой воды из бака. В моем случае система будет ждать появления давления в водопроводе с закрытым входным клапаном. А в вашем - откроет водной клапан и после слива воды из колб снова закроет его по причине упавшего давления. Смысл?
Соленоид стоит на входе в колбы, сразу после входного вентиля. В обычном режиме (бак набран, РД высокого сработало по набору) входной соленоид закрыт, давления в колбах нет (не стоят лишний раз под нагрузкой, меньше шансов, что лопнет в неподходящий момент). Когда давление в баке падает - открывается входной соленоид, если давление в магистрали в норме - стартует помпа. Самотока в канализацию нет, если входной соленоид открыт, но давление на входе ниже порога - помпа не пропускает. Поэтому и хочу видеть различия в гидравлике и схеме, для Вашей и моей системы будет разный алгоритм.
Такая схема была изначально (покупал модуль с насосом и рд в комплекте, уже расключённый), я её с тех пор не менял. Переносить РД на вход неохота - оно у меня под JG, а входные патрубки в систему 3/8 и 1/2.
P.S. Добавил промывку по окончанию набора. Вроде базовый функционал весь, нужен тест. Пока вместо учёта и индикации срока эксплуатации картриджей выводится пара промежуточных счётчиков (для отладки). В реальной системе может появиться растянутое во времени дёрганье из-за невозможности отстроить гистерезис реле высокого давления, своеобразный паразитный цикл промывка-набор-сработка_РД-промывка-стоп. А может и не появиться.
Схему отправил в почту, меня китайцы с клапаном промывки подвели, прийдётся перезаказывать, но остальной конструктив можно потестировать. Правда дисплей тоже пока не пришел...
Можно и без дисплея, повесить светодиоды на выхода, чтобы было видно текущий режим.
По схеме: нужны резисторы по 10к с РД на общий, желательно конденсаторы по 100н параллельно контактам РД. Модуль протока планируется без компаратора, просто плата с расчёской? Я не планировал использовать аналоговый вход, рассчитано на 0 или 1 с модуля. Ну и код под эту схему придётся причёсывать.
Что касается протечки, естественно с компаратором, вы ссылку в начале темы давали, можно рассчитывать на него.
Пока ориентируйтесь на такую схему (перевернул сигналы с РД, поставил подтяжки и кондёры антидребезга). Пока подумаю, что поменять под неё в скетче.
Так выглядит моя макетка с опторазвязкой и аварийной отсечкой реле:
Ардуинку в готовом устройстве лучше делать съёмную, на штатных штырьках, для удобства перезаливки скетчей (чтобы периферия не мешала).
Управление вентилем стояка какого типа? Просто непрерывная подача с отключением концевиком?
А зачем делители на затворах ключей?
Вентиль стояка планируется такой http://www.ebay.com/itm/G1-2-039-039-DC12V-Electrical-DN15-Valve-2-Way-CR02-3-Wire-Brass-Motorized-Ball-Valve-/142140926562?&_trksid=p2056016.l4276
А зачем делители на затворах ключей?
Это не делители. Резистор от дуинки 470 Ом ограничивает ток заряда затвора (нежные шибко китайские меги, лучше перебдеть), резистор на общий в 100к не даёт полевику бесконтрольно открываться, пока выводы дуинки находятся в высокоимпедансном состоянии (при старте, пока работает загрузчик, а это несколько секунд цветомузыки).
Вентиль стояка планируется такой http://www.ebay.com/itm/G1-2-039-039-DC12V-Electrical-DN15-Valve-2-Way-CR02-3-Wire-Brass-Motorized-Ball-Valve-/142140926562?&_trksid=p2056016.l4276
Как я люблю продаванов, которые не только не дают документации на товар, но ещё и шильдик стесняются сфотографировать... То ли внутри аналог сервы с обратной связью, то ли двигатель с переключаемой полярностью, то ли один общий провод, один на открытие, один на закрытие...
upd.: Что-то нашёл. Один хвост общий, один на открытие, один на закрытие. Вроде контроллер внутри сам выключает двигатель в крайних положениях. В схеме под него надо 2 ключа, либо делать закрытие автоматом, а открытие в ручном режиме перекидной кнопкой. Вдобавок управление реализовано по плюсовому проводу, поэтому полевики нужны Р-канальные, плюс управляющий биполярник на каждый. Или опять возвращаемся к сдвоенному реле.
upd.2: В процессе экспериментов пару раз подвесил ардуинку, в основном при пропадании контакта в макетке или по цепям питания. Всё больше задумываюсь про watchdog. Но это тянет за собой смену загрузчика на оптибут либо прошивку хексом вовсе без загрузчика, через программатор.
Появилась мысль: добавить модуль часов с календарем, соответственно можно будет сделать напоминалку по замене картриджей по сроку, если не выработан литраж. Особенно это касается постфильтра. Ну и раз уж устройство будет светиться с дисплеем на кухне, пусть хоть полезную роль часов заодно выполняет :)
Учёт времени наработки картриджей и напоминалка будет, но к RTC пока привязываться не хочу. Просто буду считать сутки работы прибора. Часы на 1602 не слишком юзабельны - цифры мелкие, приглядываться надо. Если хотите - можете добавить, примеров кода часов хватает. Выводить можно в свободное место дисплея.
Изначально выводил время до следующей промывки, но видимо и от этого откажусь - таймер сбрасывается по событиям, поэтому получается не совсем наглядно. Картриджи будут отображаться пиктограмками, четыре штуки: чистый, чуть загрязнён, средне загрязнён, загрязнён. По окончанию срока, заданного в скетче иконка "загрязнён" будет мигать.