Строим термокамеру для 3D-принтера и печатаем ABS’ом
20 августа 2018
Как известно, печатать на 3D-принтере с использованием пластика ABS достаточно сложно. Если в случае пластика PLA можно просто нажать кнопку и пойти по своим делаем, то ABS постоянно норовит отклеиться от стола или свернуться. Первую проблему еще достаточно легко решить. Далее будет описано несколько способов. А вот со сворачиванием (warping) дела обстоят куда сложнее. Утверждается, что чтобы решить эту проблему, необходимо построить термокамеру (Heated Build Chamber, HBC). Насколько сложно построить HBC и действительно ли она решает все проблемы? Давайте выясним!
Примечание: Пользуясь случаем, хотел бы поблагодарить участников Telegram-чата Hardware & Radio, особенно Alexey Nikiforov и Dmitriy, за многочисленные советы касаемо 3D-печати.
Что, как и зачем
Начну с небольшой предыстории. Спрашивается, зачем вообще печатать ABS’ом, если есть PLA, с которым все просто и понятно? Тут я мог бы привести различные доводы. Например, сказать, что ABS имеет меньшую плотность, чем PLA. Поэтому, если вы хотите напечатать раму для квадракоптера, имеет смысл сделать выбор в пользу ABS. Но, сказать по правде, только начиная заниматься 3D-печатью, я совершенно не понимал разницу между разными видами пластика. И так у меня появилось 4 кг капризного пластика ABS, которые теперь надо как-то использовать.
Я быстро обнаружил, что ABS липнет к столу 3D-принтера куда менее охотно, чем это делает PLA. Эта проблема решается в несколько этапов. Во-первых, модель следует печатать либо с brim шириной 8 мм, либо с raft. Обе настройки вы без труда отыщите в Cura. В последнее время я предпочитаю использовать raft, так как нижние несколько слоев обычно все равно выходят с артефактами. Во-вторых, температура стола должна быть большой (я ставлю 110 градусов), а поверхность стола перед началом печати следует обезжирить, например, при помощи спирта или ацетона. Как альтернативный вариант, стол можно покрыть раствором сахара в теплой воде.
Для полноты картины рассмотрим и остальные настройки. Температуру сопла я ставлю в 240 градусов, убираю галочку Enable Print Cooling и ставлю галочку напротив Enable Retraction. Print Speed и Travel Speed я уменьшаю до 30 мм/сек. Это не так уж сильно увеличивает время печати, а результат по моим наблюдениям получается заметно более аккуратным. Кроме того, при таких ограничениях принтер работает заметно тише.
Описанных настроек вполне достаточно для успешной печати небольших моделей, вроде статуэток 5x5x5 см. Но более крупные модели, например, корпуса, будут сворачиваться. Более того, я обнаружил, что результат получается неповторяемым. Если попытаться напечатать одну и ту же модель с одними и теми же настройками, то сегодня она может получиться, а завтра свернуться. Так я занялся строительством HBC.
Сразу покажу, что же у меня в итоге получилось:
Термокамера представляет собой куб со стороной 50 см из L-образного алюминиевого профиля. Куски алюминия были нарезаны с помощью дремеля. Затем в них были проделаны отверстия при помощи дрели-шуруповерта. Из всего этого хозяйства, а также болтов и гаек M3, был собран куб, в который весь принтер помещается целиком. На боковые стороны куба была намотана пищевая пленка, которая затем была закреплена при помощи термоскотча. Сверху термокамера накрывается куском стекла. Вообще-то, стекло — не лучший выбор для крышки. Это довольно тяжелый и хрупкий материл, о края которого всегда есть ненулевая вероятность порезаться (впрочем, со мной не случалось). Я бы предпочел использовать оргстекло. Но, к сожалению, когда я покупал материалы для термокамеры в строительном магазине, оргстекло закончилось. В целом, стекло тоже неплохо справляется с задачей.
Для регулирования температуры внутри камеры было собрано небольшое устройство, которое можно видеть на переднем плане в корпусе из белого пластика. Неплохие результаты были получены при поддержании температуры 45±2 °C. При этом важно понимать, что регулятор температуры не решает проблему сворачивания. Сворачивание возникает из-за высокой усадки ABS’а. Влияет ли наличие или отсутствие регулятора температуры на усадку? Конечно же, нет. На самом деле, основная роль регулятора температуры — получение повторяемых результатов. Если модель удалось напечатать один раз, вы можете быть абсолютно уверены, что ее удастся напечатать всегда, независимо от того, какая сейчас температура за окном, включено ли отопление, открыты ли окна в доме, и так далее.
Измерение температуры осуществляется при помощи термопары К-типа и модуля на базе MAX6675 (даташит [PDF]). Если температура ниже заданной, при помощи реле включается фен, который нагревает воздух в камере. Если же температура выше заданной — фен выключается. Для гистерезиса используется окно в несколько градусов, которое, как и целевую температуру, можно изменить при помощи кнопок.
Ранее в этом блоге не рассказывалось про MAX6675, но работать с ним крайне просто. Чип отдает температуру с точностью до 1/4 градуса Цельсия по SPI. Соответствующий код:
uint32_t temperature = 0;
uint8_t max6675_data[2] = {0};
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // CS = LOW
res = HAL_SPI_Receive(&hspi1, max6675_data, sizeof(max6675_data),
HAL_MAX_DELAY);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // CS = HIGH
if(res == HAL_OK) {
temperature = (((uint32_t)max6675_data[0]) << 5) |
(((uint32_t)max6675_data[1]) >> 3);
temperature /= 4;
}
Регулятор температуры вблизи:
Как можно заметить, внешний вид устройства меня не сильно волновал :)
А вот что у него внутри:
Основные компоненты, помимо MAX6675 — плата Blue Pill, AC/DC-конвертер HLK-PM01, реле с двумя контактными наборами RT424005 и экранчик на базе ST7735. Еще пара компонентов нужна для переключения пятивольтового реле при помощи МК, использующего 3.3-вольтовую логику:
Корпус устройства, а также держалка для фена, были напечатан ABS’ом на этом самом 3D-принтере. Все модели я проектировал в OpenSCAD. В последнее время я нахожу его намного более удобным, чем использованный мной ранее FreeCAD. Если вы решите изучить OpenSCAD (что занимает от силы пол часа), вам поможет вот эта шпаргалка. Также рекомендую посмотреть видео Prototype Enclosures with FreeCAD & OpenSCAD за авторством Joel Holdsworth.
Полученные результаты
Итак, мы выяснили, что для успешной печати ABS’ом температура стола должна быть 110 градусов, температура сопла — 240 градусов, температуру воздуха следует поддерживать в районе 45 градусов, следует использовать raft и обезжиривать стол перед началом печати. Про то, что уровень стола должен быть как следует отрегулирован и подобные вещи я не говорю, считая, что они сами собой разумеются. Каков же итог — удалось ли победить сворачивание?
Увы, лишь в каком-то смысле. Если модель небольшая (как держалка для фена), или большая, но при этом плоская (как крышка корпуса у регулятора температуры), то она если и свернется, то совсем немного, почти незаметно. В этом случае края можно слегка обработать напильником, и выйдет прекрасная модель. Если модель большая и совсем не плоская, следует быть готовым к тому, что нижние ~7 мм модели заметно деформируются. Рассмотрим эту ситуацию на конкретном примере.
Основная часть корпуса у регулятора температуры является достаточно большой и требует более 8 часов непрерывной печати в низком качестве. В связи с этим было решено разбить ее на две части, дно корпуса и боковые стенки корпуса (примерно по 4 часа на каждую часть), напечатать их отдельно, а затем склеить суперклеем. Так вот, дно вышло неплохим, а вот нижняя часть стенок заметно свернулась. В итоге я просто обрезал нижние 7 мм стенок бокорезами, и мне хватило такой высоты корпуса. Если вам нужно напечатать нечто схожее с боковыми стенками корпуса, и обязательно ABS’ом, просто добавьте в модель большую и плоскую подставку высотой 7 мм. Подставка, конечно же, свернется, но зато модель не пострадает. Снимается подставка достаточно просто, если продавить ее по периметру модели отверткой или шилом.
Заключение
Прежде всего, если можете печатать PLA, просто печатайте PLA. Это прекрасный материал, лишенный всех этих сложностей, присущих ABS’у.
Теперь на счет термокамеры. Штука эта, бесспорно, полезная, и с ней намного лучше, чем без нее. Помимо поддержания температуры воздуха во время печати, она также защищает принтер и печатаемую модель от пыли. В случае с ABS’ом термокамера также сдерживает резкий запах расплавленного филамента (и все равно я бы рекомендовал печатать в хорошо проветриваемом помещении).
Характерно, что фен занимается подогревом воздуха в термокамере только в течение примерно 30 минут после начала печати. Затем температура стабилизируется, после чего фен перестает шуметь и жрать электричество. Да и до этого он не сильно беспокоит, так как включается лишь на пол минуты раз в 5 минут или около того. Стоит, правда, отметить два момента. Во-первых, для лучшей термоизоляции я дополнительно накрываю термокамеру одеялом. Во-вторых, на момент написания этих строк за окном стояло лето, и к осени ситуация может поменяться. Еще я обнаружил интересное побочный эффект от фена — с ним нагрев стола после включения принтера происходит намного быстрее, чем без него.
В общем и целом, я весьма доволен апгрейдом. Есть, конечно, пространство для улучшений. Например, было бы здорово, если бы регулятор температуры как-то следил за состоянием принтера, и пытался греть воздух только во время печати. Но это уже выглядит, как тема для другого поста.
Как обычно, все исходники к статье вы найдете на GitHub.
Дополнение: Позже я открыл для себя пластик PETG. Он устойчив к перепадам температуры и ультрафиолету, как и ABS, однако печатать им лишь немного сложнее по сравнению с PLA. Таким образом, в моих задачах ABS оказался не нужен.
Метки: 3D-печать, STM32, Электроника.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.