2018年4月30日月曜日

【回路】Frequency Counter Design, Part 1

回路設計:周波数カウンタの設計・Part 1
 【カウンタ用LSI
 持っている部品のリストアップをしています。 以前ならどこに幾つくらいの手持ちがあるかなんて結構しっかり覚えてました。 しかしもういけません。 覚えるよりも忘れる方が早い年齢になると手持ちがどこにどれだけあるなんて忘れる一方です。(悲)

 結局のところまだ使え(使い)そうな在庫部品はリストアップして所在をメモしておく必要に迫られるようになりました。 そうしないと見つけられなくてあちこち探しまわるとか重複した購入などが頻繁に発生するようになります。 そんなニーズから始めたごく単純なデータベース(DB)ですが思った以上に便利です。 忘れっぽくなる前から作っておけば良かったと反省しているくらいです。 Excelの表を使っていますが簡単な機能説明と数量のほかに保管場所が書いてあります。 製作に先立って部品を集める時にはもちろんですが、こうしておくと手持ち部品を使って回路を考えるのにも重宝します。(DB化するまでは厄介ですけれど) それと同時にお宝になりそうなパーツは持ってないことも良くわかりました。(残念)w

                   ☆

 DB化は部品整理も兼ねるので分散して保管してあったようなパーツをジャンルごとに寄せ集める効果もあります。 そのような過程でカウンタ用のLSI(写真)が何種類か出てきました。 以前は周波数カウンタといえばこうしたLSIを使うのが一般的だったものです。 いずれでも4桁〜6桁のカウンタが比較的少ない部品で作れます。

  今から周波数カウンタを作るならマイコン式が一番だと思います。PICなりAVRなり、もちろん他のチップでもマイコンを使ってFBなものが作れます。特別な専用ICの必要がないため部品集めは簡単です。さらに汎用の文字表示ユニットを使うと少ない配線で済むため製作も容易です。(ただし、プログラムミングのことを忘れてはいけませんが) ですからこうしたLSIで本格的に周波数カウンタを作りたいなどとは少しも思いません。

 ところが整理しているうちになんとなく動作させてみたくなってきたのです。この中で使用経験があるのは2つくらいでしょうか。 それであまり深入りしない程度に周波数カウンタ(のようなもの?)を作って遊んでみることにしました。 意図した動きをしたらそれでオシマイでもいいんです。カウンタはすでに間に合ってますから。 しかし予定とは違ってだんだん深みにハマりつつあります。(笑)

                  ☆ ☆

 写真のカウンタ用のLSIですが、いずれもディスコン(生産終了)になっています。しかし未だにニーズがあるらしくお店の在庫も枯渇してきたようです。 手持ちでもあるなら別ですが、本来の価値以上に価格高騰していると感じるので新たな入手はお奨めしません。 もちろんこうしたLSIは無くても74HCXXといったスタンダード・ロジックのICを並べて作ることもできます。 必要なICの数はだいぶ増えますけれど。
 しかしフレキシビリティの点でもハードウエアだけで実現する周波数カウンタはイマイチですから、遊んでみる程度に留めるのが吉ではないでしょうか? もしもそうした遊びに興味がありましたら暇つぶしがてらにお付き合いください。

 【カウンタ制御回路
 周波数カウンタのキモになる部分といえば制御回路でしょう。 要するに、(1)決められた時間だけゲートを開きます。ただちにカウントが始まります。 (2)入力パルスの計数が終わったら一時記憶にデータを移します。同時に表示が更新されます。 そして、(3)カウント値をリセットして次の計数に備えます。 ・・・といった一連の制御シーケンスを作るわけです。

 もちろんこの部分には測定の基準となる「基準発振器」も含まれます。 一言で言えば、周波数カウンタとは一定の時間のあいだに入ってきた波の数(=パルス数)をかぞえて表示する測定器です。 例えば1,000Hzと言うのは「一秒間」に1,000個の波が入ってきたわけです。 したがってこの1秒間と言った「一定の時間」をつくる「基準」が大切なことは言うまでもありません。この時間が狂ったら正確な測定にはなりませんから。

 写真はカウンタの制御回路を試作している様子です。 簡易に遊ぶのが目的ですからOCXOなりTCXOのような本格的な高精度基準発振器は使いません。 もしも本気が出てきたらグレードアップすれば良いだけですので・・・。 まずは基本的な動作を追ってみれば十分なはずです。

 こうした制御回路の設計が周波数カウンタでは一番面白い部分かもしれません。 パルス数をカウントする部分には専用LSIを使うので工夫の余地もないため面白いとは言いかねます。数字表示器の部分も配線が面倒臭いだけです。 ほかに周波数カウンタの回路で面白いとすれば、入力のアンプと波形整形回路くらいのものでしょうか? このあたりは後でやってみたいと思います。 まずは制御回路の設計と実験からスタートしました。

周波数カウンタ制御回路の設計
 シンプルな実現手段としてはCRとゲートIC等を使った半分アナログっぽい制御回路だろうと思います。 タイムベース用の分周器を除けば数個のゲートICで作ることもできます。

 まあ、それでも良かったのですが違う方向で行くことにしました。 探したら以前考えてあったアイディアの手書きメモが出てきたのです。さっそく実際に回路を組んでみました。 参照したメモは机上のものだったので、そのままの回路ではいろいろ旨くないところがあって意図したように動いてくれません。 左図は幾つか問題を解消して取りあえずまともそうに動いている回路です。 このあとPart 2へ続く予定ですが、カウンタLSIと組み合わせた際に何らかの不都合が見つかれば変更する可能性もあります。一通りの検討はしてあるのでまず問題はないとは思うのですが・・・。

 簡単な説明です。 ゲートタイムは1mSと1Secが選択できます。 従って表示の最下位桁は1kHzまたは1Hzとなる訳です。 測定レンジとしてはMHz単位とkHz単位の2レンジ切替え式です。なお、下から3桁目と4桁目の間の小数点を点灯させ、小数点以下3桁の表示となります。
 単純な回路でやると1Hzまで読むのに2秒のサンプリングタイムを要することになります。表示の更新がのろくて使いにくい周波数カウンタになります。 ここでは11進カウンタを使って1.1秒のサンプリングで済むようにしてみました。倍近く早いので発振器の周波数をHz単位まで合わせ込むと言った用途にはずいぶん使いやすくなります。
 ラッチとリセットパルスは言わば常套手段のようになっているのですが、CRによるエッジ微分で取り出す形式はやめておきました。 動作が確実なシフト・レジスタを使った同期微分形式としています。従ってCRの時定数を加減すると言った「調整」の必要はありません。 シフトクロックは1mSですのでラッチ、リセットのいずれも1mS幅のパルスとなります。 すべてクロックに同期して順序よく動きますからタイミングが逆転するといったおかしなことは原理的に起こらないでしょう。

参考・1:デジタル回路の配線図ではICの電源ピンやGNDピンへの配線記載を省くことが良く行なわれます。これはなかば常識でしょうか。 上記の配線図でも74HC02と74HC10などのVdd/電源(ピン14番)とVss/GNDピン(ピン7番)への配線は書かれていません。
 もちろん配線図に記載はなくても必ず配線してやります。74HC74、74HC175や74HC161も同様です。 各ICのピン接続を良く確認のうえ電源やGNDへの配線を行ないます。(回路図には注釈として電源とGNDピンの番号を記入してあります)
 すべてC-MOS ICを使っていますから余っているゲートなどは空きピン処理が必須です。入力になるピンは遊ばせたままにしないで必ずHigh(=+5V Vdd)もしくはLow(=GND)に固定してやります。言うまでもないでしょうが出力となるピンは開放(オープン)状態にしてどこにも接続せずにしておきます。
 また、少なくとも3個のICに一つくらいの割合で電源ピンとGND間にバイパスコンデンサ(= 0.1μF程度のセラコン)を入れておくと動作が安定します。 電源供給端子のあたりにバイパス用の数10μF程度の電解コンデンサもお忘れなく。

参考・2: この回路の改良版がPart 3(←リンク)にあります。以下の説明を一通り読み終えたらリンク先に飛んで参照して下さい。もしこれから新たに製作するならそちらの方が良いかも知れませんが、実用上の性能はほとんど違いません。(2018.05.29追記)

基準水晶発振はSPG8651B
 ゲートタイムの精度が周波数カウンタの測定精度を決めます。 ここでは100kHzの水晶発振器を内蔵したプログラマブル・オシレータ:SPG8651B(セイコーエプソン製)を基準の発生に使いました。

 SPG8651Bの初期精度は±5ppm以内です。既成の水晶発振器としては高精度な方でしょう。また、簡単に様々な周期のパルスが得られるので便利です。 以前使ってみた感触ではSpec値よりもう少し周波数精度は良かったと思います。周波数の安定度もかなり優秀でした。 下手に作った自作水晶発振器なんかよりもずっと安定していました。  データシートを見る範囲では電源電圧を±0.5Vくらい振ってやると発振周波数の微調整もできそうなのですが・・・。それをするくらいなら周波数調整機能付きのTCXOを使うなどの方法がベターでしょう。

  SPG8651Bからは1mS周期のパルス・・・周波数でいえば1kHzを取り出しています。この1mSが制御回路の基本になっています。 もしSPG8651Bが入手できなくても代替手段として他の水晶発振器を使って1mSを作ってやれば良いわけです。 その作った1mS周期のパルスを回路図:TP5の位置に5V C-MOSのレベルで与えてやります。
 この1mSパルスは後に説明するシフト・レジスタのシフトパルスになります。 また、1mSをさらに10進カウンタが二つ入った:TC4518B(写真左)を使って1/100に分周します。 これで100mS周期(=10Hz)のパルスが得られます。100mSはさらに11進カウンタへ供給します。

1秒ゲートの作り方
 100mSパルスを11進カウンタで分周します。100mSを元にゲートを開く「1秒間」を作ります。 10mSを101分周とかでも良いのですが、複雑になるので11進でやってみました。 1秒ゲートを開いたら残りの100mSでラッチとリセットの動作を行ないます。

 はじめに11進カウンタを74HC74を使った4段のリプルカウンタで作ってみたのですが、各段の出力に遅延があって思ったように動作しません。 少々姑息な手を使えば動きそうですが、どうやらリプルカウンタでは無理がありそうです。 そこで同期式のバイナリ・カウンタ:74HC161を使うことにしました。これなら各段のタイミングがきれいにそろいます。 ただし11進カウンタにするためのデコードとそれに続くリセットは非同期ですから完全なクロック同期動作ではありません。

 完全な同期式も可能なのですがますますICが増える懸念があり遊びの域を超えますからやめておきました。実用上支障がないというのも理由です。 まあこうした回路はFPGAでも使って完全同期式の設計・・・それが常識ですが・・・で作るのが良いのでしょう。それ以前にマイコン式の方がプログラムによる自由度がありますから方向違いですネ。

参考:74HC10/U4cの8番ピンに74HC161をリセットするパルスが出ているのですがとても幅の狭いパルスです。 このパルスはゲートタイムの誤差の一因になるので狭い方が良いはずです。 狭いパルスのうえ繰り返し周期は1.1秒ですからアナログオシロでの観測はたいへん困難です。500MHz帯域のデジタルオシロを使いました。 観測によればリセット動作に約20nSほど要するようです。 従ってゲートタイム =1秒に対する誤差は2×10E-8程度考えられるでしょう。これは6桁程度の周波数カウンタではまったく表面化しません。 むしろほかの誤差要因の方がずっと大きいはずです。  プリスケーラを付けて測定範囲を拡大したとしてもその分だけ分解能も悪くなるので影響しません。 念のため検証しておきました。

ラッチ、リセットパルスを作る
 ラッチとリセットのパルスは、ゲート開閉パルスの後縁の部分を同期微分して得ています。 ラッチとリセットの間には1シフトクロック分の遅延を入れてあるので、タイミング的にクリチカルではありません。

  ちなみに、シフトクロックは上記にも書いたように1mSです。 各パルスは動作が遅いスタンダードC-MOS のカウンタLSIでも十分応答するだけの幅があります。 この部分は汎用のシフトレジスタでも構成できますが、ピンの引き出しの点などからQuad D-Flip-Flop:74HC175をシフトレジスタになるよう配線して使います。 段数が足りないので74HC74を一つ補いました。

 途中でNORゲートの74HC02で負論理のNANDをとって1mS幅のパルスを得ています。 これを使って1mSのゲートタイムを作るほか、それを遅延させてラッチやリセットパルスも作るわけです。 この1mS幅のゲート開閉パルスは100mS周期で発生しますから、10回/秒のサンプリングになります。 従って1mSゲートに切り替えても表示がやたらにチラつくようなことはありません。 ほかのアイディアとして、1〜2個のICと数個のCRを足すと可変サンプリング式にすることもできますが必要性が低いので省きました。

 この部分にはカウンタ部のレンジオーバーを表示するための回路を設けています。カウンタ部で表示オーバーフローが発生したときLEDが点灯します。(74HC02の2/4を使用)

 CRとインバータやゲートのICを使ったタイミング回路でも周波数カウンタごときものなら十分なのかもしれません。多少カットアンドトライを行なえばうまく行くでしょう。 シフト・レジスタを使った回路はクロックに基づいて動的に考えるのが面白いのでやってみたまでです。 オシロスコープで動きを確認しながら「デジタル回路」のハードな部分をたっぷり楽しむことができました。

