Замена механического реле давления на цифровое (обладателям скважин)

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

    image

    image

    Прошу под кат, там интересней ;)

    Я как бы разобрался и у меня даже получилось отрегулировать, но на это я затратил время и нервы. Тогда то я и понял, что цифровое реле было бы здорово, просто нажал на кнопки и выставил нужное. Конечно меня могут многие осудить по нескольким статьям:

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

    Без проблем, можно список продолжать долго, но по натуре своей инженерской, хотелось бы развиваться и улучшать все вокруг себя, а не крутить пружинки и думать, когда там подгорят контакты механического реле и начнет срабатывать тепловое реле защиты насоса, когда вы весь в мыле :D, а ещё лучше Ваша жена :)

    Надо отдать должное, механическое реле у меня работает уже 4-ый год и с ним (тьфу тьфу тьфу) Серьёзного пока ничего не случалось, только приходилось перестраивать, очищать контакты, начало искрить и эти “ЩЕЛК!” в гараже немного напрягали и… пугали моего мышонка, так, что ему пришлось убежать.

    Побег


    Так как я увлекаюсь автоматизацией и прошел путь от 1-wire до arduino через esp, могу и делаю разные поделки в доме, точнее устройства, для облегчения быта. Круг друзей знает о списке проектов, которые я стараюсь завершить и реализовать, но времени на то совсем нет. То стройка баня подвернется на целое лето (750 часов), то снег навалит :), а тут уже и Новый Год на носу!

    image

    Меня так же многие “любят” потролить, особенно из ИТ сферы. Но это только веселит, жизнь штука интересная и без этого никак. Так же огромное спасибо всем тем, кто меня поддерживает — без Ваших добрых слов, драйв был бы не тот. Спасибо жене за понимание любви к моим платам )

    Из лирики, прыгаем в реальность. Я обратился в поиски цифрового реле и понял, что весьма сложно в этом направлении, либо забугорное под 100$ и совсем не так, как хотелось бы… либо механика за 15$. Привожу в $, так как давно известно, если бы мы перешли на $ — то даже бабушки не парились, как с монетами. А я ж такой негодяй — дом подключил к интернету, а реле давления нет — сумасшедший!

    Тема для тролей: Я начал работать с Arduino китайского происхождения, не оригинальные, а китайские, работают так же, где то есть мелкие погрешности, но они меня не задевают так, чтобы извергать лаву негатива и трясти esp8266, которая от статики умирает быстрее, чем вы воткнете её в Ваш компьютер, да ещё с питанием 3.3, которое надо пойти и найти), если это только не NodeMCU, которые я обожаю.

    Я люблю и esp8266 и Arduino и людей, но чтобы вот так сесть быстро собрать рабочее и СТАБИЛЬНОЕ устройство для автоматизации — arduino незаменимая штука + Wiring C-шный язык очень помогает быстро реализовать то, что требуется. (тут никто и не упрекнет, что ты написал на тормозном Lua скриптовом языке). esp8266 (моё мнение) — хороша там, где не надо АЦП мерять и интернет нужен. Хотя её “сгорание\сырость” очень разочаровывает.

    Возвращаемся к нашим баранам, то-есть реле :)

    По итогу нашел в Китае датчик за 5$, с АЦП 0-5V и решил попробовать. Даже не так, я тупо загорелся его применить и собрать устройство. Сразу пошли бурные эротические фантазии, как будут мигать светодиодики ) и нажиматься кнопки для регулировки, а на китайском иконическом синем экране будут гореть заветные циферки и все это будет работать с реальным давлением в нашей гребенке.

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

    Когда прилетел датчик, я понял — что датчик очень качественно выполнен.

    image

    Далее, я понял что он начинает показывать данные не с нуля, а с 0.5В и до 4.5В. от 0 до 12Bar. Я очень обрадовался, так как мне было приятно осознавать сингулярность данного девайса, можно отслеживать, когда датчик умрет и не будет показывать заветные 0.5 на выходе.

    Врезка датчика в текущую систему с оставлением механики “на всякий случай”.

    image

    Одно печально, не было никаких данных по датчику, как обсчитывать его показания, но так как была линейная прямая на графике, пришлось (стыдно, но я признаюсь) — открывать учебник АЛГЕБРА и учиться заново, вспоминать, как же там строят прямую линейную зависимость в уравнении :) по двум точкам и о чуда, я быстренько получил (можете постыдить меня) заветную простую формулу, в которой после преобразования АЦП сигнала в ВОЛЬТЫ, я понимал, сколько у меня давление в Bar. Так как датчик сам выдавал от 0 до 1.2Mpa — то не сложно перевести в Bar — зная что:

    1 Pa = 1.0E-5 bar
    тоесть 1200000Pa = 12Bar
    Так как у нас давление от насоса не превышает и 4Bar — этого датчика хватит за глаза!

    Дальше я взял Arduino Uno — она у меня лишняя валялась, я обычно её использую для быстрого навесного проектирования, проверки, а потом применяю Arduino Nano, так как она лишена левого обвеса и её размеры в 3 раза меньше! И да простят меня ардуинщики китайского происхождения, мне жалко было смотреть, как она валяется без дела, надо пустить её в девайс! Подумал я и купил пластиковую IP55 коробку небольших размеров, выпили отверстие под экран, который я купил 4 года назад! Карл! И тогда не догадывался, что этот LCD 16*2 пойдет в такое полезно дело. Взял на авторынке 2 авто кнопки, спаял провода, даже плату не проектировал отдельно, как я делаю для Nano — так как Uno тупо большая и совсем не для таких целей.

    image

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

    Мне не стыдно его выложить, если будет конструктивная критика, я готов внести изменения, так как open для любых обсуждений.

    В алгоритм я постарался заложить следующие принципы:

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

    нижнее давление — текущее давление — высокое давление
    индекс падения давления — [ блоки, показывают давление в системе ]

    Это позволяет быстро оценить ситуёвину, что происходит.

    image

    — Если текущее давление ниже НИЖНЕГО: врубается твердотельное реле на 15A(проверенное годами) и насос тихо, быстро, без искр и щелчков, включается и подает воду. ВЕРХНЕЕ давление отключает реле. Насос никогда не включится и обязательно выключится, если что то с показаниями датчика, которые выходят за пределы разумного. Это безопасность.

    — Индекс падения давления я рассчитываю тогда, когда в гребенке остается половина давления и каждые 10 секунд проверяется предыдущее и текущее, если разница составит меньше установленного по дефолту 0.05 — тогда меняется текущий индекс и включается насос на ОПЕРЕЖЕНИЕ, тоесть по логике идет быстрое водопотребление и что бы предугадать включение насоса, я такой логикой и пользуюсь. Логика не срабатывает пока на 100%, так как я ещё тестирую этот момент, есть огрехи связанные с millis() таймингом самой ардуины, тут меня это немного напрягает, но я найду решение по четкому подсчету. Логика срабатывает в начале, а потом индекс падает в 0.01 и логика больше не работает, но это никак не влияет на вкл и выкл насоса. Тут можно холиварить на тему “насос должен включаться определенное количество раз в час и не больше” — у Вас есть на это право ), спорить не буду — данная тема анализируется.

    — есть кнопки боковые, которые позволяют устанавливать НИЗКИЙ и ВЫСОКИЙ порог включения и выключения насоса ДИНАМИЧЕСКИ, без перезагрузки, просто тупо на лету — смотрите на экран и нажимаете кнопочки боковые…. удобно-на! данные сразу пишутся в EEPPROM и при включении блока загружаются оттуда (это такая постоянная память на запись чисел от 0 до 255 byte type, мало но хватает на мелкие прихоти). При этом есть момент, заключается в том, что числа с плавающей точкой записать настолько трудно и геморно, что просто было решено с моей стороны так: зная, что число x.x0 это давление float типа, его можно легко конвертировать в byte если умножить на 10 и записать в память, тоесть: example: 1.80 * 10 = 18 — после умножения число float отбрасывает последний ноль автоматически и мы получается число, которое укладывается в byte типа, при чтении, мы его делим на 10.0 и получаем обратную форму для работы в нашей система и типа float.

    — Все добро будет доступно для «только чтение» вне дома, что позволит понимать ситуацию с давлением не только артериальным, но и в трубах!

    image

    Ну вот вроде бы и все, простите, кого напрягают подробности кода, дурацких ТИПОВ данных и интимных подробностей загрузки данных из памяти, пропускайте это, так как, зная, что есть люди из ИТ сферы, они будут задавать всякого рода вопросы или наоборот, посмеются с моих простых алгоритмов, которые не применяют модные ИИ \ ML и прочие мега крутые и big data алгоритмы. Надеюсь так же инженеры поймут другие части, связанные с механической часть.

    Вообщем, вывод такой: можно делать все, можно делать легко, делать это в интерес и как сказал когда-то один мой любимый комментатор: можно быть взрослым и “играться с детскими игрушками”.

    image

    полевые испытания


    Ваш кэп, автоматизатор, capable guy и хорошего дня Вам!

    Косяки:

    — Продолжаю тестировать индекс падения давления для преждевременного включения
    — Arduino uno (Китай) — выявились проблемы с таймером millis() — буду проверять на arduino nano (раньше такого не было, предполагаю кривая модель) (не оргинал, поэтому не ною ))
    — Погрешность заявлена 1.5% — от 1.2Bar — это 0.18Bar — пофакту — у меня где то 0.3 относительно моего манометра, но я не знаю сколько он врет… поэтому 2% допускаю погрешость max — можно заложить в алгоритм (как я делаю) погрешность и бдет более менее похоже на правду. Не спутники же запускать — сойдет )

    upd: ценник в районе 15-18$ вышел по итогу за изделие.

    С наступающим Новым Годом! Пусть у Вас сбудутся все Ваши планы, будут построены БАНИ, в доме будет ТЕПЛО и вся Ваша дружная семья будет с Вами! Пусть в новом году будет только хорошие новости.
    Поделиться публикацией
    Ой, у вас баннер убежал!

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

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

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

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

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


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

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

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

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

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

                              • +1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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





                                                                          • 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

                                                                                                                      спасибо за время
                                                                                                                      • 0
                                                                                                                        Что-то типа.
                                                                                                                        #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);
                                                                                                                        }
                                                                                                                        
                                                                                                                        

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

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

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

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