Hakko 907 はんだごてコントローラー – Arduino自作電源 & LEDディスプレイ
必要な部品と材料
| Hakko 907 はんだごて | ×1 |
| 24V 電源 | ×1 |
| DC-DC コンバーター | ×1 |
| Arduino Nano R3 | ×1 |
| MAX7219 LED マトリックス コントローラー | ×1 |
| コンデンサ 10 µF | ×1 |
| コンデンサ 100 nF | ×4 |
| ブザー | ×1 |
| 抵抗 50kΩ | ×1 |
| 抵抗 1kΩ | ×1 |
| 抵抗 100Ω | ×2 |
| 抵抗 10kΩ | ×1 |
| 抵抗 2.21kΩ | ×1 |
| MOSFET トランジスタ IRFZ44N | ×1 |
| ロータリーエンコーダー (プッシュボタン付き) | ×1 |
| LEDバー (赤色LED 10個) | ×1 |
| 7セグメント LED 表示器 | ×1 |
| フェライトコア | ×1 |
| 1N5408 ダイオード | ×1 |
| 航空プラグ 5ピン 16mm GX16-5 | ×1 |
| デュポンケーブル (メス-メス) | ×1 |
必要な工具と機器
- はんだごて (汎用)
アプリとオンラインサービス
- Arduino IDE
プロジェクト概要
免責事項
これはコントローラーソフトウェアの第2版です。いくつかのバグが修正され、新しいメニューが実装されました。 このコントローラーはもはやサポートされていません。 新しくゼロからはんだコントローラーを製作する方は、こちらで公開されている別バージョンの製作を強くお勧めします。 第1版に従って製作された方は、ファームウェアのアップグレードが必要です。アップグレード後は再度チューニング手順を実行してください。
最初にあったアイデア
インターネットで面白いプロジェクトを探しているとき、自作のはんだステーションプロジェクトに心を奪われました。当時、私は何のコントローラーもない汎用のはんだごてを使っていましたが、このプロジェクトは複雑すぎず、よく文書化され、非常に実用的でした。自分専用のコントローラーを作ってその差を体験してみようと思い立ったのです。
最初の問題は、はんだごてに内蔵されているコネクタでした。非常に珍しいタイプでソケットが見つからなかったため、はんだごての特性に合う別のコネクタペア (航空プラグ GX16-5) を使用しました。全ての部品が届いたら、自作のはんだコントローラーの製作に取り掛かりました。
このコントローラーの主な特徴
- PID制御により設定温度を維持。約30秒で目標温度に到達し、±3℃以内で安定。
- 激しい使用時でもPIDアルゴリズムが敏速に電力を増やし、温度をキープ。
- 2つの動作モード: 温度維持モード と 電力維持モード。
- 加速機能付きロータリーエンコーダー: ゆっくり回すと1℃単位、速く回すと5℃単位で設定変更。
- 設定温度が変更された場合、使用後にArduinoのEEPROMへ自動保存。
- ディスプレイ輝度と温度単位 (℃/℉) の2つのカスタマイズ設定をEEPROMに保存。
- リングバッファ方式でEEPROMへ書き込み、書き換え寿命を延長。
- 可変抵抗の調整と温度校正を支援する チューニングモード を搭載。
コントローラーのメニュー構成
コントローラーには以下のモードがあります:
- スタンバイモード
- メイン作業モード (温度維持)
- 電力モード (供給電力維持)
- 設定モード
- チューニングモード (キャリブレーション)
スタンバイモード
電源投入直後に起動。はんだごてはオフで、メイン画面に「OFF」と表示。設定温度が表示されることもあります (左端に「t.」シンボル)。エンコーダーで設定温度を調整可能。前回使用後は「冷却プロセス」がアニメーション表示され、LEDバーで残熱を示します。完全に冷えると「C0Ld」と表示。
メイン作業モード
エンコーダーを軽く押すと起動。PID制御で設定温度を維持。エンコーダー回転で設定温度変更。メイン画面には設定温度 (「t.」付き) または現在温度を表示。LEDバーは出力電力を表示。再度軽く押すとスタンバイに戻ります。
電力モード
メインモード中にエンコーダーを長押しで起動。エンコーダーで直接出力電力を手動調整。メイン画面にごて温度、LEDバーに出力電力を表示。長押しでメインモードに復帰。
設定モード
スタンバイ中にエンコーダーを長押しで起動。以下の5項目を設定可能:
- 温度単位 ('Un. C/F')
- ディスプレイ輝度 ('br. [0-15]')
- ごて校正 ('tunE')
- 変更を保存 ('APLy')
- 変更を破棄 ('CACL')
エンコーダー回転で項目選択、軽く押してパラメータ変更、再度押してメニューに戻る。長押しでスタンバイに戻り設定をEEPROMに保存。'Apply' 項目で軽く押しても保存可能。30秒待つか 'Cancel' を選ぶと変更を破棄してメインモードへ。
センサー読み取り回路の重要な変更点
オリジナル回路からセンサー読み取り部分を変更しています。Hakko 907はサーミスタ (サーミスタ) で温度測定するため、熱電対用の回路では使えません。以下のように変更しました。

