他のEVC(電子ボリューム)をリモコン化改造を検討する、の巻き 2021.1.12
(いままでの検討はこちら)
ようやくEVC1972,EVC1159のリモコンがつかえる制御用PICができましたが、その他のEVCについても検討してみましょう。
ちょうど、このような投稿も頂きました。
リクエストとしてPrecision Evol HPAを挙げていただきました。ソフトの構成はEVC1972、EVC1159と大差ないのですこしの変更で対応可能なはずなのですが、
すこし検討項目があります。
項目1:どのピンをつかう?
Precision Evol HPAにはゲイン調整用のジャンパーがあります。これはEVC1972、EVC1159でのジャンパーとピンが重なっています。
ということで、ピンの割り当てを変更する必要があります。まあ、これはソフトウエア上でI/O定義(#define)を書き換えるだけで済みますが、
本当の検討項目は別にあります。
Precision Evol HPAにはゲイン調整用のジャンパーがありますが、
EVC1972等と重複しています。
項目2:実機のPrecision Evol HPAがばらせない・・・・
ソフトの改造を行う場合は、当然のことながら配線を変更しての動作チェックは必須ですが、そのためには基板へのアクセスが必要です。
でも、Precision Evol HPAはヘッドホンアンプとしてケースに組み込んでいるのですが、このケースはばらすことができません。
というのも、アクリル板のケースとしているのですが上蓋も含めてすべて接着してしまっています。
基板をとりだせるようにするとなると、ケースを壊す必要があります。どうしようかな・・・・・
ケースの側面は完全には閉じていないので、なんとかPICの取り外しはできそうなので延長ソケットを作れば、ケースを壊さずに
ソフトの改造検討ができるかもしれません。
Precision Evol HPAはヘッドホンアンプとして使っていますが、接着されたアクリル板で覆われています。さてさて、どうしよう?
なんとかPICだけにはアクセスできそうです。
この際、すこし整理してみよう・・・・
Precision Evol HPAの他にもEVCもありますが、EVC自体はあまり制御端子も多くないので18Pinのピン数の小さいPICをつかっています。
18Pinもあれば、当然未使用のPINもあるのでPrecision Evol HPAにとりかかる前に、どういうPINの使い方になっているかを整理しておきましょう。
そうすれば、できるだけ改造についても共通化できると思われます。
1)EVC1972,EVC1159
こちらは空き端子が多くあったのと、拡張用にジャンパーパッドも設けていたので
スムーズに改造できました。
N.C | 1 | A2 | A1 | 18 | POWER CHECK | ||
N.C | 2 | A3 | A0 | 17 | VOL(VR) | IR-RECEIVER | |
N.C | 3 | A4 | A7 | 16 | N.C | ||
VDD | 4 | A5 | A6 | 15 | N.C | ||
5 | GND | VDD | 14 | ||||
DATA(EVC) | 6 | B0 | B7 | 13 | N.C(ジャンパーパッドあり) | JP3(設定用) | |
CLK(EVC) | 7 | B1 | B6 | 12 | N.C(ジャンパーパッドあり) | JP2(設定用) | |
LE(EVC) | 8 | B2 | B5 | 11 | N.C(ジャンパーパッドあり) | JP1(設定用) | |
LED | 9 | B3 | B4 | 10 | MUTE-RELAY |
黒字はPICのピン、赤字は元々のピン割り振り、青字は改造に使用したピン。
2)Precision EVOL HPA
空き端子(NC)は6本あるので、困ることはなさそうですがPICのI/OピンのAグループは
プルアップが内蔵されていないので外付けにする必要があります。
N.C | 1 | A2 | A1 | 18 | POWER CHECK | ||
N.C | 2 | A3 | A0 | 17 | VOL(VR) | ||
N.C | 3 | A4 | A7 | 16 | N.C | ||
N.C | 4 | A5 | A6 | 15 | N.C | ||
5 | GND | VDD | 14 | ||||
LED | 6 | B0 | B7 | 13 | MUTE-RELAY | ||
T1 | 7 | B1 | B6 | 12 | DATA(72320) | ||
T2 | 8 | B2 | B5 | 11 | CLK(72320) | ||
T3 | 9 | B3 | B4 | 10 | LE(72320) | ||
黒字はPICのピン、赤字は元々のピン割り振り。
3)高精度電子ボリューム
ピン配置はPrecision EVOL HPAと同じです。というか、Precision EVOL HPAのソフトは高精度電子ボリュームが
ベースとなっていますね(忘れてました)。
N.C | 1 | A2 | A1 | 18 | POWER CHECK | ||
N.C | 2 | A3 | A0 | 17 | VOL(VR) | ||
N.C | 3 | A4 | A7 | 16 | N.C | ||
N.C | 4 | A5 | A6 | 15 | N.C | ||
5 | GND | VDD | 14 | ||||
LED(CN1-1) | 6 | B0 | B7 | 13 | MUTE-RELAY | ||
NC(CN1-3) | 7 | B1 | B6 | 12 | DATA(72320) | ||
NC(CN1-2) | 8 | B2 | B5 | 11 | CLK(72320) | ||
NC(CN1-4) | 9 | B3 | B4 | 10 | LE(72320) | ||
黒字はPICのピン、赤字は元々のピン割り振り。
4)HPA1972mk2
これはEVC1972と同じピン配置です。ということは、ソフトウエアは同じのはず(でも、なぜかソースファイル
は別になっている・・・・)。
N.C | 1 | A2 | A1 | 18 | POWER CHECK | ||
N.C | 2 | A3 | A0 | 17 | VOL(VR) | ||
N.C | 3 | A4 | A7 | 16 | N.C | ||
VDD | 4 | A5 | A6 | 15 | N.C | ||
5 | GND | VDD | 14 | ||||
DATA(EVC) | 6 | B0 | B7 | 13 | N.C | ||
CLK(EVC) | 7 | B1 | B6 | 12 | N.C | ||
LE(EVC) | 8 | B2 | B5 | 11 | N.C | ||
LED | 9 | B3 | B4 | 10 | MUTE-RELAY | ||
黒字はPICのピン、赤字は元々のピン割り振り。
5)HPA6120
EVCの素子はLM1972なので、EVC1972あるいはHPA1972mk2と同じピン配置かと思っていたら、
微妙にちがうなあ〜。とはいえ、空き端子は結構あります。
N.C | 1 | A2 | A1 | 18 | POWER CHECK | ||
N.C | 2 | A3 | A0 | 17 | VOL(VR) | ||
N.C | 3 | A4 | A7 | 16 | N.C | ||
ICSP(VPP) | 4 | A5 | A6 | 15 | N.C | ||
5 | GND | VDD | 14 | ||||
LED | 6 | B0 | B7 | 13 | MUTE-RELAY | ||
N.C | 7 | B1 | B6 | 12 | CLK(EVC) | ||
N.C | 8 | B2 | B5 | 11 | LE(EVC) | ||
N.C | 9 | B3 | B4 | 10 | DATA(EVC) | ||
黒字はPICのピン、赤字は元々のピン割り振り。
こうしよう!
EVCのPICのピン配置を整理してみると、こんなところです。
・Aグループはアナログ入力主体でA0,A1しか使っていない。
・Bグループは主にEVCの制御とリレー、LEDの出力につかっている。
ジャンパー設定のための予備で使っている場合もあり。
Bグループは前述のように内部でプルアップすることができるので、基板によっては
ほとんど空きがない場合があります。Aグループはプルアップは外付けとなりますが、
A2〜A7がほとんど空いています。ということで、Aグループの空き端子を集中して使うように
するのが得策かもしれません。
改造方針としては
1)AグループのI/O端子で赤外線リモコン、エンコーダがつかえるようにする。
2)赤外線リモコンの入力はVR入力と個別に配置する。
2)ですが、EVC1972,EVC1159の改造ではVRの入力端子をつかって赤外線の受光モジュールを
とりつけられるようにしました。これは、基板の端子の有効活用という点では合理的ではあるのですが、
HPA6120のように基板に直接VRをとりつけている場合があります。それをわざわざとりはずすとなると
それはそれで大変です。それに気分によってはリモコンやエンコーダではなく音量調整をVRに変更したい
場合もでてくるでしょう。あと基板によっては、VRからのノイズを低減するためにコンデンサを設置している
ものがありますが、赤外線の受光モジュールをとりつける場合はとりはずさなければなりません。
Precision EVOL HPAにもコンデンサが取り付いていますが、基板がとりはずせないためコンデンサも除去できません。
ということで、赤外線受光モジュールはVRとは違うPIC端子にとりつけることにしましょう。
これが取り外せないと、VRの接続端子に赤外線受光モジュールが取り付けられません。
そのため受光モジュールは別のPIC端子に取り付けることにしましょう。
引き出し基板を作成しましょう!
Precision Evol HPAのPIC用の変換基板をつくってPIC端子が外だしできるようにしましょう。
あ、その前に・・・ 2021.1.13
PICのI/OのAグループに赤外線リモコンやエンコーダなどを接続するのはいいとして、ついでに動作モードを決定する
ジャンパーもAグループに設けようと思っています。ただ、問題が1つあります。というのも、ディジタルの入力端子は
HレベルあるいはLレベルを確定させるために、VDDあるいはGNDに固定するか、あるいはプルアップまたはプルダウン
抵抗を設ける必要があります。要は、動作モードを確定させるためにプルアップなどの抵抗を1本追加すればいいのですが、
音量調整にVRを使用するオリジナルの使い方でも、抵抗の追加が必要になります。すなわち、PICだけを入れ替えただけでは
動作モードが不定になってしまいます。なんとか、VR音量調整の場合は追加部品なしで動くようにしたいものです。
でないと、製作マニュアルも修正しなければなりません。
対策案1:Bポートをつかう・・・×
一番簡単なのは、プルアップ抵抗を内蔵しているBグループに動作モードを設定するジャンパーピンを割り当てることです。
しかしながら、Precision Evol HPAはBグループのI/Oピンをすべて使っているため、それができません。
というか、Precision Evol HPAだけBグループが埋まっているのですよね〜・・・・・
対策案2:無理やりソフトで判定させる(ちょっと実験やってみよう)・・・○
ポイントはプルアップ抵抗なしでI/O端子が開放状態にあるのか、GNDに接続されているかを判別できればいいわけですから、
PICがCMOSプロセスで作られていることを考えるとできるかもしれません。
というのもCMOSを構成するFETは色々なところに微小ですが寄生容量ができています。
これを利用できないか?ということです。
たとえばI/O端子の開放状態を検知する方法として、
一旦I/O端子を出力に定義して、Hレベルとします。その後にI/O端子を入力に定義し直すと、
Hレベルが入力端子に一定時間保持されるはずです。同様にI/O端子を一旦Lレベルとした後に、/O端子を入力にした場合
は入力端子は一定時間Lレベルになっているはずです。
この方法で開放状態を検知するにはいいのですが、I/O端子がGNDに接続されている場合は少々問題があります。
というのもI/O端子を出力としてHレベルにすると出力が短絡してしまいます。I/O端子の出力インピーダンスはそれほど低い
ものではありませんが、大電流が流れるようだとICにダメージが出かねません。
まず対策案2ができるかどうかを検討するにあたり、出力短絡時に流れる電流を測定してみました。
PICのI/O端子に1Ωの抵抗をぶら下げて短絡状態をつくりました。そして流れる電流を測定したところ
およそ25mA程度であるようです。どうやら出力短絡時の保護回路があるのか、あるいはもともと大電流がながれないように
出力インピーダンスを高くしていのかもしれませんが、この程度ならまったく問題なさそうです。
安心して出力を短絡することが出来ます(笑。
出力に1Ωの抵抗を接続して、短絡時の電流を測定したところ25mA程度です。このくらいなら問題ないですね。
ということで、開放状態と短絡状態を判定するロジックを作成して、実験したところ問題なく識別できることが確認できました。
なお、判定ミスがでないように10回チェックをして、すべてLレベルなら短絡と判定し、1回でもLレベル以外の結果がでれば
開放状態(いわゆるHレベル)というようにしました。
実はこの方法をうまく使えば、ロータリーエンコーダの接続でもプルアップ抵抗が不要にできそうかもしれませんが、
配線が長くなるとノイズの影響がでるかもしれないので、大人しく動作モードの設定のみにつかうとしましょう。
エンコーダを接続する場合はプルアップ抵抗要です。
話はもどして、変換基板を作成しましょう! 2021.1.15
細長いユニバーサル基板があったはずなので、それを探して部品をとりつけましょう。
部品といっても、ICソケットと接続ピンだけの簡単なものです。
組み立ては結構面倒でした。なんせ基板が小さくで軽いのとピンが色々と飛び出していて、
不安定なので半田コテを当てると簡単に動いてしまいます。万力で固定すればいいのですが、
基板を裏にしたり、表にしたりと動かさないといけないので、それも面倒・・・・・。
変換基板の部品面側
半田面側。配線は表と裏を行きかいます。
とりあえず完成したので、もとのPICを取り外して交換です。手前のジャンパーピンとわずかに干渉
するのて、ICソケットを1個挟み込んでかさ上げしてとりつけました。
これがもともとの状態。
これで、PICのピンにアクセスできるようになりました。
さて、ソフトを書いていきましょう! 2021.1.20
しばらくPCの引っ越し関連で作業が滞っていましたが、大体修正が終わったので動作確認です。
そのために、変換基板にエンコーダと赤外線の受光モジュールを取り付けです。
動作確認のために必要なものを接続です。
まずは完成 2021.1.21
ソフトの修正が完了です。使用感の確認のため、アナログ出力をつないでみました。
エンコーダならびに赤外線リモコンでの操作にも違和感はなさそうです。
でも、手元でつかう分には、やはりVRの方がいいかな〜。なんせ、赤外線リモコンで
調整しようとしたら、まずはリモコンを探さなければなりませんからね(笑。
アナログソースにはISO2704を使いました。
ISO2704はすこし改造してパルストランスをとりつけて、
SPDIF出力とアナログ出力が得られるようにしています。
接続方法の備忘録
ここいらで、接続方法の備忘録を作成しておきましょう。
下図は改造前の状態です。
VRでの音量調整時(もともとの回路構成)
赤外線の受光モジュールならびにロータリーエンコーダを取り付ける場合の標準的な接続は下図になります。
赤外線の受光モジュールならびにロータリーエンコーダを取り付ける場合の標準的な接続
上図でのポイントとしてPICのPin15(A6)をGNDに接続することで、赤外線リモコンとエンコーダを使用するモードになります。Pin15を開放にした場合は
従来通りのVRを使用するモードになります。
1)エンコーダの接続
PICのPin1,2を使用して接続します。このとき47kΩ程度のプルアップ抵抗を接続します。
なお、エンコーダを使用しない場合はPin1,2はプルアップあるいはVDDに接続します。
2)赤外線受光モジュールの接続
赤外線受光モジュールの信号出力はPin3(A4)に接続します。受光モジュールには5V電源を供給しますが、配線長が長くなる場合は
受光モジュールのVCCとGND間に0.1uF程度のパスコンを入れることが推奨されます。
なお、受光モジュールを接続しない(赤外線リモコンを使用しない)場合は、Pin3(A4)ならびにPin7(A7)はVDDに接続します。
赤外線リモコンの学習のプッシュスイッチはPin16(A7)に47kΩのプルアップ抵抗とともに接続します。このスイッチを押しながら電源を投入した場合に
リモコンの学習モードになります。なお、赤外線リモコンを使用しない場合は、上述のようにPin16(A7)はプルアップあるいはVDDに接続します。
今後のリリースは
Precision Evol HPAならびに高精度電子ボリュームは共に、赤外線リモコン・エンコーダに対応したPICで今後リリースします。
また、改造用にPIC単体もリリース予定です。新しいラベルは下記になります。2つのPICはラベルが異なりますが、中身は同じです。
制御用のPICのラベルです。ラベルは異なりますが、中身は同じです。
リリースします。 2021.1.22
(手抜きの)改造用マニュアルを作成しました。 → evc72320_ir_kit.pdf
(もうおしまい)