Ультрафиолетовый 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
– остановить движение стола SwingX+/-100
– непрерывное перемещение стола SwingZ+/-10
– Перемещение стола Swing в крайние положения (верхнее и нижнее)Z+/-1
– 1/200 оборота двигателя поворотного стола (16 шагов)
Аппаратное обеспечение
- Ардуино Мега – 1 шт.
- Материнская плата 3D-принтера Ramps 1.4 – 1 шт.
- Шаговой двигатель – 3шт.
- Драйвер шагового двигателя A4988 – 2 шт.
- Концевой выключатель – 4шт.
- Блок питания 12В 5А – 1шт.
- УФ-проектор – 1шт.
Схема подключения
Возможные дальнейшие улучшения
- Добавление дополнительных элементов управления принтером (кнопки остановки, аналоговые контроллеры параметров и т. д.)
- Добавление сервозатвора для закрытия объектива проектора (уменьшает рассеянный свет).
- Печать без подключения к ПК (на основе набора фотографий и контрольных G-кодов, загруженных на внешний носитель)