Об одном «баге» в последних версиях слайсера Creation Workshop.

Подписаться на 3Dtoday
pl32
Идет загрузка
Загрузка
30.11.17
2257
38
печатает на RK-1
Техничка
15
Статья относится к принтерам:
Wanhao Duplicator 7 (D7)
Анализируя вопросы и комментарии пользователей принтера Ванхао D7 я обнаружил, что «свежие» версии слайсера Creation Workshop (далее по тексту – Воркшоп) содержит один неприятный «баг», который может испортить печать.
Но в начале немного теории, чтобы было понятно о чем речь.
Последовательность действия принтера Ванхао D7 (и аналогичных принтеров) следующая:
1) Подъем платформы на заданную высоту (Z Lift Distance в Воршопе)
2) Опускание платформы до высоты слоя (Slice Thickness в Воркшопе)
3) Задержка включения засветки для растекания полимера (в явном виде не задается!!!, по умолчанию 1,6 с)
Особенность алгоритма работы Воркшопа – время задержки задается с момента выдачи G-кода на подъем-опускание платформы (Lift and Sequence Time в Воршопе, можно задать вручную, можно воспользоваться кнопкой AutoCalc. Далее по тексту – время задержки). Еще раз подчеркну – время на растекание полимера в явном виде не задается.
4) Включение засветки на время, указанное в Explosure Time для всех слоев и в Bottom Explosure для первых слоев, количество которых задается в #Bottom Layers.
Фото 1. Скриншот Воршопа. Параметры, о которых шла речь выше – выделены подчеркиванием.
3fde9aba1595053429c207ced07b508f.jpg
Время задержки – очень важный параметр. Если оно будет задано меньше, чем время фактического подъема-опускания платформы – засветка включится ДО опускания платформы. Со всеми вытекающими вредными последствиями типа выдавливания полузасвеченного полимера при опускании платформы, появления «плавающих» клякс и т.п.
Функция AutoCalc высчитывает время по формуле (время подъема платформы) + (время опускания платформы) + (1,6 с на растекание-выравнивание полимера). Это время можно редактировать вручную – я, например, его всегда уменьшаю на 0,5…1,2 с, т.к. работаю с жидкими полимерами, которые хорошо растекаются.
В «старой» версии (которой я пользуюсь) было все просто, - платформа поднималась со скоростью Z Lift Speed, опускалась со скоростью Z Retract Speed.
В «новых» введен еще один параметр Z Bottom Speed.
Смысл его лучше всего виден из анализа G-кодов:
Фото 2. Скриншот Воршопа с «шаблоном» G-кода для генерации при сайсинге, «интересные» места подчеркнуты.
774c7d6b93638ef3f6f54972aaf63a10.jpg
Из шаблона G-кода видно, что на первых слоях (текущий цикл меньше переменной $NumFirstLayers (задается в окне #Bottom Layers) платформа будет подыматься со скоростью Z Bottom Speed , а на остальных со скоростью Z Lift Speed.
Все логично – вначале платформа сильнее «присасывается» к дну ванны, т.к. расстояние между платформой и дном ванны практически нет. Потом появляется расстояние и полимеру легче заполнить «пустоту», возникающую при подъеме платформы.
НО!!!
Сказав «а» забыли сказать «б».
Переменная %d%BlankTime, которая отсчитывается с момента отсылки G-кода на принтер НЕ имеет условия по номеру цикла.
Проверим, отслайсив любую модель.
Фото 3. Скриншот Воршопа с G-кодами после слайсигна. Видно, что время задержки не зависит от номера цикла.
d2572a962fe58e693ba239ac9ddb574d.jpg
В результате, если мы поставим Z Bottom Speed меньше, чем Z Lift Speed (что вполне логично), нажмем «Auto Calc» и «Apply» - время будет рассчитано по старому алгоритму, без учета параметра Z Bottom Speed, задержка включения экрана окажется меньше, чем время поднимания-опускания платформы на первых слоях со всеми вытекающими вредными последствиями.
Ну а если мы используем «быстрый» полимер, который требует считанных секунд на засветку и «перемудрили» со скоростью Z Bottom Speed, сделав ее слишком медленной – у нас вполне может возникнуть ситуация, когда платформа еще не опустилась, а Воркшоп отработал предыдущий цикл и отправил новый G-код на принтер – в этом случае «принтер» начинает работать «в разнос» судорожно опуская и поднимая платформу без всякой связи с выводом слайдов на экран.

К сожелению я недостаточно квалифицирован, чтобы исправить этот баг, и поэтому единственное, что я могу посоветовать, это:
Пока этот баг не исправлен – всегда ставьте Z Bottom Speed равным по величине Z Lift Speed.
Ну а продвинутые могут просто убрать условие из шаблона G-кода, оставив только переменную $ZLiftRate и больше не «париться» насчет величины Z Bottom Speed.
Подписаться на 3Dtoday
15
Комментарии к статье

Комментарии

30.11.17 в 10:57
3
Спасибо!
Очень интересное исследование.
Я как раз начинал осваивать принтер и работал в самых последних версиях программы.
И у меня было много проблем, которые я не мог понять и объяснить.
Скорее всего именно из-за этого.
30.11.17 в 11:11
4
Когда я начал осваивать принтер я скачал версию с сайта Ванхао. Там был только один параметр по скорости подъема. Так в ней до сих пор и работаю.
В "последних" версиях начал разбираться только после того, как у "новичков" вопросы по "кляксам" появились... Стало интересно - у них один скриншот программы, у меня - другой.
30.11.17 в 11:15
1
У меня просто ещё давно выработалась привычка, пробовать самые новые версии программного обеспечение. Конечно это не всегда хорошо, как показала Ваша статья.
30.11.17 в 11:31
2
Я наоборот - сторонник старого и привычного...
До самого последнего пользовался Автокадом 2002, на 2016 перешел только недавно - из-за 3D печати (в 2002 конвертация в stl очень кривая)...
Дома стоит "старый" офис - нравится куда лучше нового, там и работа с макросами проще, и экспорт из файлов баз данных в Эксель лучше работает...
28.12.17 в 00:02
1
Мне в конечном итоге удалось изменить время задержки для 75 версии CW:

;< Delay > {$CURSLICE < $NumFirstLayers?%d($BlankTime*2):%d$BlankTime}

Здесь время задержки для первых слоев увеличивается на коэффициент 2, соответсвенно, можно поставить любой

т.е. весь Lift шаблон:

G1{$SlideTiltVal != 0? X$SlideTiltVal:} Z($ZLiftDist * $ZDir) F{$CURSLICE < $NumFirstLayers?$ZBottomLiftRate:$ZLiftRate}
G1{$SlideTiltVal != 0? X($SlideTiltVal * -1):} Z(($LayerThickness-$ZLiftDist) * $ZDir) F$ZRetractRate
;< Delay > {$CURSLICE < $NumFirstLayers?%d($BlankTime*2):%d$BlankTime}

Кстати, насколько я понял, названия переменных в версиях 51 и 75 отличаются. Это надо учитывать при переносе профилей

PS. < Delay > естественно без пробелов - по другому сайт не пускает
28.12.17 в 07:24
0
насколько я понял, названия переменных в версиях 51 и 75 отличаются.
Cпасибо, буду внимательней.

Спасибо, что откликнулись. Уже и не думал, что тема актуальная ;)
29.12.17 в 02:57
1
Да не за что,
Думаю, что допиливать вместе проще :)

