自作電子小物/開発情報/オーディオミニアンプ0.2 改良
自作電子小物/開発情報/オーディオミニアンプ0.2 改良
Audio amplifier mini V0.2-4
2019年2月24日日曜日
ーーー 目 次 ーーー
6. 改良
6.1 消費電力削減
6.1.1 回路変更
(1) 部品選定
(2) 回路シミュレーション
(3) 回路図
(4) 基板修正
6.1.2 ソフトウェア変更
(1) ソースコード修正
(2) リビルド、インストール
6.1.3 動作確認
(1) スピーカ出力波形
(2) 音質
(3) 消費電力
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
6.改良
6.1 消費電力削減
実際の消費電流を実測すると、ボリューム位置に関わらず、常時大きい消費電流が流れているのを目の当たりにしました。これは、スピーカのPWM駆動を2値制御としている事に起因します。音質的には間違い無いので、これを承知で、この方式を採用した訳です。
バージョン0.1でも設計当初3値制御にしたかった訳ですが、PWM駆動電圧を可変にした事で、設計上複雑な条件付けになってしまい、実際、音質的に不満が出るケースがありました。そのため、音質的に良好だった2値制御になった経緯があります。
今回のバージョン0.2では、PWM駆動電圧を固定にしましたので、3値制御にハードルはありません。そこで、3値制御化による消費電力の削減と、音質上問題ない事を確認したいと思い改良を行います。
6.1.1 回路変更
(1)部品選定
・3値制御の対応するブリッジコントローラ/ドライバ
A4953かNJW4800が候補ですが、どちらも9V位の電源が必要で、出力容量がオーバスペックです。A4953はモーター用ドライバなので、BD6211のように3値制御不可の可能性があります。
・MOS-FET単体でブリッジ
適当なMOS-FETを探しました。
秋月電子で入手可能なものを中心に、小電流のMOS-FETをピックアップして、注目の仕様をリストにしたものです。条件としては、
・IDが1A以上
・Cissが100pF以下
・Qcが3nC以下
・VGSが3.3Vで制御可能
・P型/N型で特性が似ているもの
やはり、1A級で入手しやすいものはなく、大きい容量のものを選択せざるを得ない状況です。この場合、ゲートドライバなどで2段構えの回路が必要になり、複雑化/部品数の増加で好ましくありません。
結局、IRLML2246/2402の組み合わせしかありませんでした。IRLML2246は、データシートでロードスイッチ用途となっており、高速スイッチングは難しいかもしれません。実際Cissの条件も1kHzとなっていて怪しいのですが、たかだか40kHz位のスイッチングなので、大丈夫ではないかと踏み切りました。IRLML2402はたまたま、過去にDigi-Keyで入手していたものなので、やはりDigi-Keyなどの多品種を扱う部品屋を利用する必要があります。これだったら、もっと良い品種があったはずですが、今回はこれでいきます。
(2)回路シミュレーション
次に、具体的な回路を引きますが、LTspiceで回路シミュレーションをしておくと安心です。 IRLML2246,2402 のモデルデータは Infineon のサイトでダウンロードできます。回路ファイルと同じフォルダにモデルファイルirlmlxxx.spiを置いて、ディレクティブで図のように書くと取り込みできます。実際の部品は、普通のpmosコンポーネントを配置し、右クリックでアトリビュートを表示させ、Prifix=X value=irlml2246trpbf の2箇所を変更すれば適用されます。間違っていれば「Run」時にエラーメッセージが出ます。
V1,V3はゲート信号で100kHz/デユーティ30%,70%を設定、V2がスピーカ駆動用の電源です。真ん中のコイルと抵抗は4Ωスピーカの代わりです。
ゲート駆動は3.3V, ドレイン〜ソースには5Vと電圧差がありますので、PMOS-FET(IRLML2246)のゲート駆動に一工夫が必要です。工夫なしに3.3Vでオン/オフしようとすれば以下のように、絶対オフにならない事態になります。
IRLML2246ゲート条件は:VGS(on)=-1.5V以下 VGS(off)=-1.1V以上
3.3V-5V=-1.7V -> ON
0.0V-5V=-5V -> ON
そこで、5Vラインとの間で分圧させて、うまく閾値を調整します。以下は150:330=31%の例です。
(3.3V-5V)*0.31=-0.53V -> OFF
(0.0V-5V)*0.31=-1.56V -> ON
抵抗の定数は、計算が面倒なので、シミュレータで電流波形を確認しながらピークでも20mAを超えないように試行錯誤で決めました。
ゲート電圧の様子です。緑/紫はP側、赤/水色はN側です。設計通りの波形です。
ドレインの電圧変化です。緑がM1/2側、青がM3/4側です。
スピーカに流れる電流です。
各FETのドレイン電流値の状況です。ゲートを余裕なしに駆動する設計にしましたので、貫通電流が気になるところです。針のような瞬間的な電流はありますが、許容範囲です。色々定数を変えていると増えたりしますので、やはり余裕のない設計です。やはり、小出力では許されるものの、これ以上の出力ではゲートドライバは避けて通れないようです。
(3)回路図
部品表
(4)基板修正
スピーカドライバ部分はサブ基板にしているので、差し替えで対応。
小さい部品なので、はんだ付けは細かい作業になります。サブ基板単独で電源を投入したら、大電流が流れてしまいました。考えられるのは、ゲートの配線間違いで貫通電流となったか、電源を逆につないで寄生ダイオードを貫通しているかぐらいでしょうか。見直してみると、P型とN型のFETを逆に部品配置してしまっていました。破壊されている可能性がありましたが、ダメ元で配線を変更して使ってみましたが、大丈夫でした。数秒しか通電させていないので、熱破壊などには至らなかったと思われます。
本体側の改造は一切なく、サブ基板を交換するだけです。
6.1.2 ソフトウェア変更
(1)ソースコード修正
ソフトウェアを変更しない場合、2値制御での動作となります。
3値制御対応は「main.c」のソースコードを修正します。
”#define PWM2_FULL”をコメントアウトし、”#define PWM3B”の定義を有効にします。
3値(3レベル)制御については、A式とB式を用意しました。
<A式>(PWM3A)
一番単純な考え方で、正側と負側で別々に2値(2レベル)制御のようスイングさせる事によって、元の波形を再現させる手法です。
<B式>(PWM3B)
2値制御のように常にスイングさせますが、異相の部分だけが電流が流れる事を利用します。
・H-L -> 電流は流れる
・L-H -> 電流は逆に流れる
・L-L -> 電流は流れない
・H-H -> 電流は流れない
下図に波形例を示します。上半分は正/下半分は負の場合です。グラフは、PWMモジュールのカウンタの変化を表したものです。Lを出力信号レベル(符号付)とします。
正負判定ロジックが不要で、単純な加減算だけで実装できる利点があります。常に、スイングさせるのは結構強引なやりかたのように思えますが、繰り返し動作はある意味安定動作的な所もあります。放射ノイズ的には不利だと考えられます。この方式は、D級アンプ素子か何かのデータシートを見ている時に知ったもので、特許に抵触するかは判りませんので、商用にはご注意下さい。
(2)リビルド、インストール
通常通り、ビルドしUSBでつなげてダウンロードします。
6.1.3 動作確認
(1)スピーカ出力波形
実際に8Ωのスピーカを接続し、オシロスコープで左スピーカ端子の電圧を計測しました。 黄色が正側/緑が負側です。
2値制御:
綺麗な方形波ではありませんでしたが、この程度は許容範囲。
3値制御A:
適当な音源を鳴らした時の状態。
3値制御B:
適当な音源を鳴らした時の状態。分かりにくいですが、若干のデユーティ比の違いがあります。
差の波形を見たものです。
440Hzの正弦波、ボリューム100%。
(2)音質
実際に耳で聞いた時の感じをまとめます。
55, 110, 220, 440, 880, 1760, 3520, 7040, 14080Hz(A/ラ音の倍数)正弦波で視聴。
・2値制御:良好、特に問題は感じられない
・3値制御A:可、低音量時の音質低下(かさつき感)
・3値制御B:良好、特に問題は感じられない
3値制御Bの選択とします。電源オン/オフ時の「ブチ」音がなくなったのは良かった。
(3)消費電力
3値制御Bの時の実測結果です。(使用した音源は440Hz正弦波、8Ωスピーカ、ACの測定はWHM0.6.5使用)
期待通りの結果で問題ありません。
(4)キャリア周波数変更
PWMのピリオド値(キャリア周波数、搬送周波数)は、サンプリング周波数と同じ44.1kHzとしていましたが、これはブリッジドライバの制約から決定したものです。今回、この制約はありませんので、最適なキャリヤ周波数を選べます。
仕組み的に、サンプリング周波数の整数倍となります。STM32CubeMXで、TIM1モジュールのコンフィグレーションで、Period値とRepetitionCounter値を変更すれば、キャリア周波数を変えられます。ソースコード生成とIDEでリビルドすれば対応完了です。(BTへの再対応作業[usb_host.c修正&最適化-O3再設定]は必要)
一般的にオーディオPWM変調のキャリア周波数は250kHz〜1.5MHzらしい(Maximのアプリケーションノート参照)のですが、そんなに高い周波数でなくとも、そこそこの音は出ます。AM放送にかぶる周波数帯なので、500kHz以下にした方が良いとは思います。長波帯のJJY40kHz/60kHzへも、高調波の影響が出ない方が良いでしょう。
実際、試してみると8倍ぐらいから消費電流が増加しましたので、スイッチング動作に無理が出ているものと思われます。やはり、心配していたPMOS-FETのスイッチング速度がネックの可能性が考えられます。
視聴した時の音質は、どの倍率でも大きな差は感じられませんでした。
なんでも良かったのですが、しばらくは最大の7倍の設定(308.7kHz)で使ってみることとしました。→倍率を上げるとアナログ入力部へのノイズ混入(自家中毒的なもの?)が出てきます。また、ノイズ放射の影響も大きくなっていくような感じです。
以上
The audio amplifier mini.
Signal source is a bluetooth and line input.