Многокомпонентный конвейерный дозатор

Реализация многокомпонентного конвейерного дозатора веществ


image

В текущей статье я хотел бы продемонстрировать одну из возможных реализаций автоматического многокомпонентного конвейерного дозатора веществ, а так же поделиться полученным опытом. Изначальное техническое задание было весьма простым и включало в себя 4 параллельно работающих дозирующих канала с управлением по средствам кнопок и программного обеспечения для ПК по USB. Основные компоненты довольно вязкие жидкости — пропиленгликоль, ароматизаторы, глицерин и прочее. Конечное устройство должно было располагаться в офисном помещении, где работает персонал — т.е. быть максимально тихим. Конструкция каждого дозируемого канала должна быть максимально простой и иметь минимальную стоимость. В первом приближении все казалось довольно просто, но с развитием проекта увеличивалось и ТЗ, и в итоге получился целый конвейерный дозатор. Кому подобная тематика интересна — прошу под кат. В статье используется большое количество текстовой информации, изображений и видеоряда.

Вступительная часть и первичный прототип


В первую очередь был проведен мониторинг существующих решений, как готовых автоматических дозирующих станций под ключ, так и отдельных ручных аппаратов и узлов. Так как подобной тематикой я прежде не занимался, то предположил, что подобные задачи существуют в пищевой и медицинской отрасли. Такие решения были найдены, однако они не подошли по ряду причин. В пищевой промышленности манипулируют довольно большими объемами, а в текущей задаче заданные рамки варьировались от 100 мл. до 1 л. Да и стоимость таких систем была крайне высока. В медицинской отрасли есть подходящие решения, но стоимость просто заоблачная. И у всех этих решений был один недостаток — каждый канал был функционально завершенным устройством и был рассчитан лишь на один компонент. Можно, конечно, реализовать промывку канала дистиллированной водой при смене вещества, но промыть все после ароматизаторов крайне сложно. А их используется порядка 40 штук. Если выделять под каждый компонент отдельный канал, то итоговая конструкция получится просто колоссальных размеров и огромной стоимости.

Есть так же некое универсальное решение — использовать перистальтические насосы. Они бывают разной конструкции, разной точности и скорости подачи вещества. Наиболее предпочтительным был бы насос с использованием шагового двигателя и зажимом смены силиконовой трубки. Однако объемы вещества дозатора могут варьироваться от 0.1 мл. до 10 мл. с очень высокой точностью. И тут желательно иметь возможность использования как толстых, так и тонких силиконовых шлангов без перенастройки прижима или калибровки при смене шлангов разных диаметров. Конструктивно это доступно не во всех насосах. Да и более менее надежный китайский перистальтический насос с управляющей электроникой тоже стоит не дешево.

Так как практического опыта работы с подобным оборудованием у меня не было, то я решил разработать собственный канал дозатора. Сразу оговорюсь, что после реализации данного проекта и имея уже определенный опыт и понимание процесса, полученный опыт работы с 3D-печатью и физическими свойствами используемых веществ — было бы намного рациональнее использовать перистальтический насос собственной конструкции. Это значительно упростило бы конечную конструкцию, уменьшило время дозации и время на смену вещества для каждого канала. Но все это стало явным лишь по прошествии большого количества времени, затраченных усилий и полученного опыта.

В качестве наиболее простого и максимально точного устройства дозации был принят обычный медицинский шприц. Рабочим агрегатом выступил простой шаговый двигатель из старого матричного принтера. Была сделана переходная муфта из куска толстого шланга и гайки М5. Шприц на 5 мл. закреплен алюминиевыми уголками. Двигатель подключен через драйвер L298N к отладочной плате на базе микроконтроллера AT91SAM7SX256, которая подключена к ПК по USB.

image

Было разработано простое программное обеспечение на C++ для подключения по USB, загрузки пресетов дозатора, управления и калибровки каждого канала под каждый тип используемого шприца.

image

После длительного тестового прогона системы стали ясны многие аспекты текущей задачи и используемого подхода. Во-первых, обеспечить высокую точность дозации для всех диапазонов значений одним шприцом не получится. Необходимо использовать шприцы на 1, 5, 10, 20, 50 мл. Так как компоновка веществ при смешивании может значительно отличаться по составу и по объемам дозации, то конечный модуль должен иметь возможность смены шприцов со шлангом и закрепленным наконечником. Во-вторых, стало ясно что скорость набора вещества очень сильно зависит от его вязкости и использовать быстрые и мощные шаговые двигатели просто бесполезно. И в-третьих, использование разных типов шприцов под необходимые объемы дозации дало очень высокую точность. Но конструкция такого модуля оказалась весьма ненадежной — нержавеющая гайка на М5 довольно быстро стиралась и начинала пропускать шаги двигателя. Так же полимерное основание, по которому ходил алюминиевый уголок со временем деформировалось, даже с постоянным использованием силиконовой смазки. Исходя из полученных результатов было принято решение использовать подход со шприцами и шаговым двигателем, а механику канала дозатора реализовать по другому.

Реализация первого варианта многоканального дозатора


Наиболее распространенными, доступными и весьма недорогими комплектующими в моем периферийном городе оказались наборы для механики 3D-принтеров. Это шарико-винтовые пары, направляющие с подшипниками и держатели. Вначале я решил использовать одну направляющую и ШВП, что бы уменьшить ширину канала дозатора. Но после некоторого время выработки появились вибрации.

image

Так же я начал пробовать различные материалы для основания канала дозатора, что бы уменьшить общие вибрации и снизить шум, но при этом иметь достаточную жесткость. Я пробовал и полимерные основы, и толстую фанеру, и алюминиевые листы разной толщины. Самый лучший результат был получен со стеклотекстолитом толщиной 10 мм — он имел хорошую жесткость и гасил большую часть вибраций. Так же было принято решение использовать две направляющие.

image

Для уменьшения размеров канала дозатора шаговый двигатель был убран на нижнюю часть основы, а передача сделана ремнем. Это так же упростило позиционирование двигателя относительно ШВП и уменьшило вибрации.

image

image

Затем я приступил к реализации фиксатора с возможностью смены шприцов. Были использованы подручные средства — алюминиевый уголок, лист алюминия толщиной 2 мм, нержавеющий крепеж и большое количество ручной работы ножовкой, напильниками и шуруповёртом. Так же на шаговый двигатель был поставлен шкив на большее количество зубьев — для увеличения скорости передвижения толкателя. Итоговый вид одного модуля под 1 мл. шприц приведен ниже.

image

image

Для управляющей электроники был выбран микроконтроллер AT91SAM7×128. Он имеет большое количество линий ввода-вывода, USB-порт, под него на отладочнике была реализована прошивка, да и он был в наличии после предыдущего проекта, как и большая часть компонентов. Для управления шаговыми двигателями использовался драйвер L298N. Управляющая плата предусматривала подключение кнопки и двух светодиодов для каждого канала. Питающее напряжение для двигателей 24В. Драйверы расположены на самом краю платы для плотного прилегания к боковой стенке алюминиевого корпуса. Плата изготавливалась фирмой JLCPCB.

image

image

image

Был собран тестовый стенд для прокачки веществ. После нескольких запусков и длительного простоя в системе силиконовых шлангов начали образовываться пузырьки воздуха, что является неприемлемым. Что бы избавится от этого были использованы более дорогие обратные клапана, минимизирована длина шлангов, использован меньший диаметр шланга для более плотного соединения со шприцами.

image

Использование 3D-печати и 3D-моделирования


Текущая реализация канала дозатора не имела нареканий в работе, но требовала огромного количества затрачиваемых сил для изготовления фиксатора. А фиксаторов для шприцов нужно было сделать под 1, 5, 10, 20, 50 мл. и для всех четырех каналов. Изначально я планировал отдать детали этих фиксаторов под лазерную резку и гибку станком. Но при изготовлении тестового экземпляра я раза три переделывал все детали, так как ошибка в расчетах на 1–1.5 мм. приводила к тому, что шприц неплотно держался, поршень начинал выгибаться и в итоге точность дозации была непостоянной. Заказывать многократно детали для лазерной резки удовольствие не дешевое и не быстрое. И тогда пришло время для ознакомления с технологией 3D-печати. Заложенной в смету суммы на лазерную резку и гибку алюминия было достаточно для закупки деталей для 3D-принтера Grabber i3. Все необходимые детали были приобретены и начался процесс сборки, отладки и прошивки принтера.

image

image

После сборки и наладки работы я приступил к изучению 3D-моделирования. Спустя некоторое время я осознал, что использование 3D-принтера для разработчика открывает по сути безграничные возможности. Любой нестандартный крепеж, фиксаторы, защелки, коробки для электроники, сложные сборные конструкции — все это становится легко доступным и реализуется автоматически, пока разработчик занят другими задачами. Начался поиск компромиссов между типом пластика, скоростью печати и качеством, прочностью, заполнениями и прочим.

image

Для всех деталей использовался ABS пластик. Под более простые детали брался пластик по дешевле, под большие и точные детали — соответственно более дорогой пластик. Для фиксации шприцов были разработаны защелки, реализация которых из алюминия просто невозможна. Размеры фиксаторов оптимизированы под каждый тип шприца. Тестовые детали были напечатаны, первый прототип фиксатора был собран и работал без сбоев. Для остановки перемещения толкателя использовался датчик Холла и регулируемый держатель с магнитом.

image

image

Общий вид собранного тестового канала дозатора приобрел следующий вид:

image

image

image

После разработки деталей для всех типов шприцов были заказаны комплектующие для оставшихся трех каналов и запущена печать компонентов фиксаторов.

image

image

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

image

image

image

Все было готово к монтированию каналов на общую раму из алюминиевых профилей, укладки проводов и установки электроники, но заказчиком были внесены коррективы в техническое задание проекта. Во-первых, минимизировать расход вещества при смене типа шприцов или смене самого вещества. В текущей реализации вначале происходил забор вещества из большой емкости через систему силиконовых шлангов и обратного клапана, и затем происходил сброс вещества, поступающего на второй обратный клапан и наконечник. Перед дозацией необходимо было полностью заполнить используемую систему, а при смене — сливать обратно в емкость или в отработку. Это было экономически нерационально и требовало дополнительной траты времени, а так же увеличивало вероятность загрязнения рабочего места. Во-вторых, учитывая возросшую скорость сборки каналов дозатора при помощи 3D-печати, реализовать еще 5 дополнительных каналов и объединить их все в один конвейер. Такая реализация полностью перекрывала все возможные варианты смешивания веществ. На первый взгляд изменения не существенные, но для их реализации пришлось полностью переделывать проект.

Реализация второго варианта многоканального дозатора


Что бы уйти от заполнения системы силиконовых шлангов и клапанов веществом было принято решение сделать пневматическую систему со сменными наконечниками. Наконечник необходимого объема погружался в емкость с веществом, осуществлялся забор, затем наконечник перемещался в банку для смешивания и происходил сброс. В силиконовые шланги вещество не попадало, обратные клапаны отсутствовали, и при смене вещества достаточно было только заменить наконечник. Для фиксации погружения наконечника в емкость с веществом был реализован датчик соприкосновения с жидкостью. Он представлял из себя 2 тонких нержавеющих контакта, подключенных к логическому элементу К176ЛА9.

image

Для перемещения наконечников между емкостями с веществом и банками для смешивания был разработан манипулятор, использующий 2 сервопривода и основу с защелками.

image

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

image

Такая реализация позволяла дозировать по 2 вещества в банку одновременно. После минимизации всех возможных размеров конструкции получился алюминиевый каркас следующего вида:

image

