目次PIC回路集飾りランプ


飾りランプ制御回路 動作確認

同期信号のパルス幅確認


トライアックの制御は交流の極性反転(0V)を基準に行います。極性反転の時点を検出するためにフォトカプラを使用しています。フォトカプラのLEDに交流電圧を加え、0VでLEDが消灯することにより同期パルスを発生させます。
実際の回路のパルス幅を測定してみました。PICは実装せずに左の図に示すような回路で測定しました。
実際にPICに接続するとパルス幅は変わってきます。



交流の極性反転の位置でパルスが出ていることが分かります。
上の交流電圧のレンジは1目盛り10V、下の同期パルスは1目盛り5Vです。
時間軸は1目盛り5ミリ秒です。

同期パルスの幅を測定すると約580μ秒の幅になっています。
パルスの立ち上がりと、立ち下がりに多少ジッターがありますが、今回の回路の動作上は問題ありません。



同期信号の検出動作確認


上記の同期パルスをRB0ポートの割り込みで認識させます。この動作はMPLABのシミュレータでは確認できません。そこで、RB0ポートの割り込み動作確認用のソフトウェアを作ることにしました。処理は簡単な処理で、RB0ポートの割り込み回数をカウントし、100回毎にRA0ポートをONまたはOFFにします。R1のところにLEDを接続して動作が確認できます。50Hzの場合には10ミリ秒間隔で同期パルスが発生するので、1秒毎にLEDが点滅します。60Hzの場合には8.3ミリ秒間隔なので、若干早めになります。ここでの確認は正確に時間を計ることではなく、RB0ポートの割り込み動作を確認することが目的なのでだいたい1秒くらいで点滅していれば良しとします。割り込み動作が正常でない場合にはLEDは全く点灯しないか、点灯しっぱなしになります。



スイッチ読み込みとトライアック・トリガ信号の確認

スイッチの読み込み動作はMPLABのシミュレータでは確認ができません。そこで、以下のような試験プログラムを作成してスイッチの読み込み動作確認とトライアック制御のトリガ信号の確認を行います。

タイマー1のスイッチ読み込み処理で読み込まれたスイッチモード(swx_mode)をトライアック制御データ(triacx)に設定します。スイッチ1の場合、 sw1_mode のデータを triac1 に設定します。これによりスイッチの状態をポートAの信号で確認することができます。


lamp_sw_source.zip
lamp_sw_hex.zip



測定信号はRB0に加わる同期パルス(オシロの画面で下側)とRA0の出力信号(オシロ画面で上側)です。


まず、同期パルスを確認してみます。PICを接続しないで測った値とかなり違っています。パルス幅が約半分以下になっています。これはPICのプルアップ抵抗値が3kΩより小さいためと思われます。今回の装置の動作上に支障はありません。

こちらは同期パルスの間隔を計測したものです。
交流電圧の周波数は50Hzなので、同期パルスの間隔は10ミリ秒になっています。

BCDスイッチを0または1にしたときの画面です。
同期パルスを検出してから1ミリ秒後にトライアックの制御信号がONになっています。
今回の装置ではトライアック制御用データ(triacx)を0にしても、制御信号が出るまで1ミリ秒かかります。

BCDスイッチを2にしたときの画面です。

BCDスイッチを3にしたときの画面です。

BCDスイッチを4にしたときの画面です。

BCDスイッチを5にしたときの画面です。

BCDスイッチを6にしたときの画面です。

BCDスイッチを7にしたときの画面です。

BCDスイッチを8にしたときの画面です。

BCDスイッチを9にしたときの画面です。

スイッチの読み込み処理およびトライアックの制御信号処理が正常に行われることが確認できました。



交流電圧の確認

前項の確認では制御回路だけを使用して駆動回路の制御信号を確認しました。今度は制御回路に駆動回路を接続し、ランプに加わる交流電圧の状態を確認してみます。
使用するソフトは前項と同じソフトを使います。負荷としては60Wの電球を使用します。家庭に来ている交流電源は片方の線が接地されています。ですから測定回路が短絡しないように絶縁トランスを使用しています。また、絶縁トランスの片方は制御回路の接地に接続しています。これはオシロスコープの接地を共通にするためです。
せっかく駆動回路を絶縁トランスで分離したのに接地線を制御回路に接続したら電流が流れてしまうのではとお考えの人もいらっしゃるかもしれませんが、電気回路はプラスとマイナスの線を接続したときに電流が流れるのであって、片方の線だけを接続しても電流は流れません。


BCDスイッチを0または1にしたときの画面です。

BCDスイッチを2にしたときの画面です。

BCDスイッチを3にしたときの画面です。

BCDスイッチを4にしたときの画面です。

BCDスイッチを5にしたときの画面です。

BCDスイッチを6にしたときの画面です。

BCDスイッチを7にしたときの画面です。

BCDスイッチを8にしたときの画面です。

BCDスイッチを9にしたときの画面です。
電球の明るさはBCDスイッチが0、1、2まではほとんど変わりません。点灯状態です。
3から徐々に暗くなります。
8ではほんのりと点灯している状態で、9ではほとんど消えている状態です。
5以上の状態では明るさの変化が目立つので、制御ステップを増やしたほうが良いのかもしれません。
実装するソフトウェアではステップを20にすることにしました。