Как вы программируете 3D-принтер?

Я подумываю о создании своего собственного 3D - принтера/лазерного гравера/ЧПУ. Поскольку все они используют стандартную декартову ось, я хотел иметь возможность менять местами инструментальные головки в зависимости от цели. У меня все продумано, кроме аспекта кодирования проекта.

В настоящее время у меня есть 3D-принтер, и я знаком с некоторыми аспектами кодирования, gcode, моментом шагового двигателя, обнулением оси и т. Д.; Но если я должен построить 3-осевую систему, как вы ее кодируете? Существуют ли программы, которые автоматически калибруют все двигатели? Могу ли я взять существующие программы 3D-принтера и настроить значения шагового двигателя и площадь сборки пластины? или мне нужно с нуля закодировать новую программу печати, которая может читать gcode? Для простоты давайте просто поговорим о печатном аспекте сборки, поскольку я понимаю, что ЧПУ и лазерные граверы работают на разных векторных системах. Спасибо :)

, 👍5

Обсуждение

3D-принтер похож на плоттер, поэтому вы можете использовать его как лазерный гравер, но для использования с ЧПУ вам понадобится более прочная рама., @Fernando Baltazar


2 ответа


3

Основой любого 3D - принтера является контроллер и прошивка. Многие устройства основаны на контроллерах типа Arduino, а платы драйверов шаговых двигателей либо интегрированы, либо добавлены в качестве подключаемого компонента.

Некоторые производители будут использовать собственные или внешние ресурсы и разрабатывать свои собственные платы и прошивки.

Вы можете найти контроллеры 3D-принтеров и получить довольно полный список различных устройств, доступных для покупки. Smoothieboard-это одно устройство, Raspberry Pi и Arduino, как отмечалось выше, и другие.

Также можно найти различные "вкусы" прошивки для загрузки на эти контроллеры.

Это поле является исчерпывающим.

Чтобы сосредоточиться на аспекте печати, это один шаговый двигатель на печатающую головку/сопло (обычно) и включает в себя калибровку количества нити, выдаваемой из сопла на единицу шагов, или, что более легко понять, количества шагов на единицу движения нити. Мой шаговый двигатель для экструдера имеет планетарную передачу и перемещает 100 мм нити примерно на 5000 шагов.

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

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

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


,

1

это расширение ответа fred_dot_u. Поскольку я нахожусь в процессе создания собственного принтера, я решил использовать RAMPS Arduino shield для электроники и прошивки Marlin + Arduino mega2560 в качестве логического контроллера.

Поскольку вышеперечисленное проверено в боях, мне не нужно снова открывать колесо, а лучше сосредоточиться на механике. Материнская плата RAMPS предоставит вам возможность подключить 5 шаговых и 3 ШИМ-регулируемых устройства (которые могут быть тепловым слоем, соплом и вентилятором или комбинацией), и еще есть возможность подключить больше, так как куча выводов ввода-вывода готова к размещению.

MarlinFirmware доступен на github, поэтому вы можете загрузить его, а затем предоставить все механические параметры, необходимые для правильного управления вашим принтером, а именно:

  1. Тип материнской платы
  2. тип CoreXY, XZ ....
  3. размер стола (x,y)
  4. размер портала (z)
  5. шаги / мм для степперов
  6. параметры тепловой защиты
  7. ЖК - дисплей (при использовании)

Главное преимущество использования Marlin для меня заключается в том, что конфигурация принтера чрезвычайно настраиваема.

,

Не забудьте установить правильный тип материнской платы: // Пожалуйста, выберите имя из boards.h, которое соответствует вашей настройке #ifndef MOTHERBOARD #define MOTHERBOARD BOARD_RAMPS_14_EFB #endif, @0scar