はじめに

アンプ等々のアナログ回路のチェックを行うためには,信頼性が高い発振器が必要になります. 今回は秋月で買える身近な部品を使って発振器を作ってみました.

構成

波形生成の手法にはDDSを用います.デジタルで構成できるので,面倒なアナログ回路を減らすことができます. DACには12bit2chのMCP4922を使います.秋月にて250円で入手できます. マイコンにはATMEGA328Pをチョイスしました.250円と安価ながらROMが32kByteもあります. マイコンは25MHzのオーバークロック状態で動かしています.チップが結構暖かくなりますが,問題なく動作しているようです.

DDSから出力された信号はアッテネータとオフセット重畳回路を経て出力されます. なお,オペアンプは全て手持ちのNJM4580DDです.これも秋月で5個セット200円で買えます.

ホストとの通信路は安全とノイズの観点から絶縁することにしました. 使用したフォトカプラはPC410です.伝送伝搬遅れが120nsec(max)のそこそこ高速なものです.115200bpsで安定に通信することができます. ジャンク基板からひっぺがした部品を再利用しています.これは秋月で買えませんが,TLP250が代替品として使えると思います.

仕様

出力周波数 約0.02Hz〜50kHz
出力電圧 20Vp-p + オフセット電圧 -10V〜+10V
出力波形 正弦波,矩形波,三角波,ノコギリ波,逆ノコギリ波,任意波形
出力インピーダンス 51Ω
電源 ±15V

LPFの設計

DACの出力にはスプリアスが存在するため,歪率の低い信号を得るためには,このスプリアスを除去する必要があります. スプリアス除去フィルタには5次チェビシェフのLCフィルタを用いました.

カットオフ周波数 69.2kHz
通過域リップル 0.01dB
入出力インピーダンス 1.10kΩ
フィルタの設計手法

忘備録としてメモ書き

  1. 仕様,手持ち部品を鑑みフィルタの構造を決める
  2. フィルタの正規化表を入手する.トラ技2000年1月号p229に載っている.
  3. fcとインピーダンスを基にLC値をスケーリングする.
  4. 素子値をE6なりE12に丸める
  5. シミュレータに放り込んで特性を確認する

"LC方式のフィルタは多重帰還型やサレンキーと比較して素子感度が低いのが売り"ということは知っていたのですが, 今回設計して,それを実感しました.

設計した5次π型LCフィルタ
E1,E2は通過域のゲインを0dBに補正するために挿入
上側のフィルタが部品定数が有効数字4桁のもの.下側のフィルタはLCをE12,RをE24で丸めたもの.


LTSpiceで特性を確認
定数を丸めたものとそうでないものの差が殆ど無いことがわかる.
カットオフ周波数の69.2kHzと入出力Zの1.10kΩという微妙な数字は,LCの定数をE12に近づけようと苦心した結果.

減衰域で2dBの誤差がある.丸めた方が2dB悪化している.


エッジ部の拡大
仕様で与えた許容リップル(0.01dB)をクリアしていることがわかる.
さて,通過域リップル自体はどうやって決めればよいのだろうか.
DACが12bitなので,1LSBの振幅精度を通過域全域で確保したいのであれば20log10((1/4096)/2)で0.0024dBまでしか許容できない.
しかし0.002dBという値は以下の理由から適当では無いと思われる. まず,許容リプルがここまで小さいと,遮断特性が緩くなり,チェビシェフにした意味が薄れる. また,ユニバーサル基板に適当な部品を実装することを考えると,これだけの高精度は実現できないと思われる.
なので,せいぜい0.01dBがいいところであろう.(0.1dBでも怪しいかも)


許容リップルと減衰特性

高次のフィルタの設計は今回が初めてだったので,勉強がてら色々と調べてみました.

評価対象の回路
構成は5次π型のLPFである. 帯域幅と入出力Zは同一とし,許容リップルのみ変化させている.
フィルタのパラメータはトラ技2000年1月号p234より引用.

