Приручаем динозавров, или как я писал свой собственный host controller для лаборатории 3D-печати

Рождение 2-х цветного 3D принтера

Еще с детства увлекся радиолюбительством и все свободное время проводил за пайкой различный электронных устройств. Спаять и настроить электронику не составляет ни каких трудностей. А вот сделать хороший корпус для очередного собранного устройства – это уже проблема. Но прогресс не стоит на месте. И выход был найден, собрать 3d принтер для печати пластиком. Эта статья не является методичкой для сборки принтера, это всего лишь моя история сборки.

Много времени провел за чтением различных сайтов по сборке 3d принтеров. Даже уже был готов купить кит набор для сборки принтера из поднебесной. Бюджет составлял 20 000 рублей. За эти деньги можно было купить китайского “летучего медведя”. Но чем больше я погружался в тему 3D принтеров, тем больше рос аппетит. И так я решил собрать принтер с двумя экструдерами. Размер рабочего поля 300х300х300 мм. Кинематика COREXY. Корпус формой “куб”. Должен быть обязательно стол с подогревом. Материал из которого будет собрано основание, выбрал сразу, алюминиевый станочный профиль 30х30мм (ST-AL-30×30). Такой материал как ДСП отверг сразу. Если применить ДСП , то о качестве напечатанных деталей говорить не приходиться. И никто меня в этом не убедит. Но многие делают из ДСП и очень довольны. Еще одним главным условием является, то что все комплектующие должны быть приобретены через интернет. В моем населенном пункте нет токарей, которые могли выточить необходимую деталь. А тем более вырезать нужную деталь на промышленном лазерном станке.

Немного предыстории

За последний год я сильно заинтересовался 3D печатью, и не просто 3D печатью, а ее свободной составляющей — проектом RepRap. Руководство ВУЗа поддержало начинания, и в течении этого года моими и единомышленников усилиями в МГТУ МИРЭА открылась лаборатория 3D печати.
Очень скоро возникла проблема — существующее в экосистеме ПО имело недостатки, которые сильно мешали работе. Поэтому было решено эти проблемы ликвидировать, создав свое ПО.

  • Они все написаны на интерпретируемых языках, открытие и разбор файлов занимают на слабом железе иногда и по 10 минут;
  • Те из них, что написаны на Mono еще и периодически падают, и обрекают кучу пластика на безвременную кончину (Виновато тут, скорее всего, не само Mono, а минимальное внимание к сборкам на ней от авторов);
  • В интерфейс вынесено мало кодов, зато встречается совсем уж избыточный функционал (прошу прощение за свой минимализм);

ПОДКЛЮЧЕНИЕ КОНТРОЛЛЕРА

На данном этапе можно подключить плату контроллера к USB порту ПК. Дополнительно драйверы на моем ПК устанавливать не пришлось – плата подключилась в систему автоматически. Но в некоторых случаях придется их установить. Процедура стандартная, драйвера находятся в папке “drivers” установленной оболочки Arduino. В результате успешной установки в диспетчере устройств в разделе “Порты (COM и LPT)” должна отобразиться плата контроллера “Arduino Mega 2560 (COM5)”. Запоминаем номер порта контроллера в системе – в моем случае это COM5. Теперь все готово для работы с исходниками контроллера.

Запускаем оболочку, открываем проект Marlin. Перед правкой кода указываем в настройках с какой платой и контроллером будет работать оболочка на каком порту “висит” плата. Все это требуется указать в разделе “Tools (Инструменты)” оболочки. Выбираем следующие настройки:
плата – “Arduino Mega or Mega 2560”;
процессор – “ATMega2560 (Mega2560)”;
порт – “COM5” (у Вас возможен другой номер порта!).
Для внесения индивидуальных настроек потребуется внести изменения в исходники библиотек.

Поддержка ЖК-дисплея и SD-карты

Устройство для чтения SD-карт и ЖК-экран делают 3D-печать намного удобнее. Прокрутите вниз до раздела поддержки ЖК-дисплея и SD, это ближе к концу «configuration .h».

По умолчанию поддержка SD-карты отключена. Чтобы активировать его, просто удалите косую черту:

Для поддержки ЖК-дисплея вам необходимо знать, какой ЖК-дисплей вы используете. Прокрутите вниз до раздела ЖК-контроллер и найдите тип ЖК-дисплея, который у вас есть. В качестве примера мы возьмем контроллер «Full Graphic Smart». Еще раз убираем косые:

Вам также потребуется установить библиотеку u8glib. Для этого скачайте библиотеку u8glib с GitHub. Arduino предоставляет инструкции, которые помогут вам интегрировать библиотеку в вашу IDE

Первая печать⁠ ⁠

Привет всем, кто занимается 3д печатью и тем, кто не занимается тоже привет.)
долго долго взвешивал все + и — и наконец купил себе 3d принтер.

Сразу для ЛЛ: первый раз купил 3d принтер, попробовал, ничего сложного, всё понравилось)

