2015年6月9日火曜日

AVRによるATTコントローラーの製作

 電子工作も高周波を扱いはじめると信号のレベルを一定量任意に減衰させる、アッテネータ( attenuator 略して ATT )が欲しくなります。
 一時は抵抗値を選別しての自作も考えたのですが、これも基本的な測定器なので信頼できるものが欲しく、過日ヴァインシェル社( Weinschel Corp )の中古ATTを入手しました。
 なにかの測定器から取り外したものなのでしょうか、型番をヴァインシェル社のカタログであたってみましたが載っていませんでした、測定器メーカへの特別仕様なのかもしれません。

 銘版には PROGRAMMABLE ATTNUATOR と 12V DC の文字と0.25から32までの8個の倍列数字と COM の計9本の端子が出ています。
 端子の結線は回路図下部に点線で囲んで示したようになっているものと思われますが、各コイル(リレーの)抵抗は約800Ωで、慎重に調べた結果極性もなく、どの端子も正常に作動しました。

 せっかく PROGRAMMABLE ATTNUATOR とあり倍列数字の端子が8本出ているのでマイクロチップでの制御をしない手はありません、さっそくAVRを使ったATTコントローラの構想をまとめました。
 ATTへの供給電圧はAVRで使う5Vとの差を小さくする(省エネ)ために8Vで使っても確実に作動することをあらかじめ確認しておきました。

 端子が8本なのでAVRからデータを8bitで並列出力すれば事足りるのですが、、、問題は使いやすさとの兼ね合いです。
 表示も最初は使い慣れたLCD(液晶)を考えたのですが、文字が小さく表示するデータも少ないので、4桁7セグメントのLED素子を使うことにしました。
 ここまで来て、ハタと考え込みました、そうですAVRのピンが足りないのです。4桁7セグメントのLED素子で12本、ATT制御に8本、ロータリーエンコーダ(RE)で2本、これではAVRを内臓発振器をつかってXtalピンを2本開放しても、、、、仕方がないので74HC595を使ってシリアル・パラレル変換を使うことにしましたが、使用するピンの自由度から多少遅いですがSPI関数ではなくshiftOut()関数をつかいました。(例によってAVRのプログラム作成には arduino IDE をつかっています)

 上写真はブレッドボードによる実験の様子で、左上の表示値 24.25に対し、出力確認用LEDは LHHL LLLH でたしかに 0+16+8+0+0+0+0+0.25=24.25 となっています。 
 右写真は完成したATTコントローラですが思ったよりコンパクトでいい感じです。
 減衰量の制御は1dB ステップをロータリーエンコーダ(RE)で、0.25 0.5 0.75dB ステップを SW 1 (黄)で、10dB ステップを SW 2 (緑)それぞれ操作するようにしました。






 ちなみに回路図でつかっているトランジスタはデジトラと称されるものでトランジスタと2個の抵抗がトランジスタと同じ形状にモールドされており、省スペースができます。
 またダイオードは手持ちの古い汎用の信号用Siダイオード( 1S593 )です。
 上記回路図には電源回路が省略されていますが、直流12Vを供給し、3端子レギュレータで先ず8Vをさらに5Vを得ています。(パスコンの0.1uFの表示も省略しています)

 上はシグナル・ジェネレータ(SG)からの 0dB の信号にATTを通しての実験写真です。
 コントローラの31.75の数字に対して自作のレベルメータは31.9を示しており、まあまあです。

 右図はATTのレスポンスをGigaSt・スペアナで0~1GHzのレンジをとったものです。

 あらかじめ正規化してありますが、こうなってくるとATTでGigaSt・スペアナをチェックしているような、、、、結果は十分満足できるものでした。

 これで更なる分野へのチャレンジがまた楽しみになりました。

0 件のコメント: