Привет. Мы полностью переписали мобильную версию Хабра. Теперь все работает быстрее и выглядит современнее.

Автор, поясни пожалуйста зачем нужен индекс давления? Ведь это реально бездельное включение электромашины, поскольку заведомо неизвестно, сколько будет продолжаться отбор воды из накопителя.
Полагаю, оптимальным было бы включение на нижнем давлении, и отключении при достижении верхнего порога, эмулируя электромеханическое реле. Так насос будет включаться реже всего, и переживать наименьшее количество разрушительных моментов пуска.
Вобщем, поясни свои мысли по этому вопросу, почему решил что реализовывать эту фичу действительно необходимо.
я так думаю это для того, чтобы при быстром падении давления насос включился до того, как станет поздно. Насос же не сразу начинает качать. А давление падает быстро. считайте это адаптивным нижним порогом.
все верно, спасибо. если индекс не срабатывает, сработает по низкому. у нас 3 дома и одна сисьема водоразбора. есть моменты когда можно включать преждевременно, для этого был придуман индекс этот :)
Частотник вам нужен на насос.

Он стоит знаааачительно дороже ардуины

Вот только если не следить за частотой включения/отключения насоса — может оказаться, что не так уж и дорого… :)
На низком давлении насосу включаться легче.
Насосу без разницы на каком давлении включаться, он не поршневой.
Двигателю — есть разница, ибо стартовый ток. Исправный двигатель запустится при любом давлении из рабочего диапазона, да.
Сопротивление вращению крыльчаток насоса разве зависит от давления воды (особенно в самом начале, пока не набраны рабочие обороты)?
Вот как раз неделю назад отвез в ремонт насос с таким вот дефектом:
— при давлениии меньше 1 атм — стартует нормально, набирает положенные 3 атм.
— при давлении больше 1 атм — не стартует совсем, ток потребляет как при старте.
Зависит. Но для исправного двигателя это не должно быть критично.
Что за насос? Ещё в ремонте?
electro-torg.com.ua/nasos-skvazhinnyj-550vt-sturm-WP97445 — кажется такой. Что-то из брендированных китайцев. Случай гарантийный, мастера не торопятся… Запасной насос есть, я тоже не тороплюсь ;)
Он ремонтопригоден? Сомнительно. Когда будет результат, отпишитесь.
Так для этого служит обратный клапан. То есть в трубах всегда есть вода и насос не наполняет из каждый раз, фактически да, качает сразу.
у меня быстрое падение давления предотвращает расширительный бак + ещё вода в нем уже не ледяная как сразу из скважины
использую реле KPI-35, основная проблема — конденсат от холодной воды, реле приходится примерно раз в год чистить т.к. заростает окислами
интересно как датчик этот отнесется к постоянному конденсату
А не помогает периодическое пробрызгивание ВДшкой?
ВД-шка бывает очень разной и довольно агрессивна, помоему проще замазать всё техническим вазелином… но дорогова-то.
У меня от сырости тоже реле давления накрылось. Я нашёл бесхозный манометр на работе до 4 кг у которого стрелка это контакт и ещё два контакта есть подвижных (настраиваемых) и обвесив это дело релюшками и контактором подключил к скважине. Уже несколько лет идеально работает.
Видел на заправках продают какую-то наножидкость для защиты от коррозии. Может брехня, а может и правда чудо науки. Nanoprotech или что-то такое.
Теплоизоляция + вентиляция наше все.
тут ещё один скрытый плюс: если производительности насоса не хватает то включать его по нижнему пределу уже поздно. А вот включение заранее позволит распределить пиковую нагрузку между накопителем и насосом и вода в накопителей кончится позже. Возможно этого хватит, чтобы пережить без проблем эту пиковую нагрузку.
Вообще то это неправильно — наличие пиковых нагрузок, с которыми не справляется насос, должно компенсироваться гидроаккумулятором. Например это может быть смыв унитаза пока кто-то другой моется в душе. Если насос не справляется систематически с водоразбором, то надо что-то делать с насосом и/или с источником воды.
Думаю автор не до конца понимает суть связки гидроаккумулятор-реле и просто реализует себя как программиста, потихонечку убивая мотор :-) Но как можно обладая умом, способным писать программы не разобраться с двумя гайками???
А разве нельзя применить PID-регулирование? В 99% случаев оно помогает.
верно, я тоже так подумал, но здесь нет метода ШИМ для управления насосом, тоесть для корректировки ошибок и правильного включения, так как есть автоматика насоса и она уже управляется стартом насоса.

здесь только адаптивный старт, либо старт при достижении низкого и выкл при достижении высокого.

спасибо, я тоже люблю пид, но он не для такой простой задачи
индекс падения давления я рассчитываю тогда, когда в гребенке остается половина давления и каждые 10 секунд проверяется предыдущее и текущее, если разница составит меньше установленного по дефолту 0.05 — тогда меняется текущий индекс и включается насос на ОПЕРЕЖЕНИЕ, тоесть по логике идет быстрое водопотребление


Еще чуть-чуть и Вы заново откроете «скорость изменения давления» и «ускорение изменения давления» )) А если Вы дойдете до ускорения, то Ваш алгоритм, по идее, должен коренным образом упроститься.
мне так захотелось считать, у вас есть конкретные примеры другой реализации? я ж не против — выкладывайте )
спасибо
Тут не ШИМ нужен, а, как вам уже заметили, преобразователь частоты.
уже смотрю в сторону ПЧ. спасибо.

ШИМ я имел ввиду для PID регуляровки, как параметр, который можно плавно увеличивать или уменьшать.
У меня насос включается по падению давления, и выключается по прекращению протока. Мне этот вариант нравится больше всего.
ага, у меня тоже так почти в 80%

Проток механическим датчиком определяете или по давлению?

Не знаю, после закрытия крана насос работает ещё 15 секунд.
Автоматика насоса такая: www.jeelex.ru/catalog/komplektuyushchie/avtomatika-dlja-nasosa
Из описания: «Блок автоматики для насоса производит запуск насоса при понижении величины давления в системе и остановку насоса в случае прекращения потока жидкости.»
Jeelex ныне — бренд, жестко противопоказанный к применению, особенно, если небезразличен результат.
это вроде частотника, который сделали сторонние разработчики? вроде бы сейчас к любому насосу более менее известному, компании производители продают свои частотники, адаптированные под свои же насосы. Так как частотник, это не просто вкл\выкл насос, там намного все сложнее с частотой вращения (глубоко стаф не знаю)
В джилексе не частотник, к сожалению.
Частотник доступный ищу, но пока не попадался. Вот тут бы цифровой пуск пригодился, т.к. частотник снизит нагрузки и на насос и на сеть, и тогда уже можно предиктивный старт мутить.
Посмотрите в сторону Inovert. Я с таким баловался, когда контроллер насоса разрабатывал. Однофазный вход/выход, удобен для бытового применения. так же есть и трехфазные варианты.
Скорее, это защита от залипания реле давления. Хорошо, если она сработает.
Иначе, насос может умереть.

У меня — по давлению в расширительном бачке. Так же просто, и манометр не забъётся ничем, так как сквозь него вода не течёт. Плюс запас воды с давлением при пропадении электричества.

Для дома не плохо! Я делал подобное, только с промышленным датчиком с выходом 4-20мА, все равно лежал без дела. Сделал ещё его калибровку и защиту по сухому ходу насоса, и защиту от закисания вала(проворот вала на несколько секунд раз в сутки если насос не включался за эти сутки.) В качестве шунта на датчик использовал прецизионный резистор на 1Вт.

Ходил уже этим путём. Началось всё с того, что у меня это механическое реле просто развалилось через лет 5 службы. Заклинило, насос не выключался (обычный, не погружной), перегрелся (термозащиты нет), труп, 70 евро на ремонт кишок. Собрал по подобной схеме с таким же датчиком на таком же твёрдотельном реле. Через несколько месяцев сдохло это реле, насос не выключался — труп, 70 евро на ремонт кишок. Теперь собрал по схеме твердотельное реле + пускатель. Работает чётко. Термозащиту всё ещё ленюсь сделать :))
хороший опыт, я то думал я один этот датчик запихнул, спасибо хоть есть и другие. опыт полезен, можно больше про реле? как сдохло?

Аналогично механика забилась отложениями и сдохла. А твердотельное реле рекомендуют ставить на радиатор. Греется сильно.

Затрудняюсь скзать как именно. Я его разобрал, там залито всё компаундом, отдирать эту гадость поленился. Но прозванивалось оно насквозь.
Это ваше реле — на самом деле обычный оптосимистор, они крайне отрицательно относятся к реактивной нагрузке без цепей компенсации. Обычно для таких случаев когда ну очень надо параллельно симистору ставят снабберую цепочку — последовательные резистор и конденсатор, они рассчитываются исходя из полного сопротивления нагрузки, косинуса угла реактивного сдвига фазы(должен быть указан на насосе) и свойств самого симистора(допустимый предел dV/dt) обычно номиналы находятся в районе 100Ом@1Вт и 0.1мкФ@600В. Ясное дело, в ваших модулях использован самый дешёвый симистор, оттуда все беды.
Но есть ньюанс — снабберная цепочка во-первых рассеивает тепло при работе симистора, во вторых создаёт утечку тока через выключенное «реле» порядка 1-2мА.
А, и очень важное замечание — учтите что симистор может самопроизвольно открыться от превышения dV/dt(скорость роста напряжения на выводах) т.е. от помех в сети, и что самое интересное — от КЗ в нагрузке когда симистор выключен. т.е. в отличие от реле когда симистор выключен это не означает что можно что-то делать с нагрузкой, даже банальная коммутация цепей внутри нагрузки может привести к срабатыванию симистора и выдаче импульса напряжения до 10мс(один полупериод).
Есть и snabberless симисторы

Примените тепловую модель :)

90% разговоры за жизнь. Вам бы друзей чтоль завести, да под пивко поговорить…

Единственно полезное тут алгоритм. Мог бы быть, если бы был доработан.
А так… «Прикрутил китайскую фигню и запрограммировал андурину» таких статей тут полно.

Ну и про реле… не верьте надписям. «безопасность» это не про них. Пример писали комментами выше. Контактор наше все.
>Контактор наше все.
Нет, тема полностью раскрывается при гуглении «безшумный контактор» )
Контакторы тоже бывает подводят… Особенно, они любят «залипать»,
Это да, особенно дешевые марки грешат. Еще до 25А на фазу автоматические выключатели и контакторы — семь-восемь — могут работать, то выше — контакты под нагрузкой синеют и горят (слава Богу, при наличии постоянного контроля только они).
а Вы китайские не берите. На всех заводах успешно пашут с лохматых годов. На каждом станке стоят.
И ЗИПа на тех заводах много-много ящиков, да-да.
Дохнуть умеют даже понтовые шнайдеровские контакторы, как практика показывает.
А сейчас можно взять что-то не китайское?
есть РОССИЯ — ОМРОН, но ростите, ценник за реле запредельное (у нас в Минске) — 30$ — я даже не против его взять, но — гарнтии какие, что там внутри начинка не такая же, как в китайском реле )))) — у нас в беларуси так моники в горизонте делают — наклейку клеяют свою и все… красота — «made in Belarus» :D — у Вас не так, я надеюсь?
красота — «made in Belarus» :D — у Вас не так, я надеюсь?
Ну Samsung и Lg лепят «Сделано в России», но они как минимум собирают телевизоры полностью в России и Lg точно платы печатает тут же.
Есть DEXP, фоток завода нет и видео от туда нет. Нашел вакансию начальника цеха, зарплата 40-60 т. рублей. Ну то есть с такой зарплатой начальника цеха предположу, что там максимум телевизоры в коробки засовывают.
Да и к Китаю люди в России давно нормально относятся, понимают что все производится там. У людей к надписи «сделано в России» наоборот временами неоправданный скепсис возникает. К той техники Samsung или Lg например или автомобилям. Типа все привозят из Китая или Европы а тут просто болтики закручивают.
В том-то и беда, что все пять умерших за последний контакторов- отечественного производства, два из них не проработали и пары месяцев. Причем это были отнюдь не мелкие аппараты на 5А, а здоровенные «железяки», рассчитанные на номинальный ток 250А.
в том то и дело, что статей про замену механичского реле я не нашел, пытался искать, или плохо или мало. мне было интересно получить опыт и понять, как это будет работать в режиме реальности, а не в режиме 5 минут в обвесе с соплями )))

90% за жизнь, верно — жизнь наше все, гораздо интересней прокатит такая статья, чем сухая выжимка кода с расчетом PID регулятора или выявления ускорения падения воды в системе :), а так — статья зацепила Вас, вы даже коментарий написали, мнение высказали, полезную информацию про контактор (почитаю ещё про них).

друзей хватает, баня на фотке выходные не простаивает ))) — а вообще да, удаленность от города, живя в лесу, встречая каждый вечер зайцев на дороге, сильно расстаскивает :D

добра и пива всем! )
А ссылкой на страничку продажи датчика не поделитесь?

Какой у него диаметр резьбы?
По фото похоже на 1/4", в описании встретил только 1/8".

у меня 1\4"
Дайте ссылку на Ваш датчик
Спасибо

У меня два таких датчика меньше, чем за год корродировали и поросли ржавчиной на входном отверстии, после чего перестали работать. Причин не знаю.

Очевидно, использована не бронза, а что-то подешевле. али такой али…
У меня была идея на обычный стрелочный манометр наклеить диск с прорезями и 2 оптопары. При наличии прямых рук и нескольких оптопар можно кодировать угол поворота стрелки в код Грея… Но поленился.
Easy-removal-Carbon-Steel — не stainless steel, Вас не заинтриговало?
В придачу описание применения начинается с гсм материалов и в конце добавили воздух с водой (ну типа это тоже можно)
ну так, для этого мы здесь, что бы проверить и убедится в том, что это может жить или нет :)
Я провел эксперимент по использованию таких датчиков давления длительностью более двух лет.
Датчики использованы в домашней системе для повышения ситуационной осведомленности, как сейчас модно говорить :)
Датчики измеряют давление холодной и горячей воды.
До этих датчиков стояли механические автомобильные датчики давления масла. Менее чем за год входные отверстия зарастают ржавчиной и датчики замирают на одном показании. Я пару отказавших распилил — ржавчина заполняет все свободное пространство до мембраны.

Электронные датчики как тут уже написали — точно так же зарастают.

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

Я решил, что проблему можно решить, если входное отверстие датчика заполнить консистентным веществом типа густой смазки.
Я порылся в инете и нашел такое вещество :) Это специальная силиконовая смазка. Густая, допущенная для применения в пищевой промышленности, несмываемая водой.

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



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

Если кому интересно конкретное название смазки — напишу завтра. Сейчас выходить на балкон сильно лень :)
А можете показать пример мембран и где их купить, а то первая страница гугла всё под заказ и по запросу.
А то смазку как-то всётаки не хочется…
загуглите «манометр с разделительной мембраной» или «разделительная мембрана для датчика давления» или «мембранные разделители сред».

