Ультрафиолетовый 3D-принтер с покачиванием стола

3D-принтер для печати из смолы ультрафиолетового отверждения с покачиванием стола для лучшего перемешивания и ручным управлением подъемом стола

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

Для этого плоский стол погружается в жидкую смолу на глубину одного печатного слоя. После этого ультрафиолетовый проектор проецирует на стол черно-белое изображение нужного слоя. В месте падения света (соответствует белой области на монохромном изображении слоя) смола затвердевает. По окончании времени выдержки проектор выключается (переходит на отображение черного прямоугольника). После этого стол погружается в смолу глубже на толщину следующего слоя и включается изображение следующего слоя детали. Программное обеспечение CreationWorkshop отвечает за генерацию изображений слоев, доставку изображения на проектор и управление перемещением стола в процессе печати.

[!ВНИМАНИЕ] Во избежание повреждения глаз область печати должна быть закрыта или защищена тонированным стеклом, непроницаемым для ультрафиолета!

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

Механика принтера

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

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

Над столом установлен ультрафиолетовый проектор с соответствующей оптикой, подключенный к управляющему ПК кабелем HDMI.

Основной контроллер подключается к этому же ПК через USB (с эмулируемым COM-портом), через который передаются G-команды для управления принтером.

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

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

Для управления столом также можно использовать элементы управления в программе Creation Workshop.

Настройки творческой мастерской

В приложении Creation Workshop загрузите профиль для работы с принтером (Configure->Configure Slicing Profile->Slicing Profile->mUVe.1.3) Задайте толщину слоя (Configure->Configure Slicing Profile->Settings->Slice Tickness (mm)->0,1)

Задаем общее время цикла, в течение которого будут совершаться все движения стола и плиты для одного слоя (Configure->Configure Slicing Profile->Lift and Sequence->Lift and Sequence time (ms)->8000) Это время не должно быть меньше, чем полный цикл движения рабочей плиты и поворотного стола, настроенного в прошивке. В противном случае экспозиция следующего слоя начнется раньше, чем стол и плита вернутся в рабочую точку!

При изменении настроек и перед печатью каждый раз открывайте 3D-модель и используйте команду «Срез» с mUVe.1.3

Последовательность печати

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

При запуске экспозиция первого кадра начинается в течение 1 секунды (измените Configure->Configure Slicing Profile->Settings- >Explosure time (ms)->1000). Затем проектор начинает показывать черную рамку. При использовании сервозатвора объектива он закрывается.

Сразу после окончания экспозиции качающийся стол начинает двигаться вниз со скоростью 10 мм/сек (переменная TiltDownSpeed=3200) Стол останавливается через 2 секунды, пройдя 20 мм ( переменная StepsToRaiseLowerVat=6400)

Через 1,2 секунды после окончания воздействия (переменная TimeForRaiseBuild=1200)

Подъем рабочей пластины начинается со скоростью 2 мм/сек (переменная LiftUpSpeed = 1600) Пластина останавливается через 2 секунды после прохождения 4 мм (переменная StepsToRaiseLowerBuildPlate = 3200) код>)

Через 3,4 секунды с момента окончания воздействия (переменная TimeForGoZeroPos=3400) начинается опускание рабочей плиты и подъем качающегося стола.

Стол опускается со скоростью 1 мм/сек (переменная LiftDownSpeed = 800) и останавливается через 4 секунды после прохождения 3,9 мм (4 мм минус толщина слоя).

Качалка поднимается со скоростью 5 мм/сек (переменная TiltUpSpeed = 1600) и останавливается через 4 секунды после прохождения 20 мм

Через 8 секунд (переменная Creation Workshop->Lift and Sequencetime=8000) цикл движений завершается, при использовании сервопривод объектива, затвор открывается. Начинается экспозиция следующего кадра.

По окончании печати или при срабатывании верхнего концевого выключателя печать прекращается и сервоклапан закрывается

При изменении скорости и расстояния необходимо убедиться, что все движения завершены до начала экспонирования следующего кадра, и соответствующим образом установить переменные времени подъема и последовательности. После его изменения или изменения толщины слоя перед печатью необходимо повторно использовать команду «Срез» с профилем mUVe.1.3