Hakko 907のセンサー抵抗は、常温で約50Ω、400℃で約200Ωになります。他のごてでは異なる可能性があるため、LM358N増幅器のゲインを可変抵抗で調整できるようにしました。調整目安: ごてが熱い状態で出力電圧が約4V (Arduino A0ピン読み取り値 700前後) になるようにします。
第2版での注記: LM358Nは精度が高くありません。温度読み取りに変動が生じます。新規製作の場合は、別バージョンのハードウェアを使用するか、AD822、LT1013、LMC6462などより高精度なオペアンプへの置き換えを推奨します。
校正手順を簡略化するため、コントローラー内部に チューニングモード を実装しました。
校正の目的は2つ: 可変抵抗の調整、および内部読み取り値 (0-1024) を摂氏/華氏に変換する式の決定です。
チューニングモード
外部温度計が必要です。
プログラム上では、はんだごての温度範囲を 180〜400℃ と想定しています。定数を書き換えれば変更可能です。
チューニングメニューには以下の5項目があります:
- 上限温度調整 (左桁に上向き四角表示)
- 下限温度調整 (左桁に下向き四角表示)
- デフォルト値をEEPROMに書き込み ('dEFt')
- 校正データを保存 ('APLy')
- 変更を破棄して前のメニューに戻る ('CACL')
最初の2項目には、上限/下限温度時のセンサー読み取り値 (内部単位) が表示されます。初期値は0です。
校正手順
- 上限温度 (400℃) の設定: チューニングモード起動時、内部単位の読み取り値が表示されます。エンコーダーで電力を調整し、外部温度計で400℃を維持。最初は最大電力で急加熱し、その後微調整。
- 可変抵抗の調整: 読み取り値が700前後になるよう可変抵抗を回す。一度730-750まで上げてから700に戻すことが重要です (最大値以上も測定できる余裕を持たせるため)。
- 調整完了後、エンコーダーを軽く押す。
- 下限温度 (180℃) の設定: エンコーダーで電力を下げ、180℃を維持。長押しするか 'APLy' を選んで保存。400℃と180℃の内部読み取り値が保存され、以後の温度変換に使用されます。
ヒーター駆動回路のマイナーな変更
知人のアドバイスで、電源コンデンサの寿命を延ばすためのインダクタンスを追加しました。PWMでMOSFETを駆動する際の電流ピークを抑制します。

L1は直径約2cmのフェライトコアにφ1mmの線を12ターン巻いたもの。ダイオード 1N5408 は MOSFET オフ時に L1 のエネルギーを逃がします。このインダクタンスは、面倒なら単なる導線で代用可能です。
結論
温度制御されたはんだごてを使うのは素晴らしい体験です。素早く加熱し、状況に適した温度をキープしてくれます。

ソースコード
回路図

製造プロセス
- DIY Arduino USBゲームコントローラー - 高性能ゲームパッドを自作
- 862D+はんだごて用DIY温度コントローラー:精度と信頼性を両立
- オルガンコンソールのMIDI化:部品選定とセットアップガイド
- Alexa対応Arduinoホームコントローラー:音声でスマートホーム自動化
- 無線方向探知用オートマチック・キーヤー – 精度、簡単操作、信頼性
- 安価なArduinoブレスコントローラー自作 - USB-MIDI対応でDAW直結
- MeArmロボット用精密ジョイスティックコントローラー - 座標の記録・再生機能付き
- FINEXプロセス:鉄鉱石微粉と非コークス炭による先進的溶銑製造
- 精密加工向け鋳鉄選定ガイド:ダクタイル鋳鉄 vs グレー鋳鉄
- インバー36部品:材料、特性、信頼できる購入先
- ULによる難燃性プラスチック部品の包括的試験