Установка термистора 3д принтер

Обновлено: 29.04.2024

В статье мы постараемся подробно разобрать вопросы возникающие с колебанием температурного режима при работе 3Д принтера. Ниже описаны самые распространенные проблемы и вопросы пользователей 3Д принтеров. Тысячи часов профессиональной 3D-печати за нашей спиной, чтобы помочь вам справится с вашим 3Д принтером.

Температура Hotend колеблется вокруг заданной температуры

Хотим отметить, что колебания до ± 10 °C вокруг заданной температуры во время предварительного нагрева и печати считается нормой.
После начального нагрева встроенное программное обеспечение 3D принтера имеет алгоритм управления пропорционально-интегральной производной (PID), который стабилизирует значения, когда она достигает ± 10 °C от целевой температуры. ПИД-регулятор также помогает поддерживать температуру во время печати.
Если есть частые колебания, которые превышают 10 °C, или выравнивания занимает более 2 минут, при стабилизации к заданной температуре, сначала убедитесь в правильности установки вентиляторов, головка и термодатчик должны быть незагрязненные остатками пластика. Возможно не откалиброван PID.
Откалибруйте его следующим образом:

1. Подключите ваш 3Д принтер к компьютеру через USB.
2. Запустите Repetier Host (Pronterface ) и подключитесь к принтеру.

3. Используйте команду [M303 C8 S235] (C = циклы и S = заданная температура) и дождитесь ее запуска и возврата с измеренными значениями [kp] [ki] [kd] на консоли. Чем больше циклов (C), тем точнее может быть калибровка.

4. На панели управления принтера перейдите к Конфигурация => Конфигурация EEPROM и измените значения [PID-P] [PID-I] [PID-D].

5. Нажмите «ОК», чтобы сохранить новые настройки PID.

Проблемы с нагреванием

Температура не увеличивается

Означает проблему с керамическим нагревателем на печатающей головке.
Выполните действия по диагностике:
Используйте мультиметр и измерьте сопротивление на его клеммах. Измеримое сопротивление покажет, что оно работает нормально. Сопротивление -1 будет означать, что сам нагреватель поврежден.
Проверьте на появления плохих соединений во всех точках между нагревателем и платой управления.
Проверьте, не потрескалась ли керамическая нагревательная пластина в нагревательном блоке.


Показания температуры 0 ° C

Указывает на проблему с термистором. Чтобы проверить, не поврежден ли он, используйте мультиметр для измерения сопротивления на его клеммах. Измеренное сопротивление должно упасть около 100К, тогда как сопротивление -1 будет означать, что оно повреждено.
Также проверьте все соединения между термистором и платой управления, может вызывать скачки температуры во время печати.

Иногда происходит облом проводов в соединении терморезистора и провода. Это происходит из-за некачественной пайки, или неаккуратного оборачивания проводов у основания нагревательного блока 3Д принтера.

Неправильное чтение температуры.

Причиной этой проблемы, вероятно, является то, что термистор не на своем месте т.е. каким то образом выпал из своего посадочного места. Аккуратно переместите терморезистор обратно в центр отверстия так, чтобы датчик не касался своими проводами за края отверстия.

Также неправильное показания, примерно на 10 – 20 °C, вызывает нагар или расплавленный пластик попавший в установочное место терморезистора. Это происходит при недолжном соблюдении чистоты нагревательного блока.

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

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

Статья относится к принтерам:

Точная настройка термистора в Marlin.

Какие строки кода нужно поменять?

Если Вы используете прошивку marlin, то тип термистора выбирается во вкладке configuration.h

Точная настройка термистора в Marlin.

Как видно, в прошивку уже включен ряд термисторов, которые можно активировать, выбрав соответствующую цифру. Если у Вас термистор “100k thermistor - best choice for EPCOS 100k (4.7k pullup)” то в строке, которая отвечает за термистор хотэнда, нужно поставить цифру “1”. Если у вас другой термистор, то выбираем необходимый.

Как узнать какой у Вас термистор?

Что бы узнать, какой именно у Вас термистор, нужно посмотреть его технические характеристики и сопоставить с тем списком, который указан в прошивке и выбрать необходимый. Что делать если у вас нет таких данных? И вы точно не знаете какой у вас термистор?

В таком случае Вам понадобится дополнительное устройство, которое будет показывать температуру хотэнда, например, мультиметр с возможностью измерения температуры (в комплект должна входить термопара). Как вы уже поняли, термопара будет показывать “реальное” значение температуры хотэнда, и это значение необходимо сравнивать с показаниями Вашего термистора.

Процедура подбора будет заключаться в следующем:

