Наливатор на STM32 и Arduino Nano 2024

vicgoncharenko

✩✩✩✩✩✩✩
28 Фев 2021
11
1
65
Здравствуйте!
Решил опубликовать свой вариант аппарата который активно используется в жизни.
Эту часть текста я уже публиковал, но придётся повторится.
По-порядку.
Наливатор.

Немного о моём наливаторе.

В феврале 2022 года решил построить свой вариант аппарата.
Очень понравился РВСН-8 и Железный капут. Золотые руки мастера. Но т.к. живу в отдалении от всяких-разных фабрик-заводов, на которых можно было-бы реализовать многие узлы и детали пришлось думать, как изготовить "железяки" и самое главное, как написать программу.
Я немного программировал в AVR-Basic. Подойдя к решению проблемы программирования я понял, что шансов мало. Отсутствовали библиотеки которые мне нужны были, а писать алгоритмы из даташитов не хватает умения и терпения. Я, то и "читатель" плохинький, не говоря о "писателе".

Решил так, к двадцать третьему февраля 2023 года я должен изготовить наливатор и написать программу в Arduino IDE (изучив, на сколько можно язык программирования).
В крайнем случае, к Дню красной армии и ВМФ, сделаю механическую часть и сделаю примитивное управление, кнопку нажал – повернул каретку, кнопку нажал – налил.

Упёрся. Начал изучать Си и делать эксперименты с железом. Делал узел, писал алгоритм, проверял, и т.д.

И вот, 23 февраля 2023 года аппарат был торжественно продемонстрирован моим коллегам.
Корпус изготовил из фанеры и обклеил шпоном красного дерева и какого-то там дуба.
Наливатор позволяет налить от одной до шести рюмок одним выбранным объёмом от 15 до 50 мл.
Рюмки можно ставить как угодно, подряд, через одну, или вообще не ставить. В пустые места напиток не нальётся. Прокутит все шесть позиций и перейдёт в готовность снова налить.
Говорит тосты. Проигрывает музыку как из основного DF плеера, так и из второго MP3 плеера.
Показывать температуру напитка. И предупреждать, что напиток сильно согрелся. Так же от температуры зависит цвет подсветки под бутылкой, от синего до красного.
В "ручную" можно прокачивать напиток, как для заполнения трубочек, так и для их опорожнения.
Напиток качает перистальтический насос. Этот не пропускает напиток самотёком.

Аппарат состоит из:
Blue Pill (STM32F103C8T6) 128 КБ
Arduino Nano
HW134 (драйвер шагового мотора поворота каретки)
Шаговый мотор со старого дисковода типа NEMA.
DFPlayer (здесь тосты и несколько любимых песен)
BA6219(драйвер коллекторного мотора перистальтического насоса)
Перистальтический насос – это такой какими качают кровь.
ST7735 (дисплей)
LV53LOX (модуль лазерного дальномера)
DS18B20 (датчик температуры)
Оптрон с внешним каналом (снял со старой ККМ Samsung ER-250RF).
Ещё один "оптрон" изготовил из фотодиода и лазерного модуля от лазерной указки.
Модуль встраиваемого MP3, BT, FM, AUX плеера с ПДУ купленного на Aliexpress.
Модуль УНЧ 2х15 класса F(так написано) купленного там же.
74HC4053 (аналоговый коммутатор для озвучивания от DFPlayer или от встроенного)
WS2812 16 светодиодов для "умной" подсветки.
Кнопки, энкодер, готовый блок питания 12 Вольт 3 Ампера в корпусе с дырочками от китайцев.
Стабилизатор на 5 Вольт сделал сам.
Динамик, чтобы встроить во внутрь.
Два сдвоенных пружинных клеммных зажима для подключения внешней акустики.
Ещё, для реализации задуманного потребовался 3D-принтер. Но он уже был у меня.
Изначально, разрабатывая печатную плату, я в основном разместил модули и основные соединения. В процессе "допиливания" некоторые соединения менялись, некоторые создавались. ПП похожа на монтажку с проволочными соединениями.
Сейчас решил "закультурить" ПП и все соединения с нею.

Ещё предстоит довести до ума трубопровод.

Продолжение следует...
 

Вложения

vicgoncharenko

✩✩✩✩✩✩✩
28 Фев 2021
11
1
65
Это файл схемы .spl7
Пришлось упаковать.
Схема почти полная. Не показаны некоторые разъёмы. Также не показаны объединённые в плату узлы. (ОУ, коммутатор, подстроечные резисторы).
 

Вложения

vicgoncharenko

✩✩✩✩✩✩✩
28 Фев 2021
11
1
65
Почему два процессора!?

Потому что не смог реализовать одновременное отслеживание за рюмками и управление ШД. (не хватило таланта в программировании. Изготавливал наливатор и изучал программирование одновременно).