フィルタのあとの電圧制御電圧源は通過域のゲインを0dBにするために挿入.


許容リップルを小さくすると阻止帯域が広がる.
阻止域のゲインは許容リップルを一桁小さくすると10dB持ち上がってしまう.
このことから,とにかく減衰量を確保したい場合は許容リップルを大きくすれば良いことがわかる.

減衰の傾斜は許容リップルの大きさとは無関係であり,フィルタの次数に依存する.


LCに5%の誤差がある場合の特性のばらつきをシミュレーションしたもの.
減衰域でのゲインのばらつきは4dB.ゲインのばらつきの大きさは許容リップルの大きさによらないようだ.
ちなみにLCの誤差を1%にすると減衰域のゲインのばらつきは1dBになる.


通過域のゲインのばらつきは許容リップルが小さくなると,同じように小さくなる.

許容リプルを0.01dBに設定した場合,LCの誤差5%でも0.01dBを満たすことができる.一方,減衰域は5%の誤差が乗ってしまう.
フィルタを安く上げるには部品の誤差による減衰域の誤差を加味して,若干低めにfcを設定すると良い.


これらの画像を得るために使った時間は10分もありません.半導体技術の進歩とシミュレーション技術に感謝!.

マイコンのプログラム

DDSの処理

DDSの処理はアセンブラで記述しました. アセンブラで記述することにより,1ループを54ステップで回しています. C言語で記述した場合は100ステップ以上必要でした.

アセンブラを使うことで3バイト変数の演算ができたり,サブルーチンを使わない乗算等の最適化を図ることができます.

トリマレス化

アナログ回路というと微調整のための可変抵抗器を沢山使う場合が多いと思いますが,今回は部品点数の削減のため,トリマを全てとっぱらいました. オフセット等の調整はディジタル演算で行います.ただ,こうするとDACのダイナミックレンジが少々犠牲になります.

ユーザインターフェース

本機には操作,設定のためのつまみやスイッチが付いていません.操作は全てホストPCからUSB経由で行ないます. ロータリースイッチや可変抵抗のつまみがパネルに並んでいると壮観でカッコいいものですが, 製作する立場からするとケース加工の手間が増えたり,配線の面倒が出てくるので,なるべく避けたいものです. また,ロータリースイッチは割と高価ですので,コスト面でも大きなメリットがあります.

操作をホストPCから行えるようにしておくと,自動計測システムが構築しやすくなるという利点も得られます(というかこっちがメイン).

ハードの工作

基板

秋月で買えるガラエポ片面基板に押し込んでいます.

水晶とレギュレータが近いのは不味かったと感じています.レギュレータが割と発熱するので,熱による周波数ドリフトが懸念されます. といっても定量的に評価は行っていません.

チェビシェフフィルタに使っている2個のコイルは相互に結合しないように直行させて取り付けてあります.

しかし,電源のコモンモードチョークとフィルタコイルが近いのがいただけません.

USBのコネクタは,ケースの爪が基板の穴ピッチに合わないのでそのままでは挿し込めません. そこで爪を切断して,錫メッキ線をハンダ付けして固定爪替わりとしています.

ケース

タカチのYM130というケースを使っています.

製作した基板をケースに収めたところ.抵抗器の大多数とFT232RLはハンダ面に実装してある.

動作の様子.12.345kHzと指定すればその通りに出力される.アナログではこうは行かない.

1kHz正弦波

1kHz矩形波

50kHz正弦波.フィルタのおかげで,周波数が高くても綺麗な形.

50kHz矩形波.形が崩れているのはDACのスルーレートが足りないため.
NJM4580のSRは15V/usと十分だが,MCP4922のSRは0.55V/usしかない.

矩形波の立ち上がりを拡大.SRは2.6V/us.

性能評価

計測器ランドのレンタルラボサービスを利用して性能評価を行う予定です.

資料

  • 回路図
  • マイコンのプログラム.AVRStudioプロジェクト
  • 制御コマンドの一覧

Designed by chocoto
inserted by FC2 system