メインコンテンツにスキップ

熱敏抵抗の設定方法

このページでは、Klipperにおける一般的な温度センサーの設定方法を整理しています。ホットエンド、ヒートベッド、チャンバー温度、マザーボード温度、ホストコンピューター温度、PT1000直接接続、MAX31865、K型熱電対などを含みます。例の中のピン、センサーモデル、プルアップ抵抗、温度範囲は、実際のハードウェアに合わせて変更する必要があります。

電源オフ操作

熱敏抵抗、PT100/PT1000、熱電対モジュール、ヒーター、ヒートベッド、ジャンパーピン、端子を確認または交換する前に、プリンターの電源を完全に切り、電源供給を遮断し、ホットエンドとヒートベッドが冷めるまで待ってください。通電状態で配線を抜き差ししたり、インターフェースの配線順序を整理したり、端子に触れたりしないでください。

使用上の注意
  • sensor_type は実際のセンサーと一致している必要があります。設定例をそのまま写すだけではいけません。
  • sensor_pin は温度サンプリングをサポートするADC / 熱敏抵抗インターフェースに接続する必要があります。ファンポート、ヒーターポート、リミットスイッチポート、または通常の出力ポートには接続できません。
  • PT100/PT1000、熱電対、通常のNTCサーミスタでは、使用するインターフェースと設定方法が異なります。インターフェースを間違えると、温度異常や ADC out of range が発生する可能性があります。
  • 温度センサーまたはヒーターの設定を変更した後は、温度読み取り値を再確認し、必要に応じてPIDキャリブレーションを再実行してください。

基本構造

温度センサーは通常、以下の設定セクションに表示されます。

シナリオ設定セクション一般的な用途
ホットエンド[extruder]ホットエンド温度を読み取り、ホットエンド加熱を制御
ヒートベッド[heater_bed]ヒートベッド温度を読み取り、ヒートベッド加熱を制御
チャンバー温度 / 追加温度[temperature_sensor xxx]温度表示のみ、加熱は直接制御しない
カスタムヒーター[heater_generic xxx]加熱チャンバー、乾燥ボックスなどの追加加熱設備を制御
マザーボード温度[temperature_sensor xxx] + temperature_mcuMCU内部温度を表示
ホストコンピューター温度[temperature_sensor xxx] + temperature_hostホストコンピューターのCPU温度を表示

最も一般的なホットエンド設定の構造は以下の通りです。

printer.cfg
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: <sensor_type>
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300

最も一般的なヒートベッド設定の構造は以下の通りです。

printer.cfg
[heater_bed]
heater_pin: <bed_heater_pin>
sensor_type: <sensor_type>
sensor_pin: <bed_sensor_pin>
min_temp: 0
max_temp: 120

通常のNTCサーミスタ

一般的なホットエンドやヒートベッドでは、100K NTCサーミスタがよく使用されます。このようなセンサーは通常、マザーボードやツールボードの通常の熱敏抵抗インターフェースに接続されます。

ホットエンドの例

printer.cfg
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: Generic 3950
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300

ヒートベッドの例

printer.cfg
[heater_bed]
heater_pin: <bed_heater_pin>
sensor_type: Generic 3950
sensor_pin: <bed_sensor_pin>
min_temp: 0
max_temp: 120

C8P ピン位置の例

以下では、C8Pの一般的なピン位置の書き方を示します。実際に使用する際は、配線した熱敏抵抗ポートとヒーターポートに合わせて記入してください。

C8P ホットエンドの例
[extruder]
heater_pin: PD12
sensor_type: Generic 3950
sensor_pin: PC2
min_temp: 0
max_temp: 300
C8P ヒートベッドの例
[heater_bed]
heater_pin: PB0
sensor_type: Generic 3950
sensor_pin: PC5
min_temp: 0
max_temp: 120
センサーモデル

一般的な sensor_type には、Generic 3950PT1000、その他Klipper内蔵モデルがあります。ホットエンド、ヒートベッド、またはセンサーの定格モデルを基準にしてください。不明な場合は、製品資料を優先的に確認するか、アフターサービスに問い合わせて確認してください。

PT1000直接接続

PT1000は、PT1000をサポートする熱敏抵抗インターフェースに直接接続できます。マザーボードによって熱敏抵抗ポートで使用されるプルアップ(サンプリング)抵抗は異なり、必ずしも 1K ではなく、一般的には 4700220011001000 などがあります。マザーボードの説明書または実物を基準にしてください。一部のマザーボードでは、ジャンパーピンでプルアップ抵抗を切り替えることができます。

以下の例は、1K プルアップのマザーボードを想定しています。pullup_resistor は、お使いのマザーボードの実際の抵抗値に合わせて変更する必要があります:

PT1000直接接続の例(1Kプルアップマザーボード)
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: PT1000
sensor_pin: <pt1000_sensor_pin>
pullup_resistor: 1000
min_temp: 0
max_temp: 350
プルアップ抵抗
  • pullup_resistor は、マザーボードの熱敏抵抗ポートの実際のプルアップ抵抗値に合わせて記入する必要があります。一般的には 4700220011001000 などがあり、統一された値はありません。まずマザーボードの説明書を確認するか、アフターサービスに問い合わせて確認してください。
  • マザーボードの熱敏抵抗ポートがデフォルトの 4.7K プルアップの場合、pullup_resistor は記入しなくても構いません。Klipperはデフォルトで 4700 として処理します。
  • ジャンパーピン付きのマザーボードの場合、ジャンパーの状態と設定は一致している必要があります。そうでないと、温度が著しく高く/低くなったり、ADC out of range が発生したりする可能性があります。

MAX31865設定

MAX31865はRTD白金抵抗温度センサーを読み取るために使用され、一般的にPT100とPT1000の2種類に分けられます。この方式では、通常の熱敏抵抗ADCピンは使用せず、SPI通信とチップセレクトピンを使用します。

センサー一般的な記述基準抵抗の例説明
PT100rtd_nominal_r: 100rtd_reference_r: 430プローブの定格抵抗は100オーム
PT1000rtd_nominal_r: 1000rtd_reference_r: 4300プローブの定格抵抗は1000オーム
先にタイプを確認

PT100、PT1000、K型熱電対は同じ種類のセンサーではありません。MAX31865はPT100/PT1000のようなRTD白金抵抗センサー専用であり、K型熱電対には使用できません。

PT100の例

PT100 + MAX31865
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: MAX31865
sensor_pin: <max31865_cs_pin>
spi_bus: <spi_bus>
rtd_nominal_r: 100
rtd_reference_r: 430
rtd_num_of_wires: 2
min_temp: 0
max_temp: 350

PT1000の例

PT1000 + MAX31865
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: MAX31865
sensor_pin: <max31865_cs_pin>
spi_bus: <spi_bus>
rtd_nominal_r: 1000
rtd_reference_r: 4300
rtd_num_of_wires: 2
min_temp: 0
max_temp: 350
MAX31865の注意事項
  • MAX31865は、対応するボードがサポートするPT100 / PT1000の接続方法でのみ使用できます。通常のNTCサーミスタをMAX31865に接続しないでください。
  • sensor_pin はMAX31865のチップセレクトピンであり、通常の熱敏抵抗ADCピンではありません。
  • rtd_num_of_wires は実際のプローブの線数に合わせて記入してください。一般的には 23、または 4 です。
  • ディップスイッチやジャンパー付きのボードは、製品ドキュメントに従ってPT100/PT1000と線数を設定する必要があります。そうしないと、温度読み取り値が異常になります。

K型熱電対設定

K型熱電対は、対応する熱電対変換チップと組み合わせて使用する必要があります。通常の熱敏抵抗インターフェースに直接接続したり、MAX31865のPT100/PT1000インターフェースに接続したりすることはできません。一般的な設定ではSPIを使用します:

K型熱電対の例
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: MAX31856
sensor_pin: <thermocouple_cs_pin>
spi_bus: <spi_bus>
tc_type: K
min_temp: 0
max_temp: 500

他のK型熱電対変換チップを使用する場合は、sensor_type を実際のチップモデル(例:MAX6675MAX31855MAX31856)に変更し、モジュールの説明に従ってSPIを設定してください。tc_type: K は、現在のプローブがK型熱電対であることを示します。

高温設定

ホットエンド、ヒーター、熱敏抵抗、ノズル、ホットエンド固定構造、配線材料のすべてが高温に対応している場合にのみ、max_temp を上げることができます。エラーを消すためだけに、max_temp をハードウェアの能力をはるかに超える値に恣意的に設定しないでください。

独立した温度表示

温度表示のみで、ヒーターを制御する必要がない場合は、[temperature_sensor xxx] を使用できます。

チャンバー温度 / 環境温度

仓温示例
[temperature_sensor chamber]
sensor_type: Generic 3950
sensor_pin: <chamber_sensor_pin>
min_temp: 0
max_temp: 100

主板温度

MCU 温度示例
[temperature_sensor MCU]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100

上位机温度

Host 温度示例
[temperature_sensor Host]
sensor_type: temperature_host
min_temp: 0
max_temp: 100
显示名称

[temperature_sensor chamber] 中的 chamber 是前端显示名称,可以按实际用途改成 boxtoolboardhost 等。名称不要与已有配置段重复。

常用热敏与自定义热敏

Klipper 内置 sensor_type

以下 sensor_type 已在 Klipper 中内置,直接填写即可使用,不需要自定义 [thermistor xxx]

sensor_type标称电阻定义方式常见用途
Loading...
100K @ 25°C三点法FLY 主板热端 / 热床默认配置,常规 PLA/ABS 等打印场景
Loading...
100K @ 20°C三点法高温热端、E3D 类热端配套热敏
Loading...
100K @ 25°C三点法热端 / 热床通用,常见于通用型 NTC 替换件
Loading...
100K @ 25°CB 值 4100硅胶加热垫、热床配套热敏
Loading...
500K @ 25°C三点法高温热端(450°C 级测温),需确认整套热端耐温
Loading...
100K @ 25°C三点法热端 / 热床,常见贴片式 NTC 替换件
Loading...
100K @ 25°CB 值 3974热端 / 热床通用
Loading...
100K @ 25°C三点法热端,小尺寸封装热敏
Loading...
1000 Ω @ 0°C铂电阻 RTD高精度热端;pullup_resistor 需按主板实际上拉电阻填写(常见 4700220011001000 等),见上方 PT1000 直连
选择建议
  • FLY 主板出厂配置通常使用 Generic 3950,更换热敏前先确认原始型号。
  • 如果使用 E3D 类高温热端或配套热敏,常见为 ATC Semitec 104GT-2
  • 不确定型号时,优先查看产品资料或联系售后确认,不要随意更换 sensor_type

自定义热敏

如果传感器不在上方内置列表中,可以用 [thermistor xxx] 定义自定义热敏曲线。

放置位置

[thermistor xxx] 必须写在引用它的配置段上方,也就是写在对应 [extruder][heater_bed][temperature_sensor xxx][heater_generic xxx] 之前。

自定义热敏常见有两种写法:

资料类型推荐写法说明
有多个温度/电阻点三点法优先使用,温度曲线更接近实际传感器
只有标称电阻和 B 值B 值法写法更简单,但高温段精度可能不如三点法

三点法示例

下面以 ATC Semitec 104GT-2 的参数为例,演示三点法自定义热敏的写法。先定义 [thermistor semitec_104gt2],再在 [extruder] 中使用:

ATC Semitec 104GT-2 三点法
[thermistor semitec_104gt2]
temperature1: 20
resistance1: 126800
temperature2: 150
resistance2: 1360
temperature3: 300
resistance3: 80.65

[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: semitec_104gt2
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300

下面以 EPCOS 100K B57560G104F 的参数为例:

EPCOS 100K B57560G104F 三点法
[thermistor epcos_100k]
temperature1: 25
resistance1: 100000
temperature2: 150
resistance2: 1641.9
temperature3: 250
resistance3: 226.15

[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: epcos_100k
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300
三点选取

三点应尽量覆盖常用打印温度范围,例如室温、中温和最高常用温度附近。如果规格书提供温度/电阻表,优先从表中选取三个点。

B 值法

如果厂家只提供标称电阻和 B 值,可以使用 temperature1resistance1beta 的方式定义:

100K B3950 B 值法
[thermistor ntc_100k_b3950]
temperature1: 25
resistance1: 100000
beta: 3950

[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: ntc_100k_b3950
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300
100K B4500 B 值法
[thermistor ntc_100k_b4500]
temperature1: 25
resistance1: 100000
beta: 4500

[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: ntc_100k_b4500
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 350

高温热敏配置

以下高温热敏参数来自 Marlin 固件源码中经厂家规格书验证的热敏表,适用于需要超过 300°C 测温的高温热端。使用前请确认热端、加热棒、喷嘴和线材均支持对应温度。

ATC Semitec 204GT-2(200K / 300°C)
# R25 = 200K, B25 = 4338, 4.7K 上拉
# 来源:Marlin thermistor_2.h,经 Mouser 厂家规格书验证
[thermistor semitec_204gt2]
temperature1: 25
resistance1: 200000
temperature2: 150
resistance2: 2520
temperature3: 300
resistance3: 142

[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: semitec_204gt2
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300
204GT-2 说明
  • 200K 标称电阻在高温段阻值更高,相比 100K 热敏在 250°C 以上有更好的 ADC 分辨率。
  • 适合 300°C 级高温热端,如 PEI、PC、PA 等高温耗材打印场景。
  • 使用标准 4.7 kΩ 上拉即可,无需更换上拉电阻。
Formbot / Vivedino 100K B3950 高温版(350°C)
# R25 = 100K, B25/50 = 3950, 4.7K 上拉
# 来源:Marlin thermistor_61.h,100KR13950181203
[thermistor formbot_3950_350]
temperature1: 25
resistance1: 100000
temperature2: 150
resistance2: 509
temperature3: 300
resistance3: 63.5

[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: formbot_3950_350
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 350
100K高温精度制限

100Kサーミスタは300°C時の抵抗値がわずか約63Ωであり、4.7kΩプルアップとの差が大きく、高温域でのADC分解能が低くなります。300°C以上で長時間印刷する必要がある場合は、200K(204GT-2)または500K(SliceEngineering 450)サーミスタの使用を推奨します。

Dyze Design 2.5M B4500(500°C)
# R25 = 2.5M, B25 = 4500、大きな抵抗値のプルアップが必要
# 出典:Marlin thermistor_66.h コメントパラメータ
[thermistor dyze_500]
temperature1: 25
resistance1: 2500000
beta: 4500

[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: dyze_500
sensor_pin: <hotend_sensor_pin>
pullup_resistor: 470000
min_temp: 0
max_temp: 500
2.5Mサーミスタのプルアップ要件
  • 2.5MΩの公称抵抗は室温で標準の4.7kΩプルアップよりはるかに大きく、デフォルトのプルアップを使用すると低温域でADCがほぼ飽和し、正確な温度測定ができません。
  • 470kΩ以上のプルアップ抵抗と組み合わせ、設定で pullup_resistor: 470000 を指定する必要があります。
  • マザーボードまたはツールボードがプルアップ抵抗の交換に対応していない場合は、このサーミスタを使用せず、PT1000 + MAX31865またはK型熱電対方式に切り替えてください。
  • 500°C級の温度測定を行う場合は、ヒーターカートリッジ、ノズル、ホットエンド構造、配線材がすべて耐熱要件を満たしていることを併せて確認してください。
高温方式の選択
目標温度推奨方式説明
≤ 300°C
Loading...
または
Loading...
標準構成で対応可能
300°C ~ 350°C
Loading...
このページの対応するカスタム [thermistor] 設定を先に追加する必要があります
350°C ~ 450°C
Loading...
Klipper内蔵、sensor_typeに直接入力
450°C ~ 500°C
Loading...
または
Loading...
このページの対応するカスタム [thermistor] 設定を先に追加するか、K型熱電対を使用
500°C以上
Loading...
NTCサーミスタは不適切

三点法汎用テンプレート

仕様書はあるが既成パラメータがない場合は、以下のテンプレートに従って記入できます:

三点法テンプレート
[thermistor my_custom_thermistor]
temperature1: 25
resistance1: <resistance_at_25c>
temperature2: 150
resistance2: <resistance_at_150c>
temperature3: 250
resistance3: <resistance_at_250c>

[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: my_custom_thermistor
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300
高温サーミスタの制限

max_temp はホットエンド、ヒーターカートリッジ、サーミスタ、ノズル、配線材の実際の耐熱能力に基づいてのみ設定してください。高温NTC構成でより高い温度を読み取れても、ホットエンド全体がその温度まで安全に加熱できることを意味するわけではありません。

変更後の確認

設定を保存しKlipperを再起動した後、以下の順序で確認してください:

  1. フロントエンドの温度が室温に近いか確認します。
  2. ADC out of range、極端な高温、極端な低温、または負の温度が表示された場合は、まず加熱を停止し、電源を切ってからコネクタ、配線、センサータイプを確認します。
  3. sensor_pin が他の機能によって重複使用されていないことを確認します。
  4. sensor_typepullup_resistorrtd_nominal_rrtd_reference_r が実際のハードウェアと一致していることを確認します。
  5. ホットエンドまたはヒートベッドのセンサーを交換した後、PIDキャリブレーションを再実行し、結果を保存します。

一般的な温度・加熱エラーについては、温度、加熱と押出エラー を参照してください。

Loading...