熱敏抵抗の設定方法
このページでは、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をサポートする熱敏抵抗インターフェースに直接接続できます。マザーボードによって熱敏抵抗ポートで使用されるプルアップ(サンプリング)抵抗は異なり、必ずしも 1K ではなく、一般的には 4700、2200、1100、1000 などがあります。マザーボードの説明書または実物を基準にしてください。一部のマザーボードでは、ジャンパーピンでプルアップ抵抗を切り替えることができます。
以下の例は、1K プルアップのマザーボードを想定しています。pullup_resistor は、お使いのマザーボードの実際の抵抗値に合わせて変更する必要があります:
[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は、マザーボードの熱敏抵抗ポートの実際のプルアップ抵抗値に合わせて記入する必要があります。一般的には4700、2200、1100、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型熱電対であることを示します。
MAX6675の例
[extruder]
heater_pin: <hotend_heater_pin>
sensor_type: MAX6675
sensor_pin: <max6675_cs_pin>
spi_bus: <spi_bus>
min_temp: 0
max_temp: 500
- MAX6675は
tc_typeパラメータをサポートしていません。K型熱電対のみを読み取ることができます。 sensor_pinはMAX6675のチップセレクトピン(CS)であり、通常のサーミスタADCピンではありません。- SPIバスピン(MOSI/MISO/SCK)は、使用しているメインボードまたはツールボードの製品マニュアルを参照して、対応するSPIインターフェースを見つけて接続してください。
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 メインボードのホットエンド / ヒートベッドのデフォルト設定、通常の PLA/ABS などの印刷シーン |
Loading... | 100K @ 25°C | 三点法 | 高温ホットエンド、E3D 系ホットエンド付属サーミスタ |
Loading... | 100K @ 25°C | 三点法 | ホットエンド / ヒートベッド汎用、汎用型 NTC 代替品によく見られる |
Loading... | 100K @ 25°C | B 値 4100 | シリコン加熱パッド、ヒートベッド付属サーミスタ |
Loading... | 500K @ 25°C | 三点法 | 高温ホットエンド(450°C 級測温)、ホットエンド全体の耐熱温度を確認する必要あり |
Loading... | 100K @ 25°C | 三点法 | ホットエンド / ヒートベッド、一般的なチップ型 NTC 代替品 |
Loading... | 100K @ 25°C | B 値 3974 | ホットエンド / ヒートベッド汎用 |
Loading... | 100K @ 25°C | 三点法 | ホットエンド、小型パッケージサーミスタ |
Loading... | 1000 Ω @ 0°C | 白金抵抗 RTD | 高精度ホットエンド;pullup_resistor はメインボードの実際のプルアップ抵抗に合わせて記入(一般的に 4700、2200、1100、1000 など)、上記の PT1000 直結 を参照 |
Loading... | — | SPI 熱電対変換チップ | K 型熱電対、最高約 1024°C、MAX6675 モジュールと組み合わせて使用 |
Loading... | — | SPI 熱電対変換チップ | K 型熱電対、最高約 1024°C、MAX31855 モジュールと組み合わせて使用 |
- 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
三点は、一般的な印刷温度範囲をできるだけカバーするようにしてください。例えば、室温、中温、最高常用温度付近などです。仕様書に温度/抵抗表が提供されている場合、表から三点を選ぶことを優先してください。
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 分解能があります。
- 300°C 級高温ホットエンドに適しており、PEI、PC、PA などの高温フィラメント印刷シーンに適しています。
- 標準の 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キャリブレーションを再実行し、結果を保存します。
一般的な温度・加熱エラーについては、温度、加熱と押出エラー を参照してください。