Основные параметры системы:

  • Основной контроллер – Arduino Mega
  • Процессор – 16 МГц, ATmega2560
  • Память контроллера — 256 КБ + 8 КБ SRAM + 4 КБ EEPROM.
  • Шаговые двигатели – Nema 17 0,4А
  • Крутящий момент шагового двигателя – 26 Нсм.
  • Питание – 12В 5А
  • Шаг ШВП – 4 мм.
  • Минимальная толщина печатного слоя – 0,00125 мм.
  • Время экспозиции –2..8с (зависит от смолы, мощности проектора и толщины слоя

Прошивка принтера

На основе модифицированной прошивки Marvin для 3D-принтеров.

Распечатать переменные и их настройки по умолчанию для времени цикла подъема и последовательности (мс) = 8000

int PlatenStepsPerLayer = 80;

Действия по перемещению толщины слоя на одну толщину. Рассчитывается путем деления Толщины среза (мм) из настроек печати Creation Workshop на мм/шаг. Для слоя 0,05 мм винт с шагом 4 мм и 1/16 микрошага = 0,05/0,00125= 40 Для слоя 0,1 мм винт с шагом 4 мм и 1/16 микрошага = 0,1/0,00125=80

int StepsToRaiseLowerBuildPlate = 3200;

шаги подъема стола между экспозициями Для винта с шагом 4мм и 3200 шагов на оборот - 3200 соответствует подъему 4мм (~2 сек при 1600шаг/сек, ~4 сек при 800шаг/сек)

int StepsToRaiseLowerVat = 6400;

Шаги подъема/опускания качалки Для винта с шагом 10 мм и 3200 шагов на оборот – 6400 соответствует подъему на 20 мм (~2 сек при 3200шаг/сек, ~4 сек при 1600шаг/сек). )

int TimeForRaiseBuild=1200; — Время от начала цикла до начала подъема рабочей плиты

int TimeForGoZeroPos=3400; Время от начала цикла, с которого плита и стол начинают возвращаться в рабочее положение, до начала следующего цикла не должно работать раньше рабочей плиты поднимается в верхнее положение, а поворотный стол опускается в нижнее

int MotorSpeed = 3200; - Скорость движения в ручном режиме управления, шагов/с

int MotorAccel = 12000; - Ускорение движения в ручном режиме управления, шагов/с²

int LiftDownSpeed = 800; - Скорость опускания рабочей плиты, шаг/с;

int LiftDownAccel = 4000; - Ускорение при опускании рабочей плиты, шагов/сек²;

int LiftUpSpeed = 1600; - Скорость подъема рабочей плиты, шагов/с;

int LiftUpAccel = 12000; - Ускорение при подъеме рабочей плиты, шагов/с²;

int TiltDownSpeed = 3200; - Скорость опускания поворотного стола, шагов/сек;

int TiltDownAccel = 12000;- Ускорение при опускании качающегося стола, шагов/с²;

int TiltUpSpeed = 1600; - Скорость опускания поворотного стола, шагов/с;

int TiltUpAccel = 8000; - Ускорение при подъеме качающегося стола, шагов/с²;

bool LiftMotorReverse=false; — инвертирует направление движения двигателя рабочей пластины. По умолчанию вверх — по часовой стрелке, вниз — против часовой стрелки;

bool TiltMotorReverse=false; — инвертирует направление движения двигателя поворотного стола. false – вверх по часовой стрелке, вниз – против часовой стрелки. true – вниз по часовой стрелке, вверх – против часовой стрелки.

Набор G-кодов для управления принтером:

  • Z0 – остановить движение рабочего стола;
  • Z+/-50 – непрерывное движение рабочего стола
  • Z+/-10 – один оборот двигателя рабочего стола (3200 шагов)
  • Z+/-1 – 1/200 оборота двигателя рабочего стола (16 шагов)
  • X0 – остановить движение стола Swing
  • X+/-100 – непрерывное перемещение стола Swing
  • Z+/-10 – Перемещение стола Swing в крайние положения (верхнее и нижнее)
  • Z+/-1 – 1/200 оборота двигателя поворотного стола (16 шагов)

Аппаратное обеспечение

  • Ардуино Мега – 1 шт.
  • Материнская плата 3D-принтера Ramps 1.4 – 1 шт.
  • Шаговой двигатель – 3шт.
  • Драйвер шагового двигателя A4988 – 2 шт.
  • Концевой выключатель – 4шт.
  • Блок питания 12В 5А – 1шт.
  • УФ-проектор – 1шт.

Схема подключения

Схема подключения

Возможные дальнейшие улучшения

  • Добавление дополнительных элементов управления принтером (кнопки остановки, аналоговые контроллеры параметров и т. д.)
  • Добавление сервозатвора для закрытия объектива проектора (уменьшает рассеянный свет).
  • Печать без подключения к ПК (на основе набора фотографий и контрольных G-кодов, загруженных на внешний носитель)

Фотографии

Основные компоненты, собранные для тестирования

Главный контроллер