Оглавление:
- Шаг 1. Введение
- Шаг 2: выберите подходящую машину
- Шаг 3: Модификации оборудования
- Шаг 4: Основные соединения и плата контроллера
- Шаг 5: Контроль потока воды и механизм заправки
- Шаг 6: Обнаружение наводнения
- Шаг 7: Тестирование и окончательная сборка
- Шаг 8: Код контроля кофе
- Шаг 9: Соображения по поводу дизайна и заключительные мысли
Видео: JavaStation (полностью автоматическая кофеварка IoT с функцией самозаполнения): 9 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Целью этого проекта было создание полностью автоматической кофеварки с голосовым управлением, которая автоматически наполняется водой, и все, что вам действительно нужно сделать, это заменить посетителей и выпить кофе;)
Шаг 1. Введение
Поскольку это был мой второй мод кофе, я многому научился в процессе, в частности, что чем более сложную машину вы модифицируете, тем больше проблем / ошибок вы столкнетесь в повседневной работе. Предыдущая машина была простой старой кофеваркой с одним переключателем и реле.
Circolo (полностью автоматическая версия) - это топовая машина премиум-класса от Dolce Gusto. Мне пришлось потратить часы на поиск подходящей машины, потому что все остальные машины из этой серии использовали верхний механический рычаг для переключения между потоками холодной и горячей воды, как показано на рисунке.
Шаг 2: выберите подходящую машину
Моя базовая машина не только полностью автоматическая, но и имеет замечательные функции, такие как автоматическое выключение через 5 минут и запоминание последнего количества кофе (что значительно упростит работу в дальнейшем при моддинге). Основные операции машины:
1, кнопка питания нажата
2, кнопка холодной воды нажата (она немедленно диспергирует воду в чашку)
3. Нажата кнопка горячей воды (она нагревает бойлер на ~ 20-60 секунд и начинает подавать горячую воду в чашку). Индикатор питания будет мигать красным во время периода ожидания, а затем постоянно горит зеленым, когда бойлер готов.
Эта машина также может обнаруживать следующие ошибки:
Резервуар для воды пуст
Подстаканник не на месте
В обоих случаях индикатор питания будет мигать между красным и зеленым.
Шаг 3: Модификации оборудования
В этой статье я не буду подробно рассказывать о разборке и повторной сборке корпуса, потому что на YouTube есть видео об этом. Главный микропроцессор спрятан прямо под головной панелью, где находятся 2 переключателя. Котел находится в правой части корпуса отдельно от всего остального, панель насоса и источника питания - слева.
Кофеварка - это тяжелая среда для электроники, ни одна из сторон не подходит для интеграции схемы. Справа от котла больше места, но вы будете иметь дело с теплом, очевидно, контур не может касаться плиты котла или даже находиться рядом с ней. Я выбрал сторону источника питания / насоса, но здесь вам придется иметь дело с сильным резонансом, возникающим из-за работы мембранного насоса, который со временем может разрушить схему управления / привести к выскальзыванию проводов из их разъемов.
Панель источника питания не содержит ничего полезного, но может использоваться для вывода стабильного напряжения +5 В (еще один большой палец вверх для этой машины), который можно напрямую подключить к выводу VIN Arduino, минуя встроенный регулятор напряжения.
Краткий список оборудования (не полная спецификация, не включает основы):
- Полная автоматическая версия Dolce Gusto Circulo
- 4-канальный релейный модуль 5 В с оптопарой для PIC AVR DSP (я предлагаю использовать 4 реле с герконовым переключателем SIP-1A05)
- Arduino Micro (в будущем я предлагаю использовать SparkFun Pro Micro или новее)
- 2PCS 4n35 FSC Оптопары Фототранзистор
- Электромагнитный клапан 1/2 "для воды, воздуха N / C, нормально закрытый, 12 В постоянного тока
- Ультразвуковой модуль Датчик измерения расстояния HC-SR04 (купите дополнительные принадлежности, позже вы увидите, почему)
- 2 шт. Модуль датчика влажности дождя обнаружения дождя для Arduino
- 1 Xbee
- Фитинги для водоблоков (могут отличаться в зависимости от дома, лучше всего покупать в строительном магазине и собирать все вместе перед покупкой)
Шаг 4: Основные соединения и плата контроллера
Необходимо подключить следующие точки цепи:
1, горячая кнопка
2, холодная кнопка
3, красный светодиод
4, зеленый светодиод
5, кнопка включения основного питания
6, общий GND
К сожалению, я потерял свои заметки / фотографии о том, где их припаять на плате, но все можно легко отследить с помощью мультиметра (просто используйте режим проверки диодов, чтобы отследить провода). Пайка была не слишком сложной, подберите точки с SMD ножками и припаяйте туда провода.
Красный / зеленый светодиоды расположены рядом друг с другом на переключателе питания. Они нужны для определения состояний машины (включен, готов к приготовлению кофе (котел нагрелся), ошибка). Мне пришлось снимать их прямо с основной платы, потому что сложно повозиться с маленькой схемой вокруг переключателя питания.
Я использовал оптопары 4N35 для безопасного взаимодействия с Arduino и считывания состояний светодиодов. Первоначальная идея заключалась в том, чтобы использовать 5 из них и одновременно снимать показания и переключать элементы управления (сделать полностью бесшумную схему). К сожалению, этот чип не смог создать достаточно низкое сопротивление, чтобы имитировать нажатие кнопки, поэтому я был вынужден использовать реле. Я использовал стандартный 4-канальный релейный модуль, который у меня был под рукой, но если бы мне пришлось переделать этот проект, я бы просто использовал небольшие герконовые реле (SIP-1A05 Reed Switch Relay с внутренними обратными диодами), которые можно напрямую подключить к выходу Arduino. контакты (нагрузка ~ 7 мА), чтобы все можно было разместить на двухуровневой плате.
5 небольших кабелей можно легко проложить рядом со шнурами питания под платой питания.
Чтобы более эффективно использовать пространство в машине, я решил разделить электронику на 2 основные панели:
Слева находится основная плата управления, справа (то, что я называю коммуникационной платой) находится Xbee, и, хотя это не показано на картинке, 2 датчика воды (для обнаружения переполнения) зажаты позади него. Сверху часы реального времени (необязательно для безотказной работы:)) и 4-канальная релейная плата, занимающая место рядом с насосом внизу, завернутая в губку, также немного наклеенная для защиты от резонанса.
Что касается коммуникационной платы, я не стал делать печатную плату, просто использовал обычную макетную плату, потому что там мало что происходит. Он имеет 6 подключений к основной плате:
Vcc (5 В), GND, Xbee (TX), Xbee (RX), Датчик воды 1 (данные), датчик воды 2 (данные)
Шаг 5: Контроль потока воды и механизм заправки
Я разработал эту машину с учетом требований безопасности, чтобы злоумышленники / неисправности не могли нанести серьезный ущерб дому водой, поскольку машина была бы подключена как к крану, так и к Интернету 24/7. Это то, что делает следующая схема защиты 555 поверх соленоида.
Также обратите внимание, что соленоид работает от источника питания 12 В, который мне все же удалось втиснуть в нижнюю часть кофемашины рядом с платой насоса и реле. Чтобы не тратить энергию впустую, плата 4-канального реле переключает сеть 230 В напрямую на адаптер, который затем включает соленоид. Конечно, есть задержка выключения на пару микросекунд, которую вы должны рассчитать для коллапса магнитного поля как на соленоиде + на адаптере, так и при вытаскивании вилки.
Я использую стандартный разъем 3,5 мм для подключения внешнего водоблока с помощью длинного 3-метрового провода и трубы ПВХ небольшого диаметра, выходящей из блока, идущего к кофеварке.
В верхней части резервуара для воды просверливается отверстие для этой трубы, которая затем опускается на дно резервуара. Отмечу, что очень важно подавать трубу до дна сбоку, не проходя через середину и не мешая ультразвуковым датчикам.
После того, как соленоид включен, цепь автоматически отключится через ~ 4 секунды (этого должно быть более чем достаточно времени для заполнения бака), и он останется в этом состоянии до следующего цикла включения питания. Эта схема является последней линией защиты от сбоев и работает полностью автономно от кофеварки. Если реле в машине выйдет из строя и останется закрытым, вода может затопить дом, а с такой защитой этого никогда не произойдет.
Если это все еще недостаточно для вас, или невозможно закрыть воду, или вы не хотите возиться с водоблоками, ознакомьтесь с моим проектом WasserStation, который был построен именно для этого, чтобы расширить небольшой резервуар для воды в кофемашине.
Шаг 6: Обнаружение наводнения
Для защиты есть 2 дополнительных датчика воды:
- Датчик 1: в задней части бака для обнаружения перелива бака.
- Датчик 2: внизу кофемашины для обнаружения переполнения чашки.
Оба этих датчика вызовут прерывание, которое немедленно отключает воду, включает световой индикатор ошибки и прерывает выполнение программы, чтобы предотвратить такую атаку, как приготовление миллиона чашек кофе и затопление дома таким образом. После выхода из программы машина больше ни на что не реагирует, и ее необходимо выключить вручную.
На случай, если вам интересно, что произойдет, если ультразвуковой датчик будет затоплен (однажды такое случилось:))
Он возвращал такой уровень воды в течение нескольких дней, но даже после того, как он высох, он никогда не был точным, и мне пришлось его заменить. Машина была разработана для работы с холодной водопроводной водой, поэтому никакое испарение горячей воды не повредит датчик. Этот датчик точен только до тех пор, пока уровень воды не будет от него на 2-3 см.
Эллиптическая форма резервуара затрудняла расчеты уровня воды, поэтому они были измерены и жестко запрограммированы в программе, чтобы соответствовать процентам.
Шаг 7: Тестирование и окончательная сборка
Машина в конечном состоянии, почти полностью скрывая следы любого взлома, и если бы 3 светодиода состояния и порт отладки USB не были бы там, вы не могли бы сказать, что что-то еще происходит внутри, хотя в нем даже может быть подключен Wi-Fi. Сервер Quake:)
Когда я модифицирую устройства, я всегда уделяю первоочередное внимание ручному использованию. После взлома машина может полностью использоваться кем угодно, как и раньше, за исключением того, что резервуар для воды не может быть легко удален. Если вы не завершите полную часть конструкции, касающуюся автоматизации водоснабжения, на этом этапе машину можно будет заполнить только с помощью небольшой комбинации трубка + воронка.
Шаг 8: Код контроля кофе
Найдите полный исходный код Arduino внизу.
Краткое объяснение кода:
Основной цикл вызывает функцию xcomm (), отвечающую за обработку команд, приготовление кофе, включение / выключение машины.
Код ниже доступен только в случае ручного управления. Он увеличивает счетчик статистики, чтобы отслеживать, сколько кофе было приготовлено, и автоматически заполняет резервуар для воды.
Команды можно отправлять через Xbee или через порт USB (отладка должна быть включена в начале). При поступлении связи от любого из них оранжевый светодиод мигает в течение секунды, показывая активность сети. Реализованы следующие команды:
1, CMSTAT - запрос статистики с машины
Аппарат хранит статистику о том, сколько горячего / холодного / ручного кофе было приготовлено, а также получает данные о времени безотказной работы от RTC, который не переполняется через 3 дня, поэтому может увеличиваться до нескольких лет: P
2, CMWSTART - начало приготовления кофе и горячих напитков из горячей воды
3, CMCSTART - начинает заваривать холодный чай и холодные напитки с холодной водой
Горячий и холодный процессы начинаются с вызова функции standby (), которая выполняет дальнейшие проверки, а затем запускает нажатие кнопки питания. После этого программа ожидает зеленого свечения (когда котел нагревается), затем имитирует нажатие кнопки горячее / холодное. После этого он ждет 50 секунд (этого более чем достаточно даже для самой большой чашки кофе), а затем отключает питание. В этом даже не было бы необходимости, так как эта превосходная кофемашина автоматически выключается через 5 минут после приготовления кофе, но зачем тратить энергию? Кстати, в режиме ожидания потребляемая мощность аппарата даже после модификации составляет менее 2 Вт.
Пополнение запасов воды и безопасность
Эта машина была разработана с учетом требований безопасности, поэтому злоумышленник, получивший контроль, не сможет затопить весь дом водой. Отказ оборудования также не приведет к серьезным повреждениям. Рядом с аппаратными датчиками есть защита, встроенная в код для заправки. Счетчик, который запускает процедуру ISR, если машина не пополняется за x секунд (это, например, может произойти, если ультразвуковой датчик выйдет из строя и выдаст 20% через x секунд после начала заправки).
Нет аутентификации, любой может использовать машину в пределах радиодиапазона, кто знает команды, поэтому я изменил идентификатор пикосети Xbee по умолчанию на что-то другое, также ERR_INVALIDCMD можно закомментировать, и машина будет игнорировать любые неизвестные команды.
Ошибки
Ошибка двойного кофе: самая неприятная вещь в этой ошибке - это то, что она начала происходить через пару месяцев после использования машины с тем же кодом. После подачи команды кофе он приготовил кофе, выключился, снова включился и продолжил приготовление еще 1 кофе с тем же патроном.
Мне пришлось начать отладку дублирования команд с уровня Android, потому что я реализовал повторную отправку в код в случае потери пакета. Оказалось, что за это не отвечают ни android, ни программное обеспечение управления C, ни ядро Linux на raspi2, а Xbee.
После выдачи эхо-сигнала «CMCSTART»> / dev / ttyACM0 на управляющем узле он дважды выходит на другой конец. Я пришел к выводу, что мой спектр 2,4 ГГц в моем доме начал насыщаться из-за множества радиоустройств в этом диапазоне, что привело к тому, что Xbee вызвал какую-то повторную отправку на уровне радио, и данные были отправлены дважды (не всегда). Как только первая команда пришла на машины, функция xcomm () начала ее обрабатывать, однако вторая пришла сразу после того, как она ждала в буфере Xbees, а когда цикл закончился, она начала обрабатывать вторую команду. Чтобы обойти эту проблему, я ввел в код 3 порога, чтобы сделать невозможным приготовление более 1 кофе за 2 минуты. Также существует ограничение на CMSTAT, но чтобы не мешать управляющему коду C / Android, он просто подавляет ответы в течение 2 секунд.
Последний порог был установлен для ручного счетчика кофе, потому что, как только машина достигла состояния готовности (бойлер нагрелся, зеленый свет), она сотни раз регистрировала зеленое событие, увеличивая счетчик кофе.
Шаг 9: Соображения по поводу дизайна и заключительные мысли
После множества проблем, связанных с коммуникацией Xbee, я бы не рекомендовал Xbee для этого проекта. Либо используйте стандартное дешевое радио 433 МГц с VirtualWire и пониженным бит / с для стабильности, либо вставьте Raspberry PI Zero с подключением Wi-Fi непосредственно в кофемашину.
Как видно из даты, это старый проект, поэтому я прошу прощения за отсутствие мелких деталей, таких как соединение схемы управления с точными ножками на материнской плате. Этот проект требует определенного уровня технических знаний, чтобы сделать его самостоятельно. Если вы обнаружите какие-либо ошибки / проблемы или захотите внести свой вклад в это руководство, пожалуйста, дайте мне знать.
Программное обеспечение для управления, методы голосового управления - это еще одна часть, которая позволит приготовить кофе с помощью голосовой команды, даже не вставая с постели.
Я завершил документацию своей системы хранения воды (WasserStation) и обновил CoffeeControlCode до последней версии, которая также включает автоматическое пополнение. Если вы используете ту же машину для сборки, заправка будет работать безупречно (без каких-либо изменений кода), так как уровни воды были откалиброваны по резервуару для воды Circolo.
Рекомендуемые:
Полностью автоматизированная установка для панорамирования фотографий: 14 шагов (с изображениями)
Полностью автоматизированная установка для панорамирования фотографий: Введение Привет всем, это моя автоматическая установка для панорамирования камеры! Вы заядлый фотограф, который хотел одну из этих действительно крутых автоматических установок для панорамирования, но они действительно дорогие, например, 350 фунтов стерлингов + дорого за 2 оси панорамирование? Что ж, остановись прямо здесь
DIY BB8 - полностью 3D-печать - диаметр 20 см. Первый прототип реального размера: 6 шагов (с изображениями)
Сделай сам BB8 - полностью 3D-печать - диаметр 20 см. Первый прототип реального размера: Привет всем, это мой первый проект, поэтому я хотел бы поделиться своим любимым проектом. В этом проекте мы сделаем BB8, который будет производиться на полностью 3D-принтере диаметром 20 см. Я собираюсь построить робота, который двигается точно так же, как настоящий BB8
Автоматическая кормушка для растений WiFi с резервуаром - Установка для выращивания в помещении / на открытом воздухе - Автоматическая поливка растений с дистанционным мониторингом: 21 шаг
Автоматическая кормушка для растений WiFi с резервуаром - Настройка выращивания в помещении / на открытом воздухе - Автоматическое поливание растений с удаленным мониторингом: в этом руководстве мы продемонстрируем, как настроить индивидуальную систему подачи растений в помещении / на открытом воздухе, которая автоматически поливает растения и может контролироваться удаленно с помощью платформы Adosia
Кофеварка IOT (UFEE): 7 шагов (с изображениями)
Кофеварка IOT (UFEE): в качестве доказательства знаний нам пришлось создать устройство IOT, которым можно было бы управлять через самодельный веб-интерфейс. Поскольку я люблю кофе и потребляю его в больших количествах каждый день, я решил сделать свою собственную кофеварку IOT. Кофеварка UFEE: " the co
КЕВИН - полностью автономный автомобиль: 17 шагов (с изображениями)
КЕВИН, полностью автономный автомобиль: это Кевин. Это радиоуправляемая машина с возможностью полного автономного привода. Моей первой целью было сделать автономное транспортное средство управляемым Arduino. Поэтому я купил дешевое китайское шасси. Но это было ужасно, потому что я не мог прикрепить