1. Выставить в прошивке значение первого термистора, залить на плату;.

2. Термопару мультиметра приложить как можно ближе к термистору хотэнда (для чистоты эксперимента);

3. Включить прогрев хотэнда (например, до 200 градусов) и подождать пока температура «устаканится».

4. Сравнить значение температуры, которую выдает термопара и термистор;

5. Если температура на термопаре и на термисторе совпадает (в идеале температура не должна отличаться более 5 градусов), то вы выбрали правильный термистор;

6. Если температуры будут сильно отличаться, значит в прошивке Вы выбрали не тот термистор. В прошивке выбираем следующую цифру, заливаем на плату и делаем пункты 1-6 до тех пор, когда температуры на термопаре и на термисторе не будет одинаковая (в пределах погрешности).

Пример подбора термистора.

Теперь давайте рассмотрим конкретный пример, мы взяли новый термистор SEMITEC NTC 100 кОм (Япония). Нам нужно выставить правильный тип в прошивке. Для начала выставим значение “1” и зальем на плату.

Далее соберем импровизированный «испытательный стенд» (испытательный нагревательный блок).

Точная настройка термистора в Marlin.

Мы просверлили нагревательный блок сверлом 3.2мм насквозь, с одной стороны (на фото левая) закрепили терпомапару (наш “эталонный” измеритель), а с другой стороны приложили термистор. Вам не обязательно в точности повторять такую варварскую процедуру со своим нагревательным блоком, но постарайтесь разместить термопару, как можно ближе к термистору.

После того как все собрали, включаем прогрев экструдера и ждем пока температура «устаканиться» и смотрим на показания прибора.

Точная настройка термистора в Marlin.

Как видим, действительная температура 186 градусов, а термистор показывает 201 градус, то есть разброс на 15 градусов, значит тип термистора в прошивке мы указали не верный.

В прошивке нужно выбрать другой тип термистора, и проделать все тоже самое. Мы покажем Вам уже верный тип термистора, который соответствует значению “5” - is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan & J-Head) (4.7k pullup). После изменения и заливки прошивки получаем следующее:

Точная настройка термистора в Marlin.

Полученные значения гуляют в пределах 2-3 градусов. Согласитесь не плохой результат, значит в прошивке мы указали верный тип термистора.

В прошивке нет нужного термистора.

Что делать, если вы перепробовали все типы термисторов в прошивке, а показания не соответствует действительности? Есть несколько вариантов:

1. Выбрать оптимальный термистор в прошивке, что бы разность температуры между “реальной” и нашим термистором была минимальна;

2. Добавить в прошивку собственный термистор со своими характеристиками.

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

Для начала зайдем в кладку thermistortables.h

Точная настройка термистора в Marlin.

Здесь содержится вся информация о всех типах термисторов, которые включены в прошивку. Открываем вкладку и видим следующее

Точная настройка термистора в Marlin.

Каждому термистору соответствует своя таблица значений температур и значения АЦП. Значения справа это температура, а слева значения АЦП, которые мы как раз и будем менять.

Откуда брать эти значения АЦП?

Теперь приступим непосредственно к самой калибровке, прогреваем хотэнд до тех пор, пока мультиметр не покажет 30 градусов. После того как температура на мультиметре «устканилась», смотрим на значения АЦП которые ему соответствует. Записываем на лист бумаги или сразу в Exel. Например, температура-30 и АЦП-966. Еще раз напомим, что 30 градусов - это температура, которую показывает мультиметр.

Точная настройка термистора в Marlin.

Далее начинаем прогревать хотэнд до того момента, пока термопара не покажет 35 градусов. Записываем снова значения АЦП – 950. И так мы должны постепенно с интервалом в 5 градусов, прогревать хотэнд и одновременно записывать значения АЦП.

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

Результаты печати с откалиброванным термистором:

Точная настройка термистора в Marlin.

Точная настройка термистора в Marlin.

Точная настройка термистора в Marlin.

Напечатано на нашем 3D-принтере Prusa I3 Steel серебристым PLA (фото ниже -черный PLA) от компании REC.

- Высота слоя 0,15мм

- Плотность заполнения 20%

- Толщина стенок 0,8мм

- Температура экструдера 200ºC

- Температура стола 50ºC

- Обдув модели 100%

- Скорость печати 50 мм/c

Точная настройка термистора в Marlin.

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

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

вопреки тому, что может показаться из названия этого вопроса, я не новичок в самой 3d-печати и уже много лет пользуюсь не одним принтером, однако чувствую себя глупо, устанавливая термистор на этот новый обогреваемый стол, который мне достался. RepRap.me: Алюминиевый нагреватель MK3 400x300

