Page 1 of 1

Термистор хотенда. ATC Semitec 104GT-2 104NT-4-R025H42G

Posted: 06 Dec 2022 15:49
by hardlock
Давно обращал внимание, что при рабочих температурах хотенда температура не совсем корректно измеряется (если сравнивать с термопарой вставленной в кончик сопла через экструдер. Была мысль перейти на PT1000 и даже приобретён такой датчик от Trianglelab. Но потом поигрался с Excel и понял, что это не даст нужного результата. Взгляните на следующую табличку:
table_ntc.png
В первых строках - напряжение подтяжки и сопротивление резистора подтяжки (Rpullup), слева температура, а в соответствующих колонках - сопротивления разных термисторов и напряжения на входе АЦП контроллера. Сейчас поясню, зачем это мне было нужно.
Изменение температуры в ЗД принтере происходит через измерение падения напряжения не терморезисторе (NTC) установленном в хотенде. Схематически это выглядит приблизительно так:
ntc_adc.GIF
ntc_adc.GIF (2.71 KiB) Viewed 470 times
Из-за того, что провода, идущие к термистору в хотенде довольно длинные (от 100 до 200 см), на них оказывают воздействия внешние наводки. Теперь вернёмся к таблице и посмотрим какое напряжение будет на термисторе B3950 при стандартном сопротивлении подтяжки 4,7кОм (4700 Ом) и температуре 260 градусов = 0,131 Вольта, а при температуре 240 градусов - 0,179 Вольта. Всего 0.048 Вольта разницы для дельты температуры 20°C. Теперь представить себе уровень наводки в принтере и можно догадаться, почему реальная температура не совпадает с измеренной.

Теперь посмотрим на столбик с резистором подтяжки 1кОм (1000 Ом). Разница напряжений для температур 240-260°C составляет 0,700 - 0,536 = 0,164 Вольта, и уровень напряжения при 260°C вырос "аж до" 0,536 Вольт. Это уже что-то. Можно сказать в 4 раза лучше в плане помехозащищённости.

Посмотрим последние колонки (для PT1000). Несмотря на то, что сам по себе этот датчик более точный, линейный и "горячий" (аж до 450°C), без специального усилителя он нам не очень подходит. При сопротивлении подтяжки 4,7 кОм (1 кОм) у него слишком "растянута" шкала и изменение температуры на 20°C (240-260°C) приводит к изменению напряжения 0,025 (0.028) В, что ещё хуже, чем у стандартного B3950.

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

Сейчас кто-то скажет, что при комнатной температуре сильно падает точность измерения. И будет прав (это видно из таблицы). Но я не припомню случая, когда мне нужно было измерять (точно изменять) температуру хотенда ниже 180°C. Всё что ниже 50°C - меня не интересует - он "холодный".

Теперь о 104NT-4-R025H42G. Этот термистор позиционируется как более точный и более живучий. И несмотря на то, что он чуть хуже в рассмотренной "помехозащите", но я перешёл на них. После замены резистора подтяжки и термистора в хотенде произвёл проверку термопарой и получил следующие результаты:
IMG_20221021_120126.jpg
IMG_20221021_115903.jpg
Измерения производил погрузив каплю термопары в кусочек филамента (2-3мм) для лучшего термоконтакта.
IMG_20221021_124606.jpg
К сожалению до модификации не делал фото, но разница достигала 10 градусов. Причем в простое это было 4-6 градусов, а при холостых перемещениях головы разница увеличивалась до 10-11 градусов (из-за наводок от моторов и т.д.). Сейчас разница укладывается в 1-2 градуса при работе моторов.

Теперь о доработке на моём принтере. Так как я человек ленивый, и снимать плату для перепайки одного резистора я не стану, тем более в рамках эксперимента, я полез смотреть схему и расположение резисторов подтяжки.
Схема:
sch_tx.PNG
Нас интересуют R55, R56, R57. Посмотрим где они расположены:
pcb_tx.PNG
Без особого труда мне удалось перепаять только R55, а т.к. этот резистор подтяжки отвечает за вход TB (термистор стола), просто поменял местами разъёмы стола и экструдера. Естественно нужно будет подправить конфиг. Зато не пришлось вытаскивать плату - всё произошло через окно подвала.
Makerbase-MKS-Robin-Nano-V1.1_R55.jpg
В конфиге klipper, в разделе экструдера, нужно внести следующие изменения:

Code: Select all

[extruder]
...
sensor_type: ATC Semitec 104NT-4-R025H42G #Thrianllab
sensor_pin: PC0 #PC1 - TH1, PC2 - TH2, PC0 - TB
pullup_resistor: 1000 #R55 4k7 changed to 1k
min_temp: 0
max_temp: 280
...
в разделе нагревателя стола, тоже нужно исправить (т.к. мы поменяли разъёмы местами):

Code: Select all

[heater_bed]
...
sensor_pin: PC1 #PC1 - TH1, PC2 - TH2, PC0 - TB
...
Да, теперь при выключенных нагревателях (при комнатной температуре) датчик хотенда немного подвирает на пару градусов, но мне это совсем не важно. Зато при печати сохраняется стабильная и главное достоверная температура.

Всем мира и удачных печатей.