Насчет где купить не знаю, однако на запрос «купить ...» и заход по ссылке с ценой www.npo-manometr.ru/products/25/152 дает цену в 3750 руб. Полагаю, что если там порыться — то и способ покупки найдется :)
Если кому интересно конкретное название смазки

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

Литол не стоит использовать в системе подачи питьевой воды :)

Вот фото тюбика с двух сторон. Смазка называется HUSKEY HVS-100:





Это у данного конкретного датчика так. В том, что я заказывал была указана нержавейка.

да, заметил в описании, идет защита от ржавения, но не нержавейка основа. но нашел замену www.aliexpress.com/item/1PC-New-Arrival-Stylish-Top-Selling-300-psi-Stainless-Steel-Oil-pressure-Sensor-for-Oil-Fuel/32818589938.html

надо будет проверить его :)

Если приглядеться и сравнить с вариантом с ebay, то качество изготовления хуже.

кстате, как они у вас оржавели, если были в воде? нужен кислород для процесса корозии. вроде как трубы стальные внутри ничем не покрыты и ржавеют только спустя надцать лет…

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

Электролизом попахивает. спасибо за информацию — скиньте фото как получится.
если Вас бьет от воды — значит у Вас где то фаза (не дай бог) или минус на воде… Вы оккуратно там. Заземление проверить надо.

либо зимой, как частое явление, Вас статика бьет от воды, это нормально, надо носить меньше синтетики.

кстате — если выходите из авто, и хватаясь за двери, Вас бьет током, тогда надо сделать так:

открываете дверь, СНАЧАЛА ногой на землю, а только ПОТОМ ХВАТАЕТЕСЬ РУКОЙ за дверь и все… Вас ТОКОМ не ударит, потенциал с Вас уйдет в землю ;) — такой вот лайтхак, сам заморачивался и напрягало зимой лупить по рукам, пока не вычитал такой трюк заземления…
при выходе из машины нужно постоянно касаться металлической части двери, можно через краску, тогда статикой бить не будет. Важен именно сам момент отрыва спины и задницы от сиденья, именно тогда возникает заряд статики
я указал метод, который работает ;) — когда вы из машины вылазите, вы ещё сидите попой на сиденье, это это уже не важно, главное сначала заземлиться, а потом уже хватать дверьку ;)
Ха! трюки… ebay «static removal key» специальные брелки для этого давно есть! А если обувь хорошая, то это не снимет статический заряд и совет не поможет…

Хм. не могу уже найти брелок со смайликом…
Если это вода из скважины (а иначе зачем насос?), то там может быть железо само по себе. У меня, похоже, ржавчина даже на внутренней поверхности ПНД труб есть…
300psi ~ 20bar для водопровода не многовато?
т.к водопровод 2-6 максимум…
это я так — нашел из нержавейки. конечно много ;)
Может оказаться даже мало во время очередного гидроудара…
гидроудары, судя по показаниям, получаются в районе 0.3-0.4 бара — не больше…
1/8" но есть
ebay.to/2BNunkv
1/8" на 1/2"
Я правильно понял, что там читается значение АЦП и из него сразу (точнее после проверки корректности) считается давление? А как же усредение, фильтрация и т.п. Я только что дописал прогу для управления твердотельным котлом, плата на ATMega8, так вот, там значения АЦП (даже со спец подготовкой типа режима уменьшения шума при конвертации) скачут на 2 младшие единицы. А при хорошей фильтрации значимыми получается даже «десятые» от этих единиц. Какую точность без этого всего получаете?

void ADCGetADCTemprCZ2(void)
{
uint tmpData;

ADMUX = (1<<REFS0)|(1<<MUX1); //
__delay_cycles(50);

/*MCUCR |= (1<<SE)|(1<<SM0);
__sleep();*/

ADCSR |= (1<<ADSC); // Start ADC
while(!(ADCSR & (1<<ADIF))) {}; // Weit ADC complite flag

tmpData = ADCL;
tmpData |= (ADCH << 8);

if (CheckADCDataCZ2(tmpData) == true) tmpData -= MIN_TEMPR_ADC;
else return; // выходим из функции не применяя "плохие значения"

if (prgState.cz2ApplyFilter)
{
  ADCTemprCZ2 = Filter(ADCTemprCZ2, tmpData);
}
else
{
  ADCTemprCZ2 = (tmpData - 1) << 8;
  prgState.cz2ApplyFilter = true;
}

}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

uint Filter(uint inOldData, uchar inNewData)
{
uint deltaOrOut, tmpData;
uint inNewDataLong = inNewData << 8;

if (inOldData > inNewDataLong)
{
  deltaOrOut = inOldData - inNewDataLong;
  
  tmpData = deltaOrOut >> 6;
  deltaOrOut = inOldData - tmpData;
}
else
{
  deltaOrOut = inNewDataLong - inOldData;
  
  tmpData = deltaOrOut >> 6;
  deltaOrOut = inOldData + tmpData;
}

return deltaOrOut;
}

//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

schar ADCToTempr(uint adcData)
{

ulong tmpData;
schar out;

tmpData = (adcData - (settings.temprMinus10Offset << 8));
tmpData = tmpData * settings.temprKoefMult;
tmpData = tmpData >> 16;

out = tmpData - TEMPR_MINUS10_CONST;
return out;
}

какой то добрый человек уже закинул пул реквест на мой код и добавил медиану, спасибоему огромное. фактически в тестах показало что нет скачков, но иногда бвает 0.01bar может шалить, но в рамках интервала 1.6-3 это никак не влияет на работу.

медиану добавил в код.

Может, невнимательно читал, но сколько времени данная конструкция у вас уже эксплуатируется?

тестово начал эксплуатировать неделю, пока полет нормальный — обязательно отпишусь здесь в коментариях через месяц \ год — что и как идет. спасибо

Пожалуйста, не поленитеь отписаться через полгода-год.
Ставил себе точно такие датчики — дохли через 3-4 месяца. При демонтаже были все в ржавчине (забор воды из колодца, трубы — полипропилен, больше следов накопления ржавчины нигде нет).
Плюнул, вернулся к механике.


К слову, при подыхании показания датчика не падают к нулю, а становятся рандомными.

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

1. хотелось применить этот датчик не на соплях в макетке, а рально в девайсине
2. применить сделаный девайс в домашней системе и проверить как оно, твое устройство будет реально эксплуатироваться
3. проверить живучесть таких устройств с АЛИ, которые визуально выглядят хорошо
Посмотрите продукцию Pumpela (Санкт-Петербург) — очень неплохие изделия, еще из с защитой от ХХ без включения на проток!
Ставьте датчик не в контур водоснабжения, а через мембрану. Датчик-емкость разделенная мембраной-контур водоснабжения. В ту часть разделительной емкости, куда вкручен датчик, залита нейтральная (по отношению к материалу датчика) и безопасная (по отношению к человеку) жидкость.

А вообще на корпусе гидроаккумулятора есть ниппель накачки, через который и можно контроллировать давление.
А вообще на корпусе гидроаккумулятора есть ниппель накачки, через который и можно контроллировать давление.

Вот за эту идею — спасибище!

Только не забудьте откалиброваться, воздух в ноль не падает.
Плюс еще переходник поискать.
А бюджетную разделительную мембрану сможете посоветовать?
Совсем бюджетно? Сантехнический редуктор резьбы (втулка резьбовая) в-В и Н-н. Большими резьбами одна в другую вкручивается, между ними зажимается кусок резины. Меньшими резьбами цепляем к системе и датчику. Примерно так:
датчик+в-В+резинка+Н-н+система. Чем больше будет диаметр соединения втулок (больше размер мембраны), тем лучше.
Спасибо! А готовое бюджетное решение сможете подсказать?
Слово «бюджетное» в вопросе подразумевает определение размера бюджета. Кому-то 100р дорого, кому-то и 10000р — расходники.

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