Старый нагревательный стол Mk2b 214x214 Mendel/Prusa, которым я пользуюсь уже довольно давно, теперь имеет сквозное отверстие в центре, куда снизу можно подавать провода термисторов.

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

Я попробовал использовать совсем небольшое количество SMD-паяльной пасты и просто припаять провода термистора как можно ровнее к колодкам, тем не менее стеклянная пластина сверху не лежит ровно и устойчиво на нагретом столе с установленным термистором.

Любые предложения очень ценятся по поводу того, как улучшить установку термистора на этот нагреваемый стол!

Свяжитесь с производителем и пожалуйтесь, может быть, они улучшат дизайн или, по крайней мере, вернут вам деньги., @FarO

1 ответ

Лучший ответ:

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

Они продаются в рулонах, и вы можете выбрать рулон толщиной 1 мм или даже 0,5 мм. Они "липкие", но в них нет клея, так что вы сможете отделить стекло от прокладки, даже если это будет не так легко, как с помощью зажима.

Я попробовал это решение с помощью FarO и могу подтвердить, что две **3 М 5516-10** термальные прокладки идеально подходят для этой цели. Спасибо!, @t0bias

Давненько я не писал занудных статей. Но то, что я хочу высказать сегодня - коротко не сформулируешь. В общем, началось всё с того, что забросил Гугль меня на один ресурс, на одну очень замечательную статью. Ресурс я тот уже много лет не посещаю из-за несогласия с действиями администрации в мой адрес, но когда поисковик меня туда забрасывает (читаем: счётчик посещений всё равно увеличился), статьи читаю. Статья была очень и очень замечательная. Там автор победил скачки температуры, запитав дисплей своего принтера от отдельного стабилизатора +5 вольт. Сразу скажу, вторая часть моей статьи полностью подтвердит методику того автора, но рассказ я буду вести в той последовательности, в которой шли мои проверки.

Итак. У меня есть два принтера. Первый - MZ3D, в который я пару лет назад засунул плату на базе микроконтроллера ARM, самостоятельно "доточив" штатный исходный код от Arduino. Тогда у меня тоже были большие проблемы со стабильностью температуры. Я отнёс их к тому, что не совсем корректно реализовал поддержку АЦП. Будучи человеком ленивым, я тогда просто изменил алгоритм усреднения, благо в STM32F4 АЦП работает быстрее, чем в AtMega. Я просто набирал большую выборку, далее - усреднял, после чего - откидывал все результаты, которые сильно отличались от среднего значения, затем - усреднял, что осталось. Тогда это позволило принтеру не тормозить по 5-10 минут перед запуском печати, ожидая стабильных показаний термодатчика (при том, что вообще-то принтер уже прогрет).

Но второй мой принтер - китайская Дельта. И у него тоже есть проблемы. Он может начать печатать сразу, а может - долго и вдумчиво "тупить", считая, что температура не стабильна. Поэтому я решил проверить доводы автора оригинальной статьи. Мне очень не нравится ждать начала печати по 7-10 минут.

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

Времена были дикими, мы выживали как могли, но через три дня один из сотрудников сумел по очень серьёзному знакомству выпросить во временное пользование жутко дорогую и дефицитную вещь - осциллограф. Ещё аналоговый. Ладно, долой ностальгию, даёшь только суть! А суть была следующей: Все сигналы были промодулированы синусоидой. Поэтому фронты на осциллограмме выглядели примерно так:


И оцифровывалось это примерно так:


Реально частота была чуть иной, поэтому дребезг на фронтах был жуткий. А всё потому, что Заказчики дали нам две платы. На одной был контроллер, на другой - тот самый PDIUSBD12. И соединены они были метровым кабелем. Одна плата передавала на другую тактовые импульсы (несколько мегагерц). А длинный провод - это же как конденсатор. Есть обкладки (токоведущие жилы), есть - диэлектрик. Провод длинный - площадь обкладок велика. Посему переменный ток тактовой частоты создавал емкостные наводки на все остальные линии.

Выкинули провод - фронты стали идеальными. Почему я вспомнил о том проекте? А вот почему:


Перед нами - длинный кабель, в котором тоже есть импульсы - ШИМ контроллер, питающий нагреватель. В MZ3D кабель короче, но зато в нём ещё две обмотки шагового двигателя получают импульсы (правда, в них фронты не прямоугольные, да и во время прогрева головки, там нет импульсов, но всё же).

