ミニ・パワーメータの改良
2016-06-04
このところ新入りSGに絡む測定をしていてミニ・パワーメータを使う機会が多かったわけですが、その間に気になった点を改良しました。パワーメータ自体の機能は限られていますから、これが最後の「てこ入れ」になると思うんで、その辺りをざっと纏めておきます。即ち、全く以て「自分のための記事」です、悪しからず
まず、AD8307の切片をSGの出力電力を信じて直しました。この修正はソフト上の定義の修正になりますが、以前に固定ATTを使ってチューニングした際の-85.4dBmから-86.2dBmに変更しました。この修正を行ってから先週末に行った測定結果を導き出しましたが、結構いい線いってそうです
もう一つの改良は、省エネ機能の見直しです。元々の仕様は、3分程同じ値の測定が続いたら全LEDを消し、最上位桁のドットが約1秒刻みでフラッシュして待機し、前面のプッシュスイッチが押されると測定を再開するというものです。高輝度7セグのLEDをダイナミック点灯・・・といっても、やはりLED点けっぱなしでは電池消耗が早くなってしまいますからね
さて、この仕様の肝は「同じ値が継続しているかチェックする」という部分で、これを「±0.2dB以上動かなかったら」というロジックにしてありました。さらに表示もそのロジック通り・・・要は測定開始時点の値から±0.2dB以上動かないと表示値が更新されないという仕様になっていました。
これは、デジタル表示の欠点である「最下桁のチラツキ」に対応するために余り深く考えずにそうしていましたが、最下桁の分解能・・・0.1dB単位の変化が見えなくなってしまいます。
そこで、切片を修正するためにプログラム書き換えが必要になったことから、序でにこのアルゴリズムを見直し、同値継続か否かの判定処理と表示処理を分離しました。さらに、測定周期を0.3秒刻みから0.6秒刻みに、同値の継続による消灯も3分から2分に変更し、これで漸く「±0.1dBの分解能、同値の表示が2分続いたら消灯してドットフラッシュ」というまずまずの仕様になりました。
久々にフタを開けたんでスナップショット

PICの抜き差しの際にはLEDとの接続に使っているフラットケーブルが邪魔になるため、14ピンコネクタを抜いて行います。この辺り、基板製作時のレイアウトがモノを言う部分ですが、割と上手く作ったなぁ・・・と自画自賛
このミニ・パワーメータのフタは、これで漸く「電池交換」のときしか開けないようになったと思います・・・故障しなければね

まず、AD8307の切片をSGの出力電力を信じて直しました。この修正はソフト上の定義の修正になりますが、以前に固定ATTを使ってチューニングした際の-85.4dBmから-86.2dBmに変更しました。この修正を行ってから先週末に行った測定結果を導き出しましたが、結構いい線いってそうです

もう一つの改良は、省エネ機能の見直しです。元々の仕様は、3分程同じ値の測定が続いたら全LEDを消し、最上位桁のドットが約1秒刻みでフラッシュして待機し、前面のプッシュスイッチが押されると測定を再開するというものです。高輝度7セグのLEDをダイナミック点灯・・・といっても、やはりLED点けっぱなしでは電池消耗が早くなってしまいますからね

さて、この仕様の肝は「同じ値が継続しているかチェックする」という部分で、これを「±0.2dB以上動かなかったら」というロジックにしてありました。さらに表示もそのロジック通り・・・要は測定開始時点の値から±0.2dB以上動かないと表示値が更新されないという仕様になっていました。
これは、デジタル表示の欠点である「最下桁のチラツキ」に対応するために余り深く考えずにそうしていましたが、最下桁の分解能・・・0.1dB単位の変化が見えなくなってしまいます。
そこで、切片を修正するためにプログラム書き換えが必要になったことから、序でにこのアルゴリズムを見直し、同値継続か否かの判定処理と表示処理を分離しました。さらに、測定周期を0.3秒刻みから0.6秒刻みに、同値の継続による消灯も3分から2分に変更し、これで漸く「±0.1dBの分解能、同値の表示が2分続いたら消灯してドットフラッシュ」というまずまずの仕様になりました。
久々にフタを開けたんでスナップショット


PICの抜き差しの際にはLEDとの接続に使っているフラットケーブルが邪魔になるため、14ピンコネクタを抜いて行います。この辺り、基板製作時のレイアウトがモノを言う部分ですが、割と上手く作ったなぁ・・・と自画自賛

このミニ・パワーメータのフタは、これで漸く「電池交換」のときしか開けないようになったと思います・・・故障しなければね

ミニ・パワーメータの周波数特性を再認識
2016-05-29
WPXコンテスト直前に惹起したミニ・パワーメータの不具合発見・・・実は不具合では無かったんですが、何れにしてもこのコンテストへの参戦はそっちのけになってしまいました。まぁ、自分の休暇を何に費やそうがよいわけですが、大きなDXコンテストに参戦しないのも何となく勿体ない気がしています
さて、直前記事に記した問題は「ミニ・パワーメータの300KHz以下10MHz以上の測定値が実際より低いんじゃないか」というものです。これは、ショットキーダイオード+αで作った上で商用電源の「50Hz」を利用して校正したローレベルパワー計の測定結果では、新入りSGの出力電力が比較的フラットに測定できたため、ミニ・パワーメータに何やら不具合があるんじゃないかと疑ったものです。
AD8307は周波数特性を持っています。これはデータシートに詳説してあります。

そもそも、このことを「何となく高い周波数では低めの測定結果になる」といった曖昧な形では無くきちんと理解していれば、今回のように躓くことはなかったんです
上のグラフでは、10MHzと100MHzの測定出力電圧(VOUT)が「ほんの少し」に見えますが、これが数dBの違いになるんです、実に
でも、こんな風に言い切ってしまうと、昨日からの各種データ取りが無駄になってしまいそうなんで、実際の作業順を追って備忘録にしてしまいましょう。
まず、SGの出力電力を広範囲&細かく採り直してみました。

ローレベルパワー計はこの程度の造作ですが、SMAコネクタに終端抵抗とショットキーダイオードを直付けした形にしてありますから、数百KHzからVHF帯程度まではそこそこ動くでしょう・・・というわけで、SGの出力電力を0dBmとして測定開始。

実は前の晩にSGの電源を落とし忘れ、10時間以上通電してしまいました。そのためか、前日測定した際には1MHzの出力電力が-0.06dBm相当だったのが+0.06dBmとなっていました。でもまぁこの辺りは「0.1dBの差を云々すること」となり、この測定系では「求め過ぎ」と言えますから、とりあえず上記の測定データを信じることにしました。
これを見ると、0.4MHzから400MHz辺りまでの測定値は0dBm±0.2dBの間に入っています。このSG自体のカタログスペックでは±1dBを保証していますが、流石に少し遠慮がちなスペック表現と言えそうです。
もう一つ着目すべきは、200MHzを超えた辺りからの測定値が上昇していく部分です。これは、SG自体が本当に出力上昇しているのか、ローレベルパワー計の測定限界を超えたことによる誤差なのかは(この測定では)特定できません。が、少なくともよく使うであろうHF帯や50MHz,144MHz辺りまでは「信用」して良さそうです
さて、問題のミニ・パワーメータはAD8307の測定範囲(データシート上DCから500MHzまで)で動くことを目指して作りましたが、先に示したカタログスペック上のグラフにある特性・・・即ち「高い周波数では低めの測定結果になるだろう」という漠然とした認識では不味く、誤差があるならあるなりに「どの程度」という部分を知っておく必要があります。しかし、今回のSG入手までは高い周波数での特性を見極める手段が無かったわけですから、今回入手してそこそこ出力レベルがマシそうなSGを頼りに、このパワーメータの素性を知れば良いということになる・・・ということで、データシートのグラフと同じものを作るべく周波数毎の「VOUT」を測定をしてみました。
なお、この測定を含め、SGの出力を絞るのはSG内のアッテネータです。きっと、ここにも多少の誤差要因(周波数特性、温度特性など)があると思われますが、今回はこれは無視。

※-70dBmはほぼ測定限界であり、ここを使って正規化するとグラフの傾きが少々おかしくなるんでメータ表示だけにしています。
なるほど、同じようなグラフができました。そして、個々のポイントでメータ表示を拾ってみると・・・そうなんです、dBm表示では結構な差異が見られます。測定する電力からの偏差の形で纏めると、以下のグラフのようになりました。

※-80dBmはミニ・パワーメータの測定範囲を超えていますが参考に付けています。
10MHzは置いておくとして、100MHzは平均して-1.5dB、300MHzは-4.5dB、500MHzは-9dB程度表示が小さくなるわけです。では、よく使いそうな周波数帯はどうでしょう

1MHzと10MHzは同じ程度に収まっています。ただ、1MHzでは-70dBmがかなり低い値(-2.2dB)になりましたが、この原因は分かりません。その他の周波数については高くなる程小さくなるのは明白ですが、50MHzでは0.7~0.8dBほど低く表示されることになります。この辺り、暗算で「目星」は付けられますが、ちょっと気持ち悪い感じがしますね
ただ、これを上手く補正するには測定しようとしている信号の周波数も同時測定してやらなければならない・・・逆に言えば、電力と周波数が同時に測れるようにし、得意の「PIC制御」でそこそこ正確なパワー計の製作は可能と言うことになりますね
おっと、また周辺機器の製作に脱線しそうな予感
何れにせよミニ・パワーメータには周波数特性があって、ある程度これを補いながら使えば、そこそこ正確な測定ができることが判りました。まぁそもそも論として「±1,2dB程度の誤差は許容」としてしまえば良く、そうすればこんな余計なダンジョンには入り込まないで済んだんでしょうが、結構楽しい週末となりました
あっ、WPXは残り12H余りとなってしまった・・・どうしよう

さて、直前記事に記した問題は「ミニ・パワーメータの300KHz以下10MHz以上の測定値が実際より低いんじゃないか」というものです。これは、ショットキーダイオード+αで作った上で商用電源の「50Hz」を利用して校正したローレベルパワー計の測定結果では、新入りSGの出力電力が比較的フラットに測定できたため、ミニ・パワーメータに何やら不具合があるんじゃないかと疑ったものです。
AD8307は周波数特性を持っています。これはデータシートに詳説してあります。

そもそも、このことを「何となく高い周波数では低めの測定結果になる」といった曖昧な形では無くきちんと理解していれば、今回のように躓くことはなかったんです


まず、SGの出力電力を広範囲&細かく採り直してみました。

ローレベルパワー計はこの程度の造作ですが、SMAコネクタに終端抵抗とショットキーダイオードを直付けした形にしてありますから、数百KHzからVHF帯程度まではそこそこ動くでしょう・・・というわけで、SGの出力電力を0dBmとして測定開始。

実は前の晩にSGの電源を落とし忘れ、10時間以上通電してしまいました。そのためか、前日測定した際には1MHzの出力電力が-0.06dBm相当だったのが+0.06dBmとなっていました。でもまぁこの辺りは「0.1dBの差を云々すること」となり、この測定系では「求め過ぎ」と言えますから、とりあえず上記の測定データを信じることにしました。
これを見ると、0.4MHzから400MHz辺りまでの測定値は0dBm±0.2dBの間に入っています。このSG自体のカタログスペックでは±1dBを保証していますが、流石に少し遠慮がちなスペック表現と言えそうです。
もう一つ着目すべきは、200MHzを超えた辺りからの測定値が上昇していく部分です。これは、SG自体が本当に出力上昇しているのか、ローレベルパワー計の測定限界を超えたことによる誤差なのかは(この測定では)特定できません。が、少なくともよく使うであろうHF帯や50MHz,144MHz辺りまでは「信用」して良さそうです

さて、問題のミニ・パワーメータはAD8307の測定範囲(データシート上DCから500MHzまで)で動くことを目指して作りましたが、先に示したカタログスペック上のグラフにある特性・・・即ち「高い周波数では低めの測定結果になるだろう」という漠然とした認識では不味く、誤差があるならあるなりに「どの程度」という部分を知っておく必要があります。しかし、今回のSG入手までは高い周波数での特性を見極める手段が無かったわけですから、今回入手してそこそこ出力レベルがマシそうなSGを頼りに、このパワーメータの素性を知れば良いということになる・・・ということで、データシートのグラフと同じものを作るべく周波数毎の「VOUT」を測定をしてみました。
なお、この測定を含め、SGの出力を絞るのはSG内のアッテネータです。きっと、ここにも多少の誤差要因(周波数特性、温度特性など)があると思われますが、今回はこれは無視。

※-70dBmはほぼ測定限界であり、ここを使って正規化するとグラフの傾きが少々おかしくなるんでメータ表示だけにしています。
なるほど、同じようなグラフができました。そして、個々のポイントでメータ表示を拾ってみると・・・そうなんです、dBm表示では結構な差異が見られます。測定する電力からの偏差の形で纏めると、以下のグラフのようになりました。

※-80dBmはミニ・パワーメータの測定範囲を超えていますが参考に付けています。
10MHzは置いておくとして、100MHzは平均して-1.5dB、300MHzは-4.5dB、500MHzは-9dB程度表示が小さくなるわけです。では、よく使いそうな周波数帯はどうでしょう


1MHzと10MHzは同じ程度に収まっています。ただ、1MHzでは-70dBmがかなり低い値(-2.2dB)になりましたが、この原因は分かりません。その他の周波数については高くなる程小さくなるのは明白ですが、50MHzでは0.7~0.8dBほど低く表示されることになります。この辺り、暗算で「目星」は付けられますが、ちょっと気持ち悪い感じがしますね

ただ、これを上手く補正するには測定しようとしている信号の周波数も同時測定してやらなければならない・・・逆に言えば、電力と周波数が同時に測れるようにし、得意の「PIC制御」でそこそこ正確なパワー計の製作は可能と言うことになりますね


何れにせよミニ・パワーメータには周波数特性があって、ある程度これを補いながら使えば、そこそこ正確な測定ができることが判りました。まぁそもそも論として「±1,2dB程度の誤差は許容」としてしまえば良く、そうすればこんな余計なダンジョンには入り込まないで済んだんでしょうが、結構楽しい週末となりました

あっ、WPXは残り12H余りとなってしまった・・・どうしよう

ひとまず完成・・・ミニ・パワーメータ
2014-05-11
GW中に再作に取りかかったミニ・パワーメータ・・・この土日に照準を合わせていましたが、何とか「ハード的」には完成と相成りました。やはり「金属加工」に重い腰が上がらず、結構時間が掛かってしまいました
今回の穴開けは「四角い大きな穴」がメイン・ディッシュ。シャーシパンチで4桁の7セグが見える穴を開けるんですが、お見せするのも恥ずかしいスナップからご披露。

ね、スンゲィでしょ
でも大丈夫なんです

アクリル板は慎重に切断して四隅に穴開け済み・・・その左にある「黒四角」は色画用紙です。アクリル板と同じ大きさに切ってから、7セグだけが上手く顔を出すように四角く中抜きし、アクリル板とシャシの間に挟み込みます。

いわゆる「ボロ隠し」ですが、ご覧の通りの出来映えです。これで、あの「キーキー」「ギュギュッ」っとチキン肌を惹起させるヤスリ掛けは免除
その他はドリルとリーマの世界ですから、センターポンチがズレていなければ何とかなります。
今回は、随分前に購入して上手く活用できていなかった小型のバイスを使い、穴開けも比較的楽にできました。ちょっと金属加工アレルギーが治ったかも
基板自体は出来上がっていますから、配線して終了です。

ソフトの改良で、表示のチラツキをさらに押さえ込みつつ消費電流据え置きとなり、写真を撮っても全桁が写るようになりました。また、ケースに入れたことで、入力なしで-77.6dBmが安定表示されるようになりました。AD8307は非常に感度が高いんで、やはりきちんとケーシングすると落ち着きます。

裏面はご覧の通り。PINジャックは、AD8307の検波電圧をそのまま出力(ってか、オペアンプでバッファしてはいますが・・・)しています。何かのシチュエーションで必要になるかな・・・ってな案配で、何に使うか決めていません
その下はDC電源ジャックです。電池駆動前提の器械ですが、とりあえず逃げを打っておきました。この器械のためだけに電池の買い置きは多分しませんから、急場凌ぎの意味合いです。
ハード面の改造はこれ以上予定していませんので、回路図をアップしておきます。

特に珍妙なるポイントは無いと思います。唯一、チャージポンプのVCCラインの1KΩ・・・これはAD8307への供給電圧が5V になるように調整した結果ですが、これで十分に動いています。AD8307の動作時間が1回あたり4ms程度しかないんで、47μFのケミコンで十分に賄えています。
ソフト的にはまだ盛り込みたい機能はありますが、これで最低限の測定はできますので、次、行っちゃおうかな
・・・と悩んでいます。さて、どうしたもんだべなぁ

