Показания термистора экструдера сильно искажены

Во-первых, короткая история: раньше принтер печатал обычным PLA при 190 °C без каких-либо проблем. Затем в течение последних недель я не мог добиться какой-либо существенной адгезии внутри печати и между слоями, пока я не поднял температуру до 210 °C, что все еще приводило к очень паршивому качеству. Затем я напечатал температурную башню, и вот результаты:

Температурная башня

PLA нормально печатает при 220 °C; даже при 215 °C печать слабая, между слоями появляются трещины; при 205 °C адгезия практически отсутствует, а при температуре ниже 200 °C принтер вообще не может ничего выдавливать.

Учитывая тот же горячий конец, ту же нить накала, вывод очевиден: показания термистора полностью неверны, показания намного выше, чем должны.

В этот момент я мог бы установить температуру в слайсере на 220 °C, но мне бы хотелось иметь правильные показания температуры. Как это исправить?


Дополнительная информация:

Принтер: Longer LK5 Pro, нить: стандартный PLA, прошивка: недавно перенесена с Marlin на Klipper, смена произошла где-то во время миграции; это действительно потребовало возни с кабелями для подключения акселерометра к SBC (Orange Pi Zero 2, armbian, Octoprint, Klipper, Moonraker, я использую printer.cfg, предоставленный поставщиком принтера, я проверил, что модель термистора в Klipper такая же (sensor_type: EPCOS 100K B57560G104F), как и в исходниках Marlin поставщика принтера (1: термистор 100k - лучший выбор для EPCOS 100k (подтяжка 4.7k)), #define TEMP_SENSOR_0 1), я не настраивал ПИД, но температурный график Octoprint не показывает никаких колебаний температуры, принтер стабильно держит «210 °C» во время печати.

, 👍0


1 ответ


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

1

Моя первоначальная оценка была правильной: я приобрел мультиметр с термопарой, сунул термопару под силиконовый рукав на горячем конце, установил температуру 190 °C и, когда показания термопары стабилизировались, увидел 160 °C. При установке 220 °C показания составили 185 °C.

Я нашел определение своего датчика в исходниках Klipper и использовал его в качестве шаблона для пользовательского датчика, вставив его в printer.cfg.

Оригинал:

# Definition from (20211101): https://www.tdk-electronics.tdk.com/inf/50/db/ntc_09/Glass_enc_Sensors__B57560__G560__G1560.pdf
# (B57560G104 is same definition as B57560G1104)
[thermistor EPCOS 100K B57560G104F]
temperature1: 25
resistance1: 100000
temperature2: 150
resistance2: 1641.9
temperature3: 250
resistance3: 226.15

Я переименовал запись в [термистор EPCOS Longer] и изменил запись sensor_type в разделе [extruder]. Я также поднял max_temp до 300 °C (с плохими показаниями установка такого высокого значения в любом случае не приведет к превышению «заводского предела» в 250 °C)

Поскольку у меня не было простых средств для измерения сопротивлений и температур термистора одновременно в разных точках, я решил повторно использовать существующие заданные значения; если принтер показывает 150 °C, это значит, что он считывает 1641,9 Ω. Поэтому я установил температуру горячего конца на 150 °C, дал ей стабилизироваться, затем изменил запись temperature2 на то, что считывала моя термопара: 130 °C. Затем я установил ее на 250 °C, и как только она стабилизировалась, я изменил temperature3 на показание: 210 °C. Затем я уменьшил max_temp обратно до безопасных 250 °C.

Окончательная конфигурация с разницей температур между горячим концом и термопарой не более 3 °C была следующей:

[thermistor EPCOS Longer]
temperature1: 25
resistance1: 100000
temperature2: 130
resistance2: 1641.9
temperature3: 210
resistance3: 226.15

[extruder]
step_pin: PA4
dir_pin: !PA6
enable_pin: !PA2
microsteps: 16
rotation_distance: 34.5576
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PB4
sensor_type: EPCOS Longer
sensor_pin: PK5
control = pid
pid_kp = 29.909
pid_ki = 1.829
pid_kd = 122.253
min_temp: 0
max_temp: 250

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


,