終段スイッチング電源検討(製作編6)

製作編6

出力保護制御用最終ソフトdemo2のデバッグと動作確認を行います。

demo2

改めてマイコンの回路図とdemo2の構造まとめを掲載します。

コンパイルのエラーをなくすにはあまり時間はかかりませんでした。デバッグ環境の準備を行います。信号は発振器で生成して、それを製作済みのDCオフセット検出回路に入力します。その出力をマイコンのDCオフセット検出用のアナログ入力ポートに接続します。これでデバッグ環境の準備は完了です。

demo2デバッグ

マイコンの入力ポートのレベルをみながら10Hzの正弦波を入力しましたが、なかなか思いどおりの動作をしません。見つけたミスを1つづつ修正し、その都度動作の確認を行いました。何度か修正を繰り返し、ようやくDCオフセット検出し、ミュート動作を確認しました。下記が検出時のDCオフセット検出回路入力とその出力波形です。

入力信号は10Hz/2Vppで、黄色が入力信号で、青がアナログポート入力信号です。しかし、この波形おかしいです。この時の設定は、判定値1V(DCオフセット100mV相当)で検出ホールド時間を100msとしていました。青の波形を見ると、1Vを越えている期間はたかだか10ms程度です。検出ホールド時間判定が機能していないと考えられます。一旦検出ホールド時間を50msに変更してデバッグを進めました。何点かバグが見つかりましたが一番影響の大きかった点は、ホールド時間を判定する為のタイマーの初期値が常に0で上書きされていて、DCレベルオーバー判定後のホールド時間判定がディレイタイム無しで必ずミュート判定されていました。このバグの特定には、DCオフセットオーバー時に'H'となるデバッグ用の信号出力を追加設定して検討を行いました。下記がデバッグ後の確認信号です。

写真はDCオフセット検出回路へ8Hz/4.4Vppを入力した状態で、黄色がデバッグ用のDCオフセットオーバー信号、青がアナログポート入力波形です。前半は、DCオフセットオーバー信号が判定ホールド時間(50ms)達する前に'L'となった為、ミュートへ移行しませんでした。後半はDCオフセットオーバー信号が50msに達した為、ミュート状態へ移行し、アナログポートのリード処理が行われない事で、DCオフセットオーバー信号が'H'のままとなっています。ここで気づきましたが、判定ホールド時間設定は一種のデジタルフィルターのような効果があり、設定が50msの場合、10Hz以上の信号を検出しないことになります。

判定レベル確認

DCオフセットがなくても、入力信号の周波数が低くレベルが大きい場合DCオフセット検出をします。そのレベルを事前に確認します。方法は入力周波数4Hzとしてレベルを徐々に上げていき、検出動作を確認しました。

黄色がミュートリレー制御信号で青がアナログポート入力信号です。DCオフセット検出回路への入力レベルは0.8Vppです。ミュートリレー制御信号がLとなった時点でミュートします。同様の確認を周波数を変えて行いました。

上から入力信号が5Hz/1.2Vpp, 6Hz/2.1Vpp, 7Hz/2.9Vpp時のものです。周波数が上がるに従って検出レベルが上がっていきます。写真の掲載は省略しましたが、8Hz/4.4Vpp, 9Hz/8.6Vpp, の確認と10Hz/18Vppで検出せずの確認を行いました。上記の結果をグラフ化してみました。

この結果から、通常の音楽再生で誤判定はほぼ起こらないと判断します。次回は順番が逆となってしまいましたが、信号にDCオフセットを加えて正しく検出する事を確認します。

 

つづく(製作編7)