Кремень FMZ Реклама
Kremen FMHM Реклама

Цветная печать двумя хотэндами с сервоприводом

fix0id
Идет загрузка
Загрузка
21.04.2017
30572
75
Техничка

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

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

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

182
Цветная печать двумя хотэндами с сервоприводом
Приветствую!

Пару месяцев назад я решил, что мне жизненно необходимо научить свою Прюшу печатать двумя филаментами. Не откладывая в долгий ящик, распечатал Y-адаптер, подключил второй экструдер, и после непродолжительной настройки принтер выдал что-то цветное. Долго в таком виде он не остался, меня напрягала необходимость печатать каждый раз остров для прокачки пластика при смене цвета. Несмотря на очевидную дешевизну такого подхода (необходимо найти пару фитингов, дополнительную боуден трубку и еще один шаговик), я почти сразу от него отказался и кроме калибровочной инь-яни ничего и не распечатал.

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

В поисках альтернативы, я наткнулся на Dondolo, в котором неактивный хотэнд при помощи серво привода убирается из зоны печати, также во избежание подтёков пластика выход хотэнда физически запирается при помощи препятствия. Данная идея мне очень понравилась, но у меня не директ экструдер, а боуден, в связи с чем я решил сделать нечто подобное, но под комплектующие, что у меня уже были.
Данным постом я не претендую на открытие Америки, но хочу рассказать в виде небольшой инструкции, как реализовать данную схему. Ниже речь идет о манипуляциях с Prusa i3 подобным принтером с боуден подачей филамента, хотэндом E3D v6 и прошивкой Marlin-1.1.0-RC8.

0. Необходимые компоненты

- ($3.6) второй хотэнд;

- ($1.0) вентилятор для охлаждения радиатора хотэнда (3010S);

- ($0.8) дополнительная боуден трубка;

- ($1.2) драйвер шагового двигателя;

- ($8.2) дополнительный шаговый двигатель;

- провода для подключения двигателя;

- ($6.0) дополнительный экструдер;

- держатель хотэндов (печатается, модель прилагается);

- ($2.0) подшипник 608zz – 1 шт.;

- винт М3х10 – 2 шт.;

- винт M4x5 – 1 шт.;

- винт M4x20 – 2 шт.;

- винт M4x25 – 4 шт.;

- винт М4х40 – 2 шт.;

- шайба кузовная M4 – 3 шт.;

- гайка M4 – 8 шт;

- ($4.7) серво привод (EMAX ES08MAII) + 3-хжильный провод для подключения;

- еще провода;

- ($0.5) банка из под лимонада/пива/кваса;

Также, если у вас уже есть нагревательный стол и обдув детали, то вам придется освободить один из силовых выходов D8 – D10, соответственно для организации обдува понадобится:

- ($0.6) (опционально) ключ на полевом транзисторе для организации обдува детали (MOSFET модуль);

- ($5.0) (опционально) вентиляторы охлаждения детали (в моем случае 2 турбины AV5015)

- (опционально) воздуховоды для охлаждения детали (печатается, модель прилагается)

Итого выходит, где-то на $34.

1. Внесение изменений в прошивку

Файл Configuration.h

Необходимо определить силовые выходы D10 – D8 (EEB или EEF). Строка по умолчанию: #define MOTHERBOARD BOARD_RAMPS_14_EFB , Меняем на:#define MOTHERBOARD BOARD_RAMPS_14_EEB //extruder, extruder, bed

Далее – указать количество экструдеров. Строка по умолчанию: #define EXTRUDERS 1 , Меняем на: #define EXTRUDERS 2

Указание на наличие датчика температуры на втором хотэнде и его тип. Строка по умолчанию: #define TEMP_SENSOR_1 0 , Меняем на: #define TEMP_SENSOR_1 1

Также необходимо указать на наличие сервомотора

Строка по умолчанию: #define NUM_SERVOS 0 , Меняем на: #define NUM_SERVOS 1

Также следом за определением количества экструдеров добавляем следующий код: (Представленный код - смесь того, что уже было в прошивке с добавлениями от себя, возможно есть более элегантное решение, но я сделал именно так. При написании кода, я ориентировался на уже имеющуюся в прошивке поддержку SWITCHING_EXTRUDER , но она работает немного не так как нужно.

В случае, если вы захотите делать что-то типа Dondolo, то следует воспользоваться определением именно этой функции, и не дописывать дополнительный код в прошивку).



#define SWITCHING_HOTENDS

#if ENABLED(SWITCHING_HOTENDS)

#define SWITCHING_HOTENDS_SERVO_NR 0 // servo num

#define SWITCHING_HOTENDS_SERVO_ANGLES { 120, 0 } // Angles for E0, E1

#endif

120 и 0 – углы, на которые следует поворачиваться сервоприводу при переключении между хотэндами. Если при работе сервопривод начнет издавать характерный треск, значит у него не выходит повернуться на заданный угол, из-за погрешности стыков распечатанных деталей, тогда следует уменьшить разницу в значениях на 1-2 градуса (например 120 и 2 соответственно, как это сделал я).



Файл Marlin_ main.cpp

Ищем « void invalid_ extruder_ error» Добавляем перед этой функцией или после нее следующий код:



#if ENABLED(SWITCHING_HOTENDS)

inline void move_hotends_servo(uint8_t e) {

const int angles[2] = SWITCHING_HOTENDS_SERVO_ANGLES;

MOVE_SERVO(SWITCHING_HOTENDS_SERVO_NR, angles[e]);

}

#endif

Несколькими строками ниже должна начаться функция tool_change, необходимо найти следующую строку: «void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool no_move/*=false*/) {». В функции описывается поведение для разных случаев многоцветной печати (миксирующие хотэнды, раздельные головки, печать одним экструдером и сервой), все это очень занимательно, но нужно добавить наш случай.

Следует перед строкой «# if ENABLED( SWITCHING_ EXTRUDER)» добавить следующий код:



#if ENABLED(SWITCHING_HOTENDS)

float z_raise = 0.5;

destination[Z_AXIS] += z_raise;

planner.buffer_line_kinematic(destination, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);

stepper.synchronize();

move_hotends_servo(active_extruder);

delay(500);

destination[Z_AXIS] -= z_raise;

planner.buffer_line_kinematic(destination, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);

stepper. synchronize ();

# endif

Готово, компилируем и заливаем прошивку в микроконтроллер.

2. Подключение электроники
Цветная печать двумя хотэндами с сервоприводом

D10 - нагревательный элемент первого хотэнда; D9 - нагревательный элемент первого хотэнда; D8 – нагревательный стол; D11,5 V, GND – сервопривод (в моем рампсе от чего-то на пине 5v у D11 пина нет напряжения, я подключился в другой свободный 5v пин);E1 (2 B,2 A,1 A,1 B) – двигатель 2-го экструдера; Чуть ниже драйвер второго хотэнда; T0( GND, A13) – термистор первого хотэнда, T1( GND, A14) – термистор стола, T2( GND, A15) – термистор второго хотэнда, D4, GND - MOSFET модуль для подключения вентилятора обдува детали

Цветная печать двумя хотэндами с сервоприводом

V+, V- - вентилятор(ы) обдува модели; VIN, GND –блок питания; SIG –к выходу D4 RAMPS.



3. Сборка держателя хотэндов

Модель: http://www.thingiverse.com/thing:2260178. Хочу заметить, что модель я делал исходя из комплектующих, что у меня были в наличии, в интернете есть и другие модели, например: http://www.thingiverse.com/thing:1412102

Цветная печать двумя хотэндами с сервоприводом
Цветная печать двумя хотэндами с сервоприводом
Цветная печать двумя хотэндами с сервоприводом
Цветная печать двумя хотэндами с сервоприводом
Цветная печать двумя хотэндами с сервоприводом
4. Настройка Слайсера, подготовка модели к печати (На примере Cura 15.04.6 RU).

4.1. Указываем на наличие второго экструдера

4.2. Задаем смещение второго хотэнда относительно первого. Меню «Принтер» - «Настройки принтера…». Смещения необходимо подобрать опытным путем, в случае использования модели держателя из статьи, предлагаю оттолкнуться от указанных на скриншоте.
Цветная печать двумя хотэндами с сервоприводом
4.3. Скачиваем калибровочную модель (http://www.thingiverse.com/thing:533814);

4.4. Загружаем оба STL файла из архива в слайсер;

4.5. Жмем правой кнопкой по модели и выбираем «Объединить двойную экструзию»
Цветная печать двумя хотэндами с сервоприводом
4.6. Не забываем настроить обдув модели. У меня при включении турбин более чем на 45% хотэнды переставали справляться с нагревом.
Цветная печать двумя хотэндами с сервоприводом
4.7. устанавливаем остальные настройки по своему вкусу и сохраняем .gcode для печати.

5. Калибровка принтера

Делаем паузу и проверяем, все, что сделали до этого момента с самого начала.

Печатаем калибровочную модель и радуемся ;)
Цветная печать двумя хотэндами с сервоприводом
Повторяем пункты 4.2 и 4.7, и так по кругу до тех пор, пока не добьемся правильной геометрии.
Цветная печать двумя хотэндами с сервоприводом
7. Апгрейд готов.

Спасибо за внимание!

В заключение несколько фотографий

Модель лягушки (http://www.thingiverse.com/thing:329436). Слева лягуха, что я печатал головкой с двумя хотэндами без сервы. Видно, что из неактивного хотэнда постоянно вытекал пластик и цеплялся за модель, не спасал даже щит вокруг.
Цветная печать двумя хотэндами с сервоприводом
Цветная печать двумя хотэндами с сервоприводом
Такая же история с штурмовиком (слева печать в два хотэнда, справа 2 хотэнда с сервой).
Цветная печать двумя хотэндами с сервоприводом

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

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

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

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