スイッチサイエンス のリフロートースターコントローラーキット をつかったリフローオーブン を知人から譲り受けた。
https://www.switch-science.com/catalog/1690/
気軽にリフローができるので便利なのだが、どうも動作がおかしい。
一度リフローするとプリント基板のシルクが明らかに変色してしまうのだ。といっても部品が焦げるわけでもないし、壊れるわけではない。
気になったので確認してみた。
まずは、温度測定。自作の一秒に一度 シリアル出力するK熱電対で装置の中の温度を測定してみた。
その結果、やたらと時間が長い。
これはおかしい。知人に確認したが、買った時のままでプログラムは変更していないとのこと。
プログラムを変更するためシリアル変換基板を取り付けた。
これは DSRが出ている特殊なもので、ピン数は同じだが TTL-232R-3V3は使えない。
Arduino書き込み用だから、そうなのだが、FTDI USBシリアル変換アダプター(5V/3.3V切り替え機能付き) でないといけない。これもスイッチサイエンスで購入できる。 3.3V に設定する。
取り外すとどこかに無くしてしまいそうなのでそのまま接続することとした。
スイッチサイエンスで紹介されているArduinoのソースファイルをゲット。これで動かしてみたが、動作は変らないようだ。
動作がおかしい一番の原因は動作が1/2になっているようだ。ソース中では9600bpsと設定しているのにCOMポートの出力では4800bpsにしないと正しく表示されない。
この基板のもとになったarduinoはクロック周波数 16MHzなのにこの基板は 8Mhzということらしい。(知人情報)
さらに 制御周期(= delayWait )が 100mSec になっているが、制御で LCDの制御とか計算等の時間がばかにならないようで delayWaitよりも数十ミリ秒長い
まとめ
・マイコンの動作が1/2の速度になっている。
・制御周期が 設定よりも長い
さらに、オーブンの庫内が広いからということもあるが、温度上昇が緩やか。
このようなわけで、プログラム中の設定より 倍以上の時間をかけてリフローしている。
これでは基板のシルクが変色してもおかしくはないだろう。
まずは
プログラム変更
・クロックに由来するパラメータを変更
Serial.begin(9600); → Serial.begin(19200);
19200 に設定すると 9600bpsで通信できる。
tone も変更した。
tone(TonePin,9000,800); // StartSound
これで 4500Hzでなるはずだ。
もともと ブザーはついていなかったが、終わったときにオーブンの蓋を開けたいので、ブザー端子に圧電ブザーを接続した。
最初は電子機器と思えない低音で鳴っていた。しかも音が小さかった。 これでそこそこ聞こえる音量を確保できた。
制御時間に関するパラメータの変更
#define delayWait 250
#define oneSec (500 / delayWait)
これで 500mSecに一度温調して、一秒も正確に出すことができるようになった。
loop()関数内
delay(delayWait-21)
制御のための時間を調整し-21することで、delayWait の狙っている値になるようになった。 (二倍だけど)
・温度ロギング出力
一秒に一度温度を出力することにした。これで温度カーブ
・レシピの変更
リフローオーブンが表示している温度と、自作のK熱電対温度計とで、温度の違いがかなりあるようだったので、自作温度計を信用することとした。
また、レシピも 温度のオーバーシュート等を考慮して調整した。
急激に温度が下がっているところは蓋を開けた後です。
JUGEMテーマ:電子工作