Кстати, так будет даже правильнее:

;< Delay > {$CURSLICE < $NumFirstLayers?%d($BlankTime*($ZLiftRate/$ZBottomLiftRate)+8000):%d($BlankTime+2000)}

В данном случае коэффициент вычисляется из отношения скоростей и я прибавил задержки в виде констант для "успокоения" смолы 8 сек на начальных слоях, 2 на остальных.

Попробуйте, может будет лучше с начальными слоями. Мне пока не на чем ;) мой едет.
29.12.17 в 07:29
0
На праздниках попробую несколько иное...
Уменьшение скорости не на первых нескольких слоях, а на 37 (первые 15 мм печати слоем 40 мкм)
Сам работаю в 50 версии Воршопа, поэтому там решать надо будет несколько по-другому...
04.12.17 в 10:45
0
Вы какой версией пользуетесь?
вот тут чел http://3dtoday.ru/blogs/sheyn/wanhao-d7-interesting-findings описал разницу в поведении принтера под управление 54-й и 75-й версией воркшопа.
04.12.17 в 12:00
0
Вы какой версией пользуетесь?
Я уже давно печатаю через NanoDlp.
Посмотрю позже, какая версия была у меня CW.
30.11.17 в 11:03
3
Великолепный анализ!
Очень полезное замечание на мой взгляд.
Спасибо!