Не по предмету:
Скрытый текст
КМК, это крысёныш был, и это плохо.
у Вас хорошие познания, но вроде как мышка, не крыса. у нас тут крысы не водятся, а вот полевок хватает… летом заскочила, гоняюсь за ней все, открыт гараж был.

кошку бы тебе надо ;)

ps: забыл отписать: это были мыши ;) — а не крысы. 1 словил на физическую мышеловку, двоих добил ядом (сорян, но запах от них ужасный) — все трое были представители мышей. избавился от ребят, все почистил и сделал дезинфекцию. в гараже воцарило спокойствие
Скажите, мышь вы ловили с помощью Arduino, или там уже STM32 надо брать?
:) — ардуинка, вечером решил за 15 минут собрать из того что было, ради фана. заодно проверить как срабатывает линза Френеля на мышке :D
Для таких устройств желательно использовать автоматический RESET в случае зависания. А то если контроллер зависнет в момент включения насоса, могут возникнуть потом некоторые траты за электричество и всякое такое.
Микроконтроллеры ATmega имеют встроенный механизм WatchDog Timer. В Ардуино он не прописан, но добрые люди сделали поддержку этой функции
www.cyber-place.ru/showthread.php?t=550&page=13
Там механическое реле осталось для таких случаев.
механика на случай краха электроники, которая в тестовом сейчас работает. тоесть прода перекинуть всегда можно обратно
продумывал механическое вклинить паралельно\последовательно — смысла болшого нет, тупики все равно получаются в случае выхода твердотельного
А не было мысли поставить второй датчик после магистрального фильтра, чтобы этот самый фильтр менять не визуальным контролем, а по достижению порогового значения дельты показаний двух датчиков?
меняю раз в 3-5 месяца(ев) и как то ОК — не напрягает ;)
У меня колодец и потребность выше — в среднем раз в месяц замена фильтра происходит. Да и хочется оперировать более объективным критерием нежели визуальное загрязнение и уже по факту ослабевший напор воды из под крана. Пока не встретил готового решения.
если найдете решение — буду рад услышать его, возможно поделитесь статьей. спасибо
Замена по календарю — надежно и бюджетно ;)
Можно наколхозить 2 датчика давления (на входе и на выходе фильтра), измерять разницу давлений (можно даже без ардуины, хватит и операционного усилителя) и зажигать светодиод при превышении.
В вашем случае, думаю, надо 2 фильтра — грубой очистки и тонкой очистки и 3 датчика.
защита от сухого хода предусмотрена?
пока продумываю ка интегрировать в текущий алгоритм с проверкой давления после включения реле. по факту есть тепловое реле в автоматике… но можно добавить и со своей стороны.
Может уж тогда и плавный пуск вкорячить, чтобы не было бросков тока в момент включения (реализуется программно либо на U2008B). Заменить оптореле связкой MOC + симистор. Шунтировать симистор относительно слаботочным реле, чтобы уменьшить безполезный нагрев…
много чего можно добавить
Плавный пуск асинхронного двигателя выглядит немного сложнее ;) Дешевле купить еще один насос.
А вот производители электроинструмента не видят в этом ничего сложного
Ссылку на электроинструмент с асинхронным двигателем, плавным пуском и ценой в студию ;)
В этом инструменте универсальный коллекторный двигатель, а не асинхронный двигатель. Первым можно управлять напряжением, вторым частотой. Ставить/делать частотный преобразователь в эту конструкцию, весьма не бюджетно выйдет.
Вы правы, но только наполовину.
Асинхронным двигателем нужно управлять по закону U/F, т.е. с изменением частоты должно меняться и напряжение. Однако, не вижу причин по которым двигатель не мог бы стартовать с пониженного напряжения.
не вижу причин по которым двигатель не мог бы стартовать с пониженного напряжения

Стартовый ток. Ну не умеет асинхронник крутиться медленно.

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

Они традиционны для универсальных двигателей, не для асинхронных.
Ну здрасьте. Например GE Astat Plus — как раз для асинхронников и как раз симисторный.
Загуглил.
Устройства плавного пуска General Electric серии Astat Plus — полупроводниковые устройства плавного пуска для трехфазных двигателей переменного тока


Трехфазный двигатель от однофазного (с здоровым таким фазосдвигающим конденсатором) таки отличается. Реактивная нагрузка же. И что-то мне кажется, что этот гаджет будет стоить как насос вместе со скважиной.
А ну с однофазными конечно сложнее. Я даже однофазного (на выходе) частотника прямо с ходу не назову.
В начале пуска устройство ASTAT S подает на двигатель пониженное напряжение, а затем постепенно повышает его до номинального значения, избегая, таким образом, возникновения больших токов и обеспечивая мягкий пуск и останов. При этом электродвигатель должен быть пригоден для пуска при пониженном напряжении.


Обратите внимание на выделение!
Также, вы понимаете, что это специфичное, дорогущее и сложное устройство, а не мелкая универсальная коробочка с парой деталей от электроинструмента?
Тут уж и мелкий частотник-то под такой двигатель как у этого насоса будет дешевле…
И что это даст, кроме вероятности того, что он не стартует вовсе?
можно добавить дачик протока
ebay.to/2y7wGgc
заодно по нему можно будет считать потребление и косвенно загрязнение фильтра.
я себе поставил вот такую управлялку: fiting.com.ua/p362188900-rele-davleniya-zaschitoj.html
За изделие и прямые руки, безусловно, плюс. Но если исключить из текста все приветствия, поздравления, хвалебные слова самому себе и прочие оправдания, то останется примерно 10 строчек. Из которых половина о том как можно умножить и разделит на 10 чтобы хранить все в памяти в человекопонятном виде вместо того, чтобы хранить значение от 0 до 255 (как на выходе с АЦП) и преобразовывать в человекопонятное при выводе на экран.
Задача надуманная. Ладно бы плавный пуск насоса организовали… А так это замена 1 типового модуля на 4 редких (датчик-источник питания-контроллер-индикатор; куда бежать, если в пятницу вечером датчик с алиэкспресса сломается?). Механическое реле (при правильной регулировке) просто работает годами. Если напрягают щелчки — можно завернуть в шумоподавитель (хотя, раз оно осталось в системе и продолжает щелкать — думаю, это не повредит).
Гидроаккумулятор должен быть литров на 100, раз от него запитаны еще и соседи.
Давление воздуха в нем (без воды!) должно быть 1.5..1.7 атм.
Нижнее давление в в автоматике должно быть на 0.2-0.3 атм выше чем давление воздуха — тогда не будет провалов давления при пуске насоса.
Датчик давления (или реле) желательно монтировать поближе к гидроаккумулятору.
Хороший коммент.
Не надо сочинять новый механизм там, где достаточно грамотно настроить имеющийся.
Не буду спрашивать, нафига там вообще float, а спрошу, в чем проблема с записью его в EEPROM?
www.arduino.cc/en/Reference/EEPROMWrite
value: the value to write, from 0 to 255 (byte)

возможно профи ардуинщики меня тыкнут куда то :) в другой мануал

float чем вам не нравится? он применяется в давлении так как цена изменения давления идет 0.01 — мне так захотелось учитывать.

аналог выдет от 0 до 1023 — тоесть от 0 до 5V
этот сенсор выдает от 0.5-4.5В

так как 0-1023 это больше чем byte (uint16_t), а выводить как вы визуально будет еданные без float?

