サーミスタ設定方法
このページでは、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_mcu | MCU 内部温度の表示 |
| ホスト温度 | [temperature_sensor xxx] + temperature_host | ホスト CPU 温度の表示 |
最も一般的なホットエンドの設定構造は以下の通りです:
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: <sensor_type>
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300
最も一般的なヒートベッドの設定構造は以下の通りです:
[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 サーミスタがよく使用されます。このようなセンサーは通常、マザーボードやツールボードの通常のサーミスタインターフェースに接続します。
ホットエンドの例
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: Generic 3950
sensor_pin: <hotend_sensor_pin>
min_temp: 0
max_temp: 300
ヒートベッドの例
[heater_bed]
heater_pin: <bed_heater_pin>
sensor_type: Generic 3950
sensor_pin: <bed_sensor_pin>
min_temp: 0
max_temp: 120
C8P の口位置の例
以下は、C8P の一般的な口位置の書き方のみを示します。実際の使用時は、接続したサーミスタ口とヒーター口に従って記入してください。
[extruder]
heater_pin: PD12
sensor_type: Generic 3950
sensor_pin: PC2
min_temp: 0
max_temp: 300
[heater_bed]
heater_pin: PB0
sensor_type: Generic 3950
sensor_pin: PC5
min_temp: 0
max_temp: 120
一般的な sensor_type としては、Generic 3950、PT1000、またはその他の Klipper 内蔵型番があります。ホットエンド、ヒートベッド、またはセンサーの表記型番を優先し、不明な場合は製品資料を確認するか、販売元に問い合わせて確認してください。
PT1000 直結
PT1000 は、PT1000 に対応したサーミスタインターフェースに直接接続できます。一部の FLY マザーボードやツールボードでは、ジャンパーキャップでプルアップ抵抗を切り替える必要があります。一般的には、通常の NTC では 4.7K プルアップ、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
- マザーボードまたはツールボードが既に PT1000 用に
1Kプルアップにジャンパー設定されている場合、設定にはpullup_resistor: 1000と記述します。 - ハードウェアがデフォルトの
4.7Kプルアップのままの場合は、pullup_resistorを記述する必要はなく、Klipper はデフォルトで4700として処理します。 - ジャンパー状態と設定は一致している必要があります。一致していない場合、温度が著しく高く、または低くなったり、
ADC out of rangeが発生します。
MAX31865 設定
MAX31865 は、RTD 白金抵抗温度センサーを読み取るために使用され、一般的には PT100 と PT1000 の2種類に分けられます。この方法は、通常のサーミスタ ADC ピンを使用せず、SPI 通信とチップセレクトピンを使用します。
| センサー | 一般的な記述 | 参考抵抗の例 | 説明 |
|---|---|---|---|
| PT100 | rtd_nominal_r: 100 | rtd_reference_r: 430 | プローブの公称抵抗は 100 オーム |
| PT1000 | rtd_nominal_r: 1000 | rtd_reference_r: 4300 | プローブの公称抵抗は 1000 オーム |
PT100、PT1000、K 型熱電対は同じセンサーではありません。MAX31865 は PT100/PT1000 のような RTD 白金抵抗センサーにのみ使用され、K 型熱電対には使用されません。
PT100 の例
[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 の例
[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 は、対応するボードがサポートする PT100 / PT1000 の接続方法でのみ使用してください。通常の NTC サーミスタを MAX31865 に接続しないでください。
sensor_pinは MAX31865 のチップセレクトピンであり、通常のサーミスタ ADC ピンではありません。rtd_num_of_wiresは、実際のプローブの線数に従って記入します。一般的には2、3、または4です。- ディップスイッチやジャンパー付きのボードは、製品ドキュメントに従って PT100/PT1000 と線数を設定する必要があります。設定が間違っていると、温度の読み取り値が異常になります。
K 型熱電対設定
K 型熱電対は、対応する熱電対変換チップと組み合わせて使用する必要があります。通常のサーミスタインターフェースに直接接続したり、MAX31865 の PT100/PT1000 インターフェースに接続することはできません。一般的な設定では SPI を使用します:
[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 を実際のチップ型番(例:MAX6675、MAX31855、MAX31856)に変更し、モジュールの説明に従って 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
マザーボード温度
[temperature_sensor MCU]
sensor_type: temperature_mcu
min_temp: 0
max_temp: 100
ホスト温度
[temperature_sensor Host]
sensor_type: temperature_host
min_temp: 0
max_temp: 100
[temperature_sensor chamber] の中の chamber はフロントエンドの表示名です。実際の用途に応じて box、toolboard、host などに変更できます。既存の設定セクションと重複しない名前にしてください。
よく使われるサーミスタとカスタムサーミスタ
Klipper 内蔵 sensor_type
以下の sensor_type は Klipper に内蔵されており、直接記入して使用できます。[thermistor xxx] をカスタム定義する必要はありません:
| sensor_type | 公称抵抗 | 定義方法 | 一般的な用途 |
|---|---|---|---|
Loading... | 100K @ 25°C | 三点法 | FLY マザーボードのホットエンド / ヒートベッドのデフォルト設定 |
Loading... | 100K @ 20°C | 三点法 | 高温ホットエンド、E3D 系ホットエンド |
Loading... | 100K @ 25°C | 三点法 | ホットエンド / ヒートベッド汎用 |
Loading... | 100K @ 25°C | B 値 4100 | シリコーン加熱パッド |
Loading... | 500K @ 25°C | 三点法 | 高温ホットエンド(450°C) |
Loading... | 100K @ 25°C | 三点法 | ホットエンド / ヒートベッド |
Loading... | 100K @ 25°C | B 値 3974 | ホットエンド / ヒートベッド |
Loading... | 100K @ 25°C | 三点法 | ホットエンド |
- FLY マザーボードの工場出荷時設定は通常
Generic 3950を使用しています。サーミスタを交換する前に、元の型番を確認してください。 - E3D 系の高温ホットエンドや付属のサーミスタを使用する場合、一般的には
ATC Semitec 104GT-2です。 - 型番が不明な場合は、製品資料を確認するか、販売元に問い合わせて確認してください。
sensor_typeを勝手に変更しないでください。
カスタムサーミスタ
センサーが上記の内蔵リストにない場合は、[thermistor xxx] を使用してカスタムサーミスタ曲線を定義できます。
[thermistor xxx] は、それを参照する設定セクション、つまり対応する [extruder]、[heater_bed]、[temperature_sensor xxx]、または [heater_generic xxx] の前に記述する必要があります。
カスタムサーミスタの一般的な記述方法は2つあります:
| 資料の種類 | 推奨記述方法 | 説明 |
|---|---|---|
| 複数の温度/抵抗点がある | 三点法 | 優先して使用。温度曲線が実際のセンサーにより近い |
| 公称抵抗と B 値のみ | B 値法 | 記述がより簡単だが、高温域の精度が三点法に劣る場合がある |
三点法の例
以下は、ATC Semitec 104GT-2 のパラメーターを例に、三点法によるカスタムサーミスタの記述方法を示します。最初に [thermistor semitec_104gt2] を定義し、次に [extruder] で使用します:
[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 のパラメーターを例にします:
[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
三点は、一般的な印刷温度範囲(例:室温、中温、最高使用温度付近)をカバーするように選択してください。仕様書に温度/抵抗表が記載されている場合は、表から3点を選択することを優先してください。
B 値法
メーカーが公称抵抗と B 値のみを提供している場合は、temperature1、resistance1、beta を使用して定義できます:
[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
[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 を超える温度測定が必要な高温ホットエンドに適しています。使用前に、ホットエンド、ヒーター、ノズル、ワイヤーが対応する温度に耐えられることを確認してください。
# 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
- 200K 公称抵抗のサーミスタは高温域での抵抗値が高く、100K サーミスタと比較して 250°C 以上での ADC 分解能が優れています。
- PEI、PC、PA などの高温フィラメント印刷シナリオに適した 300°C 級高温ホットエンドに適しています。
- 標準の 4.7 kΩ プルアップで使用可能であり、プルアップ抵抗を交換する必要はありません。
# 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 サーミスタは 300°C での抵抗値が約 63 Ω と、4.7 kΩ プルアップとの差が非常に大きく、高温域の ADC 分解能が低くなります。300°C 以上で長期間印刷する必要がある場合は、200K(204GT-2)や 500K(SliceEngineering 450)サーミスタの使用を優先的に検討してください。
# 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Ω の公称抵抗は室温で標準の 4.7 kΩ プルアップよりもはるかに大きいため、デフォルトのプルアップを使用すると低温域で ADC がほぼ飽和し、正確に温度を測定できません。
- 470 kΩ 以上のプルアップ抵抗と組み合わせて使用し、設定で
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 を再起動した後は、以下の順序で確認してください:
- フロントエンドの温度が室温に近いか確認します。
ADC out of range、異常高温、異常低温、または負の温度が表示された場合は、まず加熱を停止し、電源を切ってから、プラグ、配線、センサーの種類を確認します。sensor_pinが他の機能によって重複して使用されていないか確認します。sensor_type、pullup_resistor、rtd_nominal_r、rtd_reference_rが実際のハードウェアと一致しているか確認します。- ホットエンドまたはヒートベッドのセンサーを交換した後は、PID キャリブレーションを再実行し、結果を保存します。
一般的な温度と加熱のエラーについては、以下を参照してください:温度、加熱と押出のエラー。