TDA7296を試してみる!の巻き 2024.12.6
LM3886以外も試してみよう
ICアンプとしてLM3886が結構有名で、いくつか基板を作成しました。
ちょっとTea Time!? LM3886は汎用DCパワーアンプに使えるか?
LM3886のパラアンプを調べてみる!の巻き。
LM3886アンプをリニューアルする!の巻き
LM3886BTL-2も実現するか?
検討記(お気楽アンプ2)
以前はLM3886も安価でしたが、半導体不足や物価高の影響か知りませんが、
今では1000円以上とかなり高くなっています。そこで、同じくらいの仕様で他のモノもないかな〜
と色々とさがしてみました。
大出力になると、ほとんどがDクラスアンプになってしまっていて、LM3886と同じような
ABクラスアンプってかなり少なくなっているようです。その中で、下記を見つけました。
TDA7294 100W(MAX±40V) 約1400円 データシート:tda7294.pdf
TDA7296 60W(MAX±35V) 約900円 データシート:tda7296.pdf
この2つは出力が違いますが、ICパッケージやピンレイアウトは全く同じです。
それならば、大出力の方がいいかな〜とも思ってしまいましたが、自分のシステムでは
そんな大出力は要らないし、それに後でも述べますが電源電圧40Vはちょっと不味いな〜
と思うところがあって、今回は60W出力のTDA7296を使ってみることにしました。
今回はこれを使ってみます。出力段はMOSをつかっているようです。出力も60Wあるので十分です。
TDA7296を調達です。ピンは千鳥ですがピッチは2.54mmなので
無理すれば蛇の目基板が使えます.
MUTEがロジックレベルで使えます
データシートをみてみると、このICはMUTEやSTANDBY機能が使えます.
ホームオーディオにつかう場合にはSTNADBYってあまり使わないような気がしますが、
外付けのサブウーハなどのように常時電源は入れられそうな機器には必要なのでしょうね。
無音時がしばらく続いたらSTANDBYにするなどの外付け回路は必要ですが。
データシートに記載されている適用例です。STANDBY、MUTE機能が使えます。
何がこのICで気に入ったかというと、ロジックレベル(5V)でMUTEやSTANDBYが使えることです。
電源投入時においては、MUTEなどはCRの時定数で遅らせた信号を加えることができますが、
電源OFF時にはあまり役に立ちません。ぎゃくにCR時定数のおかげで、MUTEが遅れる可能性もあります。
その点、MUTEがロジックレベルで制御できるとなると、PICを1個載せて電源電圧の監視もさせれば
電源OFF時に素早くMUTEが使えます。
MUTEやSTANDBYはロジックレベル(5V)で制御するようです。
40Vはすこし高いかな〜
PICを1個乗せるとして、5Vの電源が必要です。ここで直ぐに思いつくのが7805などの搭載です。
これ1個で5Vが簡単に生成できます。しかし、ここで問題は7805って最大入力電圧が35Vです。
そのためアンプに40Vが供給可能なTDA7294では、このレギュレータは使えません。ならば最大電圧
35VであるTDA7296でいいじゃない、.ということで今回はTDA7296を使いました。
基板を作ってみました
ICピンが千鳥配置なので、やはり専用基板があると組み立ても楽なので、
適用例の回路図を見ながらいきなりパターンを作成して基板を作ってみました。
アンプ部分とコントローラ部分には明確な境界線を入れています。
細かいMUTE制御をしない場合はコントローラ部分はまったく不要な形にしました。
いきなり基板を作ってみました。
甘いなあ〜
パターンのチェックが甘かったせいか、GND配線抜けが3箇所ありました。
組み立てる前に、ベタGNDと接続できるように、レジストをカッターで事前に剥いでおきました。
チェックが甘かったせいか、3箇所のGND接続抜けがありました。
組み立て
部品の点数も少ないので、一気に組み立てです。コントローラ部分はまだ使いませんが、
部品だけ載せておきました。必要なのは外部MUTEスイッチをつかうためのプルアップ抵抗と、
電源監視のための電圧分圧用の抵抗です。ICはまだ載せません。
基板が組みあがりました。コントローラ用のICはまだ未搭載です。
ICには小型でよいので放熱板を取りつけておきます。電源用の電解コンデンサがすこし
邪魔な位置になってしまいました。ご愛敬です。
ICの取り付けネジの軸線上にすこし電解コンデンサが被ってしまいました。
動かしてみましょう!
組みあがったので、早速動作させてみます。最初はコントローラは搭載しないので、
適用例の回路図にあるようにCR遅延でSTANDBYとMUTEを解除します。
下図のように、MT(MUTE)とSB(STANDBY)は5Vラインに接続しておきます。
まずはCR遅延でSTANDBYとMUTEを解除する接続で動作です。
動作確認時の様子です
周波数特性は良好
今回の作成ではゲインは21倍としました(帰還部分の抵抗は20kΩと1kΩ)。
まず無負荷でテストですが、200kHzでもフラットな特性です。500kHzを越えると、
すこし歪がでてきますが、十分な特性でしょう。
1kHz時(上:入力100mV/Div,下:出力2V/Div)
20kHz時(上:入力100mV/Div,下:出力2V/Div)
200kHz時(上:入力100mV/Div,下:出力2V/Div)
まだまだ波形は綺麗です。
580kHz時(上:入力100mV/Div,下:出力2V/Div)
ここまでくると波形が歪んできました。
消費電流ですが、24V動作時で負側が43mA、正側が51mAでした。
正電圧がすこし高いのは内部のMUTEやSTANDBY制御や、外付けの5Vレギュレータがあるのも一因でしょう。
無負荷時でも2.4W程度の消費電力になるので、消費電力を考えた場合はSTANDBYはやっぱり必要なのでしょうね。
まあ、電力の無駄の多いオーディオ機器から考えれば2.4Wくらいは誤差みたいなものですね(笑。
無負荷時でも2.4W程度の電力を消費しています。
ちなみに、STNDBYをかけるとどのくらい電力が落ちるか調べてみました。
STANDBYをかけてみました(ついでにMUTEもかかっています)。
STANDBYをかけると、消費電力が一気に落ちます。
電源ON/OFF時のポップノイズはいかに?
一度、スピーカを繋いで試してみましょう。
安物のスピーカを繋いでテストです。
設定をもとに戻します。
結果は、電源投入時は小さく「ボツ」と音がでました。
で、電源OFF時は「ボコ」とすこし大きな音とスピーカのコーンが結構動きます。
電源OFF時の挙動は想定内ですが、電源投入時はもうすこしポップ音が小さくても
いいのだけどなあ〜という感じです。これって、CRの時定数が小さいためなのかな?
それともIC内部の回路も問題なんだろうか?
やはり、マイコン制御でSTNDBAYとMUTEを余裕をもって動作させるようにした方が
いいのかもしれません。
回路図の抵抗値は反対では?
電源OFF時のポップノイズはいいとして、電源投入時に小さくても「プチ」というのは
すこし引っかかります。STANDBYとMUTEの投入時のシーケンスをみると、
最初にSTANDBYを解除したのち、次にMUTEを解除することになっています。
これは至極まっとうな順番です。
電源投入時はSTNDBYを解除したのにMUTE解除です。
しかし、適用例の回路図をみると、CR時定数がすこし変です。
C3,C4の容量は同じなので、抵抗値で時定数がかわりますが、STANDBYの方が
抵抗値が大きいです。すなわち、MUTEが解除されてからSTANDBYが解除される
ような流れになっています。これって逆じゃね?
取り替えてみましょう!
CRの時定数をみると、MUTEの方がSTANDBYより先に解除されています。これじゃあ?
ポップノイズでるのでは?
R4,R5の定数を入れ替えてみましょう。
結果は電源投入時のポップノイズが小さくなりました。無音というまでには
至りませんンが、スイッチを入れる機械音にまぎれそうです。
マイコン制御にしてみましょう
まずは下準備です。STANDBYやMUTEに接続されているCRは不要なので
取っ払います。あったままで大丈夫とは思いますが、邪魔な時定数になるので
とっておいたほうが良いでしょう。
この部分は不要になりました。
部品をとって、パッドも綺麗にしておきました。
ここで、一度通電してSTANDBYとMUTE端子の電圧を測定しておきます。
STANDBY: 約0.6V
MUTEY: 約0.64V
(どちらも±20mVくらいフラフラ
なにが知りたかったかといえば、STANDBYとMUTEは開放時にはどういった
IC内部状態かということです。どちらの電圧も0.6V程度なので、STANDBYならびに
MUTEはどちらもアクティブということです。ということはPICと直結可能ということです。
STANDBYもMUTEも0.6Vであればどちらもアクティブ状態(高減衰)になっています。
しかし、電圧が±20mV程度とはいえフラフラしているということは、かなり入力インピーダンスが
高そうです。そのため、安全のために22kΩでGNDへプルダウンしておいたほうが安心です。
なお、プルダウンすることでSTANDBYとMUTE端子はどちらも、1mV以下に落ち着きます。
マイコン接続のためすこし変更。C3,C4にはプルダウン抵抗(22kΩ)を入れて、
R4,R5はジャンパ線です。
PICの動作仕様
どのように動かすかを考えておきましょう。
電源投入時
1. 1秒後にSTANDBYを解除
2. STANDBYを解除後の0.5秒後にMUTE解除。
MUTE解除直前に電源電圧をサンプリング(Vmax)
3.以降はMUTEスイッチに応じてMUTE制御
電源OFF時
常に電源電圧を監視
1.電源電圧がVmaxの70%以下(*1)になったら下記を実行
即MUTEを起動
MUTE起動後の10ms後にSTANDBYを起動
(併せてPIC出力をフロートに)
2.電源を監視し、最低電圧を記録継続。
電圧上昇が20%以上観測(*2)されたら、CPUをリセット
(*1) TDA7296の最低動作電圧は±10Vですが、実際の動作電圧は
±15V以上と想定しているので、最低動作電圧を下回らない
30%の電圧低下で電源OFFと判定します。これがあまり厳し(例えば10%)
とかにすると、大出力時に電源電圧が低下して電源OFFとみなされる可能性
がでてきます。
(*2) 電源SWをOFFにしても、すぐに再ONする場合もでてきます。
電源コンデンサの容量が大きいと、なかなか電圧が下がらない(とくに
STANDBYモードになると極端に消費電力が低下する)ので、一度PICが
電源OFFを検知してスリープすると、完全に電圧が低下するまで次回の電源
投入ができなくなります。これを避けるために処理です。
#さて、プログラムは新幹線の中ででも書いてみるか〜。
#週末に久しぶりに秋月に寄ってみるかな?
PICのプログラム作成完了 2024.2.10
プログラム自体は簡単なのですが、それでもデバッグすることになりそうなので、
各ピンの出力にLEDをとりつけて、プログラムの動作状況がわかるようにしました。
端子にLEDを接続してデバッグです。
どうかな?
さて、PICによるSTANDBYとMUTE制御の効果はいかに。
結果的には電源On/Off時のポップノイズはほとんど出なくなりました。
CR時定数をつかうと、どうしてもゆっくりと制御電圧が変化してしまいますが、
PICで制御すると制御電圧が瞬時に切り替わるのでそれが効を奏したのでしょう。
ちなみに、「ほとんど」と書いたのは、どうやらMUTEのON/OFF時にわずかに音がでます。
SPに耳を近づけてわかる程度なので、気にはなりません。でも、すこし気になるので
何が起こっているかと出力端子の電圧を観察してみると、MUTEのON/OFF時に
出力電圧が約7mVほど瞬間的に変動するようです。わずかな量ですが、音としては
人間の耳には聞こえてくるレベルのようです。
ステレオにしましょう!
試聴するために、もう1枚基板を組み立てます。
STANDBY、MUTE信号はもう1枚のマスター側から貰いますから、5Vレギュレータを含めて、
かなりの部品を省略することができます。
基板をくみたてたら、すこし大き目の放熱板に1枚目も含めて取り付けます。
2枚目を作りました。かなり部品点数を省略することができます。
2枚ともすこし大き目の放熱板に取り付けました。
負荷テストをしてみましょう!
5Ωの抵抗負荷を接続して波形を観察です。
負荷をかけると、周波数特性などがすこし変わってくるので、
その確認です。
5Ωの負荷抵抗を接続してのテストです。
電源電圧は20Vに設定してテストです。
出力振幅15V(30Vpp)にして、周波数を上げて行きます。
20kHz時では全然問題ありませんが、100kHzまであげると
すこし負側で歪が生じかけています。振幅を10Vまで小さくすると
その歪は解消されました。無負荷時に比べると、当然ですが
すこし周波数特性が悪くなりますが、実用範囲では問題ないでしょう。
周波数20kHz。出力振幅15V(30Vpp)。P=22.5W
綺麗な波形です。
周波数100kHz。出力振幅15V(30Vpp)。P=22.5W
すこし負側で歪がでかかっているようです。
周波数100kHz。出力振幅10V(20Vpp)。P=10W
振幅を小さくすると出力も綺麗になりました。
試聴してみましょう!
小型の2WAY-SPをつかって試聴です。DACはDAC4497-2.1を使いました。DACの電子ボリュームをつかっています。
電源はトロイダルトランスをつかったもので、出力電圧は整流後の無負荷時で±22Vをだすことができます。
2WAY-SPを使って試聴環境を整えました。ソースとしてDAC4497-2.1をつかっています。
アンプの電源はトロイダルトランスをつかったものです。整流後出力は22Vあります。
試聴には久しぶりにABBAのアルバムを引っ張り出してきました。
普通に、元気よく鳴ってくれます。LM3886との違いなんてよくわかりません(笑。
気分が良いのは、電源のON/.OFF時のポップノイズがほとんどないことです。
先述のようにMUTEのON/OFF時にかすかに聞こえますが、無視できるレベルです。
もうちょっとソフトの修正が必要
つかっていて、電源のON/OFF時の処理にもうすこし修正が必要なことが判明です。
電源電圧が稼働時の20Vから、電源をOFFにしても10Vまで低下するまでは、再度電源ON
しても立ち上がるようにしています。しかし、一度電源電源電圧が10V以下なったら、
CPUはスリープするようにしているのですが、TDA7296がSTANDBYモードになると、
消費電流が急減するのと、PIC自体も電圧が低下すると消費電流がかなり落ちてしまいます。
そのため、電源電圧が10Vくらいから、PICが完全に停止するまで(恐らくPICの動作電圧で2V以下)
の時間がかなりかります。その間に電源を投入したとしても、スリープのままを保持しているので、
PICが再起動しません。対策としては電源電圧が落ちやすいように電解コンデンサに一定の
抵抗値を挟んでおけばいいのですが、稼働時には無駄な消費電流です。
そのためPICは自分自身が停止するまで、電源監視をしてPICがダウンするまで電源の再投入
を検知させるように修正が必要なようです。
7805の入出力特性を測定しておきましょう
ここで、すこし7805の入出力特性を測定しておくことにしました。
というのも、この特性が電源監視の処理ルーチンを考える上で重要になってきます。
今回使っているPIC12F615は10BitのADCをもっています。
ADCの変換範囲は0V(0)〜Vcc(1023)になるため、PICの電源電圧が変化したときに
電源監視のAD値がどのような値になるかを把握するためです。
そこで、手元にある78N05をサンプルにして、入出力特性を測定し電源監視時のAD値を
換算してみました。なお、PICでの電源監視としてはAD入力に元電源の1/7.8(10kと68kΩで分圧)
したものを入力しています。
測定して分かった結果は以下の通りです。なお78N05の負荷として7.5kΩの抵抗を入れました。
* 78N05では入力電圧が6.5V以上で出力電圧は5V以上になる(負荷抵抗7.5kΩ時)
* PICの動作電圧の下限を1.5Vとすると、78N05の入力電圧下限は3.5Vになる。
* PICでの電源監視のAD値は、電源電圧が6.5V以下では電圧が低下するに従い
反対に漸増する。PICの動作下限まで考えるとAD値は300(電源電圧で12Vに相当)
まで増加する可能性がある。
さてさて、どういう処理ルーチンにしようかな?
78N05は以前に「現品.com」で沢山買いました。
PICの動作下限が1.5Vとすると、レギュレータ入力電圧が3.5Vまで動いていそうです。
電圧が低下すると、電圧モニターのAD値が急増して、電源再投入と誤認識する可能性があります。
入力電圧(電源電圧)に対するPICの電源監視のAD値
Brown-Out機能がありました!
こういう時にはBrown-outがあればなあ〜と思ってしまいます。
PIC12F615はかなり下位のPICなので、Brown-outなんてないだろうな〜と思い込んでいましたが、
調べてみたらありました。Brown-outとは電源電圧が一定以下に下がると、内部リセットがかかる機能です。
上位のPICだとBrown-outの電圧が選択できたりしますが、そこまでできなくてもあるだけでかなり違います。
PIC12F615の場合だと標準で2.15Vになるようです。最低でも2Vです。
PIC12F615にもBrown-out機能がありました。
この機能を前提にして、電源電圧が一度10Vを下回った場合には、
100msごとに電圧をサンプリングして、再度10V以上となった場合は
CPUをリセットする機能をつければ良さそうです。
これで、電源スイッチの再投入のタイミングは任意にできそうです。
これでソフト完成です。
電源ON/OFFテストでも問題なしになりました。
回路図を書いておかなくっちゃ! 2024.12.12
回路図です。
製作資料もまとめました 2024.12.15
PA7296Manual.pdf
制御用のPICのバイナリー(PIC12F615)です。
(PICライタをお持ちの方はご自由に)
基板、TDA7296をリリースしました。
(つづく?)