Если есть конкретнеы предложение, буду рад выслушать, спасибо :)
byte(int/uint8_t) — это как раз и значения от 0 до 255. А uint16_t — это значения от 0 до 65к, 1024 туда поместятся. А еще проще умножать сразу на коэффициент пересчета(какой, там, 11?) и хранить значение в миллибарах каких-нибудь. Т.е. давление у вас 3бар, АЦП выдает 274, вы умножаете на 11, получаете 3014 и его храните. А если надо вывести на экран/в лог — вычисляете сначала целую часть, деля на 1000, а потом дробную, беря остаток от деления. Все сравнения внутри программы ведете в миллибарах.
Таким образом, избавляетесь от float, ускоряя операции, и экономите на памяти, храня два байта вместо 4, да еще и не теряя в точности.

А по поводу EEPROM, что вам мешает записать эти два байта, составляющие uint16_t(или 4 в случае float) в разные ячейки?
спасибо за подход, рассмотрим его в рамках оптимизации кода.

изначально я тоже хотел хранить и оперировать АЦП данными, но потом решил перейти на более простую и понятную форму (каждый делает так как ему удобно)

касательно памяти — не вижу проблем сторить большие даные разбивая на адресные пространства.

спасибо за время
Что-то типа.
#define EEPROM_OFFSET_VALUE = 0x10
#define ADC_MBAR_FACTOR = 11

typedef union u8_u16_t
{
   uint16_t u16;
   uint8_t u8[2];
} u8_u16_t;

uint16_t read_value()
{
   u8_u16_t value;
   value.u8[0] = EEPROM.read(EEPROM_OFFSET_VALUE+0);
   value.u8[1] = EEPROM.read(EEPROM_OFFSET_VALUE+1);
   return value.u16;
}

void write_value(uint16_t value_u16)
{
   u8_u16_t value;
   value.u16 = value_u16;
   EEPROM.write(EEPROM_OFFSET_VALUE+0, value.u8[0]);
   EEPROM.write(EEPROM_OFFSET_VALUE+1, value.u8[1]);
} 

void measure()
{
   uint16_t raw_value = ADC.read(1);
   write_value(raw_value*ADC_MBAR_FACTOR);
}

void print()
{
   uint16_t valuembar = read_value();
   printf("Value: %u.%u\n", valuembar / 1000, valuembar % 1000);
}


Про формат данных хочу вставить пять копеек «на гипотетически возможное будущее»:

Пока данные используются только в пределах одного устройства, вопрос формата — либо удобство разработчика, либо оптимизация использования ресурсов контроллера. Даже если надо выводить на индикатор в понятном виде — всё равно точку конвертации можно без далеко идущих последствий двигать от момента замера до момента вывода на индикатор.

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

Другими словами, передавать в канал «сырой» замер АЦП чревато следующим сценарием: делаем мы следующую версию нашего устройства, с другой разрядностью АЦП (12 вместо 10 или наоборот), а того веселее (и вероятнее) — если меняются параметры цепи между датчиком и АЦП (делитель или усилитель), или сам датчик (с другой характеристикой) — и привет.

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

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

В общем, повторюсь — всё это не актуально в случае единичных поделок «для себя». Просто хорошая привычка, могущая пригодиться при дальнейшем развитии. А оно ведь как бывает — сделал для себя, потом зашёл сосед, увидел — и попросил и ему такое сделать (за вознаграждение или просто в рамках добрососедских отношений — это уже по ситуации), потом еще знакомым рассказал — и пошла писать губерния.
было решено с моей стороны так: зная, что число x.x0 это давление float типа, его можно легко конвертировать в byte если умножить на 10 и записать в память


Поздравляю! Вы «изобрели» формат записи с фиксированной точкой. ;)

А вообще вы молодец. Спасибо. Интересно. Люблю малую автоматизацию.
Спасибо, «изобрели» формат записил — это хорошая шутка, посмеялся ))))
Как ктото писал — «нафига переводить, и в чем трабла записи в EEPPROM float типа?» — да дело в том что EEPPROM сейвит по мануалу 0-255 byte тип или как любят писать: uint8_t тип.
Вообще это просто минимальная порция данных для записи, никто не запрещает хоть 16 ячеек по очереди записывать! А float в контроллере представлен 4-мя такими байтами, если мне память не изменяет.
да все верно — я хотел быстро записать в одну ячейку без разбивок.
Там даже разбивать ничего не надо. Пишите подряд и всё. Все I2C EEPROM имеют режим последовательной страничной записи. Один раз посылаем адрес микросхемы и бит записи, потом адрес стартовой ячейки, а потом данные без стопа. Стоп — только после последнего байта. Адрес инкрементируется в микросхеме сам.

Ну и раз уж у вас Ардуина с её библиотеками, то там это делается через EEPROM.put():
www.arduino.cc/en/Tutorial/EEPROMPut
а там точно епром именно I2C используется, а не внутренний AVR- микроконтроллера?
Может и внутренний. Не имел дела с ардуинами, честно говоря. Но всё равно в API есть функция EEPROM.put(), которая любые переменные сохраняет.
я к тому вёл, что если встроенный — то не в каждом AVR есть страничный режим, вот в AT90CANxxx — нет.
Впрочем, автоинкремент адреса байтов может быть реализован в API и программно. Тем более, что пользователь может указать такой начальный адрес, что попадёт на границу страниц.
Ну и что, что он «сейвит» байты. Это как-то до сих пор никому не мешало хранить там хоть 16, хоть 32, хоть 64 бита, хоть строки любой длины (лишь бы влезло). Процедура записи 4 байт мало отличается от таковой для 1 байта.

Кстати, вот совершенно справедливое было высказано тут предложение хранить данные в EEPROM в «сыром» виде, как выдаёт АЦП. И ничего отбрасывать или округлять не надо было бы. А всей этой арифметикой заниматься уже непосредственно перед выводом на экран.
в EEPPROM не надо хранить данные АЦП, нет никакого смысла, в EEPPROM сохраняется нижнее и высокое давление, в случае если изменялись настройки от дефолтных и блок выключают и включают.
Более того, если сдвинете на 2 разряда то, что вычитали из АЦП — можно спокойно сохранять 1 байт, разницы никто не увидит. Вряд ли у этих датчиков точность в 0.1%, а даже для 1% (что тоже вряд ли) 255 уровней достаточно.
Ну так а сравниваете-то вы это сохранённое значение с чем? Правильно, с показаниями АЦП. В итоге, при каждом сравнении приходится переводить данные АЦП в человекочитаемый формат, сохранённый в EEPROM. А хранили бы в формате, выдаваемом АЦП, сэкономили бы на этой конверсии. В вашем случае, правда, это не критично, но в других системах может быть и важно.

Ну и верно тут ранее заметили, что эти 0-1023 легко можно поделить на 4 отбрасыванием двух младших битов и никто не заметит разницы.
Цифровое реле от $20
это реле из семейства реле, которые работают с насосами напрямую и скорее всего для насосов колодцев. у меня насос со своим пускатель насоса (блок) который защищает реле давления от высоких токов…
частный случай.
в большинстве случаев этой релюхи за глаза.
можно даже пневмореле использовать, просто сделать вертикальный глухой отвод и втулить датчик вверху.
тоже цена около $20
Помимо прочего, очень не рекомендую когда-либо писать в коде вот так:

P_c = ((11.5 * Vout + 2.25) / 4.5) + Pcorrection;


Тут сразу две проблемы:
  1. Через пару лет, когда полезете разбираться в коде, будете долго вспоминать, что это за циферки такие и почему они именно такие
  2. Если эту формулу вы используете более, чем в 1 месте, то потом есть риск поменять её в одном месте и забыть поменять в другом.


Решение состоит в том, чтобы никогда не использовать «магические числа», а заменять их макросами с понятными именами (и комментами в месте определения макросов). Ну а если формула используется в коде несколько раз, то лучше и её всю заменить на макро или инлайн функцию.

спасибо, очень полезная и правильная заметка. так получилось, я тоже за макросы.

Я реализовывал подобную систему у себя на даче, только с некоторыми отличиями обусловленными тем что скважина у меня низко-дебетовая.

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

Плюс в том что при отстутствии электричества водоснабжение в доме не пропадает, потому-что вода самотеком, хоть и с небольшим напором, течет из бака к потребителям. Гравитация рулит :)

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

Эта ардуинка подключена через I2C шину к stm-ке которая обслуживает пульт управления и датчик давления в баке (для измерения уровня воды через давление). Стм-ка посылает команды на включение насоса ардуинке если уровень воды опускается ниже 10%.

Было бы неплохо прикрутить импульсный счётчик воды. Для измерения расхода и как датчик сухого хода. Правда в этом случае его нужно ставить до насоса. Ещё полезная функция защита от протечек. При очень медленном снижении давления в течении определенного периода времени включается закрывающий клапан.

Разрешите поделиться опытом. Так случилось, что живу в Крыму и несколько лет занимаюсь этой темой (насосы, скважины).

Итак, реле давления бавают двух типов — механические и электронные. Есть еще электронные регуляторы давления с функцией частотного преобразования, но это редкость в наших краях да и цена кусается.

1. Механика. Простенькая конструкция с двумя пружинами и гайками, позволяющими настроить давление включения и отключения (на самом деле настраивается P и ΔP но по сути это одно и то же). Обязательно наличие гидроаккумулятора. Есть версии с защитой от сухого хода, но на практике они ненадежны.

2. Электроника. Гидроаккумулятор не нужен. Как правило устройство содержит микропроцессор и 2 датчика — датчик давления и датчик протока воды. Прошу заметить — оба датчика механические а сигнал к микропроцессору обычно поступает через герконы. Присутствует защита от сухого хода, в продвинутых схемах присутствует защита мотора по току.

Наверное последовательность теория-практика кажется разумной, но я начну наоборот.

На практике я много раз наблюдал смерть насосов с электронным реле давления и ни разу (НИ РАЗУ!) с механическим. В чем проблема? Да в том, что вода в Крыму грязная. Если из скважины, то с песком, а если из магистрали, то жесткость воды удивляет — трубы «зарастают» на глазах. Что происходит с электроникой? Вечером вы приходите домой и обнаруживаете, что мотор все время включен. Почему? Да просто засорился датчик протока воды (или датчик давления) и микроконтроллер думает, что открыт кран и тупо включает мотор. Мотор работает (краны закрыты), вода нагревается до кипятка, гидравлическая часть плавится. А ее стоимость — половина нового мотора. В случае засорения механического реле все происходит наборот — мотор не включается. Улавливаете разницу?

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

А теперь теория. Самое слабое место в механическом реле давления — гидроаккумулятор. Именно он плохо переносит морозы, именно он требует периодической проверки давления и именно в нем обычно рвется «груша». Поэтому легко понять тех, кто предпочитает электронные реле. Но давайте рассмотрим ситуацию с научной точки зрения. Что происходит, когда, например вы решили побриться и открыли кран тоненькой струйкой?

1. Механика. Да ничего такого, штатный режим работы. При падении давления, например до 1,8 атмосфер насос включается, закачивает воду в гидроаккумулятор и при достижении 3 атмосфер отключается. (Параметры 1,8 и 3 — регулируются).

2. Электроника. Мотор все время включен. Давление в системе зависит от модели мотора и может быть как 3 атмосферы (обычно), а может быть и 4...5 атмосфер. Суть в том, что электроника видит, что вода течет и не отключает мотор.

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

Заключение. Электронное реле — это механика + электроника, а механическое — это только механика. Как вы думаете, что надежнее? К тому-же электронное реле постоянно эксплуатирует мотор в неблагоприятном для него режиме да и статистика не в пользу электроники… Выводы делайте сами.

p.s. Состоятельным клиентам я ставлю механику и электронику в паре — получается чудесный тандем. Электроника защищает от сухого хода и повышенного тока (это то, чего не хватает механике). А механика всегда отключает мотор (и электронику) при достижении 3 атмосфер — это действительно чудесный тандем. В случае прорыва груши электроника продолжает работать и имеется возможность ремонта гидроаккумулятора без отключения водоснабжения.

p.p.s. Надежность — это дублирование. Это правило всегда используется в связи и почему-то не используется в черных ящиках самолетов, ну да бог с ними. То бишь два китайских датчика давления — это уже очень надежно, а + механическое реле — почти совершенно. Потому что микропроцессоры иногда зависают, а порты выгорают. Простите, за многословность — это мой первый комментарий на Гиктаймсе :-)
Если вместо водяной схемы нарисовать электрическую, где вместо насоса — источник тока, вместо гидроаккумулятора — конденсатор, вместо труб — провода (с сопротивлением и индуктивностью), вместо крана — резистор — все просто и понятно.

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

огромное всем спасибо за разносторонние посылы и информацию, спасибо!

12 бар — это много. 6 должно хватить за глаза. Точность измерения выше будет. Хотя, в данной задаче, требования к точности невысокие :)

У меня нет скважины и подобного насоса, но статью прочитал до конца, т.к. как раз собираю самодельный компрессор, и была интересна аналогия, принцип работы такой же: реле давления, ресивер (гидроаккумулятор) и др. Возникла мысль, не нужен ли мне такой датчик, благо, 12 бар — то что надо для компрессора (но не гидроаккумулятора) но вскоре отогнал эту мысль. Да, интересно запрограммировать что-то и что-то спаять. Но там, где надо, а не везде подряд. В этой электронной связке сдохнуть может в любой момент слишком много всего: сам датчик, реле, ардуино, её блок питания (или батарейка). И в этом случае без дублирования механикой мотору хана, и, возможно, не только ему. Сколько даётся гарантия на механическое реле давления не знаю, но скорее всего, электронный датчик не проживёт столько из-за жёсткости воды, ржавчины, песка и др. Не зря он позиционируется китайцами прежде всего как датчик для масла и топлива. На воздухе он тоже скорее всего дольше протянет, чем в воде. А вообще, автору респект, он сделал своими руками то, что задумал. И не так уж важно в данном случае, что он хранит вещественные числа давления умножая их на 10, вместо того, чтобы хранить целые значения напряжения датчика. Какая разница? Преобразование делается очень редко, чтобы переживать о производительности. Главное, чтобы не было логических багов и мотор жил долго и счастливо!

У меня, как и у автора, есть скважина и насос. Более того, я был в курсе, что реле давления может сдохнуть. И оно сдохло после 15 лет работы. В результате умер насос. Насос стоил в момент покупки около 800 евро и еще 300 евро стоит достать старый насос и поставить новый. Я, конечно, с тех пор стал значительно умнее — купил насос подешевле и поставил его сам. Но в общем случае, материальные потери более чем заметные.

Что касается умирания датчика давления — это вопрос не настолько однозначный. Думаю, у механического реле и у электронного датчика та часть, которая контактирует с водой, более или менее похожая. Или, по крайней мере, умирает из за одних и тех же воздействий — принципиальной разницы по сроку умирания скорее всего не будет. Кроме того, можно поставить два датчика и сравнивать их показания. Можно поставить датчик протока и контролировать работу насоса при отсутствии тока воды. В конце концов, микроконтроллер решает, когда включать насос и сколько держать его включенным. Он же может оценить показания датчиков и их «разумность», а в случае «неразумных» значений выключить насос. Так что при наличии дублирующих и контролирующих датчиков вероятность умирания насоса есть только в том случае, если каким-то образом умрет микроконтроллер, оставив включенным насос. На этот случай можно поставить два микроконтроллера — пусть договариваются.

