Кремень КД Реклама
Кремень КМ Реклама

Marlin 1.1.2 – цветная печать стала ближе

fix0id
Идет загрузка
Загрузка
04.06.2017
10338
16
Техничка

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

60
Marlin 1.1.2 – цветная печать стала ближе
Доброго дня!

Не так давно я писал о своем опыте модернизации своего клона Прюши для печати 2-мя филаментами при помощи каретки с переключаемыми при помощи сервомотора хотэндами.

Реализовано все было на прошивке Marlin версии 1.1.0-RC8, в которую мною были внесены небольшие изменения.

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

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

(Кто не в теме, но интересуется, в общих чертах может почитать тут: https://ru.wikipedia.org/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 )

Необходимость и желание у меня были, поэтому я, собственно, и предложил свои изменения в прошивку, которые были приняты разработчиками и включены в свежий релиз прошивки - Marlin 1.1.2. Прошивка доступна для свободного скачивания по адресу: https://github.com/MarlinFirmware/Marlin Если вкратце, функционал SWITCHING_EXTRUDER был разделен на SWITCHING_EXTRUDER – дергает сервой экструдера, прижимая нужный филамент, и SWITCHING_NOZZLE – дергает сервой на каретке, переключая хотэнды. Изменение небольшое, но позволяет настраивать большее количество кастомных сборок принтеров без внесения изменений в код прошивки конечным пользователем. Можно комбинировать:
  • SWITCHING_EXTRUDER + SINGLENOZZLE;
  • SWITCHING_EXTRUDER + SWITCHING_NOZZLE;
  • SWITCHING_EXTRUDER + DUAL_X_CARRIAGE;
  • Или использовать их по отдельности.

Что касается конфигурации принтера, описанной мной в предыдущем посте, все сводится к настройке принтера в файле Configuration.h

#define MOTHERBOARD BOARD_RAMPS_14_EEB //Указываем, что у нас RAMPS со следующим подключением к силовым выходам D10 – D8: extruder, extruder, bed

..

#define EXTRUDERS 2 //задаем количество экструдеров

..

#define SWITCHING_NOZZLE //указываем прошивке на наличие в принтере каретки с сервоприводом

#if ENABLED(SWITCHING_NOZZLE)

#define SWITCHING_NOZZLE_SERVO_NR 0 // задаем номер сервопривода

#define SWITCHING_NOZZLE_SERVO_ANGLES { 20, 137 } // Angles for E0, E1 – задаем углы поворота сервопривода

//#define HOTEND_OFFSET_Z { 0.0, 0.0 } // тут можно настроить отклонение 2-го хотэнда относительно первого по оси Z (необходимо раскомментировать строку)

#endif

..

#define TEMP_SENSOR_1 1 // указываем на наличие термистра второго хотэнда

..

#define NUM_SERVOS 1 // Servo index starts with 0 for M280 command – указываем прошивке на наличие сервопривода(ов) и задаем их количество

..

Также, при желании, можно задать смещение головок по оси X и Y прямо в прошивке, для этого необходимо снять комментарии (два слэша в начале строки) в этих строках:

//#define HOTEND_OFFSET_X {0.0, 20.00} // (in mm) for each extruder, offset of the hotend on the X axis

//#define HOTEND_OFFSET_Y {0.0, 5.00} // (in mm) for each extruder, offset of the hotend on the Y axis

В принципе, этим можно ограничиться, но я советую включить поддержку EEPROM, что даст возможность менять настройки принтера прямо на лету при помощи G-code команд. Для этого необходимо снять комментарий со следующей строки в конфигурационном файле:

//#define EEPROM_SETTINGS

Все, можно компилировать и заливать прошивку в микроконтроллер.

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

1. Необходимо прикинуть примерные смещения путем замеров линейкой на месте.

2. Через терминал (Pronterface, Simplify3D, др) при помощи G-code задаем эти смещения в настройки принтера, например:

M218 T1 X32 Y0 Z-0.15

3. Далее запускам печать (используем калибровочную модель, например: http://www.thingiverse.com/thing:533814), замеряем смещения печати.

4. Ставим печать на паузу,

5. Если активен второй хотэнд, активируем через терминал первый:

T0

5. задаем через терминал новое смещение, например:

M218 T1 X32.8 Y-0.25 Z-0.1

6. Если до паузы был активен второй хотэнд, активируем его обратно:

T1

7. Продолжаем печать, оцениваем точность.

8. В случае необходимости повторяем шаги 4-7, пока не достигнем необходимой точности.

9. сохраняем настройки в EEPROM командой:

M500

Прочитать текущие настройки смещений из EEPROM можно командой M503

Также см. официальную документацию: http://marlinfw.org/docs/gcode/M218.html 10. Принтер готов к печати.

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

Подпишитесь на автора

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

Отписаться от уведомлений вы всегда сможете в профиле автора.

60
Комментарии к статье