リレーをつかった減衰器(電子ボリューム?)を検討する!の巻き。 2021.6.5

すこし前の自分の投稿です。以前にリレーをつかった電子ボリュームを検討していたのを思い出しました。


自分の投稿ですが、こんなものを検討していたのを思い出しました。

内容的には、リレーと抵抗を組み合わせた減衰器です。ONさせるリレーの組み合わせで0.5dB以下の分解能で制御することができます。
なぜ実現しなかったかといえば、これを検討していたのは2006年で、いまからちょうど15年程前なのですが、当時はPICをほとんど使っていませんでした。
マイコンボードで構成するのには大袈裟なので、頭の中だけでの検討でした。
でも、今ははPICはだいぶ使えるようになってきたので、再度検討しなおしてもいいかもしれません。


電子ボリュームの検討初期にこんなものを考えていました。

ちょうと小さいリレーもあります
この減衰器を検討するときに、小さいリレーの確保が必要ですが、秋月電子からはちょうどいいリードリレーもでています。
小さいだけでなく、5V10mAで動作するのでPICのI/Oにダイレクトに接続してつかうことができます。
ステレオなので2個並列で動作必要です20mA必要ですが、PICの1つのI./Oの最大電流は25mAなので余裕があります。




このリレーを使えば小型に組めそうです。いまなら1個70円で30個でも2100円です。
値上げ後は2700円かあ〜。


ただし、必要なリレーはおよそ30個になります。すべてが動作することを考えると最低でも300mAは必要なのですが、
ちょっときびしそうです。PICの場合、ロジックHで駆動すると最大でも200mAしか流せません。ロジックLで駆動すれば
もうすこし電流を流すことはできますが、それでも最大値は300mAです。オーバスペックを期待する手もありますが、
リレーだけでなくほかにも電流は必要になってくるでしょうから、PICのI/Oにダイレクトに接続するのはやめておいたほうがいいようです。
ちょっと部品点数が増えますが、トランジスタで駆動することにしましょう。


PICから流れ出しで使う場合の最大電流は200mA、引き込みの場合でも最大で300mAです。ちょっと30個のリレーを駆動するには厳しいなあ〜。

基板パターンを描いてみましょう

つかう部品は比較的大きいものばかりなので、パターンの引き回しは余裕があります。

部品面パターン


半田面パターン

積極的に表面実装部品もつかえるようにしましょう。トランジスタにはNPNをつかいますが、2SC1815だけでなく
チップトランジスタも使えるパターンにしておきます。部品箱に結構な数のチップトランジスタがあるので数減らしです。


NPNトランジスタは部品面ならTO-92、半田面ならSOT-23の部品が実装できるようにしておきました。
これでチップトランジスタの在庫もへらしましょう(焼石に水ですが・・・)



リレーも逆電防止用のダイオード内蔵無しの場合でも、外付けできるようにしておきました。
でも、チップダイオードって意外と高いので、最初からダイオード内蔵のリレー買ったほうがいいでしょう。


懸案事項は・・・・・

以前にR-2R型の電子ボリュームを検討したときにはアナログスイッチのチャージインジェクションでのチリチリノイズの抑制が課題でした。
リレーでの切替なのでそのようなノイズは発生しませんが、切替時の減衰量は単純に減少、あるいは増加できるわけではありません。
これは、-10、-20〜-60dBと10dB単位に切り替えるリレーが切り替わるときに、ショートモードで動作させても、最大で10dBの変化が生じます。
例えば、-9.5dB から -10.0dBに切り替わるときは
 -9.5dB → -19.5dB → -10.0dB
というように切替わざるをえません。これは、音量の調整レンジが大きくかわる境界になっているためです。
とうぜん、同じ音量レンジの中であれば変化量は小さくなりますが、最悪時を考えなければなりません。
この変化が音量調整時(ボリュームを回したときに)に気になるレベルなのか、わからないレベルなのかがいまのところ経験がありません。
 ただし、音量が急にかわる時間はかなり短い時間です。

使おうとしているリレーの動作時間は下表のようにON時が0.5ms、OFF時が0.2msです。
うまくリレーの動作を制御できれば、急減時間(過渡応答時間)は100usに抑えられるでしょう。
これが、聴感上どうなるかです。


このリレーの動作速度は比較的早いです。

どうしよう?
 懸案がありますが実験にて確かめようか、それともとりあえず作ってみてから試そうか・・・悩んでしまいます。
 実験するなら、なんでもいいでのボリューム付のDACとかつかって音量変更のときに、わざと-10dBの音量低下を0.1ms〜0.2msほどつければ
 いいのですが、ソフトの変更がかなり面倒だなあ〜。

 とりあえず基板パターンだけ描いておいて、ペンディングです。


とりあえず 2021.6.8

回路図を書いておきました。こうすれば、しばらく経って基板をみても思い出せるでしょう。
しかし、減衰器のところより制御の方が大部分を締めています。
個別に書いたほうがよかったかな〜。


全体の回路図ですが、減衰器のところは一部です。


減衰器のところだけ拡大です。

抵抗値は?

抵抗値は一度は検討しましたが、もっとよい組み合わせがあるはずです。

 ・調整範囲が広い (最低でも−80dB〜0dB)
 ・調整ステップが細かい(最低でも0.5dB)
 ・調整時の音量変化が小さい

これらを同時に満たす組み合わせを考える必要があります。エクセルをつかっての計算だと大変です。
リレーが14個あるので、組み合わせとしては約16000通りあります。
こりゅ、一度プログラムで抵抗値を探索できるようにしたほうがよさそうです。
なんかプログラムも面白そうですが、いつのまにか手段と目的が逆になっているな〜(笑。

基板製作中 2021.6.16
 6/26には納品されそうです。

試作(?)基板が納品されました. 2021.6.25


いつになったら手をつけられるだろう?


ムラムラっと・・・ 2021.6.29

血中アルコール濃度が高くなると半田コテを握りたくなるようで、思わす部品をとりつけてしまいました。
ただし、抵抗器については値がまだ決まっていないこともあり、それ以外になります。
最初にリレーをとりつけてしまうと、抵抗器の半田付けがしにくくなりますが、後先考えずの行動です(笑。

抵抗以外の部品を取り付けてみました。


リレー駆動にはチップトランジスタを使い、半田面に実装しています。

リレー動作の事前確認

この基板ではリレーの動作タイミングが重要なポイントです。前述していますが、リレーのONとOFFの動作時間がことなります。
CPU側で同時にON.OFFすると複数のリレーがすべてOFFの状態(ノンショート)が0.3msほど発生することになります。
リレーはすべてOFFになると、減衰量が0dBになるので最大音量です。すなわち、小音量で操作時に大きなレベルの音が
短い時間ですが入る可能性があります。おそらく、プチという音がでるのかもしれません。
 それに対して、OFFにするリレーのタイミングをすこし(約0.4ms)遅らせることで、リレーがショート状態で遷移することができます。
この場合は、音量が低下(最大で10dB程度か)する方向で変化しますが、こちらの方が害は小さいでしょう。

 問題はリレーの動作速度の実態がどうなっているかということです。カタログでは最大値しか保証していませんが、
実力値を把握しておかないといけません。



 リレー動作をノンショートで遷移させると、プチノイズがでる可能性があります。

そこで、実際に使用する回路を用いてリレーの動作速度の確認です。
実測してみると、ON時間が約200us、OFF時間が80usとカタログ値よりかなり高速です.
ノンショートで切り替えるとすれば、RY2をONしてから200us以降にRY1をOFFするような感じで
いいでしょう.


実際のリレー駆動回路で、動作時間を計測してみましょう.

実際のリレーの実力はもっと早いようです.

抵抗値を決めよう!

抵抗値を仮設定すれば、リレーの設定パラメータと減衰量を自動で算出するプログラムは簡単に出来ましたが、
そこから抵抗値自体を自動で設定するプログラムを考えようとしたら、あまりの多さの組み合わせに無理そうなことが
わかりました.なんせ、14本の抵抗を決めるわけですが、単純増加という前提をおいても組み合わせは相当です.
ということで、手動で何通りか計算してよさそうな組み合わせを導出しました.
 

(中略)



設定した抵抗値とリレーの設定データです.長くなるので途中は省略です.R13(14)は5とありますが、正しくは4.7Ωです.


この抵抗値の場合ではゲインエラーは0.08dB程度でした.
これならば、ボリュームをあげていったときに不自然な音量変化はないでしょう.
というか、もっとエラーがあっても大丈夫なような気がします.


ゲインエラーは0.08dB程度です.

抵抗を実装しよう!

普段使わない低い抵抗値のものがあるので、ちょっと捜索に時間がかかりました.
とりあえず抵抗を実装して基板本体は完成です.
あとは、ソフトの作成です.

基板本体は完成です.さて、ソフトが結構大変かな〜.

通電テスト! 2021.7.8

まずは簡単なプログラムを組んで通電テストです。
通電テストしてチップトランジスタの半田不良箇所があったり、回路図が間違っていたり、色々と発見です。
それらをちょいちょいと修正して、リレーの切替時のノイズを確認です。

単純に何も考えずにリレーを切り替えてノンショートモードで切り替えた場合から、タイミングを変更してショートモードで
切替えたときのレベル変化を調べてみます。入力は単純に5Vの直流を入れて、出力電圧を測定します。
-80〜0dBのレンジで計るには時間がかかるので、簡易的に-10dB〜0dBの変化(約20ステップ)で測定です。


単純にリレーを切替えした場合、ノンショートモードになるので全てのリレーがOFFになるタイミングが発生して
ゲインが0dBとなってしまいます。それがスパイク状のノイズのようになってしまいます。


リレーとON/OFFの時間差を300usに設定してショーティング状態で遷移させます。今度は反対に
負側のパルスとなってでてきますが、レベル変化は小さいです。もうちょっと時間差を短くできそうです。



時間差を200usに設定です。負側のパルス幅が少し狭くなったような気がします。


時間差を150usに設定です。今度は短すぎるためか正側のパルスがでてしまいました。
時間的には200us前後に最適な値がありそうですが、リレーの個体差もあるから少し長めに
することになるでしょう。


負側のパルスが聴感上どのように聞こえるかは、もうすこしソフトを組んでからのテストになりそうです。

もうすこし範囲を広げて測定

-30〜0dBの範囲で測定です。もうすこし動作するリレーの数を増やしてみましたが、リレーの個体があるようで、
時間差300usにしないと正のパルスがでてしまうようです。


時間差200usではリレーの個体差のためか、正側のパルスがでるようです。


時間差300usにすれば、正側のパルスはなくなりました。

試聴用にプログラムを書いてみましょう! 2021.7.9

試聴用といいながら、ロータリーエンコーダをつかったほぼ実機用のプログラムです。ちょうどPA72323のプログラムが流用できそうだったので、
その音量変更サブルーチンを入れ替えた程度で済ました。

プログラム作成のために、色々とI/Oを取り付けています。

いざ試聴!
このリレー式減衰器のインピーダンスはあまり低くない、といってもそれほど高いわけではありませんが、できるだけアンプが近い方が
いいだろうということで、最初の試聴ではヘッドホンアンプを直近に接続して試聴です。
電源はかなりいい加減です。DACはACアダプタです。ヘッドホンアンプは実験用電源でトランスのドロップ式です。
リレー式アッテネータは、なんでもいいだろうということで、実験用電源のDCDCです。

まずはこんな感じで試聴です。



試聴時の機器構成です。

ダイレクトな感じがいい!
 一番気になったのは音量変化時のノイズですが、音楽がなっているときはほとんどわからないです。
無音時に変化させると、わずかちプチプチいう程度で、気になるほどではありません。無音時でノイズが聞こえるのは
DCオフセットを数mVでものっていると、それが変化するため音として聞こえてしまいます。DCオフセットがほぼゼロなら
このノイズも聞こえないでしょう。
 それにしても試聴した印象は、ものすごく音がクリアーです。なにも邪魔なものがない感じ
そりゃ、単なる抵抗のアッテネータですからね。よく、抵抗式のアッテネータだけでボリュームを構成されている方がおられますが、
その気持ちがよくわかります。このリレー式のアッテネータだと、さらに音量調整が細かくできるので、ある意味とても使い勝手もいいかも。
ただ、作るのはちょっと面倒ですが・・・・

これいい!
 今回の試聴ではこれを主に聞きました。色々とネットで音楽を聞いていましたが、この曲がなぜか私の琴線に触れました。
YouTubeだと音質もあまりよくないので、おもわずこの曲が入っているCDアルバムを買ってしまいました。

fripSide - whitebird (Audio) - YouTube
この曲が琴線に触れました。思わずCDを買ってしまいました。


改善できるか?あれ???ハムが・・・・

リレー式アッテネータ基板の電源はDCDCをつかっていましたが、折角なのでこの部分をトランス式のドロップ電源に変えてみました。
これで、さらなる音質の改善が計れるかな?とおもいきや・・・・・・すこしハムが聞こえます。

なぜ?

基本的にはリレー式アッテネータではCPU部分の電源と減衰器の部分のGNDは分離しています。
それでもハムが発生しているということは、なにかしらの電磁誘導でしょう。色々と調べてみると、
設定する音量、すなわち動作するリレーの状態にとよってもハムの発生が変わるので、おそらくリレーのコイル
あたりに飛びついているのかもしれません。
 そこで、対策としてはCPUの電源GNDとアンプの電源GNDを共有にしたところ、ピタリとハムが納まりました。
共有といっても、直結でなくても0.1uF程度のコンデンサで接続するだけで改善しました。どうやら、GNDレベルが
大きく異なっていたので、ノイズがのりやすい状態だったのでしょう。


PICの電源をトランスのドロップ電源に変えたらすこしハムが発生しました。そこで、アンプの電源GNDと共有するとハムはとまりました。

まだ疑問が残る・・・
 PICの制御回路電源のGNDとアンプ電源のGNDを共有化することでノイズは消えましたが、なぜ最初にPICの制御電源をDCDCに
していたときはノイズが出なかったのだろう?理由としては、
 @DCDC電源なので高周波数での駆動なので可聴域を超えている、
 Aすでに電源のGNDが共有になっていた 
のどちらかです。おそらく@だと思いますが、Aのケースも捨てきれません。
ということで、もう少し実験です。

 今度は、リレー式アッテネータへの入出力のケーブルはかなり長めです。たぶんケーブルが長くてもノイズはでなさそうです。


今度は入出力のケーブルを長めにしてテストです。

構成はすこし変えて下図のようになります。ソースのDACとアンプはそれぞれ、AC100Vで動いていて、PIC制御回路は
高周波数のACアダプタで動かしています。
 結果としてはこの構成ではノイズは聞こえませんでした。やはり、PIC制御回路に使う電源が原因かもしれません。



この構成ではハムノイズはでませんでした。やはり、ハムノイズの原因はPIC制御回路への誘導ノイズの飛びつきだったようです。

確認のために、上記のPIC制御回路の電源をトランスをつかったドロップ電源に変えました。するとハムノイズが発生しました。
そこで、先の対応と同様に、PIC制御電源のGNDをアンプのGNDを共有化すると、ぴたりとハムが消えました。


この構成ではPIC制御回路電源とアンプ電源のGNDを共有(コンデンサ等で結合)するとノイズは消えました。

GNDの配線ってやはり重要ですね。これ一つでハムノイズが大きく変わります。
GNDの引き回しは奥が深いな〜。

さて、ソフトを完成させましょう!

完成!? 2021.7.13

VRでも使用モードも追加して完成です。使うならVRモードよりはエンコーダモードでしょうか。
というのも、VRモードにするとリモコンでの音量制御ができません。MUTE-ON、MUTEーOFFはつかえますが、
そのためだけにリモコンを使うのも勿体ない感じです。

ついでに
リレーの遅延時間の遅延量も設定できるようにしました。
基板上のSWを長押しすると、リレー切替時の遅延量を100us〜450usで50us毎で変更できます。
この量を変えると、わずかですがボリューム変更時のクリックノイズが変わります。
リレーのロットでの個体差があるかもしれないので、これでもっとも小さいクリック音になるように調整すればいいでしょう。
デフォルトは300usにしています。でも、あまり差はないかもです.

 
リレーの遅延制御を100〜450usで可変できるようにもしてみました。あまり変化はしませんが・・・。

あ!値上げになった

このページを立ちあげたときはリードリレーは1個70円でしたが、予告通り90円に値上げされていました.
まあ、このリレーが販売された2010年当時から比べるとだいぶ円安になったからなあ〜.

70円からの約30%値上げになりました.

リリースします 2021.7.18

製作マニュアル:RelayAttenuatorManual.pdf

リリースする表面処理はいつもの金フラッシュです.
頒布のコーナのアンプのカテゴリに掲載しています.

(つづく????)