↑ 古いSWR&POWER計
これは当局が開局した当時購入したもの
SWR計の方はヒビが・・・
左のパワー計目盛は直性ではありません
アナログ電流計パネルをそのまま使えるようにしたい

今回の使用例に至る、事のなりそめ
実は、アナログ電流計を使用した、1mWフルスケール程度の、
RFミリワット計を製作しようとしたのです。
実験した所、プリアンプが無いと10mWフルスケールが限界でしたが・・・
しかし、電源も不要ですし、まあこれはこれで便利かなと思ったのです。

さて、アナログ電流計を出力表示にした場合、元パネル表示がまるで使えない。
それは解っていたので、表示パネルの書き換えをしようとしたのです・・・
電流計の元パネルを取り出し、スキャナで取り込んで、
画像ソフトを立ち上げて、編集してっと・・・ う~ん、
な、何と・・・3分で飽きてしまったのです・・・ (-_-;)

電力表示は数字が大きくなるほど表示が詰まってしまいます。
これはRF電力の検波出力電圧が非直線となっているからです。
それを、例えば1mW~10mWを計測し、100uAの電流計で表示ならば、
1mWなら10uA、5mWなら50uA、10mWなら100uA
となるように、直線化すれば、そのまま元表示が使用できます。

要は、アナログ電流計パネルの書換えは面倒くさいのでやりたくない。
そのための必要な変換作業をPICにやらせばOKじゃねえの。
と言った、ぐうたらな動機が今回の発端です。
良い?「ぐうたら」人間は「ぐうたら」するための考察と努力は怠らないのだ!!
兎も角・・・、プログラムとデータ次第で応用範囲は広がると思われます。
と言う訳で、リニアライザ 「PICLIN」 ミリワット計バージョンです。



構想

とにかく、なるべく簡単なハードウエアで、何とか使える高周波電力計を。
アマチュアですので、正確さはそれほど要求しない。
と、いつもの基本方針です・・・
と言う訳で、下記の様な構想です。

①高周波負荷50Ωからショットキーバリアダイオードで倍電圧検波(整流)
 当局在庫多数の1SS99を使用します。
 これはすでに、駄実験でデータ取得済み

②PIC12F1822を使い、ADCに検波電圧入力
 検波出力電圧は実験によると、10mW(10dBm)で1640mV程でした。
 これをPICのADC入力に入れ、8ビットでデジタル変換します。
 FVRを2.048Vに設定し、ADCに基準電圧として供給します。
 すると、ADC出力は8mV/Digitの解像度と言う事になります。
 結局、10mWフルスケールの電力計と言う事になります。
 もちろん電源も必要となります。

③プログラムで数値変換
 ここは安直に取得データに合わせて、データを入れ替える事に・・・
 これなら変換データの作成がだるいですが、数学理論は必要無いので当局向き
 下手な関数作るより、テーブルデータ参照の方が変換速度も早いですしね。

④変換データを元にPWM波出力
 使用するアナログ電流計の指針解像度は結構大雑把で、良くて1/50程度です。
 よって、PWM出力は100分割程度の解像度で必要充分ですが。
 今回はADC分解能に合わせ、1サイクル0~255分割の変調とします。
 さて・・・何か・・・デジタル表示の方が簡単そうだが・・・ 
 それを言っちゃあ、お終いだて・・・禁句指定!

⑤LPFで直流化し、アナログ電流計を制御
 完全にリップルを取り除く必要はない様です。
 実験的に定数を決める事に。

↑ 「PICLIN」本体回路はこんなもんです・・・
ブレッドボードに速攻で組立て可能です。
アナログオヤジ専用マイコン?

PICLINの機能
電圧変化を電流変化にします。
その変化の案配を自由に変換できます。
まるでFETの入出力みたい・・・

今回は、RF小電力整流電圧が対象
それを直線的な電流変化に変換します。



↑ PICLIN 回路
ブレッドボード上で簡単に作れます
予備実験について(PICLIN本体の基本動作確認)

PWMの動作確認とデバッグを兼ねて、予備実験をブレッドボードで行いました。
ADCの基準電圧はFVRによる2.048Vとします。
ADCピンへの入力電圧はDMMにて測定します。
ADC出力は、まだ数値変換ルーチンを介さず、直接PWM出力ルーチンに接続。
ここにテスタの電流計を2.5mAモードにし、接続しました。
PWM出力100%で2mAとなる様にVRを調整。
以上で、VRによる電圧入力、0Vから基準電圧までの変化を観察しました。
この結果は上々で、電圧変化と電流計の指示はほぼ正比例関係を示します。

プログラム
ソースを見るとすぐわかりますが、電圧入力のADCルーチンと、
PWM出力ルーチン部分は「PICEYE]のルーチンを使いまわしています。
それも、「PICEYE]では3チャンネル出力だったのが今回は1チャンネル出力です。
大幅にカットして、そそくさに出来てしまいました・・・
そんな訳で、今回の新規ルーチンは数値変換ルーチンだけと言う事に・・・
それも、データテーブルを用意して、選択するだけと言う芸の無さ・・・
今回は「駄実験」にしようか「普通実験」にしようか迷いました・・・ (-_-;)

PICとアナログ電流計
内部発振8MHZ、4XPLLで32MHZで動かしています。
それでもPWM出力周波数は1.2KHZ程度となりました。
VRによる電圧入力で、スムーズに電流計を振らせる事ができました。
ただ、オシロで見ると完全な直流では無いようですが問題無いです。
出力電流は2~3mA程度までは大丈夫です。
よって、プログラムの変更無に100uAや1mAの電流計が使用できます。
もっと出力電流は取れますが、電流制限抵抗の影響等で、直線性が損なわれます。

↑ 今回対象となる電圧源回路
ただの倍電圧検波(整流)回路です。
もちろん入力はRF電力です。



データテーブル作成資料はこちら

 検波電圧とADC出力との関係
データテーブルの作成

これが今回最も時間の掛っている所です。
ところが、手間は掛っていても頭は使っていません・・・

作成方法
これは次に表示されているデータ表を参考に作成しています。
dBmとmWの変換はキッパリとした数値は出ないのです。
よって、まずは手書きの曲線グラフを作り、(X軸mW、Y軸mV)
そこから、mWと検波電圧を取り出しています。
そして、感覚的な近似値で変換しています。(適当とも言う・・・)
データテーブルはADC分解能に合わせ、256バイト用意
データ領域はプログラム領域に配列しています。
因みに、プログラム領域をリニアにアクセス出来ない旧PICには移植はできません。
プログラム本体は小さいので、さらなるデータ領域を確保可能です。

データ本体はフルスケール10mW表示用として作成しています。
それだけでは芸が無いので、、デジタルズームモードを作ってみました。
(デジカメのデジタルズームと光学ズームの関係に例えて言っています。)
このモードは、光学ズーム(プリアンプ)を使用している訳では無いです。
よって、元データは何も変わらないので、表示の信頼性が少し劣ります。
ついでに「dBm」表示もリニア化して・・・と変換データを作り始めたら・・・
電流計に「dBm」をスマートに表示させる方法が思い付かなかった・・・ (^_^;)
よって、これはデジタル表示の時にでも追加する事に・・・
今回はボツとなりました。
それではポートが1つ余るので、簡単なオートレンジ切替機能を付けてみました。
PIC12F1822ソースファイル

 12f1822_analog_meter.asm

HEXファイル

 12f1822_analog_meter.HEX

当局の書き込み実例
ライター
秋月電子PICKIT2互換ボード
「AE-PICPGM USB」
ソフト
PICKIT2 ver2.61

注意
ソースファイルは「MPLAB IDE」等の
エディタで見て下さい。
PIC12F1822プログラム概略

詳細はソースファイル及びコメントを読んでください。
他人が見ても解る様、なるべく詳しくコメントしたつもりです・・・

PWM出力
デジタル出力ポートRA2を0/255から255/255まで可変しています。
割込み等は使用せず、単純にメインループの中でポートをON-OFFしています。
周波数は約1.2KHZ程度です。

ADCアナログ入力 RA1ポート
ADCの基準電圧をFVRとしています。
ノーマルモードではFVR=2.048Vとして、入力解像度を稼いでいます。
データテーブルも必要十分な解像度を確保できました。
デジタルズームモードでは入力解像度不足のため、出力フィーリングが悪くなります。
そこで、FVR=1.024Vとし、専用データテーブルを用意しました。
その2点で、何とか出力フィーリングを確保しています。
入力オーバーとなった場合は、RA0ポートの警告LEDを発光させます。
デジタルズームモードで動作している場合は、モードLEDを発光させます。
モードLEDはRA5デジタルポートです。

オートレンジ
ノーマルモードで動作中、表示の約8%以下になると、ズームモードに移行します。
ズームモードでは、表示の約106%以上になると、ノーマルモードに移行します。
どちらのモードで動作しているかは、ズームモードLEDで判別します。
このモードで動作中の場合、デジタルズームモードスイッチは無視されます。

チューニングモード
基板上のチューニングスイッチをONしながら立ち上げると、このモードになります。
PWM出力は100%同等となりますので、電流計のフルスケール調整をします。
このモードで動作中は、スイッチ類を無視します。
終了は電源を落とします。
スイッチ用のポートが足りなかったので、ADC入力ポートと共用しています。
1SS99の個性は考慮しておらず、あくまで簡易調整用です。

↑ PICLIN本体に別基板の検波回路を繋いだだけです。
ブレッドボードに上記回路がすべて乗っている訳ではありません。



↑ 実際に動作実験している所



↑ 使用メーターはテスタの25mAレンジ
ブレッドボード上での試運転

高周波検波までは、駄実験で使用した倍電圧検波基板です。
この直流電圧出力を使用します。
PIC周辺はブレッドボードのままです。
アナログテスタの2.5mAレンジをフルスケールとして使用しました。
プログラムもこの時点で、ほぼ完成しています。
SSGから入力信号入れてみました。
今の所は、目論み通りに動作しているように見えます。
ノーマルレンジ、デジタルズームレンジ共に、概ね正確に表示しています。
当局が使用するレベルでは十分な確度です。
電源無しでは、100uAの電流計でも10mWフルスケールが使用限界でした。
しかし、今回はPICの力で、とりあえず1mWフルスケールも使用可能となりました。
ついでに付けたオートレンジ切替は、鬱陶しいかと思ったのですが、
実際動作させてみると意外と面白かったので、ボツは何とか免れました。
アナログ電流計がマイコン制御されている事を実感するモードと言うのもあります。

問題なのは、とりあえず動作してしまうと、本番製作の意欲が急に・・・

↑ 実機用回路
ATT抵抗と検波部は切り替えスイッチに直接はんだ付けされています。
電流計は内部抵抗5.5KΩの100uAです。
VR2は470Ωの固定抵抗でOK



↑ 左が秋月の100uAの電流計
内部抵抗は2.4KΩ
右がクラ電子の100uAの電流計
内部抵抗は5.5KΩ



↑ 実機基板を作製
秋月の両面C基板です。
基板左上の一画が検波回路部分です



↑ 10dBアッテネータ部分を作りました
このスイッチをしばらく見ていたら・・・↓



↑ 検波基板を別に作製しちゃいました・・・



↑ 基板の右下の一画は検波回路部分
ここに接続されていたジャンパ線を切断
そしてコネクタを追加設置(基板中央下)



↑ ケースにATTと検波一式を設置
最短距離で接続しています
周波数特性は良好です



↑ ケースにメータとスイッチ、LEDを設置



↑ パネル背面部分



↑ 基板と電池部分



↑ パネル部分
文字の紙を張り付けました
超いい加減ですが・・・



↑ 側面RF入力用BNCコネクタ


実機製作

当局にしては珍しく?金属ケースを使用しました・・・
入力部はBNCコネクタとしています。
測定用の、わに口クリップ・BNCコネクタ付同軸ケーブルを用意しました。

電源は単3電池6本からとし、LM317LZで約5Vに安定化する事にした。
「約5V」と言うのは、固定抵抗を使用のため微調整不可だからです。
因みにLM317LZはこの回路定数で約5.2V出力となりました。
負荷変動に対して、出力電圧は極めて安定しています。
78L05等は当局部品箱に在庫が無いので、LM317LZを使用しています。
100mWまで測定可能とするため、10dBのアッテネータ(スルー付)を挿入。
電源消し忘れ防止のため、パイロットLEDを付けた。
これは安定化前の電池に接続されており、電池消耗の目安にもなります。

秋月の両面C基板を使用も、部品点数が少ないので、結構余裕です。
基板上には電源部、PIC部、検波部が配線されています。
1.5D2VでBNCコネクタからATTを通り、配線するつもりでした。
しかし基板製作後、基板上の検波部は使用しない事にしました。
新たに、秋月の16ホール小基板2枚に検波部を作製しました。
BNCコネクタとATTスイッチと、その小基板を連続最短で空中配線、
直流化した検波電圧を、主基板にゆったりと配線する方式に変更しています。
よって、1.5D2V等配線用同軸ケーブルは、結局使用しない事に。

