ОБНОВЛЕНИЯ
• 08.03.20 Версия 1.5: Добавлена инверсия сервопривода (ОБНОВИТЕ БИБЛИОТЕКУ ИЗ АРХИВА)
Версия проекта с шаговым мотором и OLED дисплеем от VICLER ссылка на репозиторий
Предыдущие
• 25.10.19 Версия 1.0: первоначальная, вроде бы стабильная версия
• 30.11.19 Версия 1.1:
– Поправлена работа системы при выборе некорректного объёма
– Исправлены ошибки при наливании больших объёмов
– Исправлен баг с остановкой наливания при убирании другой рюмки
• 15.12.19: обновлена библиотека ServoSmooth, перекачайте архив. Улучшена работа на низких скоростях и ускорениях.
• 05.01.20 Версия 1.2:
– Исправлено ограничение выбора объёма
– Исправлены ошибки (обновите библиотеки из архива! servoSmooth v1.8, microLED v2.3)
– Добавлено хранение в памяти выбранного объёма
• 18.01.20 Версия 1.3: Исправлен баг со снятием рюмки в авто режиме (жука поймал Юрий Соколов)
• 08.03.20 Версия 1.4: Добавлена настройка уровня концевиков (для ИК датчиков) и исправлена ошибка с наливанием больших объёмов
ОПИСАНИЕ
Автоматический разливатор-дозатор напитков на Arduino:
- Сделан из чемоданчика – набора отвёрток из фикс-прайса
- Остальные компоненты тоже из фикс-прайса
- Электроника с Алиэкспресс
- Система рассчитана на 1-6 рюмок
- Подсветка рюмок:
- Красный – пустая
- Жёлтый – в процессе заполнения
- Зелёный – готово к употреблению
- Надёжный механический датчик наличия рюмки
- Складная конструкция
- Пищевая мембранная помпа
- Энкодер, дисплей
- Система “пинания” powerbank’a, не дающая ему уйти в сон
- Продуманная система энергосбережения: дисплей снижает яркость при простое, серво отключается от питания
- Используется библиотека для плавного движения сервопривода
Другой проект наливайки от наших ребят на Бумстартер – поддержать
ВИДЕО
КОМПОНЕНТЫ
Стараюсь оставлять ссылки только на проверенные крупные магазины, из которых заказываю сам. Также по первые ссылки ведут по возможности на минимальное количество магазинов, чтобы минимально платить за доставку. Если какие-то ссылки не работают, можно поискать аналогичную железку в каталоге Ардуино модулей. Также проект можно попробовать собрать из компонентов моего набора GyverKIT.
-
Arduino Nano купить в РФ, aliexpress, aliexpress, искать
-
Адресная лента
- Купить в РФ, 60 свет/метр, 30 свет/метр
- Купить на Али ссылка, ссылка
- Black PCB / White PCB – цвет подложки ленты, чёрная / белая. В видео была чёрная
- 1m/5m – длина ленты в метрах (чтобы заказать 2 метра, берите два заказа 1m, очевидно)
- 30/60/74/96/100/144 – количество светодиодов на 1 метр ленты. В видео использовалась лента 60 диодов на метр
- IP30 лента без влагозащиты (как на видео)
- IP65 лента покрыта силиконом
- IP67 лента полностью в силиконовом коробе
- Постфикс ECO – лента чуть более низкого качества, меньше меди, на длинной ленте будет сильно проседать яркость
- Адресные модули поштучно – искать
- https://ali.ski/GO8H9y
- https://ali.ski/9kP-m
- https://ali.ski/mTeIs
-
Энкодер aliexpress, aliexpress, aliexpress, искать
- Кнопка – искать
- https://ali.ski/pLQ30
- https://ali.ski/Fg4Me-
-
Дисплей TM1637 aliexpress, aliexpress, искать
- Концевик – искать
- https://ali.ski/bGZrqX
- https://ali.ski/GML-x
-
Драйвер MX1508 aliexpress, aliexpress, искать
-
Сервопривод aliexpress, aliexpress, искать
- Модуль USB – искать
- https://ali.ski/sBGAh_
- https://ali.ski/7V34u
- https://ali.ski/_mUDy
- Помпа
- https://ali.ski/ljbp6U
- https://ali.ski/hRl74
- Чемодан!
- https://ali.ski/NjTAxk
- https://ali.ski/HSikH
СХЕМЫ
ПРОШИВКА
ВНИМАНИЕ!
Максимально подробный гайд по началу работы с платой и загрузке прошивки для проекта находится ЗДЕСЬ. Изучи его внимательно, прежде чем писать на форум или в группу ВК!
УПРАВЛЕНИЕ
КАЛИБРОВКА (РЕЖИМ СЕРВИСА)
- Подать питание с зажатой большой кнопкой
- Дождаться надписи SERVICE
- Энкодер управляет положением крана, на дисплей выводится угол
- Кнопка энкодера запускает помпу и таймер
- Удержание большой кнопки – выход из сервиса в обычный режим работы
РУЧНОЙ РЕЖИМ
- Буква Р в левом краю дисплея
- Выставляем стаканчики и кликаем по кнопке
- Во время цикла заполнения можно доставить стакан, он будет заполнен
АВТОМАТИЧЕСКИЙ РЕЖИМ
- Смена режимов – удержание большой кнопки
- Буква А в левом краю дисплея
- Каждый поставленный стаканчик будет заполнен!
ОБЩЕЕ
- Если поднять стакан до заполнения, помпа отключится и система перейдёт к следующему стакану
- Если наблюдаются глюки (неправильное положение крана при заливке, промахи) – проблема в питании! Попробуйте добавить конденсаторы как на схеме, попробуйте другой powerbank, а ещё лучше проверить работу системы на нормальном зарядном блоке питания от смартфона. Система многократно протестирована, работа отлажена, неадекватное поведение замечено при плохом питании.
ПОДДЕРЖАНИЕ ПИТАНИЯ
- Практически все powerbank’и отключают линию питания при отсутствии нагрузки, специально для этого в системе предусмотрено периодическое подёргивание сервопривода с целью создания скачков нагрузки, которые вынуждают powerbank не уходить в сон и не отключать наливатор от питания. В этом режиме система будет каждые 15 секунд дёргать приводом и мигать дисплеем, если вам это не нужно – отключите настройку KEEP_POWER, присвоив ей 0 вместо 1
ПОДДЕРЖАТЬ
Вы можете поддержать меня за создание доступных проектов с открытым исходным кодом, полный список реквизитов есть вот здесь.
Автоматический дозатор напитков или, как его называют, «наливатор» – это устройство, которое разливает напитки по стаканчикам в заданном объёме. Такие электронные бармены быстро обрели популярность. Это неудивительно, ведь наливатор может быть как интересной самоделкой на вашем праздничном столе, так и оригинальным подарком. Их изготавливают и для домашнего использования, и на продажу.
В нашем магазине вы можете приобрести комплект компонентов для сборки наливатора по схеме AlexGyver. Мы решили сами изготовить такое устройство и поделиться с вами нашим опытом.
Выбор материала для корпуса
Здесь, конечно, всё зависит от ваших навыков по работе с тем или иным материалом. В ход идут листовой пластик, оргстекло, фанера. Наиболее доступным и простым в обработке материалом, пожалуй, является фанера. От полимеров её выгодно отличает неповторимый рисунок, который можно подчеркнуть при помощи морилок и лаков. Именно её мы и выбрали для изготовления наливатора.
Какая фанера лучше подойдёт для наших целей? Во-первых, покупая фанеру, обратите внимание на её сорт. Низшим является 4 сорт, он допускает любые производственные дефекты. Тогда как фанера 1 сорта практически не имеет изъянов. Лист фанеры может иметь стороны разной сортности, например, маркировка 2/4 означает, что одна из сторон второго сорта, другая – четвёртого. Нам не принципиален сорт для внутренних сторон наливатора, а вот для внешних предпочтителен сорт повыше.
Также следует заранее определиться с толщиной фанеры. На что она влияет? В нашем случае толщина фанеры 8мм, это позволяет склеивать её торцом без использования шиповых соединений. Но такая толщина фанеры становится минусом, когда требуется установить в ней кнопку или энкодер: длина их резьбы значительно меньше 8мм. Впрочем, это решается путём высверливания в фанере небольшого углубления для устанавливаемого компонента (смотрите на коллаже ниже). При использовании фанеры толщиной 3мм вы не столкнётесь с такой проблемой. Но её уже не получится склеивать торцом. Но, опять же, это не проблема: куски фанеры можно склеить при помощи деревянной рейки, как показано в следующем коллаже справа.
Корпус
Мы решили не усложнять конструкцию наливатора оригинальной формой, и выпилили детали для сборки простого квадратного корпуса:
«Башню» для излива разместим в верхней части посередине. Также её можно разместить в углу – это дело вкуса. Циркулем проводим радиус и намечаем на нём позиции для отверстий. В них будут ставиться стопки. Для сверления используем набор коронок по дереву.
Склеиваем башню столярным клеем. В одной из её стенок высверлены углубления для провода, выходящего из сервопривода. Уже можно прикинуть будущий вид наливатора:
Излив
Здесь нужно продумать, как соединить качалку сервопривода с трубкой излива, в качестве которого мы используем многоразовую коктейльную трубочку. Набор таких трубочек можно купить в Фикспрайсе. Она сделана из нержавеющей стали и отлично подходит для наших целей. Соединить её с качалкой можно при помощи деревянного брусочка: достаточно просверлить в нём отверстие для трубки и приклеить качалку.
Но мы решили немного заморочиться над внешним видом данной детали. В тонкой дощечке сверлим отверстие диаметром 7мм, вставляем в него качалку и обводим её контур карандашом. По этому контуру нужно вырезать углубление для качалки. 5 минут работы скальпелем, и качалка отлично входит в подготовленную для неё полость. Склеиваем всё вместе и придаём нужную форму напильником. В итоге у нас получилась симпатичная деталь:
Второе дно
Второе дно размещается внутри корпуса под отверстиями, которые мы просверлили для стопок. В нём устанавливаются концевые выключатели и светодиоды. Для изготовления второго дна мы взяли тонкую фанерку, наметили отверстия, затем просверлили и выпилили их:
Финишная обработка
Детали корпуса будущего наливатора готовы. Остаётся отшлифовать их и покрыть лаком. Покрытие лаком защитит древесину от влаги. Если вы планируете выполнять покрытие в жилом помещении, то выбирайте лак на водной основе. Такой лак относится к числу экологически безопасных покрытий, быстро сохнет и практически не имеет запаха. В продаже имеются как бесцветные лаки, так и с различными оттенками.
Установка и пайка компонентов
Пора приступить к сборке. Энкодер и кнопку прикручиваем гайками. Дисплей и концевые выключатели очень плотно вошли в подготовленные для них отверстия, нет необходимости фиксировать их клеем. Для светодиодов были высверлены небольшие углубления, в которых они фиксируются парой капель столярного клея. С лицевой стороны заливаем светодиоды термоклеем. Ардуино Нано установлена в специальную стойку, распечатанную на 3D принтере. Для помпы был изготовлен импровизированный деревянный хомут:
Одна часть хомута приклеена внутри корпуса, другая прикручивается к ней саморезами и зажимает помпу.
Соединяем компоненты в соответствии со схемой:
Проводов получается довольно много. Чтобы они выглядели более-менее прилично, собираем их в пучки при помощи термоусадки. В итоге внутренности нашего наливатора имеют следующий вид:
Остаётся подсоединить обратный клапан и трубки, и можно переходить к программной части.
Прошивка и калибровка
Наливатор готов к загрузке скетча. Скачать его можно по ссылке https://github.com/AlexGyver/GyverDrink/
В архиве со скетчем вы найдёте используемые библиотеки. Их следует установить в среду разработки Ардуино. Для этого достаточно скопировать содержимое папки libraries в папку для библиотек Ардуино. Что касается самой среды разработки, автор скетча рекомендует использовать версию 1.8.13, скачать её можно с официального сайта https://www.arduino.cc/en/software. На более старых версиях возможно появление ошибок при компиляции.
После загрузки скетча проверяем работу всех компонентов. Если при вращении ручки энкодера влево значение на дисплее увеличивается, поменяйте в скетче местами номера выводов для CLK и DT (строки 60 и 61). Должно получиться:
#define ENC_DT 9
#define ENC_CLK 10
Или можно перепаять сами провода, не изменяя скетч.
Убедившись в корректной работе всех компонентов, приступаем к калибровке наливатора. Для этого зажимаем кнопку розлива и включаем питание. На дисплее отобразится надпись SErViCE, сообщающая нам о том, что мы находимся в сервисном режиме. Сервомотор займёт своё начальное положение. Устанавливаем трубку излива. Вращая ручку энкодера, подбираем положения, в которых излив будет находиться точно над стопками. При этом угол поворота сервомотора отображается на дисплее. Запоминаем углы для каждого найденного положения и вписываем их в скетче в 43 строке:
const byte shotPos[] = {40, 75, 115, 155, 60, 60};
Теперь нужно замерить время, за которое наливается 50мл. Опускаем трубку в ёмкость с водой, под излив ставим стопку и нажимаем кнопку энкодера. Удерживаем её, пока не потечёт вода. Отпускаем кнопку и выливаем воду обратно в ёмкость. Возвращаем стопку и наливаем воду ещё раз, пока не наберётся ровно 50мл. На дисплее отобразится затраченное время. Вписываем его в скетч в 46 строке:
const long time50ml = 6800;
При необходимости можно изменить и другие параметры в скетче, например, изменить количество стопок или инвертировать направление вращения сервомотора.
После внесения изменений в скетч загружаем его в Ардуино. Наш наливатор готов!
Подключаем питание. На дисплее отображается «Р 50». Буква «Р» говорит о том, что наливатор находится в ручном режиме, и розлив осуществляется при нажатии красной кнопки. Число 50 – это наливаемый объём в миллилитрах, его можно изменять поворотом энкодера.
При удержании кнопки розлива устройство переключается в автоматический режим. При этом буква «Р» на дисплее сменяется буквой «А». В этом режиме наливатор сразу же наполняет поставленные на него стопки. Для возврата в ручной в режим необходимо нажать и удерживать кнопку розлива ещё раз.
Ну и в заключение небольшое видео получившегося устройства:
Наливатор был изготовлен по технологии Алекса Гайвера. На данный момент фан клуб наливатора разросся до неприличных размеров, а сам наливатор приобрел множество модификаций и изменился как внешне, так и по функциональности и комплектующим соответственно. В этой статье рассмотрим процесс изготовления стандартного наливатора без всяких апгрейдов.
Полный перечень материалов + прошивка
Итак начнем пожалуй с поиска или изготовления подходящего ящичка. Тот что вы видите был куплен на Алике, ссылочку найдете если откроете «Полный перечень материалов«. Размеры ящичка (23x16x7,5 см) идеально подойдут для наливатора под 4 рюмки, так же есть петли которые отлично удерживают крышку под углом в 90 градусов. Для его дальнейшего использования необходимо немного доработать, а именно приклеить на внутренние стенки небольшие полоски тонкой фанеры и проделать небольшое отверстие сзади корпуса для вывода разъема Micro USB.
Вырезаем фанерку по внутреннему размеру ящичка. Устанавливаем ее на место и отмеряем центр. Проводим циркулем полукруг отступив 1-1,5 см от самого края, по этой кривой будет двигаться гусак (трубочка). После чего делаем из бумаги шаблон в виде кружка с круглым и прямоугольным отверстиями под светодиод и концевик. Размечаем места под рюмки (светодиод + концевик), кнопку, энкодер, дисплей и два отверстия под трубочки.
Переворачиваем ящик вверх ногами, подпираем его чем нибудь в открытом положении и приклеиваем сервопривод при помощи двухкомпонентного клея (тоже китайского если что =).
А пока сервопривод клеиться можно высверлить и выпилить отверстия в фанерке, а так же поправить их наждачной бумагой. На обратной стороне, в местах где будут крепиться светодиоды, я расширил отверстия сверлом большего диметра, для того что бы светодиоды плотно прилегали к фанерке (там есть небольшой кондер который выступает и не дает плотно прижать светодиод).
Получилась такая вот фанерка которую обклеиваем виниловой пленкой и вырезаем ниши при помощи скальпеля.
Далее нарезаем светодиоды, пропаиваем и приклеиваем как на картинках.
А с обратной стороны заливаем ниши термоклеем, и удаляем излишки при помощи пластиковой карты или небольшого шпателя.
Устанавливаем концевики и фиксируем их термоклеем на обратной стороне.
Приклеиваем дисплей, плату ардуино и драйвер на двухстороннюю изоленту. Паяем все по схеме.
Из трубочки и пластиковых уголков изготавливаем простой гусак и закрепляем на нем качельки которые идут в комплекте с сервоприводом. Вообще тут раздолье для фантазии, кто то использует трубочки от надувных шариков, кто то выгибает гусак из нержавейки или латуни. Только не переборщите и не делайте трубочку слишком тяжелую иначе есть вероятность «кривой» работы сервопривода (будет дергаться и нужно будет придумывать противовес (как один из вариантов исправить)).
Загружаем прошивку на плату ардуино ничего не меняя. (Видео инструкция как загрузить прошивку в ардуино)
Далее подключаем питание и ждем пока сервопривод повернется в крайнее положение. Одеваем гусак. Выключаем питание. Зажимаем кнопку и вновь подаем питание, включается сервисный режим. В сервисном режиме можно проверить светодиоды понажимав на соответствующие концевики, покрутить гусак при помощи энкодера и запустить насос если нажать энкодер. В этом режиме необходимо записать углы положения гусака над центрами рюмок. А так же записать время которое понадобиться насосу для перекачивания 50 мл жидкости.
Готово, можно тестировать =)
Как пользоваться
- Включаем (подаем питание);
- Опускаем силиконовый шланг в емкость и прокачиваем жидкость нажав на энкодер;
- Устанавливаем необходимый режим (автоматический или ручной) нажав и удерживая кнопку. При ручном режиме наливатор начинает работать тогда, когда вы поставите стаканчики и нажмете кнопку, в автоматическом режиме просто ставим стаканчик и наливатор тут же его наполняет.
- После застолья вытаскиваем силиконовый шланг из емкости и нажав на энкодер прокачиваем остатки жидкости.
Если в процессе сборки вы столкнулись с какими либо трудностями, багами или ошибками рекомендую прочитать статью «Проблемы при сборке наливатора и способы их устранения» или же можете посмотреть видео версию.
Пошаговая видео инструкция по сборке + тестирование
Дозатор напитков своими руками(НАЛИВАТОР)
отдельное спасибо AlexGyver за всё что нам понадобится для наливатора
попался мне видос AlexGyver как он собрал наливатор, а что прикольная вещь… сделал всё в точности как у него, но в данный момент ещё доработал встроенным аккумулятором, что избавило меня от повер банка и добавило более больше мобильности. Ну вот решил и с вами поделиться этой крутой вещицей.
Цена вопроса: 2 000 ₽
Войдите или зарегистрируйтесь, чтобы писать комментарии, задавать вопросы и участвовать в обсуждении.