工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Hakko 907 v.2 はんだごてコントローラー自作:Arduino NanoでPID温度制御

必要な部品と材料

Hakko 907 はんだごてハンドル(ヒータ+サーミスタ/熱電対内蔵、5ピン航空プラグ推奨) ×1
5ピン航空プラグ GX16-5 または GX12-5(ハンドル側コネクタ交換用) ×1
DC-DCコンバータ(24V→5V、Arduino/ロジック電源用) ×1
Arduino Nano R3 ×1
LCD 8x2文字(または16x2、I2Cモジュール付き推奨) ×1
オペアンプ MCP602(レールツーレール、熱電対/サーミスタ増幅用) ×1
MOSFET IRFZ44N(ヒータ駆動用) ×1
高速リカバリダイオード FR107(ヒータ逆起電力吸収) ×1
トランジスタ NPN/PNP 各1(MOSFETゲートドライバ用、2段プッシュプル) 各1
ロータリーエンコーダ(プッシュボタン付き) ×1
コンデンサ 1000µF 35V(入力平滑、ヒータ突入電流対策) ×1
コンデンサ 100nF ×4、抵抗各種(1kΩ×2, 10kΩ, 100kΩ×2, 10kΩ/500kΩマルチターンVR各1) 各種
ブザー ×1

必要な工具・ソフトウェア

プロジェクト概要

Hakko 907互換はんだごてハンドルをArduino Nanoで制御し、PIDアルゴリズムによる高精度温度制御を実現するコントローラーを自作します。第2世代(v.2)では高周波PWM(31.25kHz)でコイル鳴きを抑制、3点校正・チューンモード・自動電源オフなど実用機能を充実させています。

主な特長

メニュー構成・操作方法

モード入り方操作表示内容
スタンバイ起動時 / メインから短押しエンコーダ回転で設定温度変更、短押しでメインへ設定温度 / OFF / 現在温度(冷却中は"cold")
メイン(温度制御)スタンバイで短押しエンコーダで設定温度変更、短押しでスタンバイ復帰、長押しでパワーモードへ設定温度 / ON→rdy / 現在温度 / 出力%
パワーモード(手動出力)メインで長押しエンコーダで出力%変更、短押しでON/OFF、長押しでメイン復帰出力値(内部単位) / 現在温度
セットアップスタンバイで長押しエンコーダで項目選択、短押しで編集、長押しで保存してスタンバイ復帰自動オフ時間 / ℃/℉ / 校正 / チューン / 保存 / キャンセル / デフォルト復元

センサ増幅回路(サーミスタ/熱電対共用)

MCP602(レールツーレールオペアンプ)を非反転増幅器として使用。サーミスタの場合は分圧回路+増幅、熱電対の場合は直列増幅。どちらも出力を0〜5V(ADC 0〜1023)にスケーリングします。500kΩマルチターンVRでゲイン調整し、400℃でADC≒900(5V×900/1023≒4.4V)を目標とします。余裕を持たせるため930〜950まで上げてから900に戻す手順を推奨。

ヒータ駆動回路(高周波PWM対応)

校正手順(外部温度計必須)

  1. セットアップメニュー「reset config」でデフォルト値読み込み
  2. 「tune」モード:エンコーダで出力調整し外部温度計で400℃に保持→マルチターンVRでADC≒900に調整→長押し完了
  3. 「calibrate」モード:200/300/400℃各点を選択→短押しで加熱開始→PID到達でビープ→外部温度計実測値をエンコーダ入力→短押しで保存→全点完了後長押し
  4. 「save」でEEPROM書き込み

自動電源オフ機能の仕組み

「アイドル時の出力%が最小値付近で安定している」ことを利用。使用中は熱負荷で出力%が増加するため、出力%の微小増加を「使用中」と判定します。PIDパラメータ調整でアイドル時の分散を最小化し、誤検知を抑制。信頼性が不安な場合は無効化可能。衝撃センサ搭載ハンドルならより確実です。

コードリポジトリ

完全なスケッチ(0802/1602両対応版)はGitHubで公開:
https://github.com/sfrwmaker/soldering_907_lcd/blob/master/soldering_907_lcd.ino

回路図・PCB

Eagle形式の完全回路図(complete_9vLI2a96Rv.sch)をプロジェクトページで公開。Manoj氏によるPCB設計版(関連リポジトリ)も参考になります。

温度換算ロジックとセンサタイプの違い

内部ADC値(0〜1023)を人間可読温度に変換するIRON_CFG::tempHuman()は、校正3点(200/300/400℃)間を線形補間。200℃未満は「周囲温度(内部値:サーミスタ約350、熱電対約0)」と200℃点で補間。熱電対使用時は周囲温度内部値を0に設定変更が必要(スケッチ244-245行目)。

まとめ

市販ステーション並みの性能を、Arduino Nanoと手に入りやすい部品で実現した決定版DIYはんだごてコントローラーです。高周波PWM+プッシュプルドライバ+バースト火制御的PIDという構成は、ヒータ制御のベストプラクティスの一つです。コードはモジュール化されており(CONFIG, PID, DSPL, BUZZER等クラス分け)、拡張・移植も容易です。自作PCB化すればコンパクトな専用機に仕上がります。はんだ付け品質を安定させたい全メイカーにお勧めのプロジェクトです。

製造プロセス

  1. スマートホーム連携向けマルチポジション温度センサーシステム
  2. DIY Arduino USBゲームコントローラー - 高性能ゲームパッドを自作
  3. 862D+はんだごて用DIY温度コントローラー:精度と信頼性を両立
  4. MotionSense: ArduinoとESP8266で作るスマート侵入検知システム
  5. 3Dプリンター火災予防:スマートセンサーセーフティシステム
  6. オルガンコンソールのMIDI化:部品選定とセットアップガイド
  7. Arduinoで作る斥力式磁気浮上装置: シンプル回路とDIYガイド
  8. 高度なリモートコントロールグリッパーロボット: 精密ハンドリング向け
  9. CoroFenceサーマルディテクター:Grid-EYE & PIRセンサー搭載IoT体温監視
  10. FINEXプロセス:鉄鉱石微粉と非コークス炭による先進的溶銑製造
  11. インバー36部品:材料、特性、信頼できる購入先