Arduinoとホットプレートを使ったリフロー装置(1号機)の製作(8)

このページをスマホなどでご覧になる場合は、画面を横長にする方が読みやすくなります。
目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ
2016年09月12日 「Arduinoとホットプレートを使ったリフロー装置の製作」から「Arduinoとホットプレートを使ったリフロー装置(1号機)の製作」へ改題。

参考:この連載で説明している温度制御装置の改良版について書いた記事もあります。あわせてご覧ください。

5-6.温度プロファイルのログ機能

今回作った温度制御装置は、USART(ハードウェアシリアル)を使って、Arduino Unoの1番ピンに9600bpsで時間や温度の情報を垂れ流しています。これをパソコンで記録してCSVファイルにすれば、Excelなどで簡単に温度プロファイルをグラフ化できます。

実は、グラフィックLCDシールドをソフトウェアシリアル接続にしたのは、ハードウェアシリアル経由でパソコンに温度変化のログを渡したかったからです。ハードウェアシリアルなら、USBケーブルでパソコンとArduinoを接続するだけで通信出来るので、通信のための工作が必要なくなります。

USBケーブルでパソコンとArduinoを接続した状態でリフロー作業を始めると(Arduinoへの給電用の12VのACアダプタは、この場合も必要)、Tera Termなどのターミナルソフトで温度変化のログを取得する事ができます。接続ポートはArduino UnoのCOM番号、通信速度は9600bps、データ長は8ビット、ストップビットは1ビット、パリティは無し、フロー制御は無しに設定してください。下のシリアルポート設定画面では、ポートがCOM15になっていますが、ご自身の環境に合わせてCOM番号を選んでください

写真84、USBケーブルの接続
↑ 画像をクリックすると拡大
写真84、USBケーブルの接続
図4、TeraTermの設定
図4、TeraTermの設定
図5、TeraTerm画面
図5、TeraTerm画面

上の画面のログを見ると、1行目には"23995,39.50"と書いてあります。左の23995は加熱を始めてからの時間を表わしています。単位はmsなので、秒に換算すると23.995秒ということになります。右側の39.50は、温度(単位は℃)を表わしています。

およそ2秒ごとに温度が出力されますが、温度のログの出力の処理の優先順位が低いため、画面表示など他の処理で忙しいと、時刻が多少ばらつきます。

このように、カンマ区切りで時間と温度が出力されるので、これを.csvの拡張子でファイルに記録すれば(Tera Term 4.78の場合はファイル→ログメニューでファイルに記録できる)、CSVファイルが出来上がります。このCSVファイルをExcelなどの表計算ソフトでグラフ化すれば、簡単に温度プロファイルのグラフが出来上がります。

広告

5-7.実際のホットプレートの温度プロファイル

それでは、実際にホットプレートを加熱して、温度プロファイルをグラフ化してみることにします。厳密にはリフローしたい基板もホットプレートに乗せて温度プロファイルを調べるべきなのですが、手間が掛かるので、熱電対を貼り付けたダミー基板だけをホットプレートに乗せて実験してみます。下の写真では、分かりやすい様にふたを取って撮影していますが、実際には、加熱ステージ1からリフローステージまでふたをした状態で実験します。冷却ステージでは、ブザーがなったら、手動でふたを取っています。

写真85、熱伝対を載せたホットプレート
写真85、熱伝対を載せたホットプレート

なお、この連載の4ページ目GN-1200(T)というホットプレート(正確にはグリル鍋らしい)を使っていると紹介しましたが、その後、HG-1200(T)という、一回り大きなホットプレートも入手しましたので、合わせて温度プロファイルを調べてみます。下の写真は、左側がGN-1200(T)です。右側がHG-1200(T)です。GN-1200(T)はグリル鍋なので、底が深いです。HG-1200(T)は底が浅くて、直径が大きいです。

写真86、GN-1200(T)とHG-1200(T)
写真86、GN-1200(T)とHG-1200(T)

2種類のホットプレートの温度プロファイルを、次のグラフに示します。横軸が加熱を始めてからの経過時間で、縦軸が温度です。

図6、2種類のホットプレートの温度プロファイルの比較
図6、2種類のホットプレートの温度プロファイルの比較

このグラフを見ると、確かに加熱が始まった後(加熱ステージ1)、一旦160℃付近で温度上昇が止まってから(予熱ステージ)、再び加熱し始め(加熱ステージ2)、200度を越えたら加熱が緩やかになり(リフローステージ)、その後温度が下がっている(冷却ステージ)様子が分かります。

こういった、グラフの概形の特長は、どちらのホットプレートを使っても共通して出ているのですが、2種類のホットプレートの温度プロファイルを比較すると、違うところもあります。

加熱時のグラフの傾きを比較すると分かるように、GN-1200(T)の方が温度上昇が急激です。2種類のホットプレートの消費電力は共に1200Wなのですが、直径の小さいGN-1200(T)の方がプレートの熱容量が小さく、温度上昇がしやすいのだと思われます。

また、その影響だと思われますが、2種類のホットプレートで、最高到達温度が違っています。GN-1200(T)の最高到達温度は224.25℃、HG-1200(T)の最高到達温度は214.25℃となっており、HG-1200(T)はGN-1200(Tよりが10℃低い温度までしか到達しません。

同じ温度制御装置に同じ制御ソフトで異なるホットプレートを制御したので、異なる温度プロファイルが得られるのは当然ですが、このままではHG-1200(T)の方は、最高到達温度が低くて、うまく半田が溶けない可能性が大きいです。やはり、ホットプレートごとに、制御パラメータを変更する必要がありそうです。

ここで、温度制御のスケッチの一部を次に示します。

#define TIME_RESOLUTION 100 // 処理時間の最小単位[ms]
#define PWM_RESOLUTION 20 // PWMの分解能

#define TEMP_PREHEAT 150.0 // 予熱温度の中心値
#define WIDTH_PREHEAT 40.0 // 予熱温度の幅
#define TEMP_REFLOW 220.0 // リフロー温度の中心値
#define WIDTH_REFLOW 40.0 // リフロー温度の幅
#define TEMP_COOL 60.0 // 冷却終了温度

#define TIME_PREHEAT1 16000 // 予熱の初期にヒーターを止める時間[ms](オーバーシュート対策)
#define TIME_PREHEAT2 90000 // 予熱時間[ms]
#define TIME_REFLOW1 9000 // リフローの初期にヒータを止める時間[ms](オーバーシュート対策)
#define TIME_REFLOW2 35000 // リフロー時間[ms]

#define TIME_CHECK 120000 // 加熱チェックの時刻[ms]
#define TEMP_CHECK 100.0 // 加熱チェック時の温度の下限

#define RETRY_LIMIT 5 // 温度計測のリトライ回数の上限

このように、色々な定数が定義されており、これらの定数(制御パラメータ)を変更することで、温度プロファイルをコントロールできる仕組みになっています。

ただし、制御パラメータをどのように変えると温度プロファイルがどのように変わるかを理解するには、まずこの温度制御装置で用いた温度制御の方法について理解する事が必要です。

次のページでは、今回作成した温度制御装置で用いた制御手法について解説します。 温度制御の仕組みついてはArduinoとホットプレートを使ったリフロー装置(2号機)の製作(7)をご覧ください。

目次へ  前のページへ (1) (2) (3) (4) (5) (6) (7) (8) 次のページへ

このページで使われている用語の解説

関連ページ

関連製品

122X32モノクログラフィックLCDシールド 商品名 122X32モノクログラフィックLCDシールド
税抜き小売価格 3333円
販売店 スイッチサイエンス
サポートページ
Arduino 電子工作
このサイトの記事が本になりました。
書名:Arduino 電子工作
ISBN:978-4-7775-1941-5
工学社の書籍の内容の紹介ページ
本のカバーの写真か書名をクリックすると、Amazonの書籍購入ページに移動します。