Система налива воды нужного объема и температуры на Arduino nano

justMike
Offline
Зарегистрирован: 05.11.2014

День добрый всем!

Встала передо мной задачка - необходимо сделать систему налива воды требуемого объема и температуры. Параметры следующие:

- невысокая цена

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

- возможность управлять клапанами вручную

- 2 режима выбора объема: от 0…20.0 с шагом 0.1 л и 0…200 с шагом 1 л

- питание от устройства 12 вольт (БП 12 вольт 1 А)

Вот так мной видится схема всего устройства:

Материалы, используемые в устройстве, следующие:

2 соленоидных клапана 12 V

1 расходомер на датчике Холла

1 DS18B20 для определения температуры помещения (опционально, пока не знаю точно, буду ли ставить)

1 LM35 для определения температуры налитой воды

1 arduino nano (клон)

2 переключателя для принудительного управления клапанами

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

1 двухцветный светодиод для индикации режима отображения

2 потенциометра для регулирования температуры и объема

Кнопки старт и стоп, кнопка изменения разряда и изменения режима отображения

1 регулятор на 5 вольт LM7805

 

Вот как я все это вижу с элементной точки зрения:

В схеме сделаны упрощения:

В реальности вместо реле будет стоять сдвоенный релейный модуль, заказанный в Китае

Вместо непонятного желтого элемента будет расходомер

Вместо микросхемы MAX7219 будет табло на основе этой же схемы

Регулятор на 5 вольт будет использоваться LM7805 с радиатором

 

Принцип работы:

- на приборе потенциометрами выставляем нужную температуру, нужный объем

- определяем режим индикации табло

- жмем старт.

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

 

По поводу режимов отображения – есть 3 варианта:

1)      Во время процедуры налива настройки объема и температуры остаются прежними

2)      Во время процедуры налива воды отображается измеренная температура и измеренный расход в л/мин

3)      Во время процедуры налива на дисплей выводится текущая средняя температура и количество налитой воды

По нажатию кнопки разряд должен меняться разряд объема: в 1 варианте от 0 до 20.0 с шагом отображения 0.1 л. и во 2 варианте от 0 до 200 с шагом отображения 1 л. соответственно.

 

Алгоритмическую составляющую пишу пока на бумаге. Поскольку опыт мой мал, обращаюсь ко всем неравнодушным: что во всем вышеприведенным вам не нравится, что надо убрать/добавить/изменить/etc?

vde69
Offline
Зарегистрирован: 10.01.2016

есть готовые краны с фиксацией температуры выходной воды, стоит в китае около 1 тыс руб