今回の穴開けは「四角い大きな穴」がメイン・ディッシュ。シャーシパンチで4桁の7セグが見える穴を開けるんですが、お見せするのも恥ずかしいスナップからご披露。

ね、スンゲィでしょ



アクリル板は慎重に切断して四隅に穴開け済み・・・その左にある「黒四角」は色画用紙です。アクリル板と同じ大きさに切ってから、7セグだけが上手く顔を出すように四角く中抜きし、アクリル板とシャシの間に挟み込みます。

いわゆる「ボロ隠し」ですが、ご覧の通りの出来映えです。これで、あの「キーキー」「ギュギュッ」っとチキン肌を惹起させるヤスリ掛けは免除

今回は、随分前に購入して上手く活用できていなかった小型のバイスを使い、穴開けも比較的楽にできました。ちょっと金属加工アレルギーが治ったかも

基板自体は出来上がっていますから、配線して終了です。

ソフトの改良で、表示のチラツキをさらに押さえ込みつつ消費電流据え置きとなり、写真を撮っても全桁が写るようになりました。また、ケースに入れたことで、入力なしで-77.6dBmが安定表示されるようになりました。AD8307は非常に感度が高いんで、やはりきちんとケーシングすると落ち着きます。

裏面はご覧の通り。PINジャックは、AD8307の検波電圧をそのまま出力(ってか、オペアンプでバッファしてはいますが・・・)しています。何かのシチュエーションで必要になるかな・・・ってな案配で、何に使うか決めていません

その下はDC電源ジャックです。電池駆動前提の器械ですが、とりあえず逃げを打っておきました。この器械のためだけに電池の買い置きは多分しませんから、急場凌ぎの意味合いです。
ハード面の改造はこれ以上予定していませんので、回路図をアップしておきます。

特に珍妙なるポイントは無いと思います。唯一、チャージポンプのVCCラインの1KΩ・・・これはAD8307への供給電圧が5V になるように調整した結果ですが、これで十分に動いています。AD8307の動作時間が1回あたり4ms程度しかないんで、47μFのケミコンで十分に賄えています。
ソフト的にはまだ盛り込みたい機能はありますが、これで最低限の測定はできますので、次、行っちゃおうかな


AD8307の切片調整
2014-05-06
製作中のミニ・パワーメータの肝は、何といってもAD8307の出力電圧のリニア特性をきちんと捉えることです。そして、このリニアな傾斜を示す電圧出力を計測して数値化する部分の仕掛けについては、「切片の設定」が鍵を握ります。この辺りをまとめておきたいと思います。
まずは、AD8307の関連スペックをデータシートで見てみましょう。関係があるスペックは、青で囲んだ部分です。

このチップの正常な測定範囲は50Ω終端で-72dBmから+16dBmとなっていますが、下端の方の最低検出レベル(ピンクで囲ったところ)はノイズフロアまで・・・まぁ、現時点でこんなに低いレベルの検出を正確にやろうとは思いませんが、バラックで作りっぱなしでもこの位のレベルまではイケそうな感じでしたので、「-72dBm以下は誤差含みである」と、きちんと認識しておきます。
次に対数の傾き・・・このチップに入力する電力とそのとき出力する電圧との関係ですが、これは23mV/dBから27mV/dBの間になります。幸い、今回作るパワーメータの電圧測定では「オペアンプ受け」していますから、入力インピーダンスとしてもカタログ値の範囲に収まるはず。カタログスペック的には代表値(Typical)として「25mV/dB」を謳っていますが、これはチップの個体差が含まれる部分ですから、実際に調べてみる必要があります。
最後に切片・・・インターセプトですが、-87dBmから-77dBmという範囲の値ということになります。これもきちんと検討しなければならないでしょう。
ところで、今回作るパワーメータではPICのAD変換の10ビット分解能で電圧測定するわけですが、これを以下のように考えて計算等を簡略化しました。
・AD変換の「1ビットの変化」にチップの傾きの0.1dB分示すように考える
⇒傾きが25mV/dBとした場合、2.5mVが1ビットの変分相当
・1024ビットで表現できるdBm最大値は、1ビットの変分×1023
⇒2.5mV×1023=2.5575V
∴AD変換の比較電圧として2.5575Vを与えてやれば、1ビット=0.1dB刻みの計測器が完成
即ち、比較電圧を上手く設定するだけで「0.1dB刻みの計測」ができ、その上特殊な計算要らず・・・正に、8ビットPICで無理なく測定ができるということになります
さぁ、実測してみましょう。信号源はクラニシ君@SG、これにアッテネータを接続した時とそうでないとき(=直結)の差を測り、ひとまず使用したチップの「傾き」を調べてみることに。治具はこんな風に作りました。

秋月で買った20dB,30dBのアッテネータをICソケットに挿す小さな基板を作りました。使ったのは14ピンのIC ソケットですが、間隔が広過ぎるためニッパーで二分して約めてあります。信号の接続にはSMAコネクタを使いましたので、数十MHzオーダーなら問題なく使えます。スズメッキ線はアッテネータをつながないとき・・・即ち直結用のジャンパです。

クラニシ君の頭にこんな風に装着。まずまずのデキでしょ
・・・というわけで、早速実測です。
クラニシ君の出力電力は-2.3dBmです。これは、ローレベル・パワー計の実測値です。これを頼りに、直結時と20dB,30dBアッテネータ挿入時の差をAD8307の出力電圧を測定し、それを傾きに換算しました。
直結時(-2.3dBm):2.136V
-20dB挿入時:1.613V ∴(2.136-1.613)/20=26.15mV/dB
-30dB挿入時:1.359V ∴(2.136-1.359)/30=25.90mV/dB
なるほど、26mVに近い値のようですが、先のデータシートの「対数の傾き」に記されていた範囲には入っていますね。この2値から、傾きを「26.0mV/dB」として先に求めたAD変換の際の比較電圧を再計算すると以下のようになりました。
★ 2.60mV×1023≒2.66V
さらに、この値を使ってExcelの散布図で近似式を求めてみました。そして、この近似式から、切片は「-85.4dBm」が求められました。

パワーメータのPIC内部の処理では、AD変換によって読み込まれる値から切片の値を引いたものがdBm値となります。AD変換値は0.1dB刻みですから、この値から「854」を引けばそのまま「小数点第一位までのdBm値」として直読でき、これを表示器にそのまま出せればよいことになります。減算だけで済む・・・ソフト処理も簡単ですね。
但し、これを実現するには比較電圧の設定を2.66Vに、それも正確に合わせ込む必要あり・・・なんですが、これは先に基準としたクラニシ君@SGの出力値が「-2.3dBm」を示すように調整するだけで結果的に校正できたことにします
実際には、計算上の小数下位の丸めを含めて誤差含みなため、切片の値を変えながらクラニシ君@SGの直結とアッテネータ挿入時の差を追い込んでいくことになりますが、最終的に「-85.0dBm」を切片とした場合に-30dBの減衰がきちんと計測されるようになりました。
残るはケーシングと追加機能の盛り込み(これは全部ソフト処理)ですが、どうやら今大型連休中の完成には至らなさそうです
まぁ納期もありませんし明日からの三連闘(
)でまたお休みですから、「焦らずやろう」と逃げ口上
まずは、AD8307の関連スペックをデータシートで見てみましょう。関係があるスペックは、青で囲んだ部分です。

このチップの正常な測定範囲は50Ω終端で-72dBmから+16dBmとなっていますが、下端の方の最低検出レベル(ピンクで囲ったところ)はノイズフロアまで・・・まぁ、現時点でこんなに低いレベルの検出を正確にやろうとは思いませんが、バラックで作りっぱなしでもこの位のレベルまではイケそうな感じでしたので、「-72dBm以下は誤差含みである」と、きちんと認識しておきます。
次に対数の傾き・・・このチップに入力する電力とそのとき出力する電圧との関係ですが、これは23mV/dBから27mV/dBの間になります。幸い、今回作るパワーメータの電圧測定では「オペアンプ受け」していますから、入力インピーダンスとしてもカタログ値の範囲に収まるはず。カタログスペック的には代表値(Typical)として「25mV/dB」を謳っていますが、これはチップの個体差が含まれる部分ですから、実際に調べてみる必要があります。
最後に切片・・・インターセプトですが、-87dBmから-77dBmという範囲の値ということになります。これもきちんと検討しなければならないでしょう。
ところで、今回作るパワーメータではPICのAD変換の10ビット分解能で電圧測定するわけですが、これを以下のように考えて計算等を簡略化しました。
・AD変換の「1ビットの変化」にチップの傾きの0.1dB分示すように考える
⇒傾きが25mV/dBとした場合、2.5mVが1ビットの変分相当
・1024ビットで表現できるdBm最大値は、1ビットの変分×1023
⇒2.5mV×1023=2.5575V
∴AD変換の比較電圧として2.5575Vを与えてやれば、1ビット=0.1dB刻みの計測器が完成
即ち、比較電圧を上手く設定するだけで「0.1dB刻みの計測」ができ、その上特殊な計算要らず・・・正に、8ビットPICで無理なく測定ができるということになります

さぁ、実測してみましょう。信号源はクラニシ君@SG、これにアッテネータを接続した時とそうでないとき(=直結)の差を測り、ひとまず使用したチップの「傾き」を調べてみることに。治具はこんな風に作りました。

秋月で買った20dB,30dBのアッテネータをICソケットに挿す小さな基板を作りました。使ったのは14ピンのIC ソケットですが、間隔が広過ぎるためニッパーで二分して約めてあります。信号の接続にはSMAコネクタを使いましたので、数十MHzオーダーなら問題なく使えます。スズメッキ線はアッテネータをつながないとき・・・即ち直結用のジャンパです。

クラニシ君の頭にこんな風に装着。まずまずのデキでしょ

クラニシ君の出力電力は-2.3dBmです。これは、ローレベル・パワー計の実測値です。これを頼りに、直結時と20dB,30dBアッテネータ挿入時の差をAD8307の出力電圧を測定し、それを傾きに換算しました。
直結時(-2.3dBm):2.136V
-20dB挿入時:1.613V ∴(2.136-1.613)/20=26.15mV/dB
-30dB挿入時:1.359V ∴(2.136-1.359)/30=25.90mV/dB
なるほど、26mVに近い値のようですが、先のデータシートの「対数の傾き」に記されていた範囲には入っていますね。この2値から、傾きを「26.0mV/dB」として先に求めたAD変換の際の比較電圧を再計算すると以下のようになりました。
★ 2.60mV×1023≒2.66V
さらに、この値を使ってExcelの散布図で近似式を求めてみました。そして、この近似式から、切片は「-85.4dBm」が求められました。

パワーメータのPIC内部の処理では、AD変換によって読み込まれる値から切片の値を引いたものがdBm値となります。AD変換値は0.1dB刻みですから、この値から「854」を引けばそのまま「小数点第一位までのdBm値」として直読でき、これを表示器にそのまま出せればよいことになります。減算だけで済む・・・ソフト処理も簡単ですね。
但し、これを実現するには比較電圧の設定を2.66Vに、それも正確に合わせ込む必要あり・・・なんですが、これは先に基準としたクラニシ君@SGの出力値が「-2.3dBm」を示すように調整するだけで結果的に校正できたことにします

実際には、計算上の小数下位の丸めを含めて誤差含みなため、切片の値を変えながらクラニシ君@SGの直結とアッテネータ挿入時の差を追い込んでいくことになりますが、最終的に「-85.0dBm」を切片とした場合に-30dBの減衰がきちんと計測されるようになりました。
残るはケーシングと追加機能の盛り込み(これは全部ソフト処理)ですが、どうやら今大型連休中の完成には至らなさそうです



ミニ・パワーメータの再作
2014-05-04
長かったゴールデンウィークもあと2日を残すのみとなりました。序盤のコンテスト、中盤の家関係雑事を経て、終盤は工作に重きを置いて・・・といった当初の目論見通り進んでいます。ターゲットは、躓いてしまったパワーメータの再作。あれこれ実験してきたことを、例によって秋月ミニ基板に押し込みます。

まずは元の基板を解体し、主要部品・・・ってか勿体ないと思われる部品(
)を取り外します。取り外された方の基板と同様なガラクタが実にたくさんありますが、またしても増やしてしまう結果に
回路図と基板パターンはBschでサクッと作り直し、パターンチェックしてからワラワラッと組み立てたのが昨日。今日は、朝から動作確認・・・だったんですが、途中、2時間もの昼寝と春の天皇賞(競馬)も同時にこなしました
紆余曲折は別の記事でまとめるとして、今回の肝になる「省エネ度合い」について、証拠のスナップを残しておきましょう。

まずは測定動作時の様子です。高周波検出部に何もつながない状態で-76dBm近辺の値になりましたが、比較的7セグが使われている状態・・・即ち消費電流が大きくなる条件で8-9mA程度になりました。ひとまず、これが通常の消費電流と見て良いでしょう。
測定中は、大凡500ms毎にAD8307を動作させますが、せいぜい数msしか動作させていません。従って、この部分での消費電流は非常に少なくなっており、上記の消費電流の殆どは7セグ表示が支配項。加えて、オペアンプも1mA弱で動いています。
このメータの機能として、ある一定の電力を検出した状態が一定時間続いたら省エネモードに入る様に考えてあります。

省エネモードでは、最左桁の「ピリオド」が点滅します。その際の最大電流が1.73mAと表示されますが、点灯していないときの消費電流は1.43mAが平均。1mA以下を目指したんですが、そこまでは下げられず・・・まぁ、良しとしましょう。
お次は、AD8307の動作確認。

AD8307のENBピンを制御して測定開始した後、AD8307の検波出力が安定するのに大凡500μs掛かっています。これは、ノイズ除去用に接続しているパスコン(0.01μF)の影響です。
この結果、PICのプログラムとしては、ENBピンをONにしてから少なくとも1ms程度待ってからAD変換を始める・・・というようにしないと不味いことが解ります。当初のプログラムでは、余裕を見て2msのウェイトにしていましたが、少し切り詰めることができました。
バラックの状態で「できる限りの努力で特性をチェックしたローレベル・パワー計」で測れる範囲の電力について、クラニシ君@SGやVR製SGで出力した信号で比較確認しました。AD8307の切片は-88dBmを仮定していますが、-10dBm程度まではあまり誤差無く測定できているようです。とりあえず-20dB,-30dBのアッテネータを準備してありますから、これである程度、測定結果の直線性の確認はできるでしょう。
ケース製作など少々面倒な手順も残っていますが、何とか完成の方向に向かっているようです。

