. Расходомер жидкости | Аппаратная платформа Arduino
Расходомер жидкости | Аппаратная платформа Arduino

Arduino.ru

Друзья, нуждаюсь в вашей помощи с программным кодом. Сейчас нахожусь в процессе создания аппарата по смешению напитков. Недавно пришли посылки ebay с насосами, датчиками расхода жидкости, Ардуино Мега, Уно и набором для начинающих, включающий в себя кучу сенсоров и всяких электронных мелочей. Расходомеры или датчики холла на фото ниже:

Теперь мне нужно проверить работоспособность и параметры насосов и датчиков расхода жидкости - нашел скетч специально для таких датчиков:

Подключил – все работает, но выдает скорость потока (показания в литрах в час). Подскажите, пожалуйста, как подправить код, чтобы показания были в миллилитрах (или литрах), т.е. мне нужна не скорость потока, а объем жидкости после прогонки через датчик.

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

NbTopsFan - переменная в которую пишется кол-во импульсов с расходомера за секунду.

Calc = (NbTopsFan * 60 / 7.5); //(Pulse frequency x 60) / 7.5)Q, = flow rate - формула, которая на основании кол-ва имульсов за секунду считает расход.

Сможете посчитать, сколько жидкости прошло через расходомер за секунду?

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

Diemon, если я правильно понимаю, нужно раделить значение calc на 3600000 (т.к. в часе 3600 секунд или 3 600 000 милисекунд) и тогда получится расход в секунду. Примерно так:

Calc = (NbTopsFan * 60 / 7.5/3600)

Но тогда нужно чтобы последнее значение складывалось каждую секунду - а это уже сложно для меня)

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

Для начала скажите модель вашего расходомера. Я догадываюсь, что число 7.5 это весовой коэффициент импульса, но хотелось бы уточнить.

Создайте новую числову переменную volume. и в void_loop плюсуйте в неё каждую секунду значение объема. Вот вам и общий объем. Правда это не очень правильно.

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

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

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

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

spa-sam, спасибо, то что нужно - уже во всю тестирую)

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

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

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

а на фотке у вас один расходомер, а второй насос ? и что за насос ? видел в китае тока расходомеры и клапана, насосы как-то не попадались.

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

видел в китае тока расходомеры и клапана, насосы как-то не попадались.

Такие насосы бывают двух типов: мембранные и шестеренчатые. Первые дают приличное давление, вторые - расход. Стоят в районе $5 - $20. Шестеренчатые довольно широко применяются в качестве насосов для автомобильных омывателей стекол и фар.

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

Calc = (NbTopsFan * 60 / 7.5); //(Pulse frequency x 60) / 7.5Q, = flow rate

а что за значение 7,50 ? количество импульсов в минуту ?

в паспорте водомера написанно написано 4380, насчитал 2966.

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

spa-sam, спасибо, то что нужно - уже во всю тестирую)

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

Добрый день. У меня такие же датчики. Получилось у Вас с показаниями? У меня не получается счетч на 2 датчика. Если возможно, полелитесь готовым скетчем. Спасибо.

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

Привет, найди плиз меня вконтакте vk.com /neolead

собираю такой же девайс.)

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

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

Код хороший, не получается адаптировать под 2 сетчика. Вот,что получилось:

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

Подключил – все работает, но выдает скорость потока (показания в литрах в час). Подскажите, пожалуйста, как подправить код, чтобы показания были в миллилитрах (или литрах), т.е. мне нужна не скорость потока, а объем жидкости после прогонки через датчик.

Ну так надо скорость умножить на время и получится путь объем

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

Стесняюсь спросить, а зачем был нужен весь этот гемор с высчитыванием скорости потока(профит), если в итоге нужно посчитать сколько воды прошло через датчик? Это все= что дергать зубы через задницу! :)

Вопрос прост как 3 копейки:

У меня было так, взял электронные весы, обнулил тару, прогнал через датчик энное количество воды, чем больше тем лучше, больше точность. Посчитал количество "тиков" датчиком холла в мониторе порта, потом в переменную объёма одного тика записал количество жидкости (1 литр - 1 кг) деленное на количество тиков. Это число в прерывании на датчике холла прибавляется к счетчику литров. В дальнейшем уже в готовом устройстве сделал пункт меню калибровки датчика, где после прогона жидкости нужно было забить в окошко показатель количества шидкости, программа делает нужные вычисления, и обновляет значнеие переменной в EEPROM.

PS: Датчик потока нужно ставить перед клапаном, т.е. вход -> датчик -> клапан -> выход.

📎📎📎📎📎📎📎📎📎📎
Шрифт: