電子ボリュームの概要

最近はデジタルアンプがかなり普及して、PC出力でも良い音を楽しめるようになりました。
デジタルアンプは単電源で入力信号を増幅して、低インピーダンスで出力するアンプでしかありません。
ステレオの場合、入力に2連ボリュームを入れる事で、制御できますがリモコン等、別の制御が加わると難しくなります。
そこでデジタルアンプの入力信号を制御して、音量を自由に調整できる電子ボリュームを製作しました。
今回はロータリーエンコーダーを使って音量を可変します。
ロータリーエンコーダは位置的な(回転角度)制限がありませんから、リモコン制御と併用するには大変便利です。
まずはロータリーエンコーダーと電子ボリュームICを制御してみます。基板にする時には赤外線リモコン受信機能と設定値の表示機能を追加します。
また電子ボリュームICはBBテキサスのPGA2311を使用します。このICはアナログ特性に優れたステレオ仕様ですが、カスケード接続する事で4チャンネルにも対応します。

ロータリーエンコーダーの使い方

最近はエンコード(encode)という言葉はコンピュータ用語として圧縮する時に出てきますが、元々は変換という意味になります。
もうすぐ終了する地上波アナログ放送は放送局側でエンコードして送信し、テレビで受信した信号をデコードして表示しています。
ロータリーエンコーダーはロータリー(回転)をデジタル符号にエンコード(変換)する物です。仕様用途に応じて多くの品種がありますが、
ボリュームとして使う物はクリック付きで操作がはっきり認識できるものを選ぶとよいでしょう。今回使用するのはインクリメンタル方式のロータリーエンコーダーです。
最近はPUSH SW機能が付加された物があります。画面に表示したリストの中からエンコーダーを回して選択し、Pushして決定する。またはModeをPush SWで選択し、エンコーダーで設定値を変更するなど、大変便利です。

ロータリーエンコーダの仕組み

ロータリーエンコーダーにはインクリメンタル方式とアブソリュート方式の2種類の方式があります。
どちらの方式も中は接点がいくつかあるだけです。インクリメンタル方式は相対的、アブソリュートは絶対的方式と言えます。

アブソリュート方式
アブソリュート方式は絶対的に位置をコードで出力します。接点が4個程度並んでおり、位置によって接触する接点が変わります。BCD出力のロータリースイッチを想像すると良いでしょう。端子はコモンを入れて5本程度からあります。分解能を上げると端子が増えてしまうのであまり高い分解能は望めません。

インクリメンタル方式
インクリメンタル方式は現在の位置情報を持ちません。回転すると回転方向と回転量を接点2個で表します。一般的に品種が多く入手性が良いのはインクリメンタル方式で、軸を回転させるとパルスが出力します。このパルスを数える事でどれくらい回転したかを判断します。A相、B相とコモンの3端子で済みます。ただし、最初の位置は解らないので相対的な回転角度しか解りません。

インクリメンタルタイプロータリーエンコーダEC11B15202AA

今回使用したアルプス製EC11B15202AAはクリック付きで、1回転で15サイクルのパルスが出ます。クリックは1回転で30個です。
A相、B相をそれぞれプルアップしてコモンをGNDに接続すれば、マイコンのIOポートで読み取る事ができます。

一軸の回転には2種類の情報が含まれています。
 ・何度回転しているか。
 ・時計方向か反時計方向か。

この2種類の情報を1と0に変換するために下図のようにA相の接点とB相の接点はオフセットされた位置に配置されています。
A相はマイコンのIOポート、B相はタイマーのキャプチャー入力に接続します。キャプチャー入力は立ち上がりか立下り、または両方で割り込みを発生させることができるので、両方で割り込みを発生させます。そして割り込み処理関数で回転方向を判断して加減算を行います。

回転方向判定方法

上図の0の位置から時計方向に+1のクリックまで回したとすると、途中でA相はLOWになり、遅れてB相がLOWになります。この時、割り込みが発生するのでA相のポートとB相のポートを比較します。時計方向に回す限り、A相が先に変化しているので比較結果はA相=B相になります。

0の位置から反時計方向に-1まで回転させるとB相が先に立下り、割り込みが発生します。この時にA相のポートとB相のポートを比較すると、A相はまだ変化していないのでB相と一致しません。以上の事から割り込み発生時、A相=B相なら加算、そうでなければ減算という事になります。

PGA2311の使い方

ステレオオーディオボリュームデジタルコントロールIC

このICはアッテネータとアンプを内蔵しているので-95.5dBから+31.5dBまで0.5dBステップで設定できます。
ダイナミックレンジは120dB。THD+Nは0.0004%で低歪率で高S/Nです。
電源はアナログ用±5Vとデジタル用+5Vで動作します。チョッと電源の種類が多いですがアナログ特性が素晴らしいので我慢です。
MUTE端子は両出力を消音制御します。この端子をLOWにすると消音します。通常はHiです。
ZCEN端子はゼロクロスディテクション機能を制御します。
ゼロクロスディテクションは一気に設定値を変更した時にポツッ!とポップノイズが出ないようにオーディオ波形が0Vになる時にGAINを変える機能です。
オーディオ信号がいつまでも0Vにならない時は16mSタイムアウトでGAINが切り替わります。
この端子をHiにするとゼロクロスディテクションが動作します。
SDOはシリアル出力です。PGA2311をカスケード接続する時はこの端子を次のICのSDIに接続します。

PGA2311のデジタルインターフェース

電子ボリュームIC(PGA2311)はシフトレジスタで制御データを入力します。必要な配線はクロックとデータとCS(チップセレクト)です。
マイコンのSPI(Serial Peripheral Interface)を使用すると、送信バッファーに1バイトデータを書き込むと、自動的に送信してくれます。
CSは2バイト終了までLOWでなければならないので、マイコンのポート出力で2バイト送信終了を待ってからHIに戻しています。
SDIデータはMSBファーストでRchデータを先に送信します。

±5V電源の例

デジタルアンプは+12Vで動作する物が多いので+5Vは三端子レギュレータで簡単に作れます。
一方、-5Vはチャージポンプ回路では十分な電流容量が得られない場合が多いので、市販のDC/DCコンバータを利用する方が手軽で安価です。
下図のDC/DCコンバータは600円前後で入手できます。入力と出力がアイソレーションされているので出力の+V側をGNDに接続すれば-Vが-5Vになります。
スイッチングレギュレータはリップルノイズが含まれますが、最近のレギュレータは発振周波数が数百キロヘルツから数メガヘルツなので可聴範囲を超えていますのでそのままでも問題ありませんが、気になるようでしたらLを使った簡単なフィルター回路を追加して対策してください。

TOP NEXT