まずは元の基板を解体し、主要部品・・・ってか勿体ないと思われる部品(


回路図と基板パターンはBschでサクッと作り直し、パターンチェックしてからワラワラッと組み立てたのが昨日。今日は、朝から動作確認・・・だったんですが、途中、2時間もの昼寝と春の天皇賞(競馬)も同時にこなしました

紆余曲折は別の記事でまとめるとして、今回の肝になる「省エネ度合い」について、証拠のスナップを残しておきましょう。

まずは測定動作時の様子です。高周波検出部に何もつながない状態で-76dBm近辺の値になりましたが、比較的7セグが使われている状態・・・即ち消費電流が大きくなる条件で8-9mA程度になりました。ひとまず、これが通常の消費電流と見て良いでしょう。
測定中は、大凡500ms毎にAD8307を動作させますが、せいぜい数msしか動作させていません。従って、この部分での消費電流は非常に少なくなっており、上記の消費電流の殆どは7セグ表示が支配項。加えて、オペアンプも1mA弱で動いています。
このメータの機能として、ある一定の電力を検出した状態が一定時間続いたら省エネモードに入る様に考えてあります。

省エネモードでは、最左桁の「ピリオド」が点滅します。その際の最大電流が1.73mAと表示されますが、点灯していないときの消費電流は1.43mAが平均。1mA以下を目指したんですが、そこまでは下げられず・・・まぁ、良しとしましょう。
お次は、AD8307の動作確認。

AD8307のENBピンを制御して測定開始した後、AD8307の検波出力が安定するのに大凡500μs掛かっています。これは、ノイズ除去用に接続しているパスコン(0.01μF)の影響です。
この結果、PICのプログラムとしては、ENBピンをONにしてから少なくとも1ms程度待ってからAD変換を始める・・・というようにしないと不味いことが解ります。当初のプログラムでは、余裕を見て2msのウェイトにしていましたが、少し切り詰めることができました。
バラックの状態で「できる限りの努力で特性をチェックしたローレベル・パワー計」で測れる範囲の電力について、クラニシ君@SGやVR製SGで出力した信号で比較確認しました。AD8307の切片は-88dBmを仮定していますが、-10dBm程度まではあまり誤差無く測定できているようです。とりあえず-20dB,-30dBのアッテネータを準備してありますから、これである程度、測定結果の直線性の確認はできるでしょう。
ケース製作など少々面倒な手順も残っていますが、何とか完成の方向に向かっているようです。
ミニ・パワーメータの仕様見直し
2014-05-03
昨日は、このGWの最も嫌なイベント(歯医者、しかも抜歯
)を終えた後、まだ諦めきれないチャージポンプの実験・・・PICで起こした矩形波をトランジスタでスイッチングすることでチャージ電流を多くして試しましたが、効率がメチャ悪
3.3V×50mA程度の消費電流で漸く5V×8mAという結果になりました。結局、バッテリー駆動を目指しているミニ・パワーメータには採用できず、普通に電圧コンバータを入れた形で行くことにしたんですが、どうせなら納得できるものにしようと電源電圧を少しきちんと見直しました。
まず、今回のパワーメータに必要な電圧は高周波検出部分が5V、本体部分が3.3Vとなるため、どちらか一方が無駄なく動くように考え、他方は昇降圧で凌ぐことになります。また、これらの電圧を安定に取り出すためには常套手段である三端子レギュレータ、さらに低ドロップのものが有利でしょう。そこで、高周波検出部に必要な電圧は5.3V、本体部分には3.6Vが必要であるものとします。
バッテリーを5.3V以上に仮定すると、それで高周波検出部を直接動かし、本体部分はさらにレギュレータで降圧させれば動くでしょう。この組み合わせで困るのは、バッテリー電圧の不足により高周波検出部の電圧が4Vを割り込むとAD8307の低圧動作の欠点をモロに背負い込むことになる点です。何らかの方法でバッテリー不足を検知する必要が生じます。
一方、本体部分を3.6Vで動作させ、そこから電圧コンバータで昇圧して高周波検出部に必要な5V近辺の電圧を得る方法では、少なくとも本体がきちんと3.6Vで動作している限りは高周波検出部への供給電圧が不足することはないため前述の欠点は無視できる・・・ということで、3.6Vを基準としたバッテリー動作で行こうと一旦決めてしまいます。
次に、バッテリーの消耗の様子について考えます。バッテリーとしては、最も手軽な「乾電池」を使おう・・・単三か単四を複数本といったところでしょうか。この条件で、乾電池の消耗について「そろそろ替え時」となる放電完了電圧を仮に「1本あたり0.9V」とすると、5.3Vを保証するために必要な本数は6本、3.6Vを保証するためには4本となります。こちらの点でも、3.6V動作に軍配が上がります。
・・・ということで、3.6V動作にしようと決めました。その上で、バッテリーの消耗によるアラーム・・・電池の替え時を知らせる機能はやはりあった方が無難でしょう。そうなると、既に目一杯IOポートを使ってしまっているPIC16F1827では残念ながらポート数不足。結局、PIC16F1829を使って再設計することにしました。

既に型番のプリント印字が薄くなってしまったPIC16F1827・・・次の作りもので必要となるまで、部品箱で眠って貰うことにしましょう。


まず、今回のパワーメータに必要な電圧は高周波検出部分が5V、本体部分が3.3Vとなるため、どちらか一方が無駄なく動くように考え、他方は昇降圧で凌ぐことになります。また、これらの電圧を安定に取り出すためには常套手段である三端子レギュレータ、さらに低ドロップのものが有利でしょう。そこで、高周波検出部に必要な電圧は5.3V、本体部分には3.6Vが必要であるものとします。
バッテリーを5.3V以上に仮定すると、それで高周波検出部を直接動かし、本体部分はさらにレギュレータで降圧させれば動くでしょう。この組み合わせで困るのは、バッテリー電圧の不足により高周波検出部の電圧が4Vを割り込むとAD8307の低圧動作の欠点をモロに背負い込むことになる点です。何らかの方法でバッテリー不足を検知する必要が生じます。
一方、本体部分を3.6Vで動作させ、そこから電圧コンバータで昇圧して高周波検出部に必要な5V近辺の電圧を得る方法では、少なくとも本体がきちんと3.6Vで動作している限りは高周波検出部への供給電圧が不足することはないため前述の欠点は無視できる・・・ということで、3.6Vを基準としたバッテリー動作で行こうと一旦決めてしまいます。
次に、バッテリーの消耗の様子について考えます。バッテリーとしては、最も手軽な「乾電池」を使おう・・・単三か単四を複数本といったところでしょうか。この条件で、乾電池の消耗について「そろそろ替え時」となる放電完了電圧を仮に「1本あたり0.9V」とすると、5.3Vを保証するために必要な本数は6本、3.6Vを保証するためには4本となります。こちらの点でも、3.6V動作に軍配が上がります。
・・・ということで、3.6V動作にしようと決めました。その上で、バッテリーの消耗によるアラーム・・・電池の替え時を知らせる機能はやはりあった方が無難でしょう。そうなると、既に目一杯IOポートを使ってしまっているPIC16F1827では残念ながらポート数不足。結局、PIC16F1829を使って再設計することにしました。

既に型番のプリント印字が薄くなってしまったPIC16F1827・・・次の作りもので必要となるまで、部品箱で眠って貰うことにしましょう。
設計ミスが発覚・・・AD8307の低圧動作
2014-04-22
意気揚々と進めてきたミニ・パワーメータですが、ちょっと躓いてしまいました

まぁざっとこんな風に組み上がり、ノイズ対策(主に電源周りのパスコン強化)やAD8307の「省エネ制御」などの調整も済み、そろそろケーシング・・・という段階で最後の調整項目である切片調整・・・簡単に言うと表示されるdBm値の「確かさ」を追い込む過程で信号レベルの基準となる「クラニシ君@SGを接続したところ、どうも0dBm辺りの表示の直線性がおかしいことに気づきました
詳細に追っかけていくと、-20dBm辺りから下のレベル測定では十分な直線性が保証されているんですが、この値を超えてさらに高いレベルの測定を行うと、丁度「稲穂が垂れる様」のように直線性が全く保証されていない模様。さらに大きな電力・・・+10dBm程度の入力を与えてやってもNG・・・一縷の望みでネット検索すると、JR3TZB/河村OMがこの辺りの測定をされている記事を見つけました。
その記事によると、どうやら3.3V-4.0Vの電圧でAD8307を動作させると、-20dBmから+10dBm程度の電力測定結果が、折角の「ログリニア変換」を行うICにも関わらず線形に(リニアに)上がっていかない様子がグラフで示されており、「これだぁ
」と合点。
こうなると、AD8307には何としても4V以上の電圧を与えてやらねばならず、乾電池2,3本で動かそうとしていたこの作りものに何らかの設計変更が必要になりました
測定器としてきちんと成り立たせようとすると、表示不能になるギリギリまで正確な値を測定できるようにしなければなりません。例えば、そろそろやばいなぁ・・・といった風に何らかのアラームを表示すべく電池電圧を測る必要がありますが、I/Oピンは既に目一杯・・・ときたもんだ
詰まるところ、手持ちの20ピンタイプのPIC・・・「PIC16F1829」に乗り換えれば解決できますが、折角作った基板を1枚オジャンにしなければなりませんし、設計方針によってはチャージポンプの昇圧回路(っていうか機能)も必要になります。
結局、後から作った電力検出部だけはそのままイケそう・・・

順調だった「春の工作祭り第一弾作品」も、ここに来て暗礁に乗り上げた感じ。GWは予定満載状態ですから、「済みません、納期が遅れます」って、仕事で無くって本当に良かったってか


まぁざっとこんな風に組み上がり、ノイズ対策(主に電源周りのパスコン強化)やAD8307の「省エネ制御」などの調整も済み、そろそろケーシング・・・という段階で最後の調整項目である切片調整・・・簡単に言うと表示されるdBm値の「確かさ」を追い込む過程で信号レベルの基準となる「クラニシ君@SGを接続したところ、どうも0dBm辺りの表示の直線性がおかしいことに気づきました

その記事によると、どうやら3.3V-4.0Vの電圧でAD8307を動作させると、-20dBmから+10dBm程度の電力測定結果が、折角の「ログリニア変換」を行うICにも関わらず線形に(リニアに)上がっていかない様子がグラフで示されており、「これだぁ

こうなると、AD8307には何としても4V以上の電圧を与えてやらねばならず、乾電池2,3本で動かそうとしていたこの作りものに何らかの設計変更が必要になりました


詰まるところ、手持ちの20ピンタイプのPIC・・・「PIC16F1829」に乗り換えれば解決できますが、折角作った基板を1枚オジャンにしなければなりませんし、設計方針によってはチャージポンプの昇圧回路(っていうか機能)も必要になります。
結局、後から作った電力検出部だけはそのままイケそう・・・

順調だった「春の工作祭り第一弾作品」も、ここに来て暗礁に乗り上げた感じ。GWは予定満載状態ですから、「済みません、納期が遅れます」って、仕事で無くって本当に良かったってか

ミニ・パワーメータ製作中・・・
2014-04-18
何とか製作が進みそうになってきましたので、「春の工作祭り」の初っ端作品となるであろうミニ・パワーメータをちょっとだけお披露目します

表示は「-78.0」にしています。意味はありません
ダイナミック表示をスナップしますから、どこかの桁が消えるのはご愛嬌・・・先頭のハイフンが消えていますね。
横のテスターでは電流を測っています。ピークで6.15mAという表示が時々見られます。これも、表示タイミングを変えると輝度と共に変化します。実際、ケーシングの際にはスモークのアクリを前面に配しますから、輝度調整は最後ということになります。
高輝度LEDを省電力で・・・という部分、自分としては事前に結構考慮したつもりですが、まんまと上手くいった数少ない例です・・・っていうか、少し落ち着いて考えてから手を染めた方が上手くいくという、至極当たり前な例でもありますね。
ちょっと部屋を暗くしてみました。

LED表示、案外明るいでしょ
高輝度LEDの恩恵は十分に満喫できたというわけです
ひとまず、表示周りについては(AD変換の出力を数値化する部分を含めて)形になりましたが、肝心の電力検出部が未着手です。この辺りを含めて、詳細は追ってまとめたいと思います。乞う、ご期待


表示は「-78.0」にしています。意味はありません

横のテスターでは電流を測っています。ピークで6.15mAという表示が時々見られます。これも、表示タイミングを変えると輝度と共に変化します。実際、ケーシングの際にはスモークのアクリを前面に配しますから、輝度調整は最後ということになります。
高輝度LEDを省電力で・・・という部分、自分としては事前に結構考慮したつもりですが、まんまと上手くいった数少ない例です・・・っていうか、少し落ち着いて考えてから手を染めた方が上手くいくという、至極当たり前な例でもありますね。
ちょっと部屋を暗くしてみました。

LED表示、案外明るいでしょ


ひとまず、表示周りについては(AD変換の出力を数値化する部分を含めて)形になりましたが、肝心の電力検出部が未着手です。この辺りを含めて、詳細は追ってまとめたいと思います。乞う、ご期待
