Archie - НЕлинейный 3D принтер. Часть 2. Механика и электроника.

Подписаться на 3Dtoday
Alex Korvin
Идет загрузка
Загрузка
24.06.19
2898
26
печатает на RepRap
RepRap
45
PREVIEW
Привет. Это второй пост о 3D принтере на базе дельта - робота. Первая часть здесь.Там же вы найдёте все ссылки на видео, на которые я ссылаюсь).
Сегодня я бы хотел рассказать об электронных компонентах, которые использовались для создания этого принтера, и о его механике. Если в механике я выбирал самые дешёвые и доступные детали, то здесь я решил не скупиться и набрал полный комплект дополнительных модулей.

Начнём с платы управления. Как я уже говорил, это плата MKS Sbase, работающая с прошивкой «Смузи». У этой платы встроенные драйвера DRV8825.И они не устраивали меня по ряду причин. Во первых – у редукторов «Арчи» коэффициент редукции гораздо ниже, чем у первой версии робота. Там, благодаря большим печатным шкивам, он составляет 35 : 1. Гипотетически, это позволяет получить разрешение в районе 9 микрон, с делителем драйвера 1\16 и двигателями с шагом 1,8 градуса. Фактическое разрешение будет ниже, из -за не идеальной механики собранной на коленке, хотя и не на много. Но всё ещё не будет уступать классическим линейным принтерам. Это что касается первой версии робота.

Во второй я решил попробовать создать компактный редуктор на основе заводских алюминиевых шкивов. Это было основной задачей. Компактный редуктор позволяет создать модель корпуса для всех трёх редукторов, которая бы печаталась одной деталью на стандартном столе размером 200х200 мм. Почему это важно? Потому что, при настройке прошвки (конфиг файла в данном случае), в неё вносится множество констант. И часть из них, прямо или косвенно, относится к редуктору. Об этом я подробнее расскажу в посте о настройке. Например: угол между плоскостями вращения всех трёх плеч должен быть равен 120 градусам. Расстояние, от центра плиты до оси вращения плеча, должно быть одинаковым для всех трёх плеч. Расстояние, от плиты до оси вращения плеча (по вертикали), должно быть одинаковым. Ось вращения должна быть перпендикулярна плоскости вращения плеча (не должно быть перекосов) и параллельная плоскости плиты, на которой крепятся редуктора и крепления плеч.

На фото первая модель робота:
Как видно, основные редуктора установлены сверху, а под плитой закреплены только плечо с большим печатным шкивом. Каждое плечо крепится на двух стойках. Проблема в том, что при таком способе крепления, все вышеописанные размеры и углы приходится выставлять вручную. Не спасает даже сверление отверстий в плите каркаса на ЧПУ, погрешность есть всегда. Плюс сюда накладывается погрешность самой 3D печати. В итоге, приходится серьёзно повозиться, чтобы выставить всё так, как нужно. Есть два правила сборки такого робота: это симметрия и идентичность. Все должно быть расположено симметрично, размеры одинаковых деталей должны быть идентичны.

Именно поэтому так важно было создать единый корпус для всех трёх редукторов – все нужные размеры и углы уже заложены в его конструкцию. С один небольшим «НО» - у принтера, на котором будут печататься детали для такого робота, не должно быть никаких проблем с геометрией печатаемых моделей. Круглое должно быть круглым, квадратное – квадратным. А не эллипсом и ромбом соответственно. Это было необходимое отступление =)

Так вот. В итоге, я решил собрать двухступенчатый редуктор, взяв за основу 4 стандартных алюминиевых шкива. Два на 16 зубов и ещё 2 на 60. Суммарный коэффициент такого редуктора равен 14,0625 : 1. Как это считается. Это понижающий редуктор, так что количество зубов бОльшего шкива (можно делить диаметры, длины окружностей или радиусы – ответ будет тем же) делится на количество зубов меньшего: 60\16 = 3.75. Редуктор двухступенчатый, пары шкивов одинаковые, коэффициенты перемножаются : 3.75 х 3.75 = 14,0625.