Ну что ж. Подключаемся к выходу этого кабеля осциллографом и смотрим. Пока идёт равномерный прогрев хотэнда - там всё чистенько. Но когда включается ШИМ (а PID контроллер начинает играть им за 10 градусов до требуемой температуры) - начинается веселуха


Правда, мнения разделились. Мой знакомый уверял, что такой импульс не может влиять на АЦП. Тем не менее, я решил попытаться его задавить.

Я вижу два варианта. Первый - заэкранировать провод, идущий к термистору. Так получилось, что я играл в это дело на новогодних каникулах, поэтому сходить в магазин за проводом МГТФ-Э было невозможно, так что этот вариант был отброшен. Второй типовой вариант - отделить АЦП от шумящего кабеля проходным низкоомным резистором. Здесь только важна точка его включения. Вот так выглядит схема нашего узла


Резистор R и термистор образуют делитель напряжения. В зависимости от температуры, сопротивление термистора изменяется, в результате - изменяется коэффициент деления. Ну, а значит - напряжение на линии, уходящей к АЦП. Ну, а конденсатор C фильтрует это напряжение. А молния бьёт по проводам. И конденсатор не справляется с этой фильтрацией. Причём в MZ3D у меня с момента переделки стоит керамика, это не помогает.

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


Сопротивление резистора я выбрал 56 Ом. Ну, потому что мне в куче резисторов первыми попались низкоомные именно этого номинала. Возможно, имеет смысл задуматься насчёт 100 Ом. Но я уже подслеповат, поэтому лишний раз перепаивать резисторы 0805 для проверки не очень хочется. Так что у меня стоят на 56 Ом.

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

И вот тут выяснилось, что в некоторых местах платы MKS Gen v1.4, напряжение питания выглядит вот так:


Как минимум 0.3 вольта пульсаций! А если мы внимательно посмотрим на схему выше, то увидим, что питающее напряжение крайне важно. Именно относительно него АЦП проводит замеры (так уж заложено в "прошивке"). Причём повторю, в разных местах платы пульсации разные, поэтому контроллер берёт одно опорное, а делитель из резистора R и термистора - делит совсем другое. Если дисплей отключён, то напряжение становится таким:


Уже лучше. Именно этого добился автор статьи, сподвигнувшей меня на возню. Но всё-таки пульсации есть. Теперь смотрим, что частота пульсаций - примерно 230 КГц


наверняка это частота работы импульсного стабилизатора. Но давайте докажем это от противного. Поставим вот такой здоровенный электролит на плату дисплея.


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

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


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

Осциллограмма питающего напряжения стала просто-таки замечательной. Остались какие-то ВЧ помехи, а частота импульсного преобразователя - ушла.


Нестабильность температуры стала не случайная, а периодическая. Было ясно, что просто PID регулятор не выходит на стабильный участок. Поэтому я его быстренько перекалибровал командой

M303 S220

Затем - вбил получившиеся значения. У меня это было

M301 P19.17 I1.81 D50.64

и сохранил их в EEPROM

M500

После этого, график температуры стал вот таким:


Его почти не видно за красной линией, такой он прямой.

Собственно, всё. Мои проблемы - решены. Теперь делаем выводы:

Заключение

Китайские схемотехники делают достаточно большое количество оплошностей. Часть оплошностей автор уже описывал в предыдущих статьях, часть - описана в настоящей статье.

Иногда проблема имеет сразу несколько причин. В частности, у модифицированного MZ3D причина была одна, а у Дельты - сразу две.

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

Одна из возможных причин галлюцинаций - емкостные наводки в длинном кабеле, вызванные двенадцати или даже двадцатичетврёхвольтовыми импульсами, подаваемыми ШИМ-контроллером в нагреватель. Для их устранения можно попытаться применять экранированный кабель к термистору (не проверено), а можно - добавить проходной резистор, заменив чисто емкостной фильтр на RC-фильтр. Важно только не изменить коэффициент деления в делителе напряжения. У автора это решило проблемы галлюцинаций на модифицированном MZ3D и уменьшило уровень галлюцинаций на Дельте, но не устранило их полностью.

Плата MKS Gen v1.4 хоть и содержит импульсный стабилизатор (который в теории даёт больший ток, чем линейный), но суммарная ёмкость установленных на ней конденсаторов такова, что при потреблении, заложенном производителем DIY-комплекта, получаются большие пульсации по питанию, приводящие к галлюцинациям скачков температуры. Таким образом, совершенно не обязательно питать дисплей от отдельного источника, можно просто добавить конденсаторов на основную плату MKS Gen v1.4.

После устранения всех помех, следует произвести повторную калибровку PID-регулятора

Читайте также: