MUSES72323をつかった電子ボリュームは実現するか?(後編) 2021.4.10

前編はこちら

実装にかかりましょう!

本体基板の実装にかかりました。

お出かけ用の写真をとりあえず撮っておきましょう。

電源いれるの怖いよ〜。


まずはmini-RELAY6から仕上げましょう. 2021.5.16

ここしばらくはDAC34301(前編 後編 完成編)に手をかけていましたが、一段落したのでこちらにかかりましょう.
まずはmini-RELAY6から仕上げましょう.

まずはこれを仕上げましょう!

ソフトの仕様整理

使えるジャンパーM1〜M4があるので、それらの設定と動作について整理です.

ジャンパ 機能 ジャンパー
状態
動作名称 動作詳細
M1 動作モード設定 OPEN マスターモード 基板に取り付けたスイッチでチャンネル選択(UP、DOWN)
 〇 赤外線リモコン使用可能
 〇 チャンネル選択個別LED-DISPLAY
 〇 チャンネル選択シリアル出力(2桁LED、2色4桁LED用)
SHORT スレーブモード 外部からのシリアル信号入力でチャンネル選択.他の基板から入力チャンネルの
制御をおこなう場合はこのモードに設定します(従前のRELAY6のMODE3に相当)
 × 赤外線リモコン使用は不可
 〇 チャンネル選択個別LED-DISPLAY
 × チャンネル選択シリアル出力なし
M2 切替モード OPEN ショートモード リレー切り替え時にチャンネル間でショート状態とする
(ポップ音ノイズ対策でおよそ10ms程度のショート状態を維持)
SHORT ノンショートモード リレー切り替え時にチャンネル間はノンショート状態とする
(ポップ音がでる可能性あるが、アンプ間の短絡は避けられる)
M3 シリアル出力フォーマット OPEN 2桁LED用のフォーマット出力 接続する7セグメントLEDの種類を選択します.
なお、動作モード設定がマスターモードの時のみ有効です.
SHORT 2色4桁LED用フォーマット出力
M4 赤外線リモコン学習 OPEN 通常 すでに学習したリモコンデータを使用. なお、赤外線リモコンはマスターモード時
のみ使用可能です.
SHORT 学習 新たに学習開始.なお、動作モード設定がマスターモードの時のみ有効です.
学習完了後は再びジャンパーをOPENに戻せば、通常モードで動作.

ところでリレーの切替時間は?

今回のソフトではリレーの切り替え時にショートモードを追加しようと思っていますが、そもそもここで使う
リレーの動作速度ってどうなっているのか調べてみました。これはカタログからみつけることができます。
 カタログではセット約2ms、リセット1msとなっていますが、気になるのはリセット時間はダイオード無しの
場合の値になっています。


カタログではセット時間約2ms、リセット時間約1msとなっています。でも、ダイオード無しの条件だなあ〜。

ダイオードはコイルの逆起電力による駆動素子の破壊を防ぐために必要ですが、反対にコイルに蓄えられたエネルギーを、
コイル自身で消費するため駆動をOFFにしても暫くはコイルが動作したままになります。これがどのくらいの時間長さになるかは
あまり知識がないので調べてみました。
 結果としては、セット時間はカタログ通りの約2msです。そして気になるリセット時間は約1.5msということでカタログ値より
0.5msほど長くなるようです。でも、このくらいならほとんど気にしなくてもよさそうです。リレーの動作時間は2msということで考えましょう。
 そして、ショートモードで切り替えるときは約10msのオーバラップタイプを持たせて切り替えることにしましょう。

実測でセット時間約2ms、リセット時間約1.5msというところです。

デバッグ準備!
 デバッグの為には基板の周辺にスイッチなどのI/Oを取り付ける必要があります。
その一つに2色4桁LEDがあるのですが、すでにDAC34301に取り込まれているのでもう1個作成です。
1608チップサイズの取り付けは、ほんと目が疲れます・・・。


2色4桁LEDはDAC34301に組み込んでしまっているので、もう1個組み立てましょう。


もう1個組み立てです。


こんな形でI/Oの取り付けをおこないました。リレーはどれが動いているかわかるようにLEDを取り付けています。

仮組のときに1列ピンはよく使うのですが、先日デジットで20ピンのL型のものが@1円で売っていたので、
すこし多目に買っておきました。買うときも数えるのは面倒だったので、1掴みで買いましたが、店員さんは
1個づつ数えてくれました。数はぴったり50個でした。偶然かな?ひょっとして数えるのも面倒になったのかな?

こういったピンは結構使います。ラッピング線使いには好適です。


安かったので、使い捨てできるように少し多目に買っておきました。

さて、ソフトを組む前に一度机の上を片づけましょう!!!

mini-RELAY6 一気に完成! 2021.5.17

一気にソフトも完成させ、製作マニュアルも作成しました.

mini-RELAY6Manual.pdf

まずは、この基板から先行してリリースを進めましょう!

あっ!  2021.5.18

リリースしようとおもったら、PICがない!!! 
Small-LED4との速度の整合性をとるためにPIC18Fシリーズをつかうことにしたのですが、
無い〜・・・・・。秋月さんに頼まなくっちゃ!


まずは修正! 2021.5.18

EVC72323の基板に1箇所修正がありました。正確には2chあるので2箇所です。
最初動かなくて、パターンを回路図とにらめっこして確認しましたが、どこも間違っていなくて悩みましたが
どうやら回路図そのものに間違いがありました。そりゃ、だめだわ〜。

    
メーカのデータシートではPin29のコンデンサの先はV-です。   回路図では間違ってGNDに接続していました。こりゅあ、動かない・・・・

ということで、修正です。修正箇所はC11とC12の2箇所です。


黄色矢印部分のGNDに接続されている箇所を青矢印のV-に接続する修正をおこないます。

 
ここを切り離せばいいのですが、面倒です。 ドリルの刃先をつかってざぐってやりました。


コンデンサ(C12)をとりつけて最寄りのV-パターンに接続です。
ベタGNDのむき出し部に接触しないように念のため被覆しておきました。


C11側の修正の様子です。横アングルで撮りました。

この修正は必ず必要です。でないと、動きません。というか、この修正をしないとMUSES72323が壊れます
最初はなんで壊れるかわからなかったのですが、MUSESのPin29の電位を測定すると約-12Vになっています。
そこに接続したコンデンサの先をV-ではなくGNDに接続すると、短い時間ですが逆電圧がかかってしまうためのようです。
おかげで、2個MUSES72323を取り替えるハメになってしまいました。ちょっと凹みます・・・・。
まあ、気を取り直して進めましょう!


ごめんなさい! 成仏してね〜.

ソフト作成のためのI/Oをとりつけましょう!

夜の夜長がのソフト開発に向けて必要なI./Oを取り付けておきましょう。
本来はすべてが必要ではありませんが、枯れ木も山の賑わいです(ん?使い方あってるかな?)
 5Vのレギュレータにはすこし発熱がでそうなので放熱板をとりつけておきました。というのも、
横着してレギュレータの元電源はアナログ用の15Vから借用しているので10Vもの電圧降下を受け持ちます。
さらに、Small-LEDに加えて、またまた横着してmini-RELAY6も負担させるためです。おそらく1〜2Wの発熱に
なるでしょう。


ソフト開発のために接続できるすべてのI/Oを取り付けます。


5Vのレギュレータには念のため放熱板をつけておきました。

機能整理(ちょっと独り言) 2021.5.19

ソフト製作にあたり、機能を整理しておきましょう。このEVC72323では1個あるいは2個のMUSES72323を使うわけですが、
3つの動作モードを考えています。

モード M0 M1
0 ノーマルモード
 1つあるいは2つのMUSES72323を同じVOL値で動作させる。
 用例)MUSESを1個使いでシングルエンドのステレオ、2個使いでバランスラインでのステレオ使用を想定。
開放 開放
1 独立モード
 2つのMUSESを独立したVOL値で動作させる。
 用例)スピーカアンプとヘッドホンアンプとの併用などを想定。
短絡 開放
2 2WAYモード
 2つのMUSESを連動させて動作。互いのVOL値差はバランスVRで調整。
開放 短絡

ここで少し悩むのはボリュームの調整方法です。

1)VR、エンコーダ、赤外線リモコンの三つ巴?
 ボリューム調整はVR、エンコーダ、赤外線リモコンの3方法で可変できるようにするつもりですが、3つを併用するかどうかです。