Короче, с датчиками и ардуинами можно попробовать построить систему, которая в случае выхода из строя каких-то компонентов оставит насос в выключенном состоянии и не допустит его смерти.

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

И еще раз, умирание механического реле давления это не вопрос «если», это вопрос «когда». А дублирование не помогает — сначала молча умирает одно реле, но продолжает работать второе, а потом так же молча умирает второе реле и вслед за ним умирает насос. альтернатива — регулярные регламентные работы с проверкой работоспособности основных и резервных цепей управления насосом.
У Вас есть насос? Поздравляю! У меня есть скальпель, так что теперь я — хирург. Ваше механическое реле проработало 15 лет, а если Вы почитаете выше комментарии тех, кто уже ставил подобный электронный датчик, то он ни у кого и года не протянул, скорее, речь идёт о месяцах безотказной работы. И если датчик умирает, напряжение не нулевое, и микроконтроллер думает, что идёт забор воды, как прикажете это контролировать программно? А идея поставить два микроконтроллера, которые будут «договариваться» между собой — вообще бредовая. На самом деле, лучше поставить их четыре. Ну, чтобы наверняка…
В отличие от механического реле микроконтроллер может понять, что если напряжение не нулевое, но неизменное, то что-то пошло не так. Еще он может сравнить показания двух датчиков, а строго одновременный выход из строя двух датчиков — это совсем маловероятное событие. Ну и, как я уже писал, можно поставить датчик протока, который будет контрольным устройством.
Если есть какие-то более содержательные возражения, кроме как «бредовая идея» — буду рад прочитать. Вообще, дублирование критичных компонентов — совсем не бредовая идея, а совершенно стандартный прием повышения надежности.
В простых датчиках протока воды используется «шторка», отклоняющаяся при перемещении воды. Или нечто похожее на клапан обратного хода. Суть в том, что когда шторка (клапан) засоряется, он не может вернуться в исходное состояние, микроконтроллер думает, что вода течет и… Таймауты и другие программные ухищрения не катят — например я решил полить огород…

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

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

Тут самое вкусное — алгоритм определения, который из датчиков сломался. Можно поставить 3 и работать по мажоритарной схеме ;) Вариант с повреждением кабеля и отказом всех датчиков тоже нужно рассмотреть.
Тут еще одна проблема — сделать устройство коммутации, которое не могло бы «застрять» во включенном состоянии. Простейший вариант — два реле, включенных последовательно и контроль протекающего тока, чтобы иметь возможность определить, что одно из реле не работает. Но реле не очень дружат с индуктивной нагрузкой.
Тут дело не совсем в вероятности. В классических (попсовых) схемах датчиков два — датчик давления (ДД) и датчик протока (ДП) воды. Алгоритм прост. ДД=0 ДП=0 — включить мотор. ДД=0 ДП=1 — включить мотор. ДД=1 ДП=0 — выключить мотор. ДД=1 ДП=1 — включить мотор. То есть мотор отключается, когда протока воды нет, а давление достило максимума.

К чему я клоню — выход из строя любого датчика приводит к нарушению алгоритма.

А где мы смотрим проток воды? До гидроаккумулятора, или после? В случае, если решения принимает реле, алгоритм примерно такой, хотя, если давление достигло максимума, насос выключается независимо от датчика протока. Но мы ведь договорились, что блок управления умный и может что-то ещё делать. Например, если он дал команду на включение насоса, после этого прошло несколько секунд, а протока воды как не было так и нет, значит что явно не в порядке.

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

В нашем случае как я понял гидроаккумулятор у нас есть. Поэтому ни датчик протока, ни «индекс падения давления» не нужны. Я бы даже сказал, что их наличие искажает суть идеи.

Суть идеи. Самый неблагоприятный режим для мотора — момент включения. Поэтому в систему добавляют гидроаккумулятор, объем которого рассчитывается так, чтобы мотор включался не более X раз в минуту. Объем гидроаккумулятора напрямую зависит от потребителей — если это семья из 3-4 человек это 20 литров, а если отель, то… Далее. ВАЖНЫЙ МОМЕНТ. Нижний порог включения должен быть на 10% выше давления гидроаккумулятора (без воды). А верхний порог определяется возможностями мотора и требованиями потребителей (обычно 3 Атм).

При заводских настройках включения/отключения (1,7 — 3 Атм) давление в гидроаккумуляторе должно быть 1,5 Атм. Но при этом есть неприятный эффект — так как давление «плавает» это может «напрягать»потребителей. Да и температура воды после смесителя тоже «плавает» — это особенно неприятно, когда моешься в душе. Повышение нижнего порога решает эту проблему. НО! Недостаточно просто подкрутить гайку (или поклацать кнопками), нужно еще и подкачать гидроаккумулятор. Как следствие уменьшается его рабочий объем и мотор опять таки начинает включаться чаще, чем требуется, а значит нужно увеличивать объем гидроаккумулятора.

Так что идея регулировать пороги электронным способом немного абсурдна, так как все равно требуется менять давление в гидроаккумуляторе. Иначе это просто баловство, которое неизбежно приводит к преждевременному выходу из строя мотора.

Простите :-)
все равно требуется менять давление в гидроаккумуляторе

А вот если дополнить гидроаккумулятор компрессором… и научиться поддерживать давление воздуха… ;)

Да, все правильно. Вы очень точно описали все проблемы автономного водоснабжения. Я в свое время очень подробно все это изучал и переделывал свою систему, так что рассуждаю совсем не чисто теоретически. Давление в гидроаккумуляторе надо поднимать не просто для того, чтобы было на 10% ниже давления включения насоса. Это обеспечивает максимальный полезный объем гидроаккумулятора. Но и простое повышение давления включения реле не приведет к проблемам, просто обзор гидроаккумулятора будет использоваться менее эффективно. Для того, чтобы не плавало давление на выходе, можно поставить редуктор. Это требует еще одного небольшого гидроаккумулятора для компенсации теплового расширения воды в водогрейке, но решает проблему переменной температуры в душе.


Теперь о главном. Я хотел сказать, что умный блок управления, который отслеживает давление и проток, а также может измерять интервалы между срабатываниями датчиков, может делать выводы об их исправности. Ну а если он еще может измерять ток насоса, то вообще… К тому же, в случае умного блока управления датчики можно дублировать и не сразу выключать водоснабжение, а только в том случае, если исправных датчиков недостаточно для безопасной работы.


Готовый алгоритм я сейчас изложить не могу, но по ощущениям, это не должно быть очень уж сложно.

Да, вы правы. Можно создать «неубиваемый» девайс даже без дублирования датчиков. Достаточно наличия датчика протока (дискретного), датчика давления (аналогового), датчика наличия 220В после реле (защита от залипания контактов) (хм… таки нужно два реле) и гидроаккумулятора. Мало того. По косвенным признакам устройство сможет определять падение давления в гидроаккумуляторе и предлагать подкачать его. А при правильном алгоритме отключения насоса (не по верхнему порогу, а по факту остановки роста давления) появляется еще и защита от низкого напряжения в сети или от устаревания мотора.

Эх, руки чешутся сделать это, но увы, жизнь думает иначе… :-)

p.s. Блин, почему инженеры не делают этого в серийных устройствах ???
Потому что механическое реле давления стоит 250р, ну ладно, пусть 500р и за 5 минут ставится на стандартный выход 5-ходового соединения. А такой умный блок управления обойдется тысяч в 10, да еще и датчики придется в несколько разных мест втыкать и провода к центральному контроллеру тащить — то есть многократно сложнее (дороже) монтаж.

