Перистальтический насос на 3D принтере

Форум самогонщиков, пивоваров, виноделов Оборудование Сделай сам
1 2 3 1
Phisik Специалист Екатеринбург 136 445
05 Дек. 18, 21:17
По просьбам коллег, начну эту тему. Надеюсь, что мои наработки будут вам полезны.

Disclaimer (письменный отказ от ответственности)
Помните, что данный проект - это самодельное устройство. Я делал его для себя. Его надежность, ресурс и безопасность не подтверждены, не проверены и могут вообще отсутствовать. Все, что вы делаете - вы делаете на свой страх и риск. Я не несу никакой ответственности ни за какие последствия правильного и неправильного использования этого устройства. Не надо приходить ко мне, когда 100 литров браги разольются по полу, если вы оставили оборудование без присмотра. Проверяйте и тестируйте все очень ответственно!

С чего все началось
Приобрел я себе НБК, а пока мне ее варили, я решил, что надо бы на коленке по-быстрому сварганить насос, потому-что что-то готовое из Китая не успело бы приехать, а на родине цены так себе. Полистал Thingiverse, там много подобных проектов, но все они либо под недоступные шланги,  либо с малой производительностью, т.к. качать надо было 20-30 литров.

В итоге появился этот проект, полностью открытый, все 3д модели и прошивка для драйвера опубликованы на GitHub и Thingiverse. У меня был китайский силиконовый шланг 7мм*0.75мм, с ним насос качал как раз те самые 25-30 литров в час. Перекачал он у меня 200 литров часов за 10 без заметных следов износа, больше про ресурс ничего сказать не могу.

Исходно я хотел просто проверить как все будет работать и проектировал все под дешевый Nema 17HS4401S, который брал на али (5 моторов вышли 1800р с доставкой с МСК). Однако такие моторчики тянут шланги со стенкой < 1мм, что опять же уменьшает интервал замены шлангов. Под наши шланги со стенками 1,5/2мм придется брать Nema23 движки и другие драйвера. Но тогда уже и головку лучше купить (может быть я это тоже сделаю когда-нибудь и будет новый проект).

Сборка по шагам
1. Надо найти шланг с тонкой стенкой. Не надо бросаться в 3Д печать, пока нет шланга.
2. Точно измерить диаметр шланга и толщину его стенки
3. Поправить модель в OpenSCAD, задав свои размеры.
4. Напечатать детали (в последней версии 6 деталей: статор, крышка статора, ротор, крышка ротора, 2 адаптера)
6. Напильником и шкуркой убрать все дефекты печати, особенно там, где шланг будет проходить.
7. Собрать электронику
8. Установить ток драйвера на минимальный, при котором мотор еще тянет. Т.к. на штатных 1.6А мотор очень сильно греется.

NB! Пока ничего не печатаем, закончу тесты новой версии головки и выложу сюда.

3Д печать
Напечатать надо 6ть деталей: статор, крышка статора, ротор, крышка ротора, 2 адаптера для шланга. У кого есть 3D принтер, у того нет проблем. Остальным придется готовится к сложностям. Каждый принтер печатает не точно. Геометрия плавает +-1мм. ABS дает очень сильную усадку и с первого (и даже в 3его) захода вряд ли все сойдется с точностью как нам надо до 0,1мм. Я печатал PLA, модель настроена под мой принтер. Вам как минимум придется поиграть с hose_clearance от -1мм до 1мм, чтобы попасть в размер. Главная идея в том, чтобы зазор между стенкой и роликом был точно равен двойной толщине стенки шланга. Можно изоленту на стенку клеит, она обычно 0,1мм, можно зазор подобрать. Но PLA теряет форму при нагреве, т.е. качать можно только ХОЛОДНУЮ жидкость (до 40С).
Электроника
Из электроники нам понадобится следующее:
  • Шаговый мотор с максимально возможным моментом, например 17HS4401S. ~$8
  • Драйвер шагового мотора A4988. ~$1
  • Arduino mini/nano/uno/mega/giga ~ $2
  • Энкодер с кнопкой KY-040 ~ $1
  • 1602 LCD with I2C ~ $2
  • Подшипники 605zz. ~$2 за 10 шт
  • Блок питания 12V 1-2A. ~$3

Я брал только шаговик с драйвером, мне все обошлось в 500р. Если закупаться с нуля придется отдать $20.
Прошивка
Что умеет на 2018-12-05:
1. Регулировать RPM
2. Регулировать поток в л/час или мл/мин
3. Качать заданное количество жидкости
4. Калибровка
5. Плавный старт/стоп

Режимы переключаются кликом, double click это быстрый старт/стоп. Удержание - вход в режим калибровки

Следующие шаги
1. Напечатал головку под китайский 8*0.85мм шланг. Тестирую, если часов 10-20 отработает и не порвется, обновлю файлы. 3х литровую банку за 4 с половиной минуты сливает.

Видео работы
Пока что есть. Дальше, надеюсь, будет больше.



Всем, кто интересуется моей НБК
Сейчас мне переделывают бардоотводчик, когда все приедет, я все сфотографирую, измерю производительность, сделаю видео и выложу сюда

PS Шапка будет обновляться по мере развития проекта и появления новых фото/видео материалов
assembly-with-case.png
995x754 42Кб
assembly.PNG
1024x980 51Кб
shematics.png
1024x567 54Кб
bengoor Доцент Кронштадт 1248 656
Отв.1  05 Дек. 18, 22:41
Заказал комплект деталей. Принтера естественно нет, если вдруг кто сможет сделать на заказ очень буду рад.
Хотелось бы ещё согласование с автоматикой.
Maik2407 Специалист Новосиб 179 36
Отв.2  05 Дек. 18, 23:21, через 41 мин
Если получается достаточно точно нппечать .. то лучше два ролика делать.
Дешевле, менее шумно, дольше прослужит шланг, и меньше нагрузки на моторчик.
Nike12 Кандидат наук Новосибирск 467 90
Отв.3  06 Дек. 18, 05:20
Phisik, под 608 подшипники головки нет?
SA1348 Профессор Саратов 2777 1128
Отв.4  06 Дек. 18, 08:17
Phisik, Получается печатаем три детали? stator.stl, rotor-cap.stl, rotor-bottom.stl?
Hose_adapter это покупное изделие?
Ну и конечно интересует стыковка дравйвера A4988 с автоматикой.
Phisik Специалист Екатеринбург 136 445
Отв.5  06 Дек. 18, 09:48
лучше два ролика делать
Я пробовал, точности печати не хватает. Воду не тянет, и застревает иногда, когда ролик к шлангу подходит. Когда 3 ролика, то 2 все время на шланге.
Получается печатаем три детали ... стыковка с автоматикой
Обновил шапку, добавил этапы сборки. С автоматикой что-нибудь придумаем. В планах I2C прикрутить и всю периферию у автоматики на I2C перевести. А на первых порах будем ШИМ выпрямлять скорее всего.
под 608 подшипники головки нет
У 608 OD 22 и минимальный радиус шланга будет 34мм, против 27 мм для 605. Значит понадобится на 25% больше крутящего момента, которого и так дефицит. Но ничего не мешает переделать под Nema23 и 608ые. Все настраивается в OpenSCAD.

плохиш Студент Великий Новгород 26 4
Отв.6  06 Дек. 18, 19:55
Phisik,!
По поводу скетча.Супер!
Долгожданный розлив и тарирование появились! Я имею в виду тему mak, -а  [Перистальтический насос на шаговом двигателе и ардуино в качестве мозгов] ,где его не раз просили выложить эти режимы (они у него были в тестовом варианте).Он почему-то ссылался на недостаток памяти ардуины .
Будет время откорректирую скетч под разводку своего насоса(сделан по mak-у) и отпишусь по результатам.
Единственно чего хотелось бы добавить-внешнее управление:если на пине строба высокий уровень,то включаем насос,а скорость задаем уровнем напряжения от 0 до 5в на другом пине.
0 вольт- стоим,5 вольт-  максимум оборотов из скетча.
И можно схему подключения с более высоким разрешением,что бы было видно название пинов на платах?
Про схему -не прав.В прикрепленном архиве все как надо.
saniaxxx Специалист Кострома 177 24
Отв.7  07 Дек. 18, 10:45
Единственно чего хотелось бы добавить-внешнее управление:если на пине строба высокий уровень,то включаем насос,а скорость задаем уровнем напряжения от 0 до 5в на другом пине.
0 вольт- стоим,5 вольт-  максимум оборотов из скетча.плохиш, 06 Дек. 18, 19:55
На мой взгляд лучше управление по 1-wire или I2C. Тока I2C по идее уже как master под дисплей занят
плохиш Студент Великий Новгород 26 4
Отв.8  07 Дек. 18, 11:27, через 43 мин
Phisik,
Глянул схему подключения.
Возник вопрос.Скетч использует переключения драйвера в полушаговый и прочие режимы?
По какому алгоритму происходит разгон двигателя?
Phisik Специалист Екатеринбург 136 445
Отв.9  07 Дек. 18, 11:58, через 32 мин
На A4988 драйвере  режим шага выбирается подачей напряжения на MS1-MS3 пины. Устанавливается микрошаг в прошивке, контроллер сам подтягивает куда надо пины на драйвере. Больше микрошагов - плавнее движение, меньше момент. Скорость двигателя определяется частотой импульсов, подаваемой на STEP пин драйвера. Собственно разгон и торможение - это плавное увеличение/уменьшение частоты со скоростью rpmRate/haltRate импульсов в секунду.
плохиш Студент Великий Новгород 26 4
Отв.10  07 Дек. 18, 16:31
Я имел ввиду переключения режимов щаг-полушаг-микрошаг в прошивке.
У mak-а в ветке только один режим используется,а пользователь уже сам может в драйвере джамперами подобрать лучший режим для своего мотора и откорректировать в скетче максимальную скорость.
Это к вопросу адаптации твоего варианта под существующее железо.
gol_avto Магистр Москва 246 49
Отв.11  07 Дек. 18, 17:26, через 55 мин
Phisik Фьюзы в новой ардуине надо менять (по идее) и на какие?
На эти?
Low Fuse 0xFF
High Fuse 0xDA
Extended Fuse 0x05
Phisik Специалист Екатеринбург 136 445
Отв.12  07 Дек. 18, 18:08, через 42 мин
Фьюзы в новой ардуине надо менять?gol_avto, 07 Дек. 18, 17:26
Вероятно надо, я не пробовал никогда чистые чипы ставить. Вообще я порекомендовал бы почитать по этому поводу что-нибудь . Arduino IDE шьет по умолчанию такие:
\arduino-1.8.5\hardware\arduino\avr\boards.txt

##############################################################
## Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328P
pro.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0xFD

##############################################################
uno.name=Arduino/Genuino Uno

uno.bootloader.low_fuses=0xFF
uno.bootloader.high_fuses=0xDE
uno.bootloader.extended_fuses=0xFD

##############################################################
## Arduino Nano w/ ATmega328P
nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF
nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA
nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD

переключения режимов щаг-полушаг-микрошаг в прошивкеплохиш, 07 Дек. 18, 18:31
#############################################################
## Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328P
pro.menu.cpu.8MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses=0xFD
переключения режимов щаг-полушаг-микрошаг в прошивкеплохиш, 07 Дек. 18, 18:31
const int8_t microStepping = 16;
Надо, чтобы совпадал с настройками драйвера, чтобы правильно RPM считал. И вот это тоже должно мотору соответствовать
const float degreePerStep = 1.8; // rather common value for widespread motors
плохиш Студент Великий Новгород 26 4
Отв.13  07 Дек. 18, 19:01, через 54 мин
Т.е.,если я правильно понял,  режим шаг-полушаг-микрошаг не меняется при работе .
Какой установили в прошивке,тот и используется постоянно.Так?
Phisik Специалист Екатеринбург 136 445
Отв.14  07 Дек. 18, 19:25, через 24 мин
Да, как прошили, так и работает. Я ставлю 16 или 8, если на 16 не тянет. Вроде бы менять его незачем.
Crossraccoon Студент Екатеринбург 18 3
Отв.15  10 Дек. 18, 13:52
а можно кому заказать печать насосика?
китайские и так, и так крутил - фигня получается
saniaxxx Специалист Кострома 177 24
Отв.16  10 Дек. 18, 14:08, через 16 мин
Вопрос где взять такую трубку, лучше сначала дождаться тестов шланга на 8
Phisik Специалист Екатеринбург 136 445
Отв.17  10 Дек. 18, 14:25, через 18 мин
Да вот вопрос, что делать с трубкой. Последнюю неделю экспериментировал со шлангом китайским на 8*0.85. Качает нормально, но шланг ужасен. Он в месте сгиба начинает через 100 литров разваливаться. Еще одна проблема с шагом на 8мм, оказалась в двигателе. Обычные Nema17 40N*cm, если тока добавить греются так, что PLA плывет. Видимо надо брать Nema23 и печатать головку под 9*1,5 шланг наш нормального качества. Пока не печатайте ничего, если шланга 7*0,75 нет.
VladPP Доктор наук Новосибирск 822 293
Отв.18  10 Дек. 18, 15:46
вопрос, что делать с трубкой.Phisik, 10 Дек. 18, 14:25
Я немного занимался изготовлением - громко сказано конечно, потуги сделать что то нормально работящее не удались, в том числе и напечатаные на принтере, зато активной эксплуатацией  таких насосов - почти каждый день, и мне кажется нужно уходить от статического прижима роликов к трубке, во первых очень точно нужно подгонять размеры, для того чтобы трубка служила дольше, и второе, мы не критично привязываемся к размеру трубки. Потом, ежли есть возможность, то нужно предусмотреть при заправки трубки в головку типа какой то откидушки, т.есть, отщелкнули, уложили трубку на ролики, защелкнули, бывает труба в процессе работы забивается, и при таком конструктиве как сейчас, не очень оперативно получится ее достать, потом  вставить на место. Насчет двигателя, опять же мое мнение, надо двигун брать с небольшим запасом мощности, потому как бывает, что насос трудится не час и не два, и качает не сахарную брагу, а некую сметанообразную субстанцию, греется это одно, а вот обеспечить самую маленькую подачу маломошный двигатель не сможет, а бывает иногда ситуации когда надо чтоб насос надежно работал с минимальной подачей. Понятно, что это сильно усложняет проект, но ведь для себя пытаемся сделать, как говорят сделал и забыл.
Phisik Специалист Екатеринбург 136 445
Отв.19  10 Дек. 18, 16:19, через 33 мин
мне кажется нужно уходить от статического прижима роликов к трубке
Это было бы замечательно, но пока я не придумал как это конструктивно сделать. Если кто поможет с проектирование, то будет здорово. Что касается крышки, то я как раз ее сделал, правда на винтах, но снять можно. Выглядит пока так:
P81210-181822.jpg
1024x899 78Кб
P81210-181836.jpg
1024x759 54Кб
v2.png
1024x614 37Кб