Теперь по делу.
От части спасибо @dr.One, за то, что показал, что новичкам не стоит бояться и можно смело врываться в мир 3д печати. Ну и за ответы на вопросы тоже спасибо.
Итак. После долгих раздумий остановился на Flying Bear Ghost 5, перелопатил кучу форумов, топиков, роликов на Ютубе и всё же решил брать его.Подкупило соотношение цена-качество, но и от части прикрытый корпус.
долго думал где покупать, у кого-то на Я. маркете или всё же на Али.
в итоге взял на Али, у продавца, которого @AlexGyver рекомендовал. Ссылку на магазин не ставлю чтобы не было рекламы, но если кто попросит, скину в комментариях.
Медведь пришёл за 3 дня курьером до двери.
На борту плата с несъемными драйверами tmc2225, но продавец предупреждал, что не знает с какими отправляет и поэтому 50/50.
Я вообще не вижу тут проблем, двигатели ходят очень тихо, единственное что шумит как самолёт, так это кулер на голове.
После распаковки, сборки и калибровки всё прекрасно завелось.

Первая печать 3D печать, 3D принтер, Хобби, Длиннопост

собирал кстати по инструкции на Ютубе от Рукопопа. На сборку ушло около двух часов.
Первый болт печататься не хотел, но это из-за комплектной флешки. Не хочет принтер её видеть. Пришлось залить модель на свою карточку и отправить печать с неё.
результат для меня очень даже хороший.

Первая печать 3D печать, 3D принтер, Хобби, Длиннопост

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

Первая печать 3D печать, 3D принтер, Хобби, Длиннопост

Печаталось всё PLA, который шёл для тестов в комплекте, настройки печати стандарт: 60° стол, 200° сопло, скорость 100%, откат 100.
Есть какие-то наплывы не критичные, буду пытаться выяснять причину.
никаких серьезных переделок вроде директов и чего-то подобного делать не планирую, ибо первый опыт, тут хочется познать принципы и методики. Но перенос катушки на бок хотелось бы в ближайшее время сделать, ибо неудобно.
Ну и чисто для удобства подсветку и камеру запилить на него. Может и насадку на голову для улучшения обдува напечатаю. Многие рекомендуют, но я не знаю на сколько она нужна и что кардинально это изменит.
В остальном, как уже и говорил, буду развиваться в плане моделирования и калибровок всяких для улучшения печати, ибо вещь просто отличная и для себя и для детей)
спасибо всем кто дочитал, если есть советы, рекомендации — пишите.
Кстати может кто подскажет. Есть ли у данного аппарата возможность поставит печать на паузу, выключить питание, а после включения питания снова продолжить печать. Если есть, то как она реализуется? Не хочется оставлять без присмотра на долгое время, всё же ТБ). Сильно не пинайте)

Калибруем стол

Для ручной калибровки используется так называемый Mesh Bed Leveling (MBL). Т.е. способ калибровки по массиву точек. Соответственно поверхность стола разбивается на сетку и по узлам сетки производятся замеры Z координаты перемещением вручную оси Z. Собствено для измерения нужен только лист бумаги и прямые руки.

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

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

По умолчанию для калибровки используется сетка 3×3 т. е. 9 точек, но при желании можно задать в прошивке другое количество (не более 7 на ось, т. е. не более 49 всего).

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

Давайте приступим к настройке 3dTouch или BlTouch.

Порядок настройки 3dTouch или BlTouch в Marlin:

  • Поднимаем сопло выше уровня стола на 10-20мм.
  • Если зонд мигает (в аварийном состоянии), через слайсер вводим команду M280 P0 S160 , или через меню принтера выбираем Control/BLTouch/ Reset BlTouch. Зонд успокоится и светодиод погаснет.
  • Берем шестигранник, вставляем в регулировочный винт зонда и плавно крутим против часовой стрелки до момента включения светодиодной индикации. Ловим именно тот момент, когда загорится светодиод и на 1мм или 1градус, кому как удобнее, доворачиваем против часовой стрелки. Также делаем, если у зонда после сброса горит светодиод, только крутим по часовой стрелке до момента его выключения и возвращаем его обратно как писал выше.
  • Тестируем командой M280 P0 S10 — щуп опускается и светодиод тухнет;
  • Команда M280 P0 S90 — втягивает щуп и светодиод загорается;
  • Автоматический тест M280 P0 S120 — будет опускать и поднимать щуп пока не сделаете сброс командой M280 P0 S160 или через меню принтера Control/BLTouch/ Reset BlTouch

EEPROM

Не стоит забывать, что значения PID хранятся в энергонезависимой памяти контроллера и после перепрошивки вам необходимо либо восстановить в EEPROM значения, указанные нами в прошивке, либо, если вы не хотите перепрошивать свой принтер, вы можете сохранить значения напрямую в EEPROM, но не забывайте, что при использовании команды «M502» (записать значения из прошивки в EEPROM) придется повторно записать PID значения в EEPROM, так как они будут заменены теми, что указаны в прошивке. Для хранения данных значений предпочтительнее указывать их в прошивке — это убережет вас от множества проблем.

47eefe154eb3efde2c2f5e48e7437991ec75b8fb.png

*Результаты удержания температуры после правильной калибровки

@LiS92
Спасибо всем, надеюсь данный гайд оказался для вас полезным. Правки и пожелания направлять в telegramна одноименный аккаунт.
Так же хотел бы сказать что завел канал в telegram где данный гайд есть в формате PDF документа с более удобным форматированием текста: @LiS92Live

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector