1. はじめに

普通の1kHzの発振器であれば当然連続で発振させますが、今回は理由があって断続的に発振させるバースト発振器を作ってみました。実はこれを作って試したい目的があったのですが、それは次に説明します。取りあえず写真1のように作製しました。後からミスに気が付いたので修正すべき点もあったのですが、私の時間的な都合があって不可能でした。目的としては何とかなったと思います。

写真1 作製した1kHzのバースト発振器

2. 電圧と電力の謎?

1kHzのバースト発振器で何をしたかったのか、という説明が必要と思います。実は前々から疑問に思っていた事がありました。低周波用のレベル計で、図1のような例えば1kHzの信号を測ったとします。これは何の変哲もない信号ですので、当然ですが問題なく正確に測れます。図2の場合は電圧が1/2ですので、電圧比で-6dBとなります。電圧が1/2ですので電力は1/4となり、電力比も-6dBとなります。電力は10log、電圧は20logで計算するからです。このように電圧と電力は、デシベルで比較する場合に計算が合うようになっています。絶対値を表す電力のdBmと電圧のdBμやdBVとの間も同様で、足し算で変換ができます。このような変換表や変換式はネットで探すとたくさん見つけられますし、エクセルで作る事もできます。

図1 サイン波

図2 電圧が1/2のサイン波。電圧も電力も図1に比べて-6dB。

ところで、図3の信号の場合はどうなるでしょうか。ON/OFFの時間比を50%とすると、図1との電力比では明らかに1/2となりますので-3dBになるはずです。しかし、電圧的にも1/2ですので、電圧比では-6dBとなります。電圧としては図2と図3は同じになりますが、電力的には異なるという少々面倒な結果になってしまいます。このように時間的な変動をする信号では、足し算による電圧と電力のレベル変換ができません。

図3 この場合は図1に比べて、電圧では-6dB、電力では-3dB。

そこで疑問に思ったのが、実際に測定器で測るとどうなるのかでした。No.41で作った「AFレベルメータ」は、一応電力のdBmで表示しています。しかし元々のVU計がハイインピーダンスですので、実際には電圧を測っていると思われます。従って、図3のような断続する信号では-6dBになると想像しました。更に、最近のデジタル式の測定器で測ると、-3dBになるのか-6dBになるのか、これが知りたかったのです。このような目的で図3のような波形の1kHzを作り、使える限りのレベル計を試してみました。

また、最近PWMを使った制御が良く使われるようになりました。ところが、この機能は今まで一度も使ったことはありませんでした。そこで最初の一歩として、PWMを使った発振器を作る事にしました。

このような自作としては相当に斜めからの目的です。同じように作るのではなく、読み物として頂ければと思います。

3. 回路

図4のような回路で作製しました。AVRはこの先の発展を考えてATmega328Pを使用しました。よってピン的にも容量的にも無駄になっています。写真2のように実験を行い、ソフトを修正しながら1kHzが出るようにしました。信号がDIPスイッチによって断続できる機能の付加も行い、オペアンプも付けました。出力には1.2kΩ:600Ωのトランスを設けて、600Ωの平衡出力にしています。これは試したい測定器が平衡と不平衡の両方があったからです。ここで出力を平衡にしてアースより浮かせておけば、測定器側は平衡でも不平衡でも接続可能になります。

図4 回路図

写真2 実験中の様子

出力はDIPスイッチによって信号を変えています。0であれば1kHzの連続です。1であれば1サイクルだけ1kHzを出力し、次の1サイクルは休みます。2であれば、それが2サイクルずつになります。4ビットのDIPスイッチを使いましたので、最大で15サイクルずつになります。1~15の設定では、いずれにしてもON/OFF比は50%です。このようにしたのは、切り替えの瞬間に多少レベルがふら付くようですので、それが誤差になってしまうからです。サイクル数が多いほど誤差の影響は少なくなります。しかし、サイクル数が多いとデジタル式ではゲートタイムによってはふら付く原因になり、アナログ式では針が振動してしまうと考えました。そこでDIPスイッチで適度なサイクルを探せるように、可変できるようにしました。

4. ソフト

PWMの扱い方からでしたので、かなり苦労しました。BASCOMを使ってソフトを書いています。サイン波のデータをエクセルで作製し、これを順次読んで行くだけのソフトになります。このように「超」特殊な目的で作っただけですので、特にソフトは置きません。もし興味のある方が居られればメールをして下さい。
 

5. 作製

図5の実装図を作製し、基板を写真3のように作製しました。ユニバーサル基板である秋月C基板を使っています。ハンダ面の実装図が図6で、写真4のようになります。ジャンパーのレイヤーが図7になります。持ち運びに支障が無ければ良いので、ケースに入れずに基板の下側に電池ボックスを貼り付けています。ニッケル水素1.2V×4本=4.8Vとなりますが、満充電時には5Vを超えます。まあ、作った目的とすれば充分と思います。電圧によって多少レベルが変動しても、レベル差には影響しません。

図5 実装図

写真3 基板を作製

図6 ハンダ面

写真4 ハンダ面の様子

図7 ジャンパー

組立ててからミスに気が付いたのですが、CPUは5Vで動かしオペアンプは9Vか12Vで動かすつもりで実験をしていました。ところが最後にまとめる時になって、全てをニッケル水素4本で動くようにしました。これは持ち運びを考えてです。基板を作製して、オシロで見て気が付きました。私の個人的な都合があり、これを修正する時間がありませんでした。修正しても測定器が使えなくなりますので、意味が無くなってしまいます。この都合というのは、概ね想像されたとおりと思います。測定結果1のように上側が切れて歪んでしまいましたが、レベル差の実験に歪は支障なさそうですので、これで諦めました。

測定結果1 1kHzの出力ですが上側が切れてしまう

6. 測定結果

このように出力の波形は測定結果1のように歪んでしまいました。このままバースト信号にすると、測定結果2のように別の歪もできてしまいました。まあこれはサイクル数を増やせば、それ程大きな誤差にはならないでしょう。これは2サイクル毎にチェンジするように設定した波形です。ちなみに全く断続しない場合は測定結果3のようになります。

測定結果2 バースト信号の様子で、切れが良くない

測定結果3 比較用のサイン波

本機の出力を4台の測定器で測ってみたところ、表1のようになりました。考えていた結果からは少々異なりますます。このような誤差がどうして起こるのかは解りません。まず①はNo.41で紹介した、VU計を使った「AFレベルメータ」です。他に比べて若干低く表示しますが、まずまず校正されている事が解りました。サイン波とバースト波との差は4.9dBとなりました。もちろん電力的に正しくは3dB差になるはずです。電圧を測って目盛だけ電力としているのであれば6dB差となるはずですが、どちらとも微妙に異なります。②は日本製のアナログ式測定器ですが、①とほぼ同じ結果となりました。これが電圧で測るアナログメータの特性なのでしょうか。③と④は日本製のデジタル式で、3dBの差となりました。正しく電力として測っている事が解りました。

表1 4台の測定器で測った結果

また、④の測定器はdBVを使った電圧での測定が可能でした。同じように測ったのが表2になります。この場合、サイン波とバースト波との差は6dBになるはずですが、表1と同じ3dBの差でした。従って、④の測定器は電力のdBmで測定を行い、それに加減算をしてdBVに変換しているように見えます。実際に600Ωで計算すると合致します。③の測定器もdBVで測れないのか試しましたが、測り方が見つけられませんでした。

表2 1台だけdBVでも測れた

このような問題はデジタル式では考えられているようですが、完全ではないようです。アナログ式の測定器では、想像どおりに電圧で測っているようです。測定器として、このような誤差がある事が解りました。

なお、DIPスイッチによってサイクル数を可変できますが、変える事で値の変化はありませんでした。但し、あまりサイクル数を多くすると、アナログ式では針が振動してしまいました。測り難くなるので適度な設定にしています。デジタル式では値がチラつく事なく追従しました。
 

7. 終わりに

このような超特殊な目的にPWMを用いたのは、ちょっと間違ったように思います。どうしてもフィルタが必要になりますので、信号の終了時にピタリと切れませんでした。抵抗を使ったD/A変換を用いて作るべきだったと思います。それ以上に単純なミスをしてしまいましたので、回路的には少々消化不良になってしまいました。

業界の標準としてどのように測るのか、逆に謎が深まったように思います。しかし、測った値が絶対に正しいものではない事だけは解りました。もちろん、私の考え方と結論が一番怪しいのかもしれません。