Введение
Появилась у меня идея сделать инфузомат на минималках. Увидел я такую штуку в больнице... и вдохновился. Штукенция прикольная! Прибор позволяющий с определённой скоростью подавать препараты. Вдохновился я и решил хочу себе такую же! Буду им всякие взвеси из шприца выталкивать! А если серьёзно, то для себя увидел вызов технаря! Смогу ли я сделать или нет?
Что такое инфузомат?
Инфузомат — это, по сути, переносной вариант инфузионного насоса, который создан для введения лекарств с высокой точностью в малых и больших объемах.
То что я описываю наверное не является инфузоматом или является в каком-то упрощённом виде но я его буду так называть для простоты в этой статье.
Вызов принят!
Что нужно?
- Шаговой двигатель
- Ардуинка
- Драйвер ШД
- Пару кнопок
- Пару светодиодов
- Переменный резистор
- Пару концевиков
- Светодиод
- Шпилька м5, гайки
- Дробь, а точнее медные шарики для пневматики, 4мм
- Паяльник
- 3д принтер
- 3д CAD приложение
- Сотня строчек кода
- ...
Как делал?
Итак роадмап.
Берём шаговик устанавливаем на корпус, делаем привод от шаговика на поршень (толкатель). Делаем крепеж для шприца чтобы можно было быстро поменять. А также предусматриваем 2 варианта 20мл м 50мл шприц. Обращаем внимание на упор для поршня ( поршня инфузрмата который будет толкать поршень шприца). Продумываем форм фактор. Место для крепления электроники и кнопок управления помним про вентиляцию.
Моделируем
Всё в сборе
Привод поршня
Упор поршня
Крепеж для шприца подходит. Есть 2 варианта 20мл и 50мл. Заменяется просто ну доработать можно чтоб был универсальный.
Крепеж для концевиков. Сделал подвижные. Так можно регулировать предельные положения.
Пишем код
Ожидаемое поведение: Переменный резистор - задаёт скорость подачи. Управление - 1 кнопка. И концевики для того чтобы управляющая программа понял когда отключить(остановить) двигатель. Управление с одной кнопки. короткое нажатие - движение поршня назад (втягивание). Двойное нажатие - вперед (выдавливание). Долгое нажатие - стоп. При достижение поршня до конца\начала стоп - обеспечивают концевики.
Архитектура
Логика - зашита в стейт машину (про конечные автоматы можно почитать тут) - отлично подходит для однопоточных программ, очень подходит на мой взгляд для упрощения написания кода внутренней логики приложений. Для обработки кнопок используем библиотеку __тут_название_библитотеки - она не блокирующая - помещаем в основной цикл. Библиотека для управления ШД __тут_название_библиотеки, тоже не блокирующая. Умеет задавать скорость. Скорость получаем считывая значения с переменного резистора (крутилка).
А и чуть не забыл светодиодный индикатор! Блицкает при нажатии на кнопку. У меня где-то в радиодеталях нашёлся. Оранжевый, красивый!
Пару тонких моментов. При изменении положения крутилки - показания меняются несколько раз, поэтому добавил - задержку движения поршня длительностью в секунду. Скорость поршня - тоже подбирал - зависит от шаговика, напряжения и частоты драйвера ШД. Пробовал разный шаг от 1\2 до 1\64 в итоге остановился на 1\16.
Куски кода
Печатная плата
Тут отдельная песня так как травил лимонной кислотой и перекисью, методом лазерной печати а сами платы, взял у отца наверное ещё советские. Лазерный принтер у меня старый пылился на полке, картриджи выцвели и очень плохо переводились. Получилось не с первого раза, в общем потрудился, как-то сделал. На будущее планирую дожать фрезер и платы резать фрезером.
Вот что получилось!
Видео... будет...
Прототип
Почти готово
Минусы
Не очень простая сборка. В основном касается упора для поршня инфузомата. шарики постоянно выкатываются. Надо немного сноровки что все это собрать.
Высокий износ поршня я взял обычную шпильку м5 и 2 гайки. Естественно они не предназначены для такой нагрузки. Следующий сделаю на зубчатых ремнях исключительно!!!
Габариты шпилька в положении когда шприц полный сильно выдвинута в сторону. И сам корпус имеет угловатый вид.
Нагрев ШД при интенсивной нагрузке. Некоторые пластики не выдерживают (60-70 градусов) и плывут (я использовал Petg) и я обнаружил температурную деформацию в том месте где ШД соприкасается с пластиком.
Плюсы
- Естественно дешевизна. Если можно сделать из того что покупается в строительном магазине и на али экспрессе.
- Прибор способен выдавать сильное усилие. Работа от аккумулятора 12В.
- Работа от разного напряжения от 5 до 12В (при условии достаточной мощности источника питания). Шаговик переваривает и больше, до 36В, а вот ардуинка до 20В (источник тут )
- Гибкость кода. Просто переделать под другие нужды.
- Например при однократном нажатии выдавать определённую порцию из шприца (размер порции настраивает крутилка). Может пригодиться если надо выдавливать одинаковые порции не сильно густого вещества, клей например или пасту.
- Другое применение - порционирование. Набираем определенное количество жидкости, запоминаем положение поршня и делаем цикл: набрать -> выдавить. Можно использовать для точного порционирования жидкости.
- Корпус, получился нео-винтажный. Что-то в нем есть...
Артефакты
Код на гите
Проект на thingiverse