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

製作編42

簡単な動作確認で発覚した、電源オフ時のボツ音対策を行います。

電源オフ時ボツ音発生状況

問題点の2つ目は、電源オフ時のボツ音について対策検討します。現状は、電源オフするとリレーの電源もオフする事でボツ音を防ぐ設計となっていましたが、リレーオフのタイミングが遅く、対策にはなっていませんでした。電源オフ時のアンプの+12V電源と、アンプ出力波形の確認結果を改めて掲載します。

黄色が電源波形で、青がアンプ出力波形です。電源オフから約30ms後に出力にノイズが発生しています。続いて電源オフ時のリレー駆動用電源波形を確認してみます。

黄色がアンプ用+12V電源で、青がリレー駆動用(マイコン用)電源波形です。マイコン用電源は負荷が軽いため、アンプ用電源電圧が下がっても、+12Vの電圧を維持しています。これでは、リレーオフのタイミングがボツ音発生に全く間に合っていません。

対策検討

幸いマイコン系の電源が電源オフ後に12Vを維持している事から、マイコンでアンプの+12V電源を監視し、電源オフを検出したらリレーをオフする制御を追加する検討を行います。具体的には通常動作時に処理されるMain Loopに電源監視関数の追加を検討します。ソースの修正に入る前に、通常動作時のMain Loopの処理速度の確認をしておきます。あまりにも時間がかかっていれば処理が間に合わない為、最終手段として割り込み処理の検討が必要になります。確認はMain Loopの先頭にトグル動作するポート出力処理を追加しました。下記は処理追加部分です。

D8に出力を追加しています。実際に動作させてオシロスコープで信号をモニタしてみました。

この結果を見ると、644usでMain Loopが処理されている事がわかりました。この速度であれば、割り込み処理を使わずに電源オフ時にボツ音が発生する前にリレーオフ制御ができそうです。

対策追加

+12V電源の監視は、分圧した電圧をマイコンのアナログ入力ポートで読みとります。分圧抵抗は電源出力の誤差も考慮して11KΩと6.8KΩとしました。電源電圧が12Vの場合のアナログポート入力電圧は約4.6Vとなります。アナログ入力ポートはA4を使います。電源監視機能を追加したマイコン回路図は以下のとおりです。

幸いシールド基板には空きスペースがあったので、電源入力用端子台と分圧抵抗の実装は問題ありませんでした。

ソースの変更は電源監視用のget_pow()関数を作成し、通常動作時に処理されるcase 3へ処理を追加しました。ソースの構造は以下のとおりです。

また、追加したget_pow()関数は以下のとおりです。

まずは、処理追加によるMain Loop処理速度への影響を確認します。

この結果を見ると処理追加により、実行時間が644usから752usに増えましたが大勢に影響はありません。どきどきしながらスピーカーをつないだまま電源オフしてみました。やったー、電源ボツ音はなくなりました。念のため、動作時の波形確認を行いました。

黄色がリレー制御信号で、青な+12V電源です。電源オフにより電圧が下がり始めてから236usでリレーがオフしていました。ボツ音対策としては十分余裕がある結果となっていました。電源オフのタイミングによりリレーオフ時間がばらつく為、何回か試してみましたが、最長でも1ms以内にはリレーオフができていました。現状の対策で電源オフ後、電源ランプが1回半点滅して電源が落ちています。格好が悪いので、電源オフ検出時は電源ランプをミュートモードには移行させずに、単純の電源ランプを消灯するように変更しました。また処理速度をあげる為に、Main Loop時間測定用ポート処理もコメントアウトしました。ソフトの最終仕様は以下のとおりです。

本日の対策は、気持ち良く決まりました。次回はコールドスタート時の発振対策を行いますが、今回ほどすっきりといかないと思います。

 

つづく(製作編43)