avatar_ИльяМВ

Дозатор Баллинга на основе Ардуино

Автор ИльяМВ, 03 апреля 2013, 18:29:56

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

ИльяМВTopic starter

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

Контроллер будет на ардуино-Мега с TFT сенсорным (3.2") экраном.

Устройство будет выполять следующие функции:
- управление 6-ю дозирующими помпами по расписанию;
- измерение температуры в комнате и в тумбе аквариума (для управление вентилятором в тумбе аквариума);
- управление таймерами 5 шт (может сгодятся когда);
- измерение РН (но это пока в планах, т.к. особо этот параметр меня не интересует);

Хоть у меня квартира и небольшая, и как назло аквариум расположен далеко от осмоса, мне приходится еженедельно набирать по 25-30л осмосной воды и таскать эту емкость до аквариума.
Немного надоела эта операция.
Хочу автоматизировать этот процесс таким образом: поставить на выходе осмоса электромагнитный клапан, пробросить трубку до аквариума в емкость автодолива, поставить страховочные датчики. Клапан осмоса будет включатся на заданное время (от сработанного датчика мин. воды в емкости автодолива).

Единственный нюанс - трубку мне придется пробрасывать только по потолку. Общий метраж трубки получается 21 метр. Немного пугает меня данная длина трубки. Но думаю все можно решить и осуществить.

ИльяМВTopic starter

Программу я почти сделал.
Сегодня мне предоставил samspec для испытаний моторчики (помпы), огромное спасибо ему за это.
Соберу пока все по временной схеме, для испытаний, как говорится на коленке.

ИльяМВTopic starter

Пока подключил только одну помпу для испытаний.



Так выглядит главный экран.
На нем видно расписание работы каждой помпы.

Капитан

ИльяМВ, мне интересно про автодозатор
— Что тебе мама подарила на день рождения — Жизнь.  Помните это всегда!

ИльяМВTopic starter

И еще немного разных  закладок:


   

   



А это непосредственно странички настроки помпы и колибровка помпы




ИльяМВTopic starter

#5
Кроме того, при калибровке помпы можно выбрать нужную скорость помпы. Может быть пригодится.
Диапазон скорости сделал не 1....255, а 100 ... 255, по тому, что если поставить значение меньше 100, помпа не в состоянии преодолеть силу трения в роликах (не стартует).

ИльяМВTopic starter


ИльяМВTopic starter

Испытание с водой показали хорошие предварительные результаты точности дозирования.

Но у меня весы с точностью в 1 грамм. А для точного измерения нужны весы с точностью 0.1 грамм. Может кто сможет предоставить весы для испытаний?
Эти испытания нужны для того, чтобы определится по программе: достаточна ли привязка к секундам, или надо привязываться к миллисекундам.

Капитан

#8
вопрос практический сколько емкостей будет? На каждую емкость своя помпа?
содержимое только жидкое?
— Что тебе мама подарила на день рождения — Жизнь.  Помните это всегда!

ИльяМВTopic starter

Капитан, я делаю дозатор для 6 помп. Теоретически можно сделать и больше и меньше. Просто мне больше не нужно, в реалии все равно буду использовать пока только 3 шт.
Соответственно раз 6 помп, значит и 6 емкостей.
Для данных помп содержимое подходит только жидкое.



Капитан

из того что ты там изобрел к моему можно что то добавить или все заново? Повторю меня интересует только дозатор
— Что тебе мама подарила на день рождения — Жизнь.  Помните это всегда!

ИльяМВTopic starter

#11
Думаю управление светом, нагревателем, вентиляторами и т.п. с дозатором объединять в один контроллер не только нецелесообразно, но и опасно.
Ведь  дозатор построен по принципу сравнения времени включения и выключения, привязан к секундам. Не дай бог какая задержка времени (включение сигнала, пауза при выполнении подпрограммы), дозы жидкости будут другими, не такими, как ты планировал при настройке.
Да и еще надо учесть, что память у контроллера не резиновая. Программа управления светом использует около  190326 bytes из доступных 258048 байт, а программа дозатора тоже "весит"  около 160000 байт.

Так что я планирую делать дозатор на отдельном контроллере.

Капитан

ИльяМВ,  понял и спрошу по другому, а можно только дозатор без прибамбасов (они уже есть)
и все таки рассмотреть возможность сухого корма, как автокормушку?
— Что тебе мама подарила на день рождения — Жизнь.  Помните это всегда!

ИльяМВTopic starter

Цитата: Капитан от 03 апреля 2013, 19:55:32
ИльяМВ,  понял и спрошу по другому, а можно только дозатор без прибамбасов (они уже есть)
и все таки рассмотреть возможность сухого корма, как автокормушку?

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

ИльяМВTopic starter

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

samspec

Кажной продвинутой рыПке по светодиодику

ИльяМВTopic starter

Цитата: samspec от 03 апреля 2013, 20:02:36
ИльяМВ, есть весы до 0,01

Это хорошая новость. Возьми их на работу, я подскачу.

samspec

Кажной продвинутой рыПке по светодиодику

U-96

Цитата: ИльяМВ от 03 апреля 2013, 19:04:42
И еще немного разных  закладок:
Красиво. Сами все программировали?

Цитата: ИльяМВ от 03 апреля 2013, 19:48:10
Думаю управление светом, нагревателем, вентиляторами и т.п. с дозатором объединять в один контроллер не только нецелесообразно, но и опасно.
Ведь  дозатор построен по принципу сравнения времени включения и выключения, привязан к секундам. Не дай бог какая задержка времени (включение сигнала, пауза при выполнении подпрограммы), дозы жидкости будут другими, не такими, как ты планировал при настройке.

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

Цитата: ИльяМВ от 03 апреля 2013, 19:48:10
Программа управления светом использует около  190326 bytes из доступных 258048 байт, а программа дозатора тоже "весит"  около 160000 байт.
OMG! {udivlen]
В стадии завершения проект на 32 нагрузки, 8 PID термостатов, 8 дозаторов, pH контроллер, ШИМ правда нет, да оно и не надо. Все на Atmega328 (та же ардуина). Думаю еще веб-сервер впихнуть.




ИльяМВTopic starter

U-96, программу писал сам.

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

Что касается разнесения разных устройств на разные контроллеры - это тоже дополнительная безопасность в своем роде. Я тоже считаю, что нежелательно все элементы вешать на одно устройство, т.к. это все же железка, может подвести в неподходящий момент. Об этом уже неоднократно на Логовском форуме писали.

ИльяМВTopic starter

Спасибо samspec за предоставленные весы с точностью 0.01г (будем надеяться что они не врут и прошли метрологическую поверку  {oskal}).
Сразу хочу отметить тот факт, что дозировку и измерения проводил в пределах 20...50 мл, т.к. весы имеют предел 100 гр.
Результаты измерений показали, что на маленькой скорости помпы погрешность составила около 0,05.... 0.1 г (ну или 0,05.... 0,1 мл).
Думаю такая погрешность вполне приемлима.
Если скорость повысить до максимума (12 В) то погрешность возрастает до 0,2...0,3 мл.

Но надо учесть, что китайские помпы, как в прочем и германские, не предназначены для метрологических нужд, и у них заявлена погрешность как минимум +-3%, а это от 40мл составит 1,2 мл.


MOV09722

Снимал мыльницей, из-за этого немного нечеткое изображение.

Капитан

ИльяМВ,  неужели ты думаешь, что при добавлении баллинга даже в 100л аквариум с точностью (+) (-) 1гр как то по особенному на нем скажется?
— Что тебе мама подарила на день рождения — Жизнь.  Помните это всегда!

ИльяМВTopic starter

Капитан, я уверен на 99,9%, что когда мы вносим вручную баллинг (шприцом или стаканом) погрешность куда выше, т.к. капли в стакане или шприце все равно остаются.
Что касается точности, про которую ты написал +-1 гр (на 100л), то думаю это не принципиально. Все равно через какое-то время после тестов придется или КН или Са подправлять. Если ежедневный перекос большой, то и перепад через месяц будет больше.

ИльяМВTopic starter

Капитан, для тебя хорошая новость. Если тебя устроит погрешность дозатора около 0,2...0,8 мл, то думаю можно в дальнейшем добавить в твой контроллер 3 дозирующие помпы. Но в любом случае нужно пробовать.

U-96

ИльяМВ, не забываем про систематическую погрешность при каждом запуске помпы. Также рекомендую забыть про delay() не забывать про таймеры, аквариумист (?), писавший сей проект таки никудышный программер.

🡱 🡳
Яндекс.Метрика