Это великолепное исследование в совокупности, предложенной кем-то ранее, перфорацией (или каналами) стола для снятия давления на пленку ванны, может дать отличный результат.
30.11.17 в 11:24
3
Роман, спасибо за интересную информацию!
30.11.17 в 11:32
2
Вас спасибо за пробники.
Как найду время - напишу статью про белый модельный.
30.11.17 в 11:35
1
напишу статью про белый модельный.
По времени засветки сильно от моей цифры было отличие?
30.11.17 в 11:36
2
Очень. Остановился на цифре 18,5 секунд. До 15 секунд - все на дне ванны.
Либо эта партия менее "быстрая", либо принтер настолько "слабее".
30.11.17 в 11:42
1
Остановился на цифре 18,5 секунд.
Ого, тогда будем ждать статью.
30.11.17 в 11:51
2
Там для Вас и тех, кто им пользовался, не будет ничего интересного и нового.
Фотографии кубиков, фотографии отпечатков, личные впечатления по сравнению с фан то до. И все.
Краткая информация к размышлению для тех, кто его "в руках не держал".
30.11.17 в 12:53
1
А не могли бы вы дать настройки печати для RK-1 и на каких полимерах с ним работаете? Очень этот вопрос интересует.
30.11.17 в 13:34
3
Из всех полимеров, что пробовал на RK-1 только Harzlab базовый хорошо подошел. Акролат - настройки Вы сами знаете.
Скриншот старых настроек есть, но не уверен, что новая партия будет с ними работать - в состав внесены изменения, новую серию еще не тестировал.
Harzlab базовый показал себя хорошо, намного боле быстрый, чем Акролат (в 2-3 раза), более точный и хорошо держится на поддержках.
Полимеры от 3Dlab в принципе можно использовать, но они сильно "прижигаются" к антиадгезионному покрытию и я так и не смог подобрать параметры печати. Сергей высказал мнение, что надо экспериментировать с высотой полимера в ванне
Фан То До Snow White и промышленный пробовал, но тоже не смог подобрать нормальные настройки.
PS. Подвожу итог - из серийно выпускаемых полимеров для RK-1 подходит только Акролат.
Из перспективных - может быть Harzlab базовый.
30.11.17 в 14:27
1
Спасибо. А не могли бы вы выложить скрин с настройками под харзлабс базовый. У меня почему то не хочет. печатать
30.11.17 в 14:32
1
Завтра. сейчас нет под рукой.
30.11.17 в 14:39
1
Ок. Можно в личку если что. Буду ждать.
01.12.17 в 07:55
0
Скрин-шот настроек:
45d9b261bbf0b0cf02946c6b9eed921b.jpg

Пример того, что напечатано с этими настройками:
26cd1b6b5708b22ffcabb4311ee7af1e.jpg

Сечение колечек 0,5х0,7 мм, напечатаны на поддержках диаметром 0,4 мм
30.11.17 в 14:24
0
Все логично – вначале платформа сильнее «присасывается» к дну ванны, т.к. расстояние между платформой и дном ванны практически нет. Потом появляется расстояние и полимеру легче заполнить «пустоту», возникающую при подъеме платформы.

После прочтения всей статьи - я "вышел" со стойким ощущением "Дамоклова меча" в виде неконтролируемого передвижения платформы построения.

Аналогия - одна:

cae74e49a606baec3b877298a5d11d99.jpg


И кстати - у меня возник вопрос:

А сколько весит платформа D7 со своим креплением?
Килограмм?
30.11.17 в 14:42
3
А сколько весит платформа D7 со своим креплением?
Не взвешивал. По ощущениям - где-то примерно 123 грамма или чуть больше, но не более 157.
Тут дело не в весе платформы, а в усилии шагового двигателя, который эту платформу "вниз" опускает... Там усилия такие, что требуется не менее 5 кГ, чтобы пропуск шагов начался... А может и больше - надо даташит на двигатель смотреть и пересчет делать из крутящего момента в линейное усилие с учетом шага винта... Но это пусть кто-то другой делает...
вначале платформа сильнее «присасывается» к дну ванны,
Смысл выражения в том, что когда платформа подымается, между ней и дном ванны образуется разряжение, которое заполняется полимером. Вакуума, как такового, там быть не может, но сила присасывания вполне может достигать 80 килограмм (если резко дернуть - так, чтобы полимер не успел затечь), если поднимать плавно - полимер успевает затечь и усилия уже не те. Чем больше зазор между ванной и платформой - тем легче полимер затекает и меньше усилия. Естественно, это касается случая, когда модель по площади меньше площади платформы. Если модель занимает всю платформу - усилие не измениться. Поэтому полнотелые модели на фотополимерниках с печатью "снизу-вверх" печатать весьма затруднительно, а вот ажурные - очень просто.
30.11.17 в 15:06
1
Роман, а как Вы думаете, влияет ли уровень и количество полимера в ванне на какие нибудь проблемы при печати.
Если например, полимера небольшая лужица, слой в 1-1.5 мм или когда его налито, так, что плита в него погружается и скрывается вся в полимере.
30.11.17 в 15:12
4
Если можно, я отвечу. Влияет. Когда полимера мало, платформа его "взбивает" и он начинает пузыриться. Лучше наливать с запасом.
30.11.17 в 15:16
1
"взбивает" и он начинает пузыриться
Спасибо.
Иногда не понимал откуда берутся пузырьки, теперь ясно.
Просто ещё вопрос именно про вот это отрывание и вытягивание плёнки.
30.11.17 в 15:35
1
Иногда не понимал откуда берутся пузырьки, теперь ясно.
Канэшно... ;)

Ничего нового - всё как всегда...

https://youtu.be/iCRoV3CRum4
30.11.17 в 15:16
2
Не знаю, не экспериментировал.
Но не может не зависеть.
Чисто теоретически рассуждать не хочу, сам всегда печатаю с минимальным слоем полимера.
30.11.17 в 15:42
1
сам всегда печатаю с минимальным слоем полимера.
:D:D:D...............так же делаю)))
30.11.17 в 22:36
0
пытался еще летом эти формулы менять, и так и сяк, не вышло, в нандо длп с этим проблем нет)
02.12.17 в 02:55
0
;< Delay > {$CURSLICE < $NumFirstLayers?%d($BlankTime*2):%d$BlankTime}

Коэффициент 2 в данном случае увеличивает время на первых слоях в 2 раза

ну или можно +5000 написать

зы. < delay > без пробелов съедает парсер сайта
06.12.17 в 10:45
0
В одной из версий Воркшопа 1.0.0.75 нашел такой вариант формулы:
($ZLiftDist*60000/$ZRetractRate+$BlankTime)
Вроде бы правильный.
Может кто-то попробует вставить в строчку после "delay" эту формулу и попробует?
04.02.18 в 20:27
0
pl32
У Вас опубликованы от программы RK-Sliser? Я правильно понял?
А как их пересчитать в секунды засветки слоя? Формально если взять цифры из Ваших настроек (40 мкм и 360 мкм/с для первого слоя), разделить 40 на 360 , получается 0.11 с .???
Или я как то эти цифры что то другое обозначают?
В Воркшопе просто задаешь время в мкм и нет этих значений как в программе от RK-1.
05.02.18 в 07:48
0
Да, это скриншот настроек для RK-1.
Для воркшопа непригоден - там другие настройки и другие параметры...
Если пересчитать в секунды засветки слоя, то надо ширину экрана разделить на скорость развертки - т.е. 68 0000 / 1700 = 40 секунд.
Или 68 000 / 360 = 189 с (для первого слоя)
Но напрямую эти цифры применить для D7 нельзя, т.к. лазер и светодиод с LCD экраном по разному засвечивают, причем разные полимеры по разному реагируют...
На D7 Harzlab требует примерно от 10 до 30 с на слой в зависимости от машины, толщины детали, места расположения на платформе.
В целом D7 примерно в два раза "быстрее" RK-1, причем RK-1 не очень любит "быстрые" полимеры, а D7 - "всеяден".
Более того - у RK-1 больше площадь печати, поэтому платформа сильнее "Присасывается" и он требует меньших скоростей поднимания платформы....
Если брать "штатны" полимер Акролат и какой-либо быстрый - то D7 будет в 8...10 раз быстрее...
НО!! RK-1 - точность 20 мкм, а у D7 - порядка 0,3...0,15 мм...
05.02.18 в 12:06
0
Спасибо.
Да, понятно. Точно не подойдет.
Мне точно не пойдет
В Рк-1 лазер, в D7 -LCD, а у меня проектор.
Извините, надо было сразу прочитать.

Я пытаюсь время засветки подобрать, взял пробник "Ой, все красное". Совсем не поляризуется. Так и не понял почему.
Думаю взять Harzlab или ещё что.
05.02.18 в 12:25
0
Я пытаюсь время засветки подобрать, взял пробник "Ой, все красное". Совсем не поляризуется
На "ой, все" несколько раз жаловались...
Попробуйте взять Кингсайз от 3Dlab - он разрабатывался специально для проектора. Хотя на LCD идет тоже отлично.
У него есть еще базовый - тоже разработан для проектора (паразитная засветка по Z отсутствует как класс), но у него специфические механические свойства (жестко-эластичный).
Harzlab разрабатывался для LCD - у него достаточно большая паразитная засветка по Z, надо будет подкрашивать, причем достаточно сильно.
Можно попробовать FTD черный или белый - они очень красивы, паразитную засветку не дают, ...

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

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

Lufthansa принимает участие в стандартизации авиационных аддитивных технологий

Установка Octoprint на Debian и прошивка Klipper

Компания iGo3D Russia ищет сервисного инженера!

3D Print Expo 2018: куда катится рынок настольной 3D-печати

Cubicure предлагает 3D-печать прочными и тугоплавкими фотополимерами по технологии горячей литографии

Blender для печатников. Глава 8. Заправлены в планшеты космические карты. Системы координат.