Товары из Китая

Доработка сушилки для пластика eSun eBOX: А стоит ли?


Доработка сушилки для пластика eSun eBOX: А стоит ли?

Представляю вниманию доработку сушилки eSun eBOX для пластика, используемого в 3D-печати. Это попытка исправить основной её недостаток — очень слабый прогрев воздуха.

Осторожно: Контент может вызвать острый приступ ненависти у ортодоксальных хейтеров Arduino!

Предисловие

Все виды пластика для 3D-печати в той или иной степени гигроскопичны. Некоторые поглощают из воздуха водяные пары очень интенсивно (TPU/PLA), другие — почти не поглощают (SBS), а какие-то — вообще растворяются (PVA). Поэтому перед печатью после длительного хранения пластика его требуется сушить.

Вариантов для этого придумана масса. Больше всего повезло обладателям 3D-принтеров с активной термокамерой, когда достаточно просто положить в неё катушку с пластиком и выставить нужную температуру. Кулинары, имеющие дорогие духовки с точным термостатом, используют их. Владеющие открытыми принтерами любители экстрима и сингла Firestarter кладут катушку на подогреваемый стол и накрывают его тёплым клечатым пледом. А все остальные любители 3D-печати и им сочувствующие выкручиваются из ситуации, покупая готовые сушилки для фруктов или собирая их самостоятельно кто как сумеет.

Однако существуют и специализированные решения, предназначенные для эксплуатации дома. Одно из них — сушилка для пластика eSun eBOX. Устройство весьма интересное, но неоднозначное. С одной стороны, идея отличная — совместить контейнер для хранения и механизм подачи в одном корпусе. Катушка защищена от пыли и может вращаться на встроенных валах, подавая принтеру пластик во время печати. С другой стороны, абсолютно все владельцы данного устройства сходятся во мнении, что другую свою основную функцию — просушку — оно не выполняет, не обеспечивая достаточно высокую температуру воздуха внутри.

Приобретя сушилку, сразу же столкнулся с именно этой проблемой. После 12 часов работы температура воздуха внутри так и не поднялась выше 35℃ при 25℃ в комнате. Поиски решения примечательных результатов не дали. Максимум, что предлагалось — вынести термодатчик поближе к вентилятору. К слову, делать так нельзя ни в коем случае, далее станет понятно, почему. Так что пришлось искать решение самому.

Удивительное открытие

Поиски источника проблемы начинаем с разборки корпуса. Отклеиваем четыре резиновых ножки и выкручиваем винты. Пятую ножку посередине отклеивать не надо, это тензодатчик:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Далее откручиваем два винта, крепящих опору катушки. Убираем опору и вскрываем корпус:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

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

И тут меня ожидало открытие поистине удивительное! Под плёнкой обнаружилось что-то смутно знакомое. Подливая бензина и постепенно приподнимая плёнку, снял её полностью. Вот что предстало взору:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Это текстолитовая плата с интегрированным в неё нагревателем. Который изначально не был никуда подключен (провода на фото припаяны уже мною). На плате имеется место под термодатчик в корпусе 0805 (посередине, подписан как «3950», на фото уже выпаян). И вот поверх этой платы приклеена зелёная плёнка с ещё одним нагревателем. Который, собственно, и используется. Нагреватель поверх нагревателя!!!

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Сказать, что я был удивлён — означает не сказать ничего! Подумал даже, что это всё оптический обман зрения. В голову полезли теории заговора, зачем было так делать? Быть может, в целях экономии в качестве подложки для плёночного нагревателя в ход пускают бракованные платы с неисправным интегрированным нагревателем? Припаял провода, подал питание 12 В. Нагреватель в плате полностью исправен. И более того, он МОЩНЕЕ плёночного! Плёночный потребляет 2 А (мощность 24 Вт), интегрированный — 3.6 А (мощность 43 Вт). Разница чуть ли не двухкратная!

Немного оправившись от шока и продолжив осмотр, пришёл к пониманию причины того, почему сушилка греет воздух очень слабо. Потому что термодатчик размещён прямо на нагревателе. Это значит, что стоит лишь ему прогреться до заданной температуры, как он сразу же выключается. Теоретически, в закрытой системе через некоторое время температура станет идентичной во всех точках. Однако, судя по всему, создатели сушилки с физикой и теплотехникой не в ладах даже больше моего. Потому что сушилка, во-первых, не является полностью изолированной и закрытой, что приводит к потерям тепла; и во-вторых, подаваемого количества тепла и скорости перемешивания воздуха явно недостаточно. Как следствие, время стабилизации системы до идентичной во всех точках температуры стремится к бесконечности.

Проще говоря, фатальный недостаток данной сушилки обоснован явным инженерным просчётом. Или гениальностью, смотря какую цель преследователи создатели. После обнаружения двух нагревателей уже не знаю, что ближе к истине…

Исправление горбатого

Итак, суть проблемы установлена. Исправить её полностью возможным не представляется, ибо для этого потребуется переделать всю конструкцию целиком, и это будет уже совсем другая сушилка. Так что попытаемся выжать максимум из того, что имеем. Что для этого можно сделать?

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

Поэтому, температуру нагревателя всё-таки требуется контролировать, чтобы не допустить его перегрева. Однако, термодатчик всего один. Чисто теоретически, можно методом обратного инженеринга получить схему платы управления, выгрузить из контроллера прошивку, куда-то на свободный вход (если он вообще есть) допаять второй термодатчик, отредактировать прошивку и залить её обратно. Звучит интересно, но выливается в такие трудозатраты, что лучше просто выбросить сушилку и забыть о ней навсегда.

Другой простой (на первый взгляд) вариант — использовать термореле. Поставить его на нагреватель, и при достижении нужной температуры он будет выключаться, а при остывании — включаться. Звучит неплохо. Но есть нюансы. Во-первых, реле это механическое устройство и ресурс его контактов ограничен. Во-вторых, ток предстоит коммутировать довольно приличный (3.6 А) и контакты будут подгорать, и чем дальше, тем больше. В-третьих, главный недостаток — очень большой лаг на восстановление. Если посмотреть таблицу спецификации, то например реле на 100℃ после отключения включается только когда остынет до 85±10℃. Это очень много, за то время, пока оно остывает, воздух успеет охладиться ещё больше.

Таким образом, требуется сугубо электронная стабилизация, без использования термореле. Его можно заменить мощным MOSFET-ом. Саму же стабилизацию можно сделать аналоговую или цифровую. Электронщик из меня очень посредственный, поэтому выбираю цифровую, она намного проще в реализации, настройке и возможностях расширения.

Исследование платы управления

Управление сушилкой следующее. После подачи питания экран пуст, вентилятор и нагреватель выключены (режим ожидания). Нажимаем кнопку включения. При этом включается экран, вращается вентилятор, но нагреватель выключен. Кнопкой «М» выбираем режим установки температуры. Кнопками «Вверх»/«Вниз» задаём желаемую температуру. Если она меньше текущей, включается нагрев. И продолжает работать, пока заданная температура не будет достигнута. Нужно повторить это поведение. Для этого на плате контроллера ищем сигнал, по которому можно определить, когда следует включать и выключать нагрев.

Снимаем плату, выпаиваем реле, которым коммутируется нагреватель. Поскольку управление предполагается цифровое, нужно, чтобы уровень сигнала не превышал 5 В. В идеале, лучше всего было бы снимать его прямо с транзистора, который управляет реле. К сожалению, в моей плате транзистор этот спрятан под экраном. Снимать который не было ни малейшего желания, да и смысла, поскольку тогда потребовалось бы как-то ухитриться протащить дорожку на вторую сторону платы.

Поэтому пришлось воспользоваться дорожками, идущими к обмотке реле. Посчитал простой резисторный делитель и запаял на место обмотки реле включенные последовательно резисторы 3.6 и 2.4 кОм. Подключаем вольтметр параллельно резистору 2.4 кОм. Получаем следующее:

  • Режим ожидания — 0 В.
  • Нагрев выключен — 12 В.
  • Нагрев включен — 4.8 В.

Многовато выходит. Делаем поверх этого делителя ещё один делитель. Получается так:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Измеряем напряжение на нижнем справа резисторе 2.4 кОм. Получаем:

  • Режим ожидания — 0 В.
  • Нагрев выключен — 2.9 В.
  • Нагрев включен — 1.5 В.

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

Распаиваем резисторы прямо на плате:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

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

Схема и прошивка термостата

Схему термостата сделал такую:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Контроллер — клон Arduino Nano. Очень удобно, что на нём уже есть стабилизатор +5 В, от которого можно запитать термодатчик.

Сигнал к включению нагревателя будем получать с контактов обмотки реле. Очень важно, чтобы входы «COIL_PLUS» и «COIL_MINUS» были подключены соответственно к положительному и отрицательному контактам (реле это безразлично, а вот контроллеру — отнюдь).

В качестве термодатчика используем дешёвый, популярный и достаточно точный для данного применения DS18B20.

Коммутировать нагреватель будем MOSFET-ом. Выбрал именно STP60NF06 потому что он прекрасно управляется логическим уровнем +5 В и обладает низким сопротивлением открытого канала (16 мОм), что позволит обойтись без радиатора.

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

И конечно же ставим термопредохранитель, на случай отказа контроллера.

Пишем элементарную прошивку:

Листинг


#include <OneWire.h>
#include <DallasTemperature.h>
// Вход сигнала с платы контроллера
// на включение нагрева.
#define HEATER_ENABLED_PIN (A0)
// Вход с термодатчика.
#define TEMP_SENSOR_PIN (2)
// Выход на управление нагревом.
#define HEATER_PIN (3)
// Выход на светодиод индикации.
#define LED_PIN (4)
// Настраиваем шину 1-wire для термодатчика.
OneWire ow_bus(TEMP_SENSOR_PIN);
DallasTemperature temp_sensor(&ow_bus);
void turn_on(void)
{
// Зажигаем светодиод и включаем нагрев.
digitalWrite(LED_PIN, HIGH);
digitalWrite(HEATER_PIN, HIGH);
}
void turn_off(void)
{
// Гасим светодиод и выключаем нагрев.
digitalWrite(LED_PIN, LOW);
digitalWrite(HEATER_PIN, LOW);
}
void setup(void)
{
// Настраиваем порты ввода/вывода.
pinMode(HEATER_ENABLED_PIN, INPUT);
pinMode(HEATER_PIN, OUTPUT);
pinMode(LED_PIN, OUTPUT);
// Сразу же при старте выключаем нагрев.
turn_off();
temp_sensor.begin();
}
void loop(void)
{
int raw_value = analogRead(HEATER_ENABLED_PIN);
// Множитель `4.6' подобран эмпирическим путём.
float voltage = (raw_value * 4.6) / 1024.0;
// Режим ожидания? Выключаем всё.
// Пороговое значение напряжения подобрано
// эмпирическим путём и взято с запасом.
if (voltage < 0.8) {
turn_off();
delay(250);
return;
}
// Плата контроллера сигнализирует
// что нагрев нужно выключить?
// Выключаем.
// Пороговое значение напряжения подобрано
// эмпирическим путём и взято с запасом.
if (voltage > 2.0) {
turn_off();
delay(250);
return;
}
temp_sensor.requestTemperatures();
float temp = temp_sensor.getTempCByIndex(0);
// Ошибка подключения к термодатчику?
// Выключаем нагреватель и начинаем мигать
// светодиодом индикации.
if (temp == DEVICE_DISCONNECTED_C) {
digitalWrite(HEATER_PIN, LOW);
for (;;) {
digitalWrite(LED_PIN, HIGH);
delay(500);
digitalWrite(LED_PIN, LOW);
delay(500);
}
}
// Температура выше 100?
// Выключаем нагрев. Если меньше или равна,
// тогда включаем.
if (temp > 100.0)
turn_off();
else
turn_on();
delay(750);
}

Логика максимально простая и линейная. Измеряем напряжение с контактов реле. Если оно менее 0.8 В (взято с запасом), это режим ожидания, выключаем нагрев. Если больше 2.0 В, значит нагрев нужно выключить, выключаем. Если в диапазоне от 0.8 до 2.0 В, значит нужно включить нагрев. Далее, проверяем текущую температуру. В случае ошибки получения температуры выключаем нагрев и бесконечно мигаем светодиодом — авария! Если температура больше 100℃, выключаем нагрев. Если равна или меньше, тогда включаем нагрев.

Никакой хитрой преисполненной матана ПИД-стабилизации нет. Потому что мощность нагревателя мала, а тепловая инерция настолько велика, что высокой точности не требуется вообще, «плюс-минус километр раз в сутки» вполне хватает.

Реализация

Термостат распаял на кусочке макетной платы:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

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

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Штатный термодатчик 3950 в виде корпуса 0805 припаял прямо на его же провод:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

И затем обернул кусочком каптонового скотча. Конечно, хотелось оформить его получше, однако под маркировкой «3950» существует огромное количество термодатчиков, в разных корпусах и с разными характеристиками. Под которые может потребоваться корректировка прошивки. Температуру сушилка показывает достаточно адекватно (±3℃), высокая точность опять же не требуется, так что счёл за лучшее не экспериментировать.

Самодельную плату термостата прикрутил в свободное место корпуса на маленький отрезок алюминиевого уголка:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Получилось достаточно удобно, при необходимости что-то поменять в прошивке можно подключиться кабелем, не разбирая вообще всё.

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

Собираем всё вместе:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Датчик термостата и предохранитель приклеил к нагревателю на теплопроводный клей Keller Radial. Провода, чтобы не болтались, зафиксировал тоже к нагревателю на высокотемпературный силикон Permatex. Штатный термодатчик 3950 приклеил к опоре катушки тем же силиконом, чтобы измерять температуру воздуха под ней.

Ставим на место опору катушки:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

Скручиваем половинки корпуса сушилки, приклеиваем на место резиновые ножки.

Питание

В поставке с сушилкой идёт блок питания на 12 В 3 А. После переключения на плату с интегрированным нагревателем ток потребления возрастает до 3.6 А и штатного блока уже не хватает. В качестве замены был взят MeanWell GST60A12-P1J на 12 В 5 А.

Испытания

Как уже говорилось в предисловии, изначально сушилка оказалась не способна выдать температуру выше 35℃ даже спустя 12 часов работы. После проведённой доработки удалось достичь максимальной температуры 47~48℃ уже через два часа:

Доработка сушилки для пластика eSun eBOX: А стоит ли?

На большее нагревателя и вентилятора не хватает. Попробовал подключить оба нагревателя параллельно, коли уж они есть. Однако результаты этого эксперимента не показали существенной прибавки в температуре. Да, камера прогревается быстрее минут на 15. Но вместе с тем возрастает разница температур внизу/вверху камеры: если при одном нагревателе она составляет около 3°, то с двумя нагревателями увеличивается до 10°. Так что никакого существенного выигрыша получить не удаётся.

Заключение

Итак, что можно сказать по итогам? Конечно же, для тщательной просушки пластика одного лишь нагрева воздуха недостаточно. Нужен ещё какой-то фильтр-поглотитель водяных паров, хотя бы в виде пакетиков с силикагелем. Однако этот материал сложно купить в первом же попавшемся магазине, особенно в розницу. Поэтому, хотя бы подогрев воздуха — это уже что-то.

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

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

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

На этом всё, благодарю за внимание! Вопросы и конструктивная критика — приветствуются.


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *