熱敏抵抗の設定方法
このページでは、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型熱電対であることを示します。
ホットエンド、ヒーター、熱敏抵抗、ノズル、ホットエンド固定構造、配線材料のすべてが高温に対応している場合にのみ、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 @ 20°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 直连 |
- 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] 中使用:
[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.7kΩプルアップとの差が大きく、高温域での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.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を再起動した後、以下の順序で確認してください:
- フロントエンドの温度が室温に近いか確認します。
ADC out of range、極端な高温、極端な低温、または負の温度が表示された場合は、まず加熱を停止し、電源を切ってからコネクタ、配線、センサータイプを確認します。sensor_pinが他の機能によって重複使用されていないことを確認します。sensor_type、pullup_resistor、rtd_nominal_r、rtd_reference_rが実際のハードウェアと一致していることを確認します。- ホットエンドまたはヒートベッドのセンサーを交換した後、PIDキャリブレーションを再実行し、結果を保存します。
一般的な温度・加熱エラーについては、温度、加熱と押出エラー を参照してください。