電流計は「電子パーツのKURA」で販売している100uAの電流計です。
秋月の同価格帯のアナログ電流計に比べると、少々雑な感じがします・・・
しかし、安価で大きくて見易いのが当局にとって大きなポイントです。

で、それを分流して1mA程度の電流計として使っています。
フルスケールの電流は大まかでよいので、VR2は固定抵抗でOKです。
その際は内部抵抗の1/10程度に合わせ、200~600Ωとします。

所で、1mAのアナログ電流計を見かけなくなりましたが、なして?



組立て
ケースはアイデアルのCB-60を使用しました。
画像の様な配置で、電流計を中心にスイッチ4個、LED3個、
BNCコネクタを側面に取付けました。
電池は006Pにしようかと思ったのですが、単3電池6本とトランシーバ級です・・・
10~25mA程度(大半がLED消費)の電流を消費します。



最終調整

SSGがある場合
基板上のVR1は高抵抗(右回転一杯)にしておきます。
電源投入後、ノーマルモードで動作させます。
SSGと短い同軸ケーブルで本器に接続し、SSG出力は10dBmとします。
VR1を調整し、電流計がフルスケールになる様に調整します。

SSGが無い場合
基板上のVR1は高抵抗(右回転一杯)ししておきます。
TUNEモードスイッチをONしたまま、電源投入します。
VR1を調整し、電流計がフルスケールになる様に調整します。
電源を切ります。

以上で終了です。

注)VR2が存在する場合は、中程度の位置にしておきます。

↑ SSGからBNCケーブルで直結
SSG出力10dBm (10mW)
ノーマルモード



↑ SSGからBNCケーブルで直結
SSG出力7dBm (5mW)
ノーマルモード



↑ SSGからBNCケーブルで直結
SSG出力11dBm (12.6mW)
ノーマルモード



↑ SSGからBNCケーブルで直結
SSG出力0dBm (1mW)
デジタルズームモード



↑ SSGからBNCケーブルで直結
SSG出力-3dBm (500uW)
デジタルズームモード



↑ SSGからBNCケーブルで直結
SSG出力-10dBm (100uW)
デジタルズームモード



↑ SSGからBNCケーブルで直結
SSG出力1dBm (1.26mW)
デジタルズームモード
試運転

さて、被測定物への接続ケーブルですが、1~1.5m程度は欲しいです。
1.5D2Vだと取り回しが良いですが、思いの外減衰します。
多分、10MHZが限度の様な気がします。
3D2Vだと十分な性能ですが、固くてケースごと吊られて暴れます。
う~ん・・・どうしよう

検波部の周波数特性は今の所、必要十分なレベルだと思います。
実際、発生電圧に大きな差はありません。

1SS99による検波電圧では、個性は意外と大きくない気がします。
同じ検波回路を3~4個作りましたが、発生電圧に大きな差はありませんでした。
PICからのクロック信号の影響も、ほとんど無いように見えます。

その他注意事項
通常動作中にチューニングスイッチをONしないで下さい。
その場合、正しい測定が行われません。
電源ON時、10mW以上(ATT使用時は100mW)の大入力があった場合、、
スイッチがOFFでもチューニングモードになってしまいます。
AM変調が掛っていると、表示がおかしくなります。
特に、オートモードでは使用できないレベルとなります。
RF整流部回路はAM検波回路でもあるので、もっともな話・・・
対処は面倒なのと、ある意味これはこれで良いので、行わない事にしました。



追記 2014/07/26
PICのA/Dコンバータ入力に対する、信号源インピーダンスについて
マニュアルではADCの内部コンデンサ充放電に関して、信号源インピーダンスは、
10KΩを最大値とすると記されています。
今回はADCに対して信号源の電圧変化は高速性を要求しておりませんし、
実験でも無変調キャリアの測定では問題無いように見えます。
今の所はこのまま様子を見る事にします。

追記 2015/05/11
マイクロチップ社のホームページを見ていたら、PIC16F1823のADCについて、
FVR1.024Vは使用できない、1.8V以上必要とQ&Aに記載されていました・・・ (^_^;)
現状は動作している様に見える事から、保証範囲外の動作と言う事と思います。
いずれ打開策を考えてみます。
戻る  実験・製作の記録TOPへ戻る