目次PIC回路集ライト・コントローラー


ライト・コントローラーの改善




制御電圧波形観測
    この装置を最初に作成したときのソフトでは、ランプを制御するためのパルスを9.8KHz(周期102.4μS)にしました。10Wのランプを制御し、うまく制御できているように思えたのですが、細かく調べると改善する必要があることが分かりました。
そのときの出力電圧を確認すると以下のようになっています。

VR=20%

VR=50%

VR=70%
VRが80%では常に出力はHレベルになりました。

    これを見ると立ち下がりの波形がシャープではありません。これにより以下の現象が生じます。
      (1) 波形の立ち下がりが少し緩やかなので、暗い方と明るい方の制御がスムーズにできません。
      (2) また、FETでの電力消費が多くなります。

    立ち下がりが緩やかになる原因はいろいろ考えられます。主な要因はFETのOFF特性によるものと思われます。データシートを見ると無負荷時に2SJ471がOFF状態になる時間はON状態になる時間のほぼ10倍であることが判ります。
 VRが50%の場合の各ポイントの波形を観測すると以下のようになっています。

B点の波形はTR1により上下が反転しています。
A点の電圧は波形を見やすくするために調整しています。




改善
    ハード回路を直すのは面倒なので、ソフトウェアのみで改善することにしました。 方法は制御パルスを低速にするという方法です。PWMの周波数を610Hzにしました。元々10KHz近くで制御する必要はありませんでした。

今回の改善の結果、出力電圧は以下のようになりました。

VR=20%

VR=50%

VR=80%

    波形が改善しているいうに見えますが、周期が16倍になったためにそのように見えるだけで立ち下がり時間は変わっていません。パルスの周期が長くなったのでFETの電力消費は改善されています。

    ソフト変更箇所はタイマー2のプリスケーラ値を1:1から1:16に変更しました。

    変更前
    041
    042
    043
    044
            movlw   d'255'          ;Period=102.4usec(9.8KHz)
            movwf   pr2             ;Set PR2 register
            bcf     status,rp0      ;Change to Bank0
            movlw   b'00000100'     ;Post=1:1 TMR2=ON Pre=1:1

    変更後
    041
    042
    043
    044
            movlw   d'255'          ;Period=1638.4usec(610Hz)
            movwf   pr2             ;Set PR2 register
            bcf     status,rp0      ;Change to Bank0
            movlw   b'00000110'     ;Pst=1:1 TMR2=ON Pre=1:16

    タイマー2の設定値は255のままです。これを変えてしまうとA/Dコンバータの最大値(255)になる前にPWMの出力が常にHレベルになってしまいます。

    可変抵抗器による電圧の取り込み周期(1mS)は変えていません。
    A/D変換した値をCCPR1Lレジスタにセットしますが、その値がPWM制御に反映されるのは、次の周期のPWM制御のときです。PWM制御が行われる前にCCPR1Lレジスタが複数回書き換えられても問題はありません。