参考:ゲート信号、ラッチパルス、リセットパルスのいずれも正論理で設計しました。High-Activeなわけです。 調べてみたら最初の写真にあるカウンタ用のLSIのうち、μPD851CのみリセットパルスがLow-Activeなので信号の反転が必要です。具体的にはμPD851Cに限ってリセットに端子:J5の方を使います。 そのほかのLSIはいずれもHigh-Activeなのでリセット信号は上記の回路図の端子:J4の方です。 このあと本命(?)のカウンタ用LSIを使って遊びますが、これでどのICにも使うことができる制御回路になっていると思います。

                ☆ ☆ ☆

今さらカウンタ用のLSIで周波数カウンタを作るなんて流行りませんよね。チープなチャイナ・カウンタ基板も売られているくらいですので。(笑) そんな意味からも遊びの実験とお断りしているようなわけです。作ってみること自体を「遊ぶ」わけです。 遊びとは言っても十分実用になる周波数カウンタが作れそうですから部品の手持ちがあるなら本格的に製作して役立てるのも悪くないと思います。意外に気の利いた周波数カウンタになるはずです。

 電子部品は使ってこそ価値が生まれますので死蔵されるよりも何がしかの用途に使われた方が幸せでしょう。  これは何もカウンタ用LSIに限りません。たとえ実験的であっても使って遊んでみたら興味深いのではないでしょうか。

 さて、制御回路はできましたから次回はカウンタ用LSIを使った計数部と表示器ドライバをやってみたいと思います。 少々フライングですがこの写真はそんな実験のひとコマです。 ではまた。 de JA9TTT/1

つづく)←リンク fm

2018年4月16日月曜日

【回路】Making a Voltage Generator

回路製作:電圧発生器の製作
 【組合せテスト中
 写真は電圧発生器のユニット組合せテストを行なっているところです。 ユニットごと個別のテストは済んでいますが、必要なユニットがすべて揃ったので組合せて様子を見ています。 どうやら目的のものができつつあるようです。

 3回前のBlog(←リンク)で検討した「電圧発生器」ですが、シンプルにヘリポットで出力電圧を可変する形式で作ることにしました。簡単に言えばアナログ的に設定する電圧可変型電源のようなものになるわけです。 独立した機器として使えるようにAC電源を内蔵することにしたほか、実用範囲を広げるために小変更を行ないました。 以下、全体の概要と製作したユニットについて記述します。

                   ☆

 製作した直後は細部まで記憶は鮮明です。しかし暫くすると細かいことは忘れてしまうものです。 使い始めて問題がなければ良いのですが場合によっては改造の必要が生じるかも知れません。製作時の考えや細部の様子を纏めておくと将来の改良だけでなくメンテナンスの時にも参考になります。 以下、多分に自家用資料ではありますが、もしも同種のものに興味があればご覧ください。

 【全使用ユニット
 出力ターミナルやACのインレットなどまだ決めていない部分があります。 収納ケースとそうした外装の部分を除いた全ユニットを集めてみました。

 前回のBlogで使ってみて具合が良かったブレッドボードスタイルの試作用ボードを全面的に採用して製作しています。 これはこのボードの消費も目的の一つだからです。

 テスト段階では汎用の安定化電源から各ユニットへ電源電圧を供給していましたが、独立した機器にするにはどうしてもAC電源の自蔵が必要です。 各ユニットへ電圧を供給する電源部を作る必要があります。 10.000Vの基準電圧発生部と出力アンプ部分は前回のBlogと類似ですが、検討を行なった結果、実用性をアップするために部分的な変更があります。

 以下、写真の各ユニットについて順に見て行きます。 一部前回のBlogと重複する話もありますが気にせず行きます。(笑)

 【10.000V基準発生ユニット
 大元の基準電圧源にはLM399Hを使うことにしました。LM399Hについては前回のBlog(←リンク)などを参照してください。 温度補償型のツェナ・ダイオードでも良さそうでしたが、実際に作って比較すると安定するまでの時間はLM399Hの方が早い印象もあり、安定性でも優れているのは間違いありませんでした。

 もちろん、本来の性能を発揮させるためには部品の吟味が大切です。 選定を誤れば十分な性能が得られないでしょう。

 LM399Hを使う際の課題は得られる電圧がばらつくことにあると思います。 予備実験として、手持ちにあったものを簡易的に動作させて個々の発生電圧を記録することから始めました。 評価方法はデータシートに記載がある通りです。 具体的には+15Vの電源から7.5kΩの抵抗を通して電圧を与え、ピン1とピン2の間の電圧を実測しました。 もちろん、LM399Hのオーブン回路にも+15Vを与え、30秒以上経過しておおむね温度が安定したところで電圧を読み取って記録します。

 LM399Hの実測でいくつかのことがわかりました。 ブレークダウン電圧(発生電圧)は低温時から高温(安定温度)に達するまで変化が見られ、その変化の大きさは個々に違いがありました。 目見当ではありますが観測していると違いがわかります。 安定状態に達すれば一定の温度に保たれるはずですが、実際には外気温の影響を受けて僅かながらの温度変化は存在するはずです。そのわずかな影響で電圧変化しやすそうなものと安定していてくれそうなものがわかってきます。 そのほかノイズに起因すると思われる「ゆらぎ」も見ていると違いがありました。

  記録した中から設計しやすそうな電圧であって、なおかつ温度の影響が少なそうで揺らぎも小さいものを選ぶわけです。 こうした希望に沿うものは全体の1/3くらいの感じでした。 普通は3つ買ってその中から良さそうなものを一つ選ぶくらいで満足できると思います。

 【10.000V基準ユニット回路図
  回路設計はデータシートの数字ではなく、先の予備実験で得られた電圧に基づいて行ないます。 現物合わせの設計は量産品では許されないことですが、一品料理ですからなんでもアリです。 以下の説明は左図のFig.1に基づいています。 なお、Fig2は集合抵抗を使う例で後ほど触れます。

 何を設計するかと言うと、回路の増幅度を決める抵抗値とその調整方法です。 いくら温度特性の良い抵抗器を使ったとしても、電圧を調整する部分で性能の低下が起こります。 調整なしというわけにも行きませんので、その影響が最小になるように設計します。

 具体的には温度係数の良好な固定抵抗だけで極力最終目的の電圧:10.000Vに近い電圧が得られるように設計します。細かな抵抗値を特注できれば良いのですが、そうも行きませんからできる限り標準的な抵抗値・・・例えば10kΩ・・・だけを使います。その代わり何本か並列や直列に使うことは許容します。

 その上で、なるべく狭い可変範囲で目的の電圧に追い込めるように調整範囲を決めます。 方法にもよりますが、そのようにすれば主たる抵抗器・・・この抵抗器は温度係数が小さいもの・・・との抵抗比だけ温度係数に対する影響を軽減できるでしょう。

 主たる抵抗器:Aの温度係数が仮に10ppm/℃としましょう。 電圧調整のための可変抵抗を含む抵抗器:Bは100ppm/℃だとしましす。 もしこれらの抵抗器:Aと:Bの抵抗比が100倍あるとすれば、性能の良くない方の:Bの抵抗器の全体への影響はおおよそ1/100にすぎないことになります。 上手に設計すれば全体の性能は:Aの抵抗器によってほとんど決まってしまいます。電圧調整の部分による温度特性の劣化はそれほど気にする必要がなくなります。( この設計例では:Aは6,250Ωで:Bは67Ωなので約1/93になっています)

 もちろん、これを実現するためのポイントは温度特性の良い固定抵抗器だけでできるだけ目的の電圧に近づくように設計しておくことにあります。その時に事前に実測しておいた発生電圧の数値が役立ちます。 もし温度特性が優秀な固定抵抗器がなくても、図のFig.2のように温度トラッキングが取れている組み抵抗をうまく使って作ることができます。そのような際にも電圧調整の部分については同じような効果が期待できます。(試作例を後述)

参考:LM3999ZはオーブンのヒータとツェナーのGNDが共通端子のため、この回路には使えません。前のBlogにあったように定電流源を併用する方法で使います。

 【10.000V基準主要部
 OP-Amp(OP-07CZ)やLM399HにはICソケットを使いたくなりますが、直接がっちり半田付けするに限ります。

 この回路のようにppmオーダーの安定性を追求する回路にICソケットなど使えば必ず「不安定さ」が現れます。 初期は良いとしても時間の経過でどうしても接触状態に変化が現れますからソケットのようなものを使うのは好ましくありません。 言うまでもありませんがブレッドボードでは試作はともかくとして恒久的な使用には全く不向きです。

 しかるべき筐体に組み込みますのであまり心配はないのですが、LM399Hの脚部に風が当たると微細な電圧漂動の原因になります。 写真のようにチューブで覆ってやります。 LM399Hは自身で発熱して温まりますから空気の流れの影響を受けやすいものです。

 【10.000V調整部
 電圧調整部分です。 ここで使用したLM399Hの発生電圧は:Vz=6.643Vでした。R2=12.5kΩ、R3//R4=6.25kΩでは出力電圧:Vo=9.9645Vです。 これを10.000Vにするには、R3//R4を大きくする必要があって、計算によれば約67Ωだけ追加する必要があります。この追加部分に電圧の微調整を設けるのです。(注:R2〜R4を実測しておき、必要に応じて補正量を加減します)

 ただしこの67Ωを可変抵抗器だけで得てしまうと可変範囲が広すぎるだけでなく不安定になるでしょう。 多回転の可変抵抗器を使うと調整は楽にはなるのですが、可変抵抗器は本質的に不安定ですから安定度の点では好ましくありません。可変できる部品は自然に変化する可能性もあるわけです。 必要な抵抗値はわかっていますから、もっと狭い可変範囲でも大丈夫です。 ここでは温度特性が良い50Ωの固定抵抗器(写真中央)と、サーメット型の50Ωの可変抵抗器の組み合わせ(直列)で可変範囲をできるだけ狭めることにしました。(参考:R3//R4の値が計算値よりも大きい時は補正のための抵抗+VRは並列に入れます。この場合、抵抗+VRの抵抗値はかなり大きな値となります)

 電圧の調整範囲は20mV程度ありますから十分な可変範囲です。 実際にも支障なく調整できました。 微細に合わせようとすると調整は多少クリチカルになるので多回転型の可変抵抗器を使うと楽かもしれません。 しかし現状でもそれほど難しくはありません。 電圧の安定性も良好です。 また、将来しかるべき校正の機会があった時に十分な調整範囲があります。 現状では真の電圧値(=10.000V)に対しておおよそ±2mV以内にありそうです。

 以上のように、使用するLM399Hを実測して得た発生電圧に基づいてピンポイントの設計を行なうことで、安定で調整しやすい回路が実現できます。一品料理ならではの製作手法でしょう。 

10.000V基準ユニット裏面
 10.00V発生ユニットの裏面(ハンダ面)です。 数本の裏面配線がありますが、ツェナ・電流のリターン配線などピンポイントで結びたい部分に使っています。 流石にこの基準発生回路くらいの精度になると電流が流れる部分に僅かでも共通インピーダンス(配線抵抗)が存在すると無視しえません。

 LM399Hのオーブンの電流とOP-Ampの電源電流は比較的大きいため、別系統のGNDラインに流すようにしています。
(注:写真は改造前のもの。現状はGND系の配線に多少の変更があります)

集合抵抗を使った10V基準器
 温度係数が極力小さい抵抗器が手に入れば問題ないのですが、実際には納期やコストの点でなかなか難しいものです。

 一つの方法として集合抵抗器をうまく使う手があります。 写真はそうした一例です。 上に示した回路図のFig.2に相当する試作例です。

 写真に見える集合抵抗は手持ちにあったものです。調べてみたのですが温度係数や温度トラッキングの性能は不明でした。 意図した性能が出せるか心配だったのですが、思った以上に良好でした。 温度係数のトラッキング特性がカタログに明示されいる集合抵抗も市販されています。 それらは単独では100ppm/℃くらいの温度係数があるので、そのまま個々の抵抗器として使ったら旨くありません。 しかし、OP-Amp回路のようにゲインが抵抗比で決まるような回路なら負帰還回路に使う抵抗器の温度係数がよく揃ってさえすれば支障ありません。

 集合抵抗器には端子が独立した抵抗器が並んだものと、全ての抵抗器の片側が共通端子になっているものがあります。前者の方が自由度があって使い易いのですが、この例のように一端が共通端子になったものでも旨く使えることがあります。 1:2や1:3・・・1:nと言った抵抗比なら簡単に実現できます。 この例では1:2で使っています。  写真の性能が不明な集合抵抗でも十分いけそうな温度安定性だったことを報告しておきます。

 【出力アンプユニット
 前回のBlog(←リンク)の回路図にあった出力アンプの部分です。 基本的に同じ回路なのですが、ゲインが1倍と2倍に切り替えられるように変更しました。 このゲイン設定の抵抗器にも温度係数が小さいものを使います。必要なのは同じ抵抗値の抵抗器2本なので集合抵抗でもうまく作れます。なお、ゲイン1倍の時には抵抗器の温度係数の影響はほとんどありません。

 基準電圧発生ユニットから得られる電圧は最大10.000Vです。 活用範囲を広くするため、ゲインの切り替えを設けることにしたのです。 簡単な変更によって最大で20.000Vまで出せるようになります。

 ただし、Op-Ampの電源電圧が±15Vでは+20Vは取り出せません。 +25Vくらいの片電源を与えれば+20Vまで出せるのですが、こんどは0V近くの電圧が出せません。 そこで少々変則的な電源電圧ですが出力アンプユニットには+25Vと-5Vの電源を与えることで解決しました。 後ほど説明する電源ユニットでは+25Vと-5Vを作ることになります。

 この部分のOP-AmpもICソケットは使いたくないのですが、外に配線が引き出されるため使用中に破損する恐れがあります。 簡単な保護回路は設けていますが万全ではないため交換可能にしておく方が安心です。 支障があればソケットはやめてハンダ付けしてしまうつもりですが、取り敢えず様子を見ることにしました。 このユニットでは数10mVまで扱う必要があるので、OP-Amp:OP-07CZにオフセット調整を設けます。これによって常温付近でのオフセット電圧は10μV程度に収まります。これで小さな電圧を出力するときの安定度向上が期待できます。

出力は20.000Vまで
 仮のテストですがこのように20.000Vまで出力できるようになりました。

 最大20Vのワンレンジにしてしまうと低い出力電圧における電圧設定分解能が悪くなってしまうため最大10Vと最大20Vの2レンジ切り替え式で作ります。

 20Vまで出せますと活用範囲もだいぶ広がるように思います。 最大出力電流は現状では10mAくらいです。 電源回路に幾らか余裕があるので50mAあたりまで増強することは可能でしょう。 PNP/NPNのコンプリメンタリトランジスタを補って最大電流を拡大することは十分可能です。 出力アンプユニットには幾らか余白があるので必要に応じて改造したいと思っています。

 【30V電源ユニット
 +25Vと-5Vの安定した電源電圧を発生するユニットです。 使用した電源トランスの電圧がやや高めだったので工夫が必要でした。

 使ったのが有り合わせのトランスですからちょうど良い電圧が得られるわけでもありません。 簡単に済ませたかったのですが、意外に大掛かりになってしまいました。(笑)

 トランスの18V+18Vの巻線をブリッジ整流して得られた約55VDCから安定化された+30VDCを得ます。 その30Vをアクティブ・ディバイダ回路で+25Vと-5Vに分割する形式で必要な電圧を得ています。 +25V側の電流値の方が-5V側よりも必ず大きくなるため、それを考慮して幾らか簡略化しています。詳細は次の回路図でどうぞ。

 【30V電源ユニット回路図
 まず初めに安定した+30Vを作ります。 PNPトランジスタを使ったコレクタ出力形式の安定化電源回路です。

 この回路では基準となるツェナ・ダイオードに流す電流を電圧が安定化された出力側から得ています。 そのため入力電圧変動に対する電圧安定度は良好です。 そうしたメリットがある反面、立ち上がり特性を考えておかないと電源投入時にオーバーシュートして瞬間的に高い電圧が出力に現れる可能性があります。 昔々の話ですが若かったころこの回路を使ったところそうした配慮が不十分だったため設計審査で問題になったことがありました。教訓を込めてこの回路を採用しています。 スタートアップ特性を観測していますが今度は問題ありませんよ。(笑) ツェナ・ダイオードには中グレード品ですが温度補償型の1S550を使いました。ちょうど10mA流すようにしています。一般的な9V程度のツェナ・ダイオードでも十分でしょう。

 整流・平滑した後の電圧がかなり高いことから、大半のOP-Ampは耐圧オーバーで使えません。 もちろん、補助の電源を用意するなど回路的な工夫で解決はできますが部品が増えます。 ここではモトローラ製の高耐電圧OP-Amp:MC1436Gを使いました。電源電圧は±30V(=60V)まで許容できます。 このOP-Ampは長いこと部品箱に眠っていたもので、この機会に使ってみたのですが1970年代の設計らしく流石に古典的で欠点がありました。 +Vccあるいは-Vee近くの電圧が出力できないのです。簡単にいえば高い電源電圧の割には大きな出力が取り出せないのです。
 もちろんレール・トゥ・レール出力のOP-Ampでもなければ、電源電圧いっぱいまで出力を振れないのは当然です。それでもレールの±2〜3V内側までなら振れるのが普通です。 ところがMC1436Gは±5〜6Vくらい内側までしか振れませません。 そのためこの電源回路ではPNPトランジスタのドライブが旨くできず、12Vのツェナ・ダイオードでレベルシフトして対処しています。(9Vのツェナ・ダイオードでも可)
 有るもので間に合わせたツケと言った所でしょうか。 すこし部品が増えても高耐圧OP-Ampではなく、一般的なOP-Ampで済むように回路側で工夫をした方が好ましいです。

 30V電源部分に続くアクティブ・ディバイダ回路はあまりなじみがないかもしれません。この回路で30Vを25Vと5Vに分割します。トータルの電圧を任意の比率に分割したい時には便利です。分割したポイントをGND電位と考えることによって+25Vと-5Vの電源となります。 単純な抵抗器での分圧と違って、+側と-側の負荷電流が別々に変動しても分割比は一定に保たれるように動作します。 なお、使っているOP-Ampが741タイプですからプラスおよびマイナスの電源電圧近くへは分圧できません。 具体的には、+30V電源のマイナス極をゼロ基準として+3〜+27Vくらいの設定が良いところです。  ここでは+5Vの位置ですので余裕のある動作範囲です。分割したポイントをGND基準にとるとマイナス側へは-5Vとなります。 これでプラス側へ+25V、マイナス側へは-5Vの電源が用意できたわけです。

 もし目的に合った電圧タップのないトランスしか用意できなくても、このような回路を使えば必要な電圧を得ることができます。 ただし各電圧の消費電流に大きな違いがあると無駄な電力損失が増えます。したがって全体的に負荷電流が小さな電源に適していると思います。

 少々電源ユニットが大掛かりになってしまいました。各ユニットに安定していてノイズの小さな電圧を供給したいと考えたためです。 この目的にマッチした電源ユニットが作れたと思います。いくらか窮屈でしたが基板1枚に収まったので良しとしましょう。 PNP型のパワートランジスタが2つ外付けになります。いずれも消費電力は小さいので特別な放熱機は必要なくて簡単にシャシへ放熱する程度で十分です。 手持ちの関係で2SB509E・・・パッケージはTO-66型を使っていますが、Vcbo < -60V、Ic = -1A、Pc = 5W、hFE = 100くらいのPNP型なら何でも良いと思います。TO-66は実装が面倒なのでフルモールド型のTO-220型PNPが良いと思います。(PNP型でもゲルトラはやめましょう)

 なお、新規に電源トランスを購入するならば電圧は15V+15Vで電流容量が0.3A程度のものが良いと思います。 電源回路の変更は必要ありません。

                  ー・・・ー

 以上、各ユニットのポイントなど大雑把に書いてみました。 文章には書かれていないような工夫もあったりしますが、常識の範囲や逆にあまり一般的でないような話は省いています。 作ってみるような人は稀だと思いますがもしわかりにくい所があればメールでもどうぞ。 追記や修正で改訂したいと思います。

                  ☆ ☆ ☆

 もう少し簡略にと思って始めたのですが「どうせつくるなら・・」という気持ちになってしまい、幾らか複雑化しました。 それでも実用性を向上させる変更は意味があるでしょう。 また、10.000V基準発生ユニットは全体から見てオーバースペックですが、何かの機会にトレーサビリティの確かな基準発生器と比較し校正することを考えて確実そうなものを作っておくことにしました。 この10.000Vは校正に備えて独立した出力端子を設けておくつもりです。

 さて、次はケースを決めて板金加工をしなくてはなりません。 いくつか「箱」の候補は見つけたので、次回の秋葉原行きの時に購入してきましょう。 いつも思うのですが、ケースの類は電気部品と比べて割高ですね。 適度なサイズのジャン測を解体して「箱」をゲットすると言ったような工夫も必要かもしれません。 しっかりしていてデザイン的にも適当なケースが得られる可能性があります。 フロントとリアのパネルを造り替えるくらいなら簡単ですから。 ではまた。 de JA9TTT/1   

(おわり)nm