История о том, как я делал свой первый 3D принтер.

Скажу сразу, статья больше обзорная и историческая, потому как деяния проходили в далёком 2013 году.

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

Отличие будет состоять лишь в том, что построение в моём принтере будет не от поверхности ко дну, а от дна к поверхности. У этого метода есть плюсы и минусы.

Плюсы построения от дна:

  • простая механика (нет необходимости в выравнивающем устройстве);

  • необходимо меньшее количество фотополимера , находящегося в ванночке для выращиваия объекта;

  • ванночку можно сделать небольшую по высоте;

Минусы построения от дна:

  • необходимость обработки дна ванночки антиадгезионным покрытием;

  • борьба с эффектом «присоски»;

С минусами и плюсами понятно.

Но какие задачи необходимо будет решить, для изготовления принтера ? (считаем, что у нас ничего нет, и всё делаем с нуля)

  • порезать 3D модель на слои;

  • преобразовать слои в управляющую программу (УП);

  • сделать управление лазером и гальванометром согласно УП;

  • спроектировать корпус и собрать его;

  • подобрать фотополимер;

  • подобрать антиадгезионное покрытие дна ванночки;

  • порадоваться или наоборот разочароваться в результате;

Задачи такие поставил т.к. хочу чтобы всё было своё, чтобы принтер был автономным – вставил флешку, запустил печать и готово, ждёшь только. Более подробно опишу каждую задачу и её реализацию.

Резка модели на слои.

Реализацию этой задачи я попросил заняться другого человека. Суть в следующем: берём 3D модель желаемого объекта, выбираем на нём грань, от которой будет идти построение модели и «режем» её на слои, параллельные выбранной грани. Шаг резки задаём в программе. В конечном итоге я получил на руки приложение, загрузив модель в которое на выходе получал 1-битные картинки, получившиеся нарезанием модели на слои.

Интерфейс программы
Интерфейс программы

Подготовка управляющей программы

Эту задачу как и все последующие я решал уже сам. Описывать процесс, думаю, нет смысла, просто покажу на примере одного слоя.
Допустим, у нас есть слой (один срез нашей 3D модели) размером 6х7 пикселей.

Пример слоя
Пример слоя

Управляющая программа одного слоя будет выглядеть так:

step=0;
2_1-5;
3_1-6;
5_2-6;
6_3-6;
7_3-6;

Где step – текущий слой.
Строка 6_3-6. В строке 6 засвечиваем область от 3 до 6 пикселя включительно.
Если будет несколько областей, например, 3, то строка будет иметь следующий вид

17_3-3-6-13-22-23;

В 17 строке засвечиваем область от 3 до 3 пикселя ( по факту засвечиваем 1 пиксель), засвечиваем область от 6 до 13 пикселя включительно, засвечиваем область от 22 до 23 пикселя, включительно. Засвечиваем область – имеется в виду наличие 3Д модели. Мне так показалось проще и так сделал.

Реализация управление лазером и гальванометром согласно УП

Многие, думаю, помнят старые добрые стрелочные индикаторы, наподобие такого:

киловольтметр)
киловольтметр)

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

Внешний вид гальванометрического сканатора (точнее элементов для управления):

Цифрами помечено: 1 – блок питания, 2 – драйвер гальванометров, 3 – демо плата с программами (была выкинута за ненадобностью), 4 – гальванометрические головы (2 шт)

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

Три ЦАПа и отладочная плата
Три ЦАПа и отладочная плата

Вот что в итоге можно получить, управляя зеркалами и, соответственно, отражённым от них лазерным лучом.

Естественно, мне захотелось сразу же что-нибудь попробовать вырастить перед тем, как буду делать корпус принтера.

И немного изображений.

Результат мне понравился и обнадёжил!

Спроектировать корпус и собрать его

Т.к. угол отклонения зеркал гальванометров мал,то и для получения поля 100х100 необходимо чтобы расстояние от зеркал до дня ванночки должно быть порядка 400 мм. Поэтому, необходимо использовать зеркала с внешним отражающим слоем. Почему с внешним ? Напишу чуть позже. Сначала нарисовал на бумажечке то, как принтер будет выглядеть.

И создал 3D модель в SolidWorks.

Немного красивостей и рендеринга

Ну и начал собирать. Сначала каркас.

Гальванометр с лазерным модулем.

Принтер в сборе.

Хочу пару слов сказать о плате управления принтера. В его основе лежит микроконтроллер LM3S8962. Прошивку я делал на LabView. Вот так оно всё работает (на столе, что называется)

Немного от зеркалах

Теории. При отражении от обычного зеркала световой поток деформируется и изображение теряет целый ряд важных качеств – яркость, четкость и соответственно контрастность. Кроме всего прочего картинка просто искажается. Причина тому в строении обычного зеркала.

 Как можно видеть на чертеже, потоку света (красный луч), преломляясь, приходится проходить через стекло целых два раза – до отражающего слоя (отмечено жёлтым) и обратно. При этом теряется яркость, какое бы чистое и прозрачное оно не было. И самое главное, что при попадании под углом, отличным от 90 градусов свет в обычном зеркале отражается не только от самой отражающей поверхности, но и от поверхности самого стекла (фиолетовый луч) – все помнят, как видели в обычном стекле свое отображение. Мало того, часть светового потока, отражающегося от зеркальной поверхности отражается от внутренней поверхности стекла (серый луч), потом попадая снова на отражающий слой и так до бесконечности – эффект так называемого «призрачного отражения». Избежать такой «порчи» изображения позволяет специальное зеркало, у которого отражающий (серебряный) слой на стекле не закрыт защитным покрытием (отмечено чёрным), как на обычном зеркале. Такие зеркала используются в теле-, микроскопах и других высокоточных оптических приборах.

Что же это даёт на практике? Сверху – обычное зеркало, снизу – с внешним отражающим слоем.

Если зеркала засветить лазером под углом 10-20 градусов к поверхности стекла, то можно увидеть, какое отражение получим. Сверху – от обычного зеркала, снизу – от зеркала с внешним отражающим слоем.

При использовании обычного зеркала чётко видны затухающие переотражения. При использовании зеркала с внешним отражением такой эффект полностью отсутствует.

Подбор фотополимера

Когда я только начинал заниматься проектированием принтера на рынке, в свободном доступе было крайне мало фотополимеров. Но ситуация, стечением времени сильно изменилась. О полимерах, тестах и муках выбора можно посмотреть здесь.

Подбор антиадгезионного покрытия дна ванночки

Антиадгезонное покрытие – один из важнейших элемент 3D принтера. Это покрытие должно полностью препятствовать прилипание фотополимера ко дну ванночки. В данном принтере я использовал Dow Corning Sylgard 184 силиконовый оптически прозрачный заливочный компаунд. У него есть плюсы и минусы. Минусов больше Немного прозрачного силикона на оргстекле.

Готовая ванночка, точнее аж 2 штуки.

Результаты

Напечатанные изделия

Это вообще самая первая получившаяся печать. Именно, да, я хотел напечтать плоский прямоугольник, аналог "Hello, world!" из IT сферы)

Деталь форт.

Деталь кольцо

Деталь труба. Задача: напечатать кусок трубки с «кольцами» внешним диаметром 9 мм и внутренним 7 мм.

Время печати примерно 40 мин. С торцов сломано – это я сломал. Проверял на прочность

Деталь колпак.

Длина мелкого – 20 мм, длина большого – 30 мм. Объём большого 3 см.куб, объём мелкого 1,94 см.куб. Время печати большого – 2 ч 57 минут, время печати мелкого не знаю, т.к. печатался не один. Большой на фотках – справа, мелкий – слева. толщина «корки» большого колпака – 1,5 мм, малого – 2,5 мм.

На это всё про всё я потратил примерно 9 месяцев.

Комментарии (8)


  1. extiander
    06.06.2022 18:01

    Moai 130 ( - они обещали сделать ее опенсор изначально
    классная платформа, жаль что забросили
    они довели эту идею до воплощения


    1. Sergiv Автор
      06.06.2022 18:12

      Зато другие довели и сильно раньше - Form1)


      1. extiander
        06.06.2022 18:15

        они вроде это и начали , не ?
        сейчас с приходом 8 16к они вытесняются протыми матрицами/длп

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


        1. Sergiv Автор
          06.06.2022 18:38
          +1

          Матрицы сейчас наиболее актуальны ( и по скорости печати и по точности), даже DLP ушёл на второй план.


          1. PTM
            08.06.2022 14:29

            если инженерка то с матрицами беда... все более менее инженерные полимеры либо DLP, либо густые


  1. Sergiv Автор
    06.06.2022 18:11
    +2

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


  1. screwer
    06.06.2022 18:14
    +2

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


    1. Sergiv Автор
      06.06.2022 18:22
      +1

      Вы правы. Более того, по углам тока становится не кругом, а овалом )