А вот о том, что когда насос бахнет, его замена обойдется гораздо дороже, это уже хозяин должен думать, а он не думает, поскольку не знает. А монтажники ему не скажут, потому что менять насос их же вызовут. Они приедут, поставят новое реле давления за 250р и возьмут 10-15 тысяч за замену насоса.

А вообще, автоматика для насосов есть самая разная. Наверняка есть и подобная. Вот только стоит она заметно дороже обычного реле давления и по этой причине в быту не используется.

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

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

Хотя, на счет электроники я бы поспорил. Примерно в то же время я поставил электромеханический замок на калитку, который питается от вполне электронного импульсного блока питания и управляется так же вполне электронной радиокнопкой. На счет промышленного исполнения не уверен — кнопка эта с двумя брелками в комплекте продавалась за 1300р в те далекие времена. Сам приемник в явно не герметичном корпусе, то есть не уличного исполнения, установлен под навесом калитки, то есть дождь на него не попадает, а температура, влажность и все такое — по полной программе. Все это работает в режиме 24/7 и без каких-либо сбоев, в отличие от самого замка, механическую часть которого приходилось и обслуживать и чинить неоднократно. Также без каких-либо проблем работает вполне бытовой прожектор с датчиком движения, освещающий калитку — только лампочки иногда менять приходится. Но это уже не совсем электроника.
На то и придумано регламентное обслуживание, чтобы менять подозрительные модули без аварийных ситуаций. Думаю, если то реле хотя бы раз в год вскрывалось и осматривалось — внезапно оно бы не померло.
Ну и для насоса 15 лет без обслуживания — это ооочень хороший результат. Предыдущий насос протянул у меня 8 лет, износился шнек (вода плоховатая, хотя на вид прозрачная. Известь, железо..).
Дело в том, что та часть реле, которую можно осмотреть, не контактирует с водой и вполне работоспособна. И наоборот, то, что может зарасти грязью и сломаться, находится внутри неразборной части реле. Ну или я не знаю, как эту часть разобрать.

Grundfos — довольно неплохие насосы. С учетом того, что последние лет 10 стоял этот насос в режиме «резерва» и работал 1-2 раза в год, мог бы работать в таком режиме практически вечно. Когда я его разобрал, все внутренности были в идеальном состоянии.
то, что может зарасти грязью и сломаться, находится внутри неразборной части реле


В автомобиле, например, ремень ГРМ положено менять через каждые 50 000 км. Процедура недешевая. Хотя можно сэкономить, и поменять через 90 000 (вместе с услугами эвакуатора, заменой гнутых клапанов..).
Похоже, автоматику насоса тоже имеет смысл раз в несколько лет перебирать, во избежание.

Вот с этим согласен на 100%. Если в инструкции к реле давления написано, что раз в 2 года его надо просто поменять, это решает все проблемы. Но этот период настолько зависит от качества воды и режима использования насоса, что, боюсь, установить его более или менее осмысленно будет не просто. Для себя я, конечно, сделаю выводы и буду что-то придумывать на эту тему.

Элементарно — открутить 4 шурупа.
фотка
image

Внутри будет резиновая мембрана, которая разделяет «мокрую» и «сухую» части реле.

Честно говоря, никогда не приходило такое в голову. Спасибо, надо будет попробовать. Если получится потом собрать обратно, так чтобы не текло и все работало, будет вообще замечательно. :-)

Получится, если не порвёте резинку.
Раз в пол-года оно разбирается, чистится и собирается заново — 3 года полёт норм.
Кстати в связи (обычной гражданской связи) так и делают — два «микроконтроллера» выполняют одну и ту же задачу, а третий «микроконтроллер» следит за тем, одинаковые ли они выдают данные. И если нет — то одна из сторон останавливается, тестируется и.т.д.
Тогда уж три, а не два.
Когда речь заходит о применении подобных принципов, я всем коллегам рекомендую сначала почитать фрагмент из мемуаров И.Г.Каршенбойма — одного из разработчиков автоматики систем запуска КК «Буран-Энергия».
Фрагмент называется «За что я ненавижу мажоритар». Почитать можно на сайте у самого Каршенбойма — iosifk.narod.ru/majoritar.pdf
И вообще, вся подборка его мемуаров — довольно поучительное чтиво.
Много слов про погоны, начальников и ответственных и не нарисованы графики, где было бы видно, что вот этот крутой график он всё же намного лучше пологого по характеристикам. Плюс необязательно это три платы три схемы, синхронизаторы… На ПЛИС можно троирование алгоритма внутри одного чипа делать, вот только автоматический генератор троированной схемы далеко не всем продадут…
Да, воды у него очень много, про всякую организационку и чисто жизненные впечатления.
Но если это всё отбросить — то всё равно получается неплохая опорная точка для размышлений.
Если просто взять и «а давайте применим вот это, крутой же принцип», не задумываясь о нижележащих механизмах, есть таки шанс нарваться на неожиданные последствия. И прогресс элементной базы тут может не помочь. Даже в одной ПЛИС может оказаться «не всё так просто».
То есть это тот же эффект, который Джоэл Спольски называет «законом дырявых абстракций» (хотя он описывал программирование, но это касается вообще построения сложных систем).
Кстати, сейчас подумалось, что чем-то тексты Спольски и Каршенбойма схожи. У Спольски тоже много воды вокруг пары интересных мыслей.
А насчет троирования алгоритма в одном чипе — что это даст? Основная точка отказа — физическая, и скорее всего пострадает чип целиком.
Я плохо представляю себе, при каких условиях именно один из таких дублированных алгоритмов внутри чипа вдруг начнёт считать «не так», а остальные продолжат нормально. В голову приходит разве что пролёт какой-нибудь заряженной частицы типа космических лучей, затрагивающий отдельные ячейки.
тяжёлые и не очень заряженные частицы пролетая через микросхему если не сожгут элемент, то могут привести к искажению/перещёлкиванию т.е. сбою в одном элементе.
Сейчас даже в автомобили начали ставить радстойкие микросхемы, в некоторых решены проблемы аппаратным троированием, где-то подзатворный диэлектрик другой, где-то вот такими программными троированиями.
В автомобилях-то, наверно, на радстойкость вполне имеет смысл закладываться — всё-таки «источник повышенной опасности».
Ну а насос — штука не такая критичная. Впрочем, вопрос всяких защит — он же большей частью экономический: защита имеет смысл, если затраты на защиту меньше потерь от ее отсутствия (каковую прописную вроде бы истину мне периодически приходится напоминать горячим молодым коллегам). А вот про соотнесение этого принципа с различиями в экономике разного объёма производства — мне только сейчас в голову пришло: это ж при массовом стараешься ужать себестоимость единицы по максимуму, а при единичном вполне можно слегка раздуть бюджет (в разумных пределах).

В чисто программном варианте для одного чипа есть еще способ перепроверки последовательными обратными операциями — выполнил суммирование, проверь обратным вычитанием. А то ж вдруг сбой в АЛУ фиксированный — повторное суммирование даст тот же (хотя и неверный) результат. А вот суммирование с инверсией уже вряд ли сойдётся (вероятность на порядки ниже).
Полностью согласен про необходимость здоровой оценки масштаба работ по повышению надёжности.
С АЛУ могут начаться нюансы, в плане точности вычислений, есть там плавающая точка или вообще какие-нибудь насыщения или усечения разрядности могут происходить.
Только полноправные пользователи могут оставлять комментарии.
Войдите, пожалуйста.