画像をクリックすると拡大表示されます。(全部ではありません。)
拡大画像からはブラウザの「←戻る」ボタンで戻ってください。
半田鏝は、かなりの頻度で使用しています。
その際、切り忘れ防止のタイマーと、出力を絞る為の位相制御ユニットを組み合わせて使っていました。
(電子回路やソフトウエア→その他→半田鏝で紹介しています。)
今回、これら二つのユニットを一つにまとめたコントローラを製作しました。
タイマーに関しては、それほど問題はなかったのですが、位相制御ユニットには不満がありました。
書き忘れましたが、出力を絞るのは、過温度になると鏝先が酸化して半田の乗りが悪くなり、寿命も短くなる為です。
写真は現在使用中の位相制御ユニットの電流波形です。(センターが少し、ずれています。)
可変抵抗とコンデンサーによる時定数を変化させ、電流が立ち上がるタイミングを調整しています。
可変抵抗の回転角と出力は直線関係ではなく、調整範囲は狭いです。
写真で分かるように、電流の方向により、立ち上がる位相が異なっています。
これは、トライアックのゲート感度が極性によって異なっている為と予想します。
さらに大きな問題は、位相制御の場合、電流が急激に立ち上がる為、高調波が発生し、鏝が振動しているのが感じられる
ということです。
近くにAMラジオがあれば、雑音も入ります。
私は安くて使い易いニクロム線ヒーターの半田鏝を使っているのですが、ヒーターがよく切れます。
位相制御で電力を絞れば、ヒーターが長持ちしそうに思いますが、逆に寿命が短くなったような気がします。
これは鏝の振動と関係があるのではないかと思いました。
今回は位相制御を止め、PWMとゼロクロスSSRを使った間欠制御にしました。
必ず0Vでオンするので雑音も発生せず、B型カーブの可変抵抗の回転角と出力が、ほぼ比例します。
ただし、約1秒周期で出力がオンオフするので調光やモーターの制御には使えません。
ヒーター専用です。
タイマーは20分、40分、60分の3段階に設定出来ます。
回路図をクリックすると拡大表示されます。
拡大図から本文に戻るにはブラウザの←戻る釦を使用してください。
電源はトランスレスです。
トランスを使った方が確実ですが、最近、ピッタリの容量で安いトランスが入手しづらくなっています。
2.2UFのコンデンサーを2個直列にしているのは、回路のグランドを少しでもACラインから分離しようとする
気分的なものです。
1.1UFのコンデンサー1個と同じですので、1UFのコンデンサー1個でも動作するはずです。
今回の回路定数では50Hzの時25mA、60Hzの時30mA程度、流せるはずです。
(実測ではなく、SPICEシミュレーションです。)
この回路の消費電流は20mAMAXでした。(DC電源による実測です。)
デバッグ、動作確認は必ず、別途用意したDC電源で行います。
回路図のようにショートピンかスイッチで切り替えるようにしておきます。
それから、3端子電源は品種により、立ち上がる瞬間に数十mAを必要とするものがあります。
この回路では、この電流を流せません。
例を挙げると、LM2931Z−5は永久に立ち上がれません。(失敗を経験済み)
SSRは秋月の25Aキットを使用しています。
個別に部品を集めるのは面倒ですので、重宝します。
ただし、フォトカプラの入力側に入っている330Ωは470Ωに変更しています。
これは、電源に余裕が無いため、少しでも消費電流を減らす目的です。
キットのフォトカプラを実験したところ、入力電流が最低3mAで負荷がオンしました。
最初の330Ωでは約10mA、470Ωでは約7mA流れます。
それからT1端子とゲートの間に22KΩの抵抗を入れました。
これはフォトトライアックがオフの時、トライアックのゲートが浮いてしまうことを嫌った気分的なものです。
R13の150Ωに比べ、十分大きい値でないと、トライアックがオン出来ません。
制御はPIC16F88で行っています。
出力設定値は電源電圧を可変抵抗で分圧した値をAD変換しています。
出力はSSRにPWM波形を送っています。
PWMの周期はソフトウエアタイマーで1024mSに設定します。
デューティーはAD変換値(最大で1023mS)をそのまま使用しています。
(わずかに+側にシフトしていますが)
これによりPWMの分解能は1mSとなりますが、実際にはSSRが0クロスであるため、60Hzの場合、8mS程度
になるはずです。
出力LEDの点滅具合を見れば、だいたいのデューティーは分かります。
作業を中断するときのために、待機スイッチを設けました。
オンにするとデューティーが設定値の1/2となり、鏝先の酸化を防ぎます。
オフにすれば、元のデューティーに戻ります。
通電時間は3位置のスイッチで20分、40分、60分に設定出来るようにしてあります。
センター(オフ)で20分、下に倒して40分、上に倒して60分です。
CPUのクロックは内部CR発振ですので、正確ではありませんが、時間精度は問題になりません。
実測では60分の設定で、誤差3秒でした。
通電はスタート釦を押すことにより、開始されます。
通電中に開始釦を押すと、経過時間がクリアされ、0から設定時間までの通電になります。(再トリガ:74123と同じ)
通電中に時間設定スイッチを変更するとオフするようにしてあります。
再度、スタート釦を押せば良いだけの話です。
残り時間が3分以内になると、緑色のLEDが点滅します。
作業が長引きそうな時はスタート釦を押せば時間が延長されます。
通電終了で5秒間ブザーが鳴ります。
作業を継続する場合、冷えてしまわないうちに再度、スタート釦を押します。
ブザーは圧電ブザーを使用したので、発信周波数を作らなければなりません。
ハードウエアのPWMで4KHzのパルスを発生させています。
圧電ブザーは周波数により、音圧が変化します。
秋月で買った圧電ブザーは4KHz付近で最も音が大きくなりました。
開発ソフトはMikroCの評価版を使用しました。
評価版ではROMが2Kワードまで使用出来ますが、今回のプログラムは1Kワード以内でした。
ファームウエアのダウンロード (ZIP圧縮されています。)
ダウンロードしたファイルにはプロジェクトファイルを含んでいませんので、新規にプロジェクトを作成し、ソースファイルと
ヘッダファイルをプロジェクトに追加してコンパイルしてください。
プロジェクトファイルはコンパイラのバージョンやパスが異なるとエラーになる場合があるので、省きました。
ソースファイルは複数に分割されていますが、そのうち、solder2.c にメインルーチンが収納されています。
尚、コンパイル済みのhexファイルも別途、収納されています。
adconv.c
AD変換ルーチンです。
MikroCの組み込み関数は使わず、レジスタ操作しています。
output.c
出力関連の関数、動作シーケンスが書かれています。
solder2.c
メインルーチンとスイッチ入力関係の関数が書かれています。
スタート釦のみチャッタ取りをしています。
チャッタを取らなくても動作上は問題無いのですが、通電を開始させるスイッチですので、念のためチャッタ取りを
しています。
MikroCではコンフィギュレーションをソースファイルに書けないので、先頭部分でコメントにしてあります。
コンフィギュレーションはプロジェクトに設定しなければなりません。
要点として、
・ ウオッチドッグはプログラムでオンしているので、コンフィギュレーションではオフにしておく。
・ クロック源はINTRC_IOとする。
他はデホルトとで良いと思います。
CCP1の出力端子はRB0(デホルト)にしておいてください。
timer.c
ソフトウエアタイマーのサービスルーチンとタイマー1割り込み関数が書かれています。
gloval.h
今回、ソースファイルが分割されているので、複数のファイルで使う型、変数、関数はここで宣言しています。
実装は各ソースに分配していますが、global.cを作って、ここにまとめた方が良いかもしれません。
solder2.hex
コンパイル済みのオブジェクトファイルです。
このファイルはこのまま、単独で使用します。
書き込みは秋月のライターで行うか、MPLABにダミーのプロジェクトを作ってhexファイルをインポートすれば、
純正のツールでICSP端子から書き込むことが出来ます。
![]() |
![]() |
---|---|
装置外観 | 装置内部 |
まだ、長時間、使い込んだ訳では無いですが、機能的には意図したものが出来ました。
可変抵抗値の角度と出力の関係が感覚的に掴みやすく、使い勝手は良いと思います。
上の写真は動作時の電流波形です。
間欠制御の様子が分かります。
この波形は 電子回路やソフトウエア→測定器、ロガー→電流モニター で紹介したアダプターを
使用して計測しました。
簡単に作れるので用意しておくと便利です。
ダウンロードしたソースファイルを2011年3月現在の最新の環境(MikroC PRO for PICVer4.60)
でビルドした場合、エラーが発生します。
原因は同一変数名の特定文字で大文字、小文字が混在してしまった事にあります。
MikroCの旧バージョンでは大文字、小文字の区別が出来なかった為、そのまま通ってしまった訳です。
従って、新しい環境でも「大文字、小文字を区別する」のチェックを外せば通ります。
しかしながら、ソースを修正するのが本筋と思います。
場所は timer.c 60行目 if(startf) m_tics ++; を if(startF) m_tics ++; に修正すれば通ります。
MikroCでは細かい仕様が少しずつ変化していますので、今後のバージョンでは、さらに別のエラーが発生する可能性
がありますが、常にメンテナンスは出来ません事を了承願います。
尚、HEXファイルの方はチップが変わらない限り、今後も、そのまま使えます。
私が紹介している電子工作の記事の多くは実際に自分が使用している機器や実験データです。
故障した時、直ぐに回路図やファームウエアをダウンロードし修理出来るようにしています。
ダウンロードは記事の読者の為と言うより自分自身のメンテナンスの為だったりします。
以前、切り忘れた半田鏝がスタンドから抜け落ちて床を焦がしたことがありました。
それ以来、半田鏝には必ずタイマーを接続しています。
この半田鏝コントローラはタイマーと出力制御を兼ねたもので10年以上前に製作しました。
現在でも半田付けには必ず使用するので使用頻度の高いツールです。
10年以上トラブルなく使用してきましたが最近、誤動作するようになりました。
タイマーは終了時間の3分前に緑のLEDが点滅を開始し、終了時間になると出力を切り、5秒間ブザーが鳴ります。
その時点で作業が終了していなければ再度スタート釦を押して作業を継続します。
最近、終了ブザーが鳴らなくなった為、出力オフに気が付かず、再度スタート釦を押した時には鏝が冷めていて時間をロス
してしまいます。
まず、10年以上トラブル無く動作していたという現実があります。
私の作業で最も多いミスは半田付け不良です。
そんなに多い訳ではありませんが経年変化で半田付けが剥がれてしまった事がたまにあります。
そこで結線を念入りにチェックしましたが問題ありません。
使用部品が壊れたという経験は殆どありませんがブザーをチェックしました。
ブザーはピエゾ素子で4KHz程度の交流を印加しないと音が出ません。
低周波発振器に接続すると音が出るので壊れていない様です。
予備のCPUチップにファームウエアを書き込んで差し替えてみましたが状況は同じです。
ファームウエアは基本的には壊れないのであり得ないのですが、ついにファームウエアの修正を始めました。
ファームウエアは簡単な動作ですが動作中に出力設定ボリュームの分圧電圧を読み込み常に出力に反映させているので
多少面倒な作りになっています。
いろいろ変えてみましたが結果は同じです。
私は高齢者ですので根気が続かず何日も経過しました。
私の若い頃にはマイコンチップはありませんでしたがロジック素子の誤動作を数多く経験しています。
電源ラインが弱いとノイズが乗りやすく苦労した経験があります。
やっと電源回路に目が向きました。
この装置の電源はトランスを使わず2.2uF250Vのフィルムコンデンサー2個のキャパシタンスで電圧を下げて
います。
理由は小容量の適当なトランスが手に入らなかった為です。
電流容量は上の製作記事に書かれているように十分検討されている筈ですが、念の為に倍の4.7uF250Vに交換する
ことにしました。
まず2.2uF250Vを外して容量を測ったのですが恐ろしい事実がありました。
2個のうち1個は1.6uFで、これくらいならまだ余裕の範囲です。
もう1個は何と0.5uFになっていました。
これくらいになると、よく動作していたなというレベルです。
いっそのこと完全に壊れていれば原因は直ぐに判ったのですが。
このコンデンサーはどこから購入したか忘れましたが安かったので沢山、購入し、未使用品が多数残っています。
今になって眺めるとメーカー名が書かれておらず何となく怪しい雰囲気があります。
未使用品の容量を測るとキッチリ2.2uFあります。
未使用品に付け替えれ、ばとりあえずは動作すると思いますが、しばらくすれば容量が抜けて同じ事を繰り返す可能性
大です。
シズキやルビコンといった国産メーカーの名前が入ったコンデンサーがあれば交換するのですが手元にありません。
そこで以前に買い溜めした100円充電器のトランスを使って電源を作りました。
5V出力で50mAの電流が流せる事が実験済みです。
結局、回路基板の電源部のみ手直ししファームウエアは最初のものに戻しました。
回路図をクリックすると拡大表示されます。
拡大図から本文に戻るにはブラウザの←戻る釦を使用してください。