Хочу отметить, что в упомянутом выше РВСН-8 и Железном капуте использовалось, по крайней мере, 11 реле. И программа одна и та же. По моим данным программу на тот момент написал школьник из СПб. В моём аппарате реле нет.

Arduino Nano отвечает за шаговый мотор, измерение температуры в бутылке, наличие-отсутствие рюмок с помощью лазерного дальномера.

STM32 отвечает за всё остальное. За энкодер, дисплей, кнопки, оптроны, DFPlayer(тосты и музыка) , коммутатор звуков, управление помпой, "пылающей" подсветкой WS2812. Так же выдаёт что нужно на Nano (управление ШД), и получает оттуда что можно(температуру, наличие рюмки).

На одной плате по размерам как УНЧ разместил 2 ОУ, коммутатор 74HC4053, подстроечные резисторы, преобразователь +5 в -5 Вольт для питания коммутатора.

Я установил ещё один плеер который воспроизводит независимо от DF плеера. Для удобства.
 
Изменено:

vicgoncharenko

✩✩✩✩✩✩✩
28 Фев 2021
11
1
65
Динамик DF Плеера установил в крышке в дне наливатора. На боковую стенку прикрутил два разъёма с пружинными зажимами для подключения проводов внешней акустики.

Ещё на боковую сторону прикрепил держатель ПДУ плеера. В этом держателе можно хранить штуцер для наливания при транспортировке.
 

vicgoncharenko

✩✩✩✩✩✩✩
28 Фев 2021
11
1
65
Работа наливатора, как обычно, начинается с включения тумблера.

Каретка поворачивается и так называемое исходное положение. Для этого в каретке имеется отверстие для "лазерного" оптрона. Каретка будет вращаться пока не лазер не засветит фотодиод.

Не знаю, может это лишнее, но мне нравится.

После этого на дисплее мелькнёт, на одну секунду, предупреждение о вреде алкоголя, после чего появится сообщение с предложением налить три рюмки по 20 мл. Предполагается, что соберутся три человека.

Энкодером, вращая в одну сторону, можно выбрать по кругу количество рюмок, от одной до шести. А при вращении в противоположную сторону – объём напитка в рюмке, от 15 до 50 мл с шагом 5 мл. Коротким нажатием энкодера подтверждаем свои намерения.

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

Рюмки могут быть из любых материалов, стекло, металл, пластик, керамика. Наличие рюмки на позиции определяет лазерный дальномер.

Если стоят не все "заявленные" рюмки, то аппарат прокрутит все шесть позиций, наливая в имеющиеся рюмки, и перейдёт в режим ожидания, простив отсутствующие рюмки.

После наливания последней рюмки прозвучит тост, который воспроизведёт DF плеер.

После очередного наливания прозвучит следующий тост. Не понравился формат представления MP3 файлов этом плеере. Ну да куда деваться.

При включении аппарата сразу начинает "звучать" второй MP3 плеер. На время тоста или воспроизведения музыки из DF плеера коммутатор переключается на DF плеер. Этим занимается вывод BUSY DF плеера.

Постоянно происходит контроль за температурой напитка. Значение температуры отображается на дисплее, а также происходит визуализация в виде "полыхающего" огня от синего до красного цвета в подставке под бутылку реализованной на светодиодах WS2812 в виде трёх лучей.
При достижении температуры 23° С подсветка начинает полыхать пурпурным цветом и каждые три минуты звучит предупреждающий звук и на дисплее отображается предупреждение.
 
Изменено:

vicgoncharenko

✩✩✩✩✩✩✩
28 Фев 2021
11
1
65
Конструкция.

Корпус из фанеры. Каретка, шестерни, рычаги, держатель лазерного дальномера, штуцерный узел (громко сказано), лазерный оптрон исходной позиции, опоры, держатель насоса, передняя панель, держатель наливного штуцера и ПДУ, ножки, погружаемый в бутылку цилиндр со всасывающим штуцером и датчиком температуры, подставка под бутылку вместе со светодиодной подсветкой создал во FreeCAD и напечатал на 3D принтере.
 

vicgoncharenko

✩✩✩✩✩✩✩
28 Фев 2021
11
1
65
О насосе.

Изначально я купил такой насос с моторчиком, который применяется в термопотах. Но оказалось, что в случае, если бутылка стоит так, что уровень жидкости выше уровня наливного штуцера, происходит самотёк. Капелька в несколько секунд на каретку. Пришлось покупать перистальтический насос. В нём отсутствует самотёк. Но и цена была раз в пять-шесть больше.
В качестве трубопроводов использовал силиконовые трубочки от капельницы и латунные трубки от телескопических антенн. Латунь паял чистым оловом.