DS1882デジタルボリューム
デジタルボリュームは電子ボリュームとも呼ばれています。
抵抗のタップを半導体スイッチでデジタル的に切り替えることにより音量を可変します。
可変抵抗を使ったアナログボリュームと比べると、以下のような利点があります。
・左右チャネル間の音量差(ギャングエラー)が非常に少ない
・可動部がないため経年劣化や塵の侵入等による接触不良がない
・抵抗体の上を摺動しないのでいわゆる「ガリノイズ」がない
・つまみの軸からのノイズ侵入のおそれがない
ちょっと探した程度ではDS1882での製作例が見つからなかったので、作ってみることにしました。
まとめ買いしたのでDS1882およびキットを頒布いたします。詳細はページ後半をご覧ください。
1.DS1882とはどんなICか
DS1882はMAXIM社のデジタルボリュームICで、以下の特徴を持っています。
・デジタル電源4.5〜5.5V、アナログ電源±4.5〜7Vに対応し、消費電流はμAオーダー
・アナログ部が両電源のため、入力信号にバイアスを掛ける必要がない
・バッファアンプを内蔵していないため、電源ノイズやバッファのノイズがなく、低雑音
・ボリューム部は45kΩの可変抵抗と等価で、アナログボリュームを置き換えられる
・1dBステップで0dB〜-62dB・MUTEが可能
・ボリュームの誤差は最悪値で0.5dBのため、ギャングエラーが無視できる
・ボリュームの設定等はI2Cバスを通して行う
・ボリュームのGNDは左右それぞれ、デジタル電源・アナログ電源と独立しているためノイズを受けにくい
2.PICマイコンを使って制御する
PICマイコン1つで負電圧生成と制御が出来るようになっています。
チャージポンプですがリプルは12μVp-p(シミュレーションによる)とわずかなうえ、高周波なので音質には影響しません。
それでも嫌だという方は、外部からノイズの少ない負電圧を供給してください。
3種類のユーザーインターフェースが使用可能で、自動認識するようになっています。
(1)電源投入時に入力AとGND間の抵抗を測定し、10kΩ程度であれば可変抵抗モードで起動します。
抵抗と認識する範囲は開発時に1k〜100k程度に設定していますが、
境界付近は精度が悪く不確実ですので避けたほうが良いでしょう。
動作時はノイズ対策のため、1ms毎に電圧を16回(60Hzの1周期分に相当する時間)サンプリングして平均を取り、
さらに境界値でバタつかないようにヒステリシスを持たせています。
(2)PIC12F629使用時や、抵抗が検出されなかった場合は押しボタンモードで起動します。
キーリピートを実装してあり、約300ms以上の長押しで高速にボリュームが変化します。
押しボタンモードでもロータリエンコーダでの動作は可能ですが、誤認識が発生する可能性があります。
(3)ロータリエンコーダ特有の信号を何回か検出するとロータリエンコーダモードに入ります。
ロータリエンコーダのパルスの組み合わせを認識し、押しボタンモードより正確にロータリエンコーダの読み取りが出来ます。
このモードに入ると押しボタンでの操作は出来ません。
万が一押しボタン使用時にこのモードに入った場合は何度かボタンを押すか、電源を入れなおすと押しボタンモードに戻ります。
●プログラムはこちらからどうぞ
開発環境は、MPLAB IDE v8.30 および HI-TECH PICC v9.60 Lite で、無料で入手できるものです。
ソース・HEX・プロジェクト一式 Ver.1.0(09/11/07)
個人使用に限り自由に使っていただいてかまいません。
ソースコードの一部でも商用は禁止とさせていただきます。
余談ですが、DS1882にはEEPROMが内蔵されており、電源を切ってもボリューム値の保存が可能ですが、
EEPROMの寿命は5万回とのことです。
ボリュームを1ステップ変える毎にEEPROMが書き換わるので、5万÷128≒390、たったの390往復でEEPROMが寿命に達します。
1日あたり1往復ボリュームをいじっただけで、1年ちょっとで寿命が来てしまうわけです。
ですが心配する必要はありません。この制御プログラムではDS1882のEEPROMを使用せず、
PIC内のEEPROMにボリューム値を保存しています。
PICのEEPROMは100万回の書き換え寿命を持ち、さらにプログラム上で1秒間ボリュームが変化しなかった時のみ
EEPROMに保存するようにしています。
1日あたり20回ボリュームを操作したとしても137年の寿命があります。
また、可変抵抗モードではそもそもEEPROMを使わないようにしています。
電源電圧はデジアナ共用で4.5〜5.5Vがデータシートによる推奨電圧となっています。
私の試した個体では起動電圧は2.4〜2.6Vで、起動してしまえば2.0Vでも動作しました。
個体差等があると思うのであまりこの値は当てにしないでください。
また、PICのほうが起動電圧が低いので、PICの起動電圧に達してから170ms以内にDS1886の起動電圧に達しないと
初回のボリューム値が適用されず、ミュートされたままになってしまいます。
この場合はDS1886の起動電圧に達した後にボリュームを操作すると音が出るようになります。
消費電流はPICを含めて0.6mAでした。可変抵抗モードではこれに可変抵抗に流れる電流が加わります。
3.頒布について
DS1882をまとめ買いしたのでIC単体・キット・完成品の頒布をいたします。
キットの組み立てにはSOIC(1.27mmピッチ)および1608サイズの半田付け技術が必要です。
[PDF]キット製作マニュアル 第二版 ←内容・製作方法・配線についてはこちらをご覧ください
初版に不備(パターンカットの赤丸が複数存在する)がありましたので訂正しました。
DIPモジュール基板キット(キット内容は写っているものになります)
(組み立て例)
|
基板実装用モジュール
・仕様
オンボード負電圧生成回路(5V単電源で両電源動作)
アナログ電源ピン引き出し(デジアナ電源分離可能)
寸法 : 約 18mm x 18mm
2.54mmピッチで7穴x7穴(DIP40と同じ幅)
|
ロータリエンコーダ直付基板キット(ロータリエンコーダは付属しません)
(組み立て例)
(実装例)
|
アナログボリュームの置き換え、パネル取付用
・仕様
ロータリエンコーダEC16Bを直接搭載可能
(秋月電子通商で入手可能:
P-292)
オンボード負電圧生成回路(5V単電源で両電源動作)
アナログ電源外部供給も可能
寸法 : 約 24mm x 21mm
|
●頒布内容 終了しました
内容 | 商品コード | 価格 |
PIC12F629付 | PIC12F675付 |
DS1882単品 (メーカ直販価格 $3.15 @1〜24個) | DS1882 | 300円 |
DS1882+書込済PIC | DS1882/D | DS1882/A | 450円 |
DIPモジュール基板キット(在庫切れ) | DS1882/D/M | DS1882/A/M | 800円 |
ロータリエンコーダ直付け基板キット | DS1882/D/E | DS1882/A/E | 800円 |
組み立て代行(完成品をお届け) | (多忙のため休止中) | +400円 |
いずれも入力用パーツ(可変抵抗、スイッチ、ロータリエンコーダ)は付属しません。
PIC12F629はスイッチ・ロータリエンコーダのみ対応、PIC12F675はさらに可変抵抗入力に対応しています。
誤動作の可能性を減らすため、可変抵抗入力を使わない場合は12F629を選択してください。
ロータリエンコーダ直付け基板でも12F675が選べるのは、端子に可変抵抗を無理やり繋げば可変抵抗用としても使えるからです。
●注文方法
支払い方法は銀行振り込みのみとなります。
振込先銀行:住信SBIネット銀行、スルガ銀行、三菱東京UFJ銀行
送料は普通郵便(定型・定形外)の場合、数量にかかわらず定額100円とさせていただきます。
その他の発送方法をご希望の場合は実費で承ります。
このメールアドレスに下記内容を送信してください。
・商品コード、個数
・組み立て代行の有無(-5V生成回路が不要な場合はお申し付けください)
・発送方法(普通郵便またはその他ご希望の方法)
・送り先(郵便番号、住所、宛名)
追って支払い総額、振込先、連絡先等をお知らせいたします。
注文が殺到した場合は、時間を頂くかキャンセルさせていただく場合がありますのでご了承ください。
●頒布状況
在庫:頒布終了※
※在庫終了しました。多忙により再製造の予定は今のところありません。
2012年10月22日現在、29名様、計90個を発送済み。
|