エンコーダと赤外線リモコンとの併用はまったく問題ありませんが、VRとの併用は色々と課題があります。基本的には最後に操作した
VOL値を採用することになるのですが、操作によってはVRが最大(右一杯)でも、VOL値が最小ということも事態ではありえます。
そうした状態で、VRに少しでも触れてしまえば悲劇がまっています(突然の爆音です。爆音で済めばいいですがSPこ壊しかねません)。
実際にはVRとエンコーダの併用はケース加工に2つも穴をあけないといけないのでないでしょうが、VRと赤外線の組み合わせはありそうです。
ジャンパー設定でVRを使用有無を設定してもいいのですが、数少ないジャンパーの消費になってしまいます。
 ということで、VR、エンコーダ、赤外線リモコンの3つの併用は可能とするが、エンコーダ、赤外線リモコンはVRが最初値(左一杯)のときのみ
動作する
ようにしましょう。すなわち、VRを使用しない場合は基板のVR入力をGNDに接続しておくとぃうことです。

2)エンコーダはどっち?
 独立モードだと音量調整は2系統必要ですが、エンコーダは1つしかありません。エンコーダはメイン側すなわちCH1に割り当てて、
サブ側はVRでの調整を考えていましたが、実際の使用ではサブ側(ヘッドホンアンプ)でも、ボリュームを赤外線リモコンで使いたいときが
多々あります。ちょうど、寝っ転がりながら聞いているときは、動きたくありません(笑。
 でもVRを使うようにしていると、赤外線リモコンは使えません。VRを切っておけば赤外線リモコンは使えますが、反対にリモコンが無ければ
なにもできなくなってしまいます。エンコーダの操作対象をメイン側とサブ側でどうやって切り替えようか? スイッチをつけるのがてっとり早い
ですが、ケースに穴はあけたくはありません。入力切替用のプッシュスイッチはとりつけるので、それを長押ししたら・・・・でも、ややこしいな〜。
ここは素直にエンコーダの作用は、メインあるいはサブ側で前回操作した方を動かすということにしましょう。
すなわち、サブ側でもロータリーエンコーダ+赤外線リモコンを使いたい場合
 ・サブ側のVRは切っておく(GNDに接続)
 ・赤外線リモコンのボリューム調整はメイン、サブの両方に割り当てる(4つのキーを使用)
 ・メインとサブのどちらを調整しているかは、Small-LED4の色で判別(黄緑;メイン、赤:サブ)


操作がどんどんややこしくなりそうですが、全てのモードでももっともシンプルにVRだけをつかえば、LED表示器や赤外線リモコンがなくても
操作できるようにはしないといけないですね。
 折角のアンプなんだから、でっかいVOLノブはつけたいものです。でも、アルミ無垢のつまみって高価なんですよね〜。かといってプラスチップのメッキ品はすこし寂しい・・・・。

PICのEEPROM容量足りるかな?
 色々と考えると赤外線のリモコンのキーの割り当てが多そうです。ちょっと数えてみると
 メイン用音量調整 : 2
 サブ用音量調整  : 2
 入力切替       : 8(直接指定6+INC,DEC)
 全部で12個です。1個あたり約20バイト必要になるので、240バイトかあ〜。PICのEEPROMは256だから危ないな〜。
 リモコンのデータバイト長を最大で16バイトに設定していますが、10バイトに短くしたほうがよさそうです。
 実際に、普通のリモコンだと長いものでも6バイト程度なおで十分かな〜。

完成!? 2021.5.22

ようやく完成!かな。LCDをつかったプログラムに比べて、LEDだけのプログラムは結構面倒でした。
LCDをつかっていたら、色々とデバッグ情報を表示できるのですが、LEDではそうはいきません。
ということで、簡単なデバッグでも時間を取られたりです。でも、それがまた楽し!です。

で、出来上がった内容を簡単にレビューすると以下の通りです。

1)シンプルに動かす場合
 単に外付けのVRのみで動かす場合です。赤外線受光モジュールはつかいません。
 また、外付けのリレー切替基板も使用しません。LED基板は使用可能ですが、VRで調整するので
 なくてもいいでしょう。

シンプルに動かす場合でのモード(M2開放、M3開放) M0 M1
0 ノーマルモード
 マスターボリュームしかつかいません。
 これで1つあるいは2つのMUSES72323を同じVOL値で動作させます。
 LEDを接続した場合は、黄緑色で減衰量(dB)を表示します。
開放 開放
1 独立モード
 マスターボリュームとサブボリュームの2つのVRをつかいます。
 2つのMUSESを独立したVOL値で動作させます。
 LEDを接続した場合は、マスターボリュームを操作した時は黄緑色で、
 サブボリュームを操作した時は赤色で減衰量(dB)を表示します。
短絡 開放
2 2WAYモード
 マスターボリュームとバランスの2つのVRを使います。
 マスターボリュームは全体の音量を設定します。バランス(VR)では
 CH1とCH2のMUSESの音量差を設定します。±16dBで調整します。
   LEDを接続した場合は、マスターボリュームを操作した時は黄緑色で減衰寮を
 表示します。バランスを操作した時も緑色で音量差(dB)を表示します。
 表示はCH1にHigh、CH2をLOWとした場合を想定しています。
 ”L10.5" はCH2(LOW側)が-10.5dB。 ”H 8.5" はCH1(HIGH側)が-8.5dB。
 CH1,CH2で音量差ない場合は”−Eq−”と表示します。

開放 短絡

2)2色4桁LEDと赤外線受光モジュール(IR)を接続して使用する。
 これが主な使い方になるかな〜と思っています。LEDとIRを取り付けることで遠隔操作ができます。
(赤外線モジュールは付けなくても動作への影響はありません。オプション的な位置づけです)
またLEDをつけますので、エンコーダの使用も可能になります。操作はVR、エンコーダ、IRもすべて有効ですが、
基本的には最後に操作した値が使われます。前述のように、VRを操作するといきなり大音量が発生する場合も
ありますから、併用する場合は操作に注意が必要です。(VRを実装した場合で、使わなければ最小値に絞っておくのが無難です)。

2色4桁LEDと赤外線受光モジュールを接続するモード(M2短絡、M3開放) M0 M1
0 ノーマルモード
 マスターボリュームの変更はVR、エンコーダ、IRで操作します。
 1つあるいは2つのMUSESを同じVOL値で動作させます。
 LEDには黄緑色で減衰量(dB)を表示します。
開放 開放
1 独立モード
 マスターボリュームの変更はVR、エンコーダ、IRで操作します。
 サブボリュームの変更はVR、IRで操作します。
 2つのMUSESを独立したVOL値で動作させます。
 LEDはマスターボリュームを操作した時は黄緑色で、
 サブボリュームを操作した時は赤色で減衰量(dB)を表示します。
短絡 開放
2 2WAYモード
 マスターボリュームの変更はVR、エンコーダ、IRで操作します。
 バランスの変更はVR、IRで操作します。
 2つのMUSESを一定の音量差で連動させて動作させます。
 LEDはマスターボリュームを操作した時は黄緑色で、
 音量差は±16dBで調整します。
開放 短絡


3)2色4桁LEDと赤外線受光モジュール(IR)、さらにリレー切替基板を接続して使用する(M2,M3はどちらも短絡)。
 コンロールアンプにする場合の用途かな〜と思っています。動作は2)の場合と同じですが、
 外付けスイッチを押すことで、リレー切替基板のチャンネルをシーケンシャルに切替えます。IRリモコンを使えば
 ダイレクトにチャンネル切替が可能です。切替チャンネルはLEDに表示されます。
  リレー切替基板と連動させた場合、チャンネル切替時にはMUSESにMUTEをかけますので切替時のポップ音を抑制しています。
 
 チャンネル表示。じれはCH-3を選択したとき。

共通機能)
 MUSES72323では7段階で(0〜21dB)でゲインをかけることが可能です。ちょうど、入力信号のレベルが低い場合に
 便利な機能です。外付けあるいは基板上のスイッチ長押ししつづけることで変更が可能です。設定値の表示は基板上の
 LEDを使いますので、2色4桁LEDは必要ありません(2色4桁LEDをつけていれば、「G_15」のように赤色表示します)。


このスイッチ(外付け可)を長押しするとMUSESのゲインを設定変更が可能です。


MUSESのゲイン設定時の表示。G_12のつもりです。


赤外線リモコンの学習)
 学習するキーは下記の8個です。機能として使用しないキーは、リモコンの使わないキーを割り当てます(一番確実なのは、
 別のリモコンを使う方法ですが・・悪戯されたりして)。
  学習するときは、黄緑で表示されたときに割り当てるキーを押しすます。次に赤色に変わるので、ベリファイの為に同じキーを
 押します。違うキーが押されたら、そのキーの割り当てからやり直しです。
<学習キー>
 VOL+ (マスターボリューム:音量UP)
 VOL− (マスターボリューム:音量DOWN)
 SUB+ (サブボリューム/バランス)
 SUB− (サブボリューム/バランス)
 SEL1  (リレー切替基板チャンネル1選択)
 (中略)
 SEL6  (リレー切替基板チャンネル6選択)


  
  VOL+のつもりです。              VOL-のつもりです。

 
  SUB+のつもりです。               SUBーのつもりです。


 SEL1です。これはわかりますね。


確認時は赤く表示されます。

 学習方法は初回電源投入あるいは初期化(スイッチを押しながら電源投入)後に、赤外線受光モジュールに刺激を与えます。
 すなわちリモコン受光モジュールに向けて任意のキーを押せば学習開始するようにしています。学習が開始された合図はLED
 に表示されます。 学習が完了すれば「END」表示されて、その後にマスターボリューム値等を表示します。以降、赤外線リモコン
 が使用可能になります。

   
   学習開始の表示「IrrL(IRR LEANING)」      学習修了時の表示

試聴してみましょう!

ここまでできたら、お楽しみの音出しです.机上にはまだDAC34301がありますので、それを接続して音出しです.

構成は 
PC → DAC34301 → EVC72323 → お気楽でないヘッドホンアンプ → ヘッドホン(ATW−10VTG) です.

MUSES72323には操作感の確認のため、リレー切替基板も接続しています..

入力に切替基板を経由しています.

試聴は久しぶりにABBAです. 中学生のときに聞きまくったような気がします.色々と想い出深い曲が一杯です.
操作感も問題なしです.入力切替もスムースです.これは、切替時にMUTE制御をかけているためでしょう.


試聴は久しぶりにこれを聞きました.懐かしい〜.

問題発生?

休日の夜長に、ABBAを含めて1時間以上聞いていたときに、ふと音楽が消えました.
LEDを見るとMUTE状態の oFF」が表示されています. 原因はゼロに絞り切っているVRにノイズが重畳して
ADCの値がわずかに動いたのでしょう.プログラムからみればVRが操作されたという認識です..

計測値を安定化させるために、多数点の平均値処理はもちろんのこと、ビット境界でのふらつきノイズも
抑え込むロジックを導入しているのですが、突発的なノイズで計測値が1ビット動いたと推定されます.
これは、もうちょっと対策が必要です.
 まずはADC値の値としてPICに入力されている電圧を観測です.ほとんど一定ですがピークtoピークでは
10mV程度のノイズバンドがあるようです.これはADC値に換算すると10Bit分解能でわずか2です.
16回の平均をとれば1以下に納まります.これにビット境界ふらつき防止のロジックをいれれれば、
まず変動は抑えられるはずです.
 でも、大き目の突発ノイズがはいればどうしようもありません.

ADCの入力電圧のノイズは大きくて10mVくらいでしょう.

対策は?
 さらにADC値を安定させるには色々と考えられます.
1)VRの端子に0.1uF程度のコンデンサを挿入する.
2)ADCサンプルロジックを見直す.


1)が簡単なのですが、それでも突発ノイズが避けきれるかは不明です. それに部品追加になるし
半田コテの電源も入れなおさなければいけません. ここは、2)を検討です.

対策完了!

ADCサンプル処理ロジックを見直していて、一つ落とし穴的な要素があることを発見です..
まずは、それを修正すると同時にビット境界ふらつき対策ロジックのパラメータを強化です.
さらに、一度でもサンプル値が前回と同じ値を示したら、次回以降は大きな値変化がない限り
サンプル値が動いたとみなさないロジックを追加です.これを破ることは、よほど大きなノイズというか
配線はずれなどの変化がない限り大丈夫でしょう.

これで、ソフトも完成です. mini-RELAY6もINC/DECだけではなくチャンネルを直接指定できるように
改良しました.

(後日談)ADCサンプリングの状況をもうすこし細かくチェックしていると、サンプリングクロックが間違っていることに
 気づきました。単なるポカミスでした・・・・・。(2021..5.23)


2つの基板のソフトが完成しました.

さて、リリースに向けて製作資料を書きましょう.

#そんなもん書く時間あったら、あの原稿はどうなった!!!!って聞こえてきそう----


マニュアル作成 2021.5.23

ようやく書きあがりました。
関連する基板のものと併せて掲載しておきます。

EVC72323 EVC72323Manual.pdf
Small-LED4 small_led4_manual.pdf
mini_RELAY6 mini-RELAY6Manual.pdf 赤外線リモコンの学習キーを増やしたので
内容追加です。

(ちょっとあれこれ)

リレーは12Vそれとも5V? 2021.5.25

製作マニュアルでは制御用電圧は12Vを指定していますが、これはMUTEリレーに12Vのものをつかっているためです.
5Vのリレーを用いれば、制御用電圧はもっと下げられます. このメリットとしては基板上の5Vレギュレータの発熱が下げられます.
供給電圧を7Vにすれば、Small-LED4やmini-RELAY6などを共にEVC72323から電源供給しても、多くても0.6W程度
の消費電力なので小さい放熱板程度で十分になってきます.さらに、供給電圧を6Vまで下げれば、消費電力は0.3Wですから放熱板なしでも
いけるでしょう. とくに性能のいいLDOは0.2V程度のドロップ電圧ですから供給電圧を5.2Vまで下げることができます.
 制御用電圧を下げたときの、最大の問題はシャットダウンシーケンスが上手く働かない場合がでてきます. PICは制御用電圧を監視して
85%に低下すればシャットダウンしますが、LDOをつかって制御用電源電圧を低くしてしまうと、85%検知が出来なくなってしまいます.
というのも、制御用電圧の低下とともにPICの動作電圧が下がります.内蔵ADの基準電位(電源電圧)も同様に低下するので、
いつまでたっても制御用電源電圧は低下していないと判断してしまうためです.
 まあ、これは問題ではありますが、実際には制御用電圧が下がると、PICのシャットダウンがかかる前にMUTEリレーの方が先に電圧不足で
OFFになってしまうでしょう.


12Vリレーを使うので制御用電圧を12Vにすると、電圧レギュレータの発熱が大きくなります.


5Vリレーを使えば、供給電圧を下げることができるので、電圧レギュレータの発熱を下げることができます R2は供給電圧にあわせて4.7kΩに変更です.
R1とR2での分圧が5V未満になるように設定します(およそ2.5V以上で5V未満であればOK).

制御用電圧は定電圧でないとだめ?それとも非安定化でもOK?

EVC72323では制御用電圧の供給電圧を監視していて、定常値から85%になると、シャットダウンにはいります.シャットダウンではMUSESにMUTE信号は送り込み、
MUTEリレーをOFFにします. 非安定化電源の場合では、電圧変動やリップルが大きくて85%を下回ることがあると、通電中にもかかわらずシャットダウンしてしまうため
マニュアルの中では定電圧電源を指定しています. 
 ただ,非安定化電源といっても容量に余裕のあるトランスと大容量のコンデンサをつかっておけばそうそう電源電圧が8%%になることはないでしょう.こういった場合は
11-13V程度の非安定化電源が好適です.ちょうどRA40トランスのAC8Vラインの整流後出力電圧になります.なぜ好適かというと、非安定化電源のほうが電圧低下の検知の
タイムラグが短くなります. このあたりは、どういった電源(トランス)を準備するかで、安定化にするか非安定とするかの検討の余地があります.

なおEVC72323では制御用電圧の監視はおよそ20ms毎(50Hz)です. これより短い時間で電源が落ちるようだと、シャットダウンシーケンスは発動できないでしょう.
.

制御用電源に安定化電源をつかうと、電源OFFの検知のタイムラグが長くなります.


制御用電源が非安定化だと電源OFFの検知のタイムラグは短いです..

(つづく)