Следующим этапом была разработка перемещающейся секции наполняемых банок. Секция была рассчитана на 10 банок и приводилась в движение шаговым двигателем, по средствам зафиксированного с двух концов ремня. Перемещение секции было реализовано 6-ю парами конусообразных роликов, перемещающихся по внешней грани алюминиевого каркаса. Каждый ролик фиксировался с помощью подшипника на стороне перемещающейся секции. Основа секции была сделана из алюминия и крепилась через стойки. Для ременной передачи были предусмотрены поддерживающие ролики и натяжитель. Все детали секции были так же напечатаны на 3D-принтере.

image

Затем был реализован регулируемый фиксатор для емкостей с веществом:

image

image

После разработки всех секций автоматического многокомпонентного конвейерного дозатора веществ получился следующий общий вид:

image

Управляющая электроника конвейера


При реализации конвейера для управляющей электроники так же изменились требования:
— добавилась необходимость управления 4 сервоприводами;
— управление шаговым двигателем перемещающейся секции наполняемых банок и опрос датчиков положения этой секции;
— опрос датчика соприкосновения с жидкостью;
— опрос датчиков идентификации установленного модуля (4 датчика Холла — 16 возможных модулей);
— управление 9 каналами.

Исходя из вышеперечисленных изменений использовать несколько разработанных ранее модулей 4-х канальной управляющей электроники не предоставлялось возможным. Было принято решение разработать общий универсальный модуль для каждого канала и объединить их в сеть по RS485 протоколу. В итоге каждый модуль должен был включать в себя управление 2-мя сервоприводами, управление шаговым двигателем, опрос 5 датчиков Холла (4 для сменного модуля и 1 для остановки толкателя), опрос датчика соприкосновения с жидкостью, опрос 2 тактовых кнопок, управление 3 светодиодами, установку адреса устройства и модуль передачи данных по RS485. Управляющий микроконтроллер — ATmega8A, драйвер шагового двигателя — DRV8825, модуль передачи данных по RS485 — HW-0519. Питающее напряжение для шагового двигателя -24В, для логики — 5В. Плата изготавливалась фирмой JLCPCB.

image

image

image

Для управляющей электроники так же был спроектирован корпус для 3D-печати. На крышке корпуса была установлена алюминиевая пластина, служившая радиатором для драйвера шагового двигателя. Для контакта пластины и драйвера использовалась термопрокладка. Для подключения датчиков, управляющих и питающих проводов использовались герметичные кабельные вводы. Все соединения были дополнительно герметизированы. В корпусе располагалась плата управляющей электроники, преобразователь напряжения и плата с микросхемой логики для датчика соприкосновения с жидкостью. Все платы были покрыты полиуретановым лаком.

image

image

image

Изготовление многоканального конвейера


По завершению проектирования начался этап изготовления, сборки и наладки отдельных модулей конвейера. Изначально были напечатаны недостающие компоненты и собраны все каналы дозатора. Затем был порезан алюминиевый профиль и сварен каркас конвейера, состоящий из 2-х плеч и блока перемещающейся секции.

image

image

image

Следующим этапом сборки были манипуляторы с наконечниками. Все компоненты наконечников были сделаны разборными и устанавливались на защелки. Это значительно упрощало смену наконечников.

image

image

Один из наиболее трудоемких этапов сборки — это перемещающаяся секция наполняемых банок. Напечатанные детали нужно было обработать, плотно подогнать друг к другу и собрать воедино, вырезать алюминиевую основу и присоединить к секции, отстроить положение конусообразных роликов для равномерного позиционирование по алюминиевому каркасу, установить шаговый двигатель, драйвер, герметичную коробку с электроникой, направляющие и натяжитель для ремня, а так же группу датчиков положения секции (начальное положение, подача вещества, позиция — пропиленгликоль, позиция — глицерин, конечное положение). Для текущего модуля был выбран более мощный шаговый двигатель. Драйвер шагового двигателя — TB6600.

image

image

image

Для уменьшения вибраций все крепежи так же были напечатаны на 3D-принтере. После всех калибровок расстояние между передвижным отсеком и ребрами алюминиевого каркаса составило не более 1–2 мм.

image

image

image


Возможности и масштабы использования 3D-печати впечатляли — помимо всех фиксаторов шприцов, крепежей электроники и двигателей, коробок для электроники с местами посадки печатных плат, резиновых прокладок, — были так же напечатаны и собраны целые секции. Последним компонентом для сборки конвейера был фиксатор для датчиков: 4 датчика для проверки типа установленного фиксатора и разъем подключения датчика остановки толкателя.

image

Так же были допечатаны оставшиеся коробки для электроники, после чего я приступил к финальной сборке отдельных плеч с манипуляторами.

image

image

После сборки и установки первого модуля были произведены замеры и подготовлены все провода необходимой длины с установленными разъемами.

image

После установки блока питания и оставшихся модулей, прокладки проводов питания, датчиков и связи, а так же укладки их в коробках и креплении к каркасу получился следующий вид одного из плеч:

image

image

image

image


После сборки обоих плеч, калибровки всех каналов, подбора расположения секций и мест расположения датчиков, прокладки всех кабелей и систем силиконовых шлангов, — финальный вид автоматического конвейерного многокомпонентного дозатора приобрел вид:

image

image

image

Программная реализация


Программное обеспечение конвейера так же было разработано заново на языке С++ и включало в себя обработку файла с пресетами, динамическую индикацию всех каналов дозатора, манипуляторов и перемещающейся секции, индикацию уровня веществ в емкостях, отображение статистической информации и настройку всех агрегатов.

image

Программное обеспечение устанавливало необходимые настройки согласно выбранному пресету. Если был установлен не корректный модуль, или же он во все отсутствовал — происходила индикация и соответствующее сообщение. Когда уровень вещества в емкостях становился критическим — так же происходило оповещение. Так же происходил подсчет пропущенных шагов двигателей и когда значение превышало установленное ограничение — выдавалось сообщение с указанием номера канала и необходимости его обслуживания. Настройки агрегатов позволяли корректировать значения шагов двигателей дозаторов, менять положения манипуляторов, проверять промежуточные состояния работы конвейера, проверять работу датчиков, количество затраченного вещества, готовой продукции и ошибок во время эксплуатации.

image

image

image


Заключение


Данный проект разрабатывался мною в свободное от основной работы время, и с первого наброска до ввода в эксплуатацию прошел примерно один год. После отладки и некоторого наработанного времени стали видны ограничения текущей реализации. Даже после установки точных сервоприводов погрешность позиционирования наконечников манипулятора значительно снизилась, но все еще была существенной, учитывая плечо конструкции. В текущем виде конвейер способен был наполнять лишь большие банки. Я видел два пути решения этого ограничения: первый — добавить к манипуляторам горизонтальную ось перемещения, и реализовать вертикальное погружение наконечника как в емкость с веществом, так и в наполняемую банку; второй — изменить сам дозатор канала, реализовав его по средствам перистальтического насоса с несколькими отрегулированными защелками под разные диаметры силиконового шланга. Если бы я повторял подобную конструкцию вновь — я бы пошел по второму варианту реализации канала дозатора. Используя универсальный перистальтический насос для каждого канала я мог бы не только увеличить скорость дозации вдвое, но и жестко зафиксировать наконечники над перемещающейся секцией с банками и избежать сложных перемещений манипуляторов. Возможен был так же вариант с одним большим универсальным перистальтическим насосом и группой автоматических защелок под каждый канал дозации, использующий несколько типов силиконовых шлангов, и барабанной установкой для наполняемых банок. Но все эти решения, как я и писал вначале статьи, стали явными лишь после полученного опыта реализации многокомпонентного конвейерного дозатора.

Все исходные файлы, 3D-модели, электрические схемы, программное обеспечение высокого и низкого уровня, а так же конструктивные особенности конвейерного дозатора принадлежат заказчику — фирме «SMAUGY».

Благодарю за внимание.

© Habrahabr.ru