На фото вторая версия редукторов и плеч для модели «Арчи»
0fece0c10523d3527819cab277e9fdb2.JPG
С таким редуктором, делителем драйвера 1\16 и двигателем с шагом 1,8 градуса, разрешение было бы в районе 24 микрон, что ниже типовых линейных принтеров. Делитель 1\32 так же не особо спасает. Ведь это только цифры на бумаге, реальное разрешение будет ещё ниже. Вторая причина, по которой я не хотел использовать в новом принтере встроенные драйвера drv8825 - это писк моторов. Думаю, это знакомо многим. С этими драйверами моторы очень высоко и противно пищат, особенно в режиме удержания. Так же хотелось, чтобы принтер работал как можно тише, тем более, что механика это позволяет, греметь здесь просто нечему. Потому, выбор пал на драйвера lv8729 с честным, не интерполированным дроблением 1\128. В теории это позволяет получить разрешение принтера в районе 3 микрон, даже с коэффициентом редуктора 14,0625 : 1. Фактическое разрешение, опять же, будет ниже. В данном случае не только из -за механики, но и по причине неравномерности величины микрошага при таком их количестве. Но, даже если фактическое разрешение будет втрое ниже расчётного, результат всё ещё будет впечатляющим и проблем с разрешением у принтера не будет.

Чтобы установить выбранные драйвера, пришлось создать вот такой бокс с дополнительными платами расширения для каждого драйвера.
27e8af7065cf8075e768d9ccf20ad7d9.JPG
Полный список электроники:
Плата MKS Sbase + 4 платы расширения для драйверов
Драйвера lv8729 – 4 шт.
Сенсорный дисплей MKS TFT35 V1.0 с Wi-Fi модулем
Датчик филамента
Датчик обрыва электропитания - MKS Det
Модуль автоотключения по завершении печати - MKS PWC V2.0
Шаговые двигатели 17HS2408 с шагом 1,8 градуса - 3 шт.(для осей)
Хотенд XCR3D с быстросъёмным сквозным термобарьером
Экструдер Титан (китай) в комплекте с двигателем
Алюминиевый подогреваемый стол МК3
Блок питания на 12V и 30А
Концевики, и пара кулеров для охлаждения сопла и модели. В первых вариантах эффектора «Арчи» я использовал 2 турбины 5015, в новой версии будут установлены более компактные 4010.

Что касается платы управления, то сейчас лучшим выбором будет плата SKR 1.3. Она стоит немногим дешевле SBase и на ней есть нормальные кроватки под драйвера, так что не придётся возиться с отдельным блоком для плат расширения. Дисплей и дополнительные модули я так же брал от производителя Makerbase т.к. это относительно не дорогое и, самое главное, готовое решение, которое работает без особых танцев с бубном. Ведь все доп. модули подключаются именно к дисплею. Как подключить всё это добро - подробно описано во втором видео о дельта – роботе.

Я намеренно выбрал самые слабые двигатели из тех, что смог найти, хотя по цене они не особо дешевле стандартных. Драйвера с таким большим дроблением (1\128) значительно понижают крутящий момент двигателя, но, благодаря редуктору, который увеличивает его кратно коэффициенту редукции, никаких проблем нет. Всё работает даже на высоких скоростях, без пропусков шагов. Помимо компактности и небольшой экономии, у слабых движков есть ещё пара преимуществ – это низкое энергопотребление и низкий уровень шума. Стандартные моторы на 1.7А достаточно громко жужжат даже с драйверами lv8729. Но, такие слабые моторы менее универсальны, т.к. на стандартный Н-бот их уже не поставить – не хватит момента. Так что, лучшим выбором, для подобного робота, будут мощные двигатели с шагом 0.9 градуса. Именно на такие движки и рассчитаны драйвера lv8729.

Пожалуй, на этом сегодня закончим. Сейчас я работаю над третьей версией редукторов и плеч. О проблемах предыдущих версий я рассказывал в третьем и четвёртом видео. Если возникли вопросы – задавайте их в комментариях =)
Подписаться на 3Dtoday
45
Комментарии к статье

Комментарии

24.06.19 в 19:16
0
Забыл указать основные характеристики "слабых" движков 17HS2408, которые я использовал - 0,6 А и всего 1,2 кг. момента.
24.06.19 в 20:46
1
При всем уважении, просто кину в Вас ссылью.
24.06.19 в 21:18
2
Ага, читал. В чём проблема? Я ведь упомянул, что фактическое разрешение будет ниже расчётного, с поправкой на точность микрошага. При увеличении дробления шага разрешение растёт, но не прямо пропорционально. Так же не забывайте, что двигатель работает через понижающий редуктор. Он нагружен гораздо меньше, нежели движки в линейных принтерах. Теория, это, конечно, здорово, но всё же нужно выделить время и протестировать эти драйвера на точность микрошага.
Но, даже если проблема действительно настолько серьёзная, и точность позиционирования с делителем 1\128 не отличается от 1\16, то особых проблем это не сулит. В новой версии редукторов коэффициент будет равен 25:1. Что вкупе с движками с шагом 0,9 градусов позволит получить очень приличную точность позиционирования, даже с делителем 1\16.
Это всё красивые цифры, но даже +\- 50 микрон, с такой технологией печати, это хороший результат. Да что уж там, многие принтера печатают модели с погрешностью в 0,1 мм, и этого никого не удивляет =)
24.06.19 в 23:15
1
равен 25:1.
правильно я понял, вы использовали шкивы на 80 и 16, а ремень какой длины?
25.06.19 в 05:42
0
Одна пара осталась той же - 60 и 16 зубов. На плече печатный шкив диаметром 68 мм. Пришлось вернуться к нему, только печатается теперь одной деталью с плечом.
25.06.19 в 11:41
2
Вам попадался проект VORON ? если нет посмотрите, гуглится легко. У них интересная реализация больших шкивов в которых используют мелкие. Возможно это даст вам новые идеи и решения.
27.06.19 в 16:02
0
Да, идея интересная, спасибо =)
25.06.19 в 11:43
1
Отлично! Печатный шкив - это по-репрапски!
24.06.19 в 21:47
5
Статья интересная. К сожалению с ресурса удалился комрад Sanitar. И все его коменты автоматом. В обсуждениях он писал, что не все так однозначно с микрошагами и мифами. В своем принтере он использовал шаговики 0.9гр. и микрошаг 1.64, проводил тесты с удержанием пары десятков кг. на столе в течении 3 суток. И проблем описанных по ссылке не было.
25.06.19 в 00:13
2
Ничего себе, не знал.
Автор - примите, пожалуйста, мои извинения, при всем уважении.
24.06.19 в 22:20
1
При всём уважении статья переведена не правильно и изза этого породила много легенд.
24.06.19 в 20:59
1
Напиши еще про настройку этого принтера. Самое интересное.
25.06.19 в 21:50
1
Боюсь, что китайцы тоже не дремлют..
25.06.19 в 23:00
1
Рад читать вас тут, а не только смотреть на ютубе и фиглисерве.
Обидно, что у меня не получается в этом сезоне собрать робота…
27.06.19 в 16:04
0
Может оно и к лучшему. Возможно за это время появятся проекты получше)
26.06.19 в 20:23
1
Рад что показали свой принтер, здесь на сайте! Я вам и на ютубе писал, вы мне отвечали!
Извините если лезу не в свой огород!!! Заранее извиняюсь!!!
По поводу 2-й конструкции с редукторами - это очень хорошо
+повышается точность
-смена ремней потребует разборки

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

если сделать вот так
раздельно плечо и корпус.
+можно регулировать угол и расположение плеча
+не соосности в редукторе не важны, т.к. они только передают крутящий момент
+лёгкая замена ремней, т.к. на ремни можно поставить роликовые упоры ,то при замене это облегчи снятие установку ремня
+при замене ремней, ось плеча не смещается, это сильно облегчит повторную калибровку оси плеча, после мены ремня
сама картинка:
сначала хотел предложить 1 вариант, но потом понял , что т.к. корпус из пластика, то оси будет выворачивать, только если стенки делать очень толстыми.
подумал можно подумать над 2 вариантом, на среднюю ось будут прикладываться разнонаправленные силы, это её усреднит влияние натяжения с мотора и с плеча.
51fdd89d1bd485dd04f63fdf0ca7386f.bmp
27.06.19 в 16:01
0
Ради подобного можно собрать любой другой проект робота, там всё разедльно) В том то и заключается проблема - выставить плечи симметрично и под нужным углом вручную не просто. Именно от этой проблемы я и пытаюсь избавиться. Не страшно, если гуляют размеры, модель можно поправить. Хуже, если у принтера, на котором печатаются детали для робота, оси X, Y и Z не перпендикулярны друг другу.
27.06.19 в 20:10
1
подскажите! в прошивке можно указать угол расположения плеча, тот угол когда все плечи надо выставить симметрично?
например в прошивке обычной дельты, можно указать углы расположения башен!
27.06.19 в 20:46
0
Нет, угол здесь может быть только один. Между парами плеч ( 1 и 2, 2 и 3, 3 и 1) должно быть ровно 120 градусов.
28.06.19 в 17:04
1
судя по прошивке ,да именно так
я сильно не разбираюсь в прораммировании, но в прошивке жёстко задаются значения sin120 и cos120

файл Configuration.h
DELTA_SIN120 0.86602540378443864676372317075294
DELTA_COS120 -0.5

судя по статье Кинематика дельта-робота на https://habr.com/ru/post/390281/
эти параметры задают поворот осей X и Y для плечей 2 и 3.

константы для sin и cos вводятся в файле
Marlin_main.cpp
const float sin120 = DELTA_SIN120;
const float cos120 = DELTA_COS120;

функции расчёта поворота плечей на угол theta1(плечо 1) , theta2(плечо2), theta3(плечо3)
находится в файле Marlin_main.cpp
1)int status = delta_calcAngleYZ(x0, y0, z0, theta1);
2)if (status == 0) status = delta_calcAngleYZ(x0*cos120 + y0*sin120, y0*cos120-x0*sin120, z0, theta2); // rotate coords to +120 deg
3)if (status == 0) status = delta_calcAngleYZ(x0*cos120 - y0*sin120, y0*cos120+x0*sin120, z0, theta3); // rotate coords to -120 deg

почему бы не назначить sin и cos для функций 2 и 3, своими, для понимания можно использовать картинку
из статьи Кинематика дельта-робота на https://habr.com/ru/post/390281/
2bfa26b3c60a37f32b6acd6eb00fd3d2.gif

в статье сказано, что расчёт theta1 , ведётся без введения sin и cos
а расчёт theta2 ведётся путём поворота осей координат XY по оси Z на 120 градусов
а расчёт theta3 ведётся путём поворота осей координат XY по оси Z на -120 градусов

по сути можно ввести 4 переменные , и в них прописывать значения sin и cos
sinT2 = sin(угол поворота для плеча 2 относительно плеча 1)
cosT2 = cos(угол поворота для плеча 2 относительно плеча 1)
sinT3 = sin(угол поворота для плеча 3 относительно плеча 1)
cosT3 = cos(угол поворота для плеча 3 относительно плеча 1)

и вставить эти переменные в функции 2 и 3 вместо ихних sin и cos

по аналогии с обычной дельтой, можно использовать разницу реального отклонения плеча2 от расчётных 120градусов
т.е. если плечо2 повёрнуто на 122градуса
sint2=2
sinT2=sin(120+sint2)

как думаете сработает?
могу попробовать сделать эти изменения в прошивке, в марлине
28.06.19 в 18:17
0
Интересная идея =) Можно, конечно, попробовать. Но здесь другой вопрос - как достаточно точно замерить фактический угол? Равносторонний треугольник, который образуют оси вращения плеч, позволяет выставить всё симметрично, проверяя положение "на глаз". В следующем посте я показал это наглядно.
28.06.19 в 18:35
1
угол замерять как для калибровки башен обычной дельты, напечатать типа вот этого https://www.thingiverse.com/thing:745523
сейчас скомпилировал прошивку марлин из 3DReplicator , с новыми данными, всё компилировалось, проверять не на чем!

вы имеет ввиду напечатную оправку для выставления плеч?

по напечатаной детали угол можно замерить измеряя штангелем треугольники каждого плеча ,потом построить этот треугольник по длинам сторон в солидворксе и снять величину угла
29.06.19 в 16:24
0
Да, её. У меня сейчас тоже не на чем проверить, ардуино стоит на Н-боте. Проверим, как появится свободное время =) Дело ещё и в том, что в той же Смузи эти углы менять нельзя, в конфиге таких настроек нет. А от обычной ардуино толку маловато.
30.06.19 в 20:59
1
Любопытно

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

МГУПП планирует выпустить пищевой 3D-принтер в следующем году

Anet A6 - Резюме после 2х лет пользования. Проблемы, поломки , запчасти, апгрейды. Всё с чем столкнулся.

Ender 3 + TMC2208 на родной плате Creality3D V1.1.3

HCmaker 7 - неоднозначный аппарат

Разработка и изготовление принтера со столом 300х600 мм

Стайлинг Прюши