2011年5月14日土曜日

【部品】Programmable X-tal OSC

プログラマブル水晶発振器
 何でもそうだが、電子部品も「適材適所」である。本来の目的に従い、適切に使えば素晴らしい性能を発揮してくれる。 しかし、適用を誤れば問題の種にもなりえるものだ。

 以下の話しは、特定のメーカーやその製品の優劣を言うのが目的ではない。用途に対する適否の判断が目的だ。これは予め強調しておきたい。一面から見た欠点で、その全てを否定するのは間違いだ。むしろ用途に対する適否の判断こそ重要で慎重に行なうべきだ。

 写真は、EPSON TOYOCOM社のSG-8002シリーズ水晶発振器である。この水晶発振器の特徴は何と言ってもプログラマブルということにある。製造後に広範囲の発振周波数に変更しうるのだ。 従来の水晶発振器は周波数ごとに水晶発振子を製作して作る必要があった。当然、周波数の数だけ製品の種類ができてしまう。 しかしこの発振器は一種類を元に多様な周波数の発振器に「変身」できる。 その「変身」には専用プログラミング・ツールが必要だが、製造メーカーにとってはまるで夢のようだし、納期が短いならユーザーにも大きなメリットがある。少量多品種を実現するにはたいへん魅力的だ。

秋月DDSキットがリニューアル
 まだ話題になっていないようだが、秋月電子通商のロングセラーが最近リニューアルしている。 秋月のDDSキットは幅広い周波数の信号が得られるので、アマチュア無線だけではなくオーディオや測定の分野まで長く使われてきた。

 いまでこそ、性能に優れるアナログデバイセス社のDDSが幅を利かせているが、かつては安価なDDSと言えばこれしかなかった。実際、手軽な信号源として何度も購入している。

 流石に、旧式のDDSなので無線の用途にはあまり使わなくなった。新型DDSに比べ上限周波数が低く出力に現れるスプリアスも多いからだ。 出力信号直接の使用はスプリアスの問題があるので、できればPLLのループに入れ「クリーニング」して使う方が良い。 そのあたりが、昨今の新型DDSに比べて少々面倒な所だ。

 ところで、このDDSキットに使われている水晶発振器を購入しようと思い、お店のホームページを覗いてビックリした。 DDSキットに付属する67.10886MHzの水晶発振器が変わったのである。この発振器は単独でも購入できた。それが従来の金属ケース入りから新型に変わっていた。 しばらく品切れで、次の入荷をまっていたのだが同じ物は仕入れできなかったようだ。

# それでこの新Kitだが、用途・目的次第と思うが少なくとも前より性能が良くなったとは思えない。オシマイまで読んでもらえばわかるだろう。

プログラマブル水晶発振器の規格
 左は、これから評価するプログラマブル水晶発振器のデータシートである。 たまたま持っていたのが表面実装型だったので、秋月で売っているものと外形や型番は違う。 しかしそれ以外、中身は同じだから参考になると思う。

 左表のPTシリーズがそれで、電源電圧は5Vが標準だ。 発振(設定可能な)周波数は1〜125MHzと広範囲だ。 説明によれば内部の水晶発振子を基準にPLLで各種周波数を発生しているそうだ。 内部構造の詳細は明らかでないが、フラクショナルN(=Fractional N:分数N)形式のデジタルPLLになっているのではないだろうか。

 そのプログラマブル・デバイダの分周数Nを外部の専用ツールで書き換えることで、ある程度任意の周波数が作り出せるのだろう。 水晶発振器として非常に旨い方法だ。 もしAVRマイコンのように簡単なライタでユーザーが設定可能なら、もっと素晴らしいのだが・・・。

欠点もある
 世の中、すべてが良いことは稀である。才色兼備など滅多にあるものではなく、この水晶発振器も欠点があるようなのだ。

 さりげなく書いてあるが、要するにこのオシレータを基準にPLL回路なりを作ると、得られる信号のスペクトルは汚いですよと言うのだ。

 これから評価するPTシリーズの規格では、出力に150〜250pSのジッタはあると言う。発振周期ごとの周期の揺らぎ(=サイクリック・ジッタ)が200pS、周期の揺らぎのピーク・トゥ・ピークは最大で250pSあると言う。これは大きいのか小さいのかと言うことになるだろう。(pS:ピコ秒)

 タイミング関係で考える場合は、揺らぎ(ジッタ)を「時間・周期」で判断する方が好都合だ。しかし、無線家としては、時間・周期ではなくその裏返しである周波数の揺らぎとして捉えてみたい。 また、その実力がどの程度であって、世の中の発振器と比べてどの程度のものか是非とも知りたいものだ。

実物でテスト
 写真は、テストの様子である。 プリント基板に裏返して組立てた。 銅泊はアースなので、確実なGndがとれている。 誘導など受けない、真の特性が取れるだろう。

 電源:Vcc=5Vで、実験用の可変型シリーズ電源を使った。もちろん十分奇麗なDC電源であり、3端子レギュレータよりもずっと奇麗で、重畳する(ホワイト)ノイズは小さい。 このあたり、電源が奇麗でないと影響を受けて正しい性能が評価できないことがある。要注意だ。 オシレータ・ノイズの判定に3端子レギュレータを使うのは旨くない。特に高感度なVCOなど自励発振器では電源ノイズの影響は顕著なので注意したい。

まずは1MHz幅で観測
 評価したオシレータは、公称周波数が26.2144MHzと言うものである。(注:商社から購入したもの。秋月ではこの周波数は売っていない) そこから上下500kHzのスペクトルを観測している。 縦軸の1目盛りは10dBである。 横軸の1目盛りは100kHzだ。

 水晶発振器のスペクトルを見慣れたお方なら、一目でこのオシレータのノイズ(揺らぎ)は際立って大きいことがおわかりだろう。(これはフェーズ・ノイズと言うもの)

 一見すると揺るぎのないキャリヤ(搬送波)をノイズで振幅変調したAM波のようにも見える。しかし、実体は異なったものだ。キャリヤそのものがある確率で中心周波数から揺らいでいるのである。スペアナで観測する性質上このように表示される。オシロスコープで振幅も観測すればわかるだろう。 従って、AM波ではないのだから急峻なフィルタを通して、ノイズサイドバンドをバッサリ・・・と言う考えは効果的でない。フィルタで良くなりはしない。下手にフィルタを通せば振幅性ノイズを持ち込むことにさえなる。このあたり、勘違いの無いように。

 周期的なノイズも存在するようだが、ランダムなノイズもたいへん大きい。 これを見ただけで、RF回路に使う気は一気に失せてしまった。(笑)

100kHz幅に拡大して詳しく観測
 さらに、中心周波数の付近を100kHzの幅に拡大して観測してみた。 周期的な揺らぎがさらに揺らいでいるというような特性もみられる。 ともかく、これは酷い特性だと言える。

 もしも、こんな発振器を使って周波数変換やSSB発生を行なうと、得られた信号の近傍はこうしたノイズでひどく汚染された状態になってしまう。

 PLLの基準に使う場合を考えてみよう。このオシレータの周波数から見て、遥かに低い周波数の発生なら周波数比だけフェーズ・ノイズ(ジッタ)は軽減される(注1)。案外使い物になる可能性もあるだろう。 しかし、逆に高い周波数を得るPLLでは周波数比だけ悪化が考えられる。 もはや使いものにはなるまい。

注1:例えば、10MHzを基準に、1kHzを得るなら周波数比は1万倍である。旨くすれば40dBくらい改善されるから使える可能性も十分ある。用途により一概に使えない訳ではない)

数値評価@10kHz:-71dBc/Hz
 のちのち比較可能なように、数値的に捉えておこう。 一般に行なわれるように、キャリヤ周波数から10kHzはなれたところのノイズを数値として測ってみた。

 揺らぐので測定値は安定しないが、概ね-71dBc/Hzであった。 この値がどの程度のものなのかは、次の写真と比べてもらえばはっきりするだろう。

しかし、この際はっきり言ってしまおう。 水晶発振器としては、ものすごく悪い数字だ。

 これを通信関係や映像関係の用途に使ってはダメである。 もちろんオーディオにも・・・と言えるが、ジッタがたっぷりあると瑞々しいなどと言うお方があるので困ってしまう。工学的な見地では割り切れない分野だから仕方がないのかなあ・・・。(笑)

 ともかく無線に使うのはやめたい。オーディオなら自家だけの問題だから個人の自由だが、無線は近傍周波数でオンエアする他局の迷惑になる。 当然、あなたの品位も疑われるにちがいない。

せめてこのくらいは
 これは普段実験につかっている手近にある周波数シンセサイザのスペクトルだ。 手軽に作っても普通の水晶発振器なら、この写真よりもさらに良いと思う。

 市販の周波数シンセサイザは高機能なので、その分回路構成は複雑だ。 そのおかげで出力に含まれる付随ノイズはやや大きめになってしまう。しかしそれでもこの程度は行くのだ。 上記の発振器と比べて30dB以上もきれいだ。(ノイズパワーで言えば1,000倍もきれい)

 例えば2SK241で水晶発振させバッファアンプを付けた程度のシンプルなものでも、件のオシレータよりも40dB以上きれいなものだ。 さらに入念に回路設計し部品も吟味すれば20dB以上の改善ができる。 今どきのきれいな発振器とはそのくらいまで行っている。

 比べてわかるように信号の奇麗さという観点で言うとすれば、箸にも棒にも掛からない性能だ。 他の用途なら別かもしれないが、少なくとも無線関係の用途では(けして)使いたいと思わない。

こまった。殆どがコレに・・
 こうした水晶発振器をアマチュア無線家が自作に使うことは稀かもしれない。 影響は少ないかと思うが、秋月のページを見ると既に大半のオシレータがこの「問題アリ」の部品になっている。

 ニーズの多い周波数からこの発振器に置き換えているのだろう。 おそらく、マイコン系のクロックに使う程度ならあまり気にならないのだ。 ノイズで揺らいでいても平均周波数は正確で累積的な誤差が少なければ時計やタイマーのような用途には差し支えないだろう。 だから一概にダメな部品だとは言い切れない。 

 しかし、 PLLとかDDSシンセサイザのようなAF やRF信号発生あるいは信号処理のクロックに使うとアウトプットの付随ノイズに悩むことになるかもしれない。そのあたりを十分吟味してから使いたいものだ。

                  −・・・−

後記
便利なものにはウラがある・・・を地でいったようなオシレータであった。 実は業務で開発した機器にこのオシレータを使ったところ、予想外の不要スペクトルが現れてトラブルになったことがある。 担当者は悩んだようだが、私は仕様書をみてすぐに気付いた。 クロック発振に使ったオシレータのスペクトルが汚いのが原因の全てであった。

 この水晶発振器はPLLを使っている。しかしPLLが本質的に悪いのではなく、この発振器に使っているPLLがPoorなのだ。 メーカーもスペクトルが美しくないのは百も承知だろう。しかし、きれいなものをこのサイズに作るのは無理があるのだ。より一段の技術開発を待ちたいと思う。

 最近になって、アナデバ社のチップを使ったDDSシンセサイザを検討している。DDSのクロックとして、秋月の67.10886MHzオシレータは重宝であった。 何個か追加購入しようと思い時々サイトを覗いていたがずっと品切れが続いていた。 最近になってDDSキットがリニューアルされ、同時にそれに使っている新しいクロック発振器も販売されるようになった。 さっそく購入しようと思ったら、それは使えるようなものではなかったのだ。

このオシレータ、フラクショナルNなPLLなんか使ってるから、揺らぎがフラクタルでカオスの混沌に迷い込むのだ・・なんて? まさかねえ・・。 仕方がないからクロック発振回路も自作で行くか別のオシレータを使うことにしよう。(笑) de JA9TTT/1

(おわり)

2011年5月5日木曜日

【AVR】BASCOM-AVR Initial setting

BASCOM-AVRの初期設定
 しばらく前のBlogでは40pin28pinのAVRマイコンを扱っている。それぞれAVRマイコンの機能概要を紹介し、テスト用基板の例を載せておいた。 こうしたテスト基板はニーズがあるらしく検索経由etc.でそこそこのアクセスを頂いている。

 もちろん例示したような回路でなくもっと簡単に始めることもできる。しかしFullに機能が載った回路を標準にしておくと有利だ。不要な部分を省けば根幹部分の共通化が図られている。そうすればプログムを書く時にも便利になる。

 BASCOM-AVRの初期設定も使用するポートが決まっていればデフォルト設定で行ける。 写真は少々旧式化してきたATmega8だが、前のBlogの例に従い28pin AVR用テスト回路に準拠して作ることにした。今度の製作で必要な機能はごく少ないので小さな基板に載せている。 28pinのATmega8シリーズならどのチップにでも載せ換え可能だ。

 なるべく共通化しておきたいのは、ISP/SPIのポート割り付け、LCDモジュールの接続ピン、RS-232Cの接続ピン、スイッチやロータリエンコーダの接続ピン、I2Cの接続ピンなどである。 これらをできるだけ共通化しておけば、初期設定が容易なだけでなく、誤りが防止できプログラムの載せかえも容易になる。

# 以下はBlogで紹介済みの28pin AVRマイコン用テスト基板のBASCOM-AVRに対する初期設定の様子である。回路図だけではなく、その設定手順も書いておかねば片手落ちだ。

Chipを選択・1
 BASCOM-AVRを立ち上げたら、まずはOptionメニューからChipの選択を行なう。 図の様に、Oprion→Compiler→Chipと進み次の画面へと進むことから始める。

 注)BASCOM-AVRコンパイラへの直接指示コマンドである:
$regfile=mega8def.dat
$crystal=8000000
・・・と言うコマンドをプログラム先頭に記述し、以下と同じ内容のセッティングを行なう方法もある。その方がプログラムだけを見た時には明示的でわかり易いかも知れない。但し、以下の方法でも支障は感じないので画面から初期設定する方法で行くことにする。

Chipの選択・2
 チップ定義ファイルを選択する画面が現れる。 図の窓から、これから使用するチップの定義ファイルを選択する。

 図はATmega168の例である。 ここではATmega8を使うので、「mega8def.dat」と言う定義ファイルを選択する。 もちろん、定義ファイルを変更すれば、この画面の各窓に表示されるFlashメモリの容量などは異なる。 この画面においてはチップの定義ファイルを選択するだけで、他の部分(窓)をさわる必要はない。




MPUクロックとシリアル・ボーレートの設定
 続けて、赤で囲ったCommunicationタブをクリックするとこの画面が現れる。ここでは、実際にMPUが動作するクロックの周波数を設定する。

 BASCOM-AVRは設定したMPUクロック周波数に基づいて、シリアル・コミュニケーション(RS-232C)のボーレートを計算・設定する。ここにクロック周波数のインプットがあるのはそうした意味からだ。

 3段目の窓に「Error」(エラー)とあるが、これは入力したクロック周波数で最適化した際に発生するボーレートエラーである。 一般に〜2%程度なら問題ない筈だが、そもそもシリアル通信しないのなら誤差が幾らであっても気にしない。

 また、プログラム中で頻繁に使う「wait/waitms/waitus」の各コマンドもクロック周波数の影響を受ける。ここに入力された周波数に基づいて時間計算され実行されるからだ。 従ってクロック周波数はわかる範囲で正確な数字を入れておく方が良い。(内部クロックはそれほど安定ではないのでせいぜい2〜3桁分の有効数字を入れれば十分だと思う)

 クロックはHz単位で入れる決まりなので、例えば8MHzなら「8000000」即ち8の後にゼロを6個入れる。図の例では27MHzなので、27の後ろにゼロが6個である。

 言うまでもないだろうが、ここでインプットした周波数でMPUが動作するのではない。それは逆で、MPUが動いている周波数をBASCOM-AVRに教えるのが目的だ。 実際のクロック周波数はヒューズ・ビットの設定と外部に接続した水晶振動子の周波数などで決定される。ここでは実際にMPUが動作している周波数をインプットする。

 いま製作した基板では内部クロック発振を使い、ヒューズ・ビットを書き換えクロック分周器はOFFして使うから8MHzで動作することになる。従って、「8000000」とインプットしておいた。なお、ヒューズ・ビットについては別のBlog(←リンク)で扱っている。

(参考:メーカー保証外だが、20MHz品のAVRマイコンは30MHzくらいまで平気で動作するようだ。少々旧型で16MHzが仕様のATmega8はせいぜい20MHzくらいが良い所だろう)

I2C、1-Wire、SPI/ISPのポート設定
 次にI2Cインターフェース、1-Wire通信、及びSPI/ISP通信に使うポートを設定する。赤で囲ったタブをクリックする。 このうち特に重要なのはSPI/ISPの設定だ。 もちろん、プログラム中でI2Cや1-Wireを使うならこれらの設定も必須になる。


 なお、SPI/ISPに使うピンはAVRマイコンの品種により決まっている。 ATmega8のほか、28pinのmega8シリーズであるATmega48、ATmega88、ATmega168、あるいはATmega328なら、図の設定がデフォルトになる。なお、この中でSSピンは特に設定不要なようだが、一応図のようにしておけば良いようだ。

 注:I2Cや1-Wireはマイコン相互や周辺用ICとデータ通信するための規格で、簡単に説明するのは困難なのでWikipediaやBASCOM-AVRのマニュアルなどを参照。 28pin AVRマイコン用テスト基板の設計に合わせるなら、I2CのSCLport=PORTC.5、SDAport=PORTC.4にセットする。もちろん、これらを使うつもりが無ければ設定は何でも良いだろう。

LCDモジュールの設定
 もっとも簡単で手軽に文字や数字情報を表示できるのが、標準タイプのLCDモジュールである。 図の赤く囲ったタブをクリックする。 キャラクタ・タイプのLCDモジュールの配線接続をここで設定する。

 左上の窓で、使用するモジュールのタイプを設定する。ここでは16文字2行のタイプを使っているので、「16*2」を選ぶ。 またBUS modeは4ビット、Data modeはpinがデフォルトの筈だ。 同様にLCD-AddressとRS-Addressの部分も変更せずそのままで良い。

 右側の窓で、LCDモジュールの各端子をマイコンのどのポートに接続するのかを設定する。製作した基板は前のBlogにある28pinAVRマイコン用テスト基板と同じ配線になっている。 そのままの配線を踏襲したので図と同じに設定すれば良いわけだ。 LCDと各ポートの設定にはかなり自由度があるので製作物の都合で変更しても良い。 LCDモジュールへのデータの流れが他の接続物と干渉しないよう旨く設計すればポートの共用も可能だ。上手に工夫して少ないポートをなるべく効率的に使いたいものだ。

以上、全ての設定が済んだら画面下の「OK」と言うボタンを押して終了する。 あらためて確認したいなら、もう一度Option→Compilerのメニューから始める。

参考:LCDモジュールの設定は上記のほかにプログラム中に記述する方法でも可能だ。
Config Lcd文などを使う。
例えば:
Config Lcdbus =4
Config Lcd= 16 * 2
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.0 , Db7 = Portb.1 , E = Portb.3 , Rs = Portb.2
・・・と言うように記述する。詳細はBASCOMマニュアルのConfig LCDなどの説明を参照。

テストプログラム
 定番の「LEDチカチカ」と「LCD表示」の簡単プログラムだ。 まずは、これがうまく行けば配線に問題が無く上記の設定にも間違いはないと言う最低限の確認ができる。

 「LEDチカチカ」など今さら馬鹿らしいかもしれないが、基板を製作したらまずは最低限の動作確認をしておくべきなので少なくとも1回は実施している。 丁度テスターで各部の導通テストやB+がアースにショートしていないか確認するようなものだ。 基本的なことが確かでなければ、以後のプログラムはけしてマトモには動かないだろう。

参考:図はATmega168用なので、チップに合わせて適宜変えれば良いが確認するだけの目的なら同じでも何ら支障はない。

動作成功
 上記の設定を行ない、さっそくチップにプログラムを書込んでみた。

 このようにLCDに表示が出てポートに接続したLEDもチカチカを始めた。 これで配線に誤りは無く設定も問題なくできたことが確かめられた。たぶん、この先無用な心配をせずに進めることができるだろう。


                 −・・・−

後記
 かなり暫くぶりにAVRマイコン回路を作成した。回路は定番を踏襲するので、以前のBlogを参照しながら問題もなく進められる。今回は必要な機能に絞って小型基板に載せた。 さて、一旦配線も完了しプログラムを始める前の段になって少々手間取った。BASCOM-AVRの設定とか初期に必要な作業をだいぶ忘れてしまっていたのだった。

 あいにく、件のBlogにはハードウエアやチップのことは書いてあってもボード製作後の初期設定に関しては全くなかったのだ。 むかしのweb記事にはその辺りも書いてあったのを思い出しつつ何とか作業を進めることができた。 結局、マイコン製作は配線図だけでは足りないのだ。 最低限、想定したコンパイラなりツールに合わせた初期設定の部分まで書いておくべきなのであった。このあたりは少々反省点。

 さっそく、振り返って辿った手順を記述しておくことにした。 もちろん、これは何時ものように自家用の備忘録である。 そう言えば、ヒューズ・ビットも書き換えたので設定方法を書いておくべきだった。それはまた改めてにしよう。(笑)  de JA9TTT/1

参考)AVRマイコン活用に必須な「ヒューズ・ビット」については:→こちら(←リンク)のBlogで。

(おわり)

2011年4月3日日曜日

【部品】Thermistor

Thermistor:Disc Type】円盤形サーミスタ
 サーミスタと言えばトランジスタ・ラジオの教科書にも必ず説明が出てくる電子部品だ。 昔からトランジスタ・ラジオのB級Push-Pull低周波出力段の温度補償に使われていたからだろう。

 写真はメーカー不詳だがそうしたラジオ用のものである。ずいぶん前から拙宅のジャンクボックスに眠っていた。 オレンジ色は150mWクラスの出力段用で茶色は500mWクラス用だろうか。

使用目的から、低い電圧のところで比較的大きめの電流を流す必要があるので低抵抗に作ってある。 25℃の抵抗:R25は数10〜数100Ωと言ったところだ。B定数は3000K(ケルビン)程度の物が多い。

 左図は一般に入手可能であった東芝製のサーミスタとその特性一覧である。 主にゲルマニウム・トランジスタを使ったB級プッシュ・プルアンプのアイドリング電流を温度補償するために使用する。 目的から、被温度補償トランジスタとは良く熱結合するよう実装する必要がある。 そのため、細く長いリード線が付いていた。 既に過去の部品であって入手するのは困難だ。(2016.04.06追記)

#ポピュラーなサーミスタ:有名な東芝のD22AはR25=200Ω、B定数=3250K、許容動作電流=5mA、主に2SB56のB級PPアンプ用であった。

6 Transistor Radio】AM 6石ラジオ/6石スーパー
 サーミスタはゲルマニウム・トランジスタを使ったラジオに良く使われていた。低周波出力段の無信号バイアス電流(=アイドリング電流)の安定用に使っている。(R13がサーミスタ)

 図はその一例で、B級プッシュプル出力段のアイドリング電流を温度安定させるために用いる。 温度上昇するとコレクタ電流が急増しさらなる発熱から熱暴走する危険がある。それを抑えるのが目的だ。そのためサーミスタはトランジスタの近傍に置き熱的に結合させるのが良い。(既成品AMラジオの部品を流用しで再設計した。図中の数値は試作後に実測した値を示す)

 サーミスタの抵抗値は温度低下に対して指数関数的に増加するので並列抵抗を入れて効き過ぎないように加減する。そうしないと少しの温度降下でアイドリング電流過大になってしまう。温度上昇する方向では温度補償の効き方が過剰になる傾向にあるが、高い温度での電流減少は安全方向なので良しとしているのであろう。ゲルマニウム・トランジスタはVbeが小さいうえIcbも流れるからクロスオーバー歪みが極端に悪化しないのも幸いしている。

 トランジスタ・ラジオのメーカーによって低周波出力段の無信号バイアス電流の温度補償にお好みがあったようだ。 東芝はおもにサーミスタを使い、日立や松下はバリスタ・ダイオードを使うケースが多い。 この設計では日立の古典的なゲルマニウム・トランジスタを使ったのでバリスタの方が良かったのかもしれない。もちろんサーミスタでも支障はないが。 いずれにしてもバイアス回路はそれぞれ最適設計する必要がある。

 サーミスタは高感度で一般に熱時定数も小さいので温度補償特性は良好である。 一方、バリスタは温度検知感度は低いが減電圧補償にも効果があるので電池が電源のラジオには有利である。バリスタ・ダイオードはなるべく出力トランジスタの近傍に配置し密に熱結合した方が良い。 サーミスタかバリスタか、このあたりどのような性能を重視するかでメーカーの好みが別れたものと思う。(注:ここで言うバリスタはエレキーのPhoto-MOS保護に使ったものとは別もの。過電圧保護用バリスタではなくてバイアス安定用のバリスタ・ダイオードと言うもの)

#シリコン・トランジスタの時代になるとバリスタ・ダイオードを使うケースが多くなった。

Thermistor:Sensor Type】センサー用サーミスタ
 サーミスタは温度センサとしても良くも用いられる。 温度センサには「白金測温抵抗体」や「熱電対(ねつでんつい)」がよく使われる。 サーミスタはこれらよりもやや精度で劣るものの温度感度が良い(=出力電圧が大きい)ので簡単な回路で扱い易い特徴がある。

 写真の物は25℃の抵抗が10kΩのサーミスタである。秋葉原の国際ラジオから通販(残念ながら同社は2014年5月末に廃業した)で購入した。製造メーカーはSEMITEC・石塚電子である。(103AT-2型:R25=10kΩ、B定数=3435K)

 温度センサとしては数kΩ以上のものが適している。 やや大きめの電圧を加えても自己発熱が少なく、温度に対する電圧感度を高くできるからだ。 抵抗値は温度に対し指数関数的に低下するから、室温でこの程度の抵抗値がないと高い温度では低くなり過ぎてしまう。もちろん室温付近で使うのが目的ならもう少し低い数kΩのサーミスタで良い。

温度は26℃くらい?
 ファンヒーターから温風が来る場所で測定したので10kΩよりもやや低かった。26〜27℃くらいだろうか? (テスタは抵抗×100Ωレンジ)

 これは常温から100℃あたりで使うのに丁度良いサーミスタだ。 いま目的とするのは80℃で、1.6kΩくらいの抵抗値になるからだ。なお、サーミスタの温度と抵抗値の計算はここ(←リンク)などを利用すると便利。

 温度センサとしての用途の他に各種電子回路の温度補償用にも良いだろう。 但し上の例のようなB級プッシュプル出力段にはあまり適当ではない。(抵抗が高過ぎてうまく使えない)

OCXOのヒータ・コントロール
 オーブン制御型水晶発振器:OCXOの自作は難しくない。 水晶発振回路は一般的なもので良く、オーブンを設けサーミスタで温度検出して加熱用ヒータを制御してやれば良い。 これはそうしたヒータ・コントロール回路の一例だ。(注:回路及び部品定数は変更される可能性あり)

 センサは上記の10kΩサーミスタを使いヒータにはPNPトランジスタそのものの発熱を使っている。 従ってヒートシンクとトランジスタの熱結合を良くする意味から、コレクタ・フィンを直接GNDできるPNPトランジスタを発熱体に用いた。 サーミスタ部分の電圧をモニタすれば制御状態を監視することができる。温度モニタになるわけだ。モニタ用にバッファ・アンプも付けておいた。 基準電圧の側を外部から操作できるようにしておけば温度可変型のオーブンにもできる。 回路はオーソドックスだが、このあたりが私の工夫の部分だ。

 銅板のような熱伝導の良い金属板に(1)発振回路の水晶振動子、(2)PNPトランジスタQ1、(3)サーミスタをそれぞれ旨く熱結合するよう実装する。 もちろん熱放散してしまわぬよう熱的に浮かせる『熱絶縁』に努め周囲は断熱材で覆う。

 さらには水晶振動子と発振回路をもう一回り囲って同じように温度安定化してやればベストであろう。すなわちダブルオーブン型だ。 その場合はPNPトランジスタで発熱させるのではなく、マンガニン線などのヒータ線を巻いて「囲み」を加熱するようにする。 温度は内側より多少低い程度に設定するのが良いはず。

#言うまでもないが、ここで使う水晶振動子はOCXO用として80℃を指定したものを使う。

               −・・・−

 やや珍し系のデバイスとしてサーミスタを扱ってみた。 温度センサは各種あるがサーミスタは高感度なので簡単な回路構成で温度制御しやすい特徴がある。高級なOP-Ampなど高価な部品を使わなくても高性能が実現できる。 但し長期間連続して高温度の環境で使うのならより安定性に優れるガラス封止型のサーミスタの方が安心かもしれない。しかし実験的にはこのサーミスタが十分使える。 de JA9TTT/1

(おわり)

2011年3月14日月曜日

【HAM】 Emergency Rigs

●2011年3月11日14時46分・・・東北地方太平洋沖地震・・・が発生した。

この地震に被災された皆様に心からお見舞い申し上げます。
また、救援復旧活動に従事される皆様に感謝致します。

当地も激しく揺れたが、さしたる被害が無かった幸運に感謝している。

 災害発生時に於ける、日常の備えについては既に多くが語られている。もし在宅中の災害発生であれば有効活用し得る可能性も有る。救援が届くまで自身や家族を守るために各自で最低限の備えは行なっておきたいものだ。

                −・・・−

 非常時にどの程度の意味があるのか実際は未知数である。しかしアマチュア無線局の視点で何か出来ることは無いか考えてみたい。 もちろん、こうした機器が非常通信で必要にならぬことが一番であるが・・・。

FT-70GC】(八重洲無線)
 2〜30MHzをカバーするHF帯のSSB/CW機だ。Powerは10W出るのでアンテナ次第ではかなりの通信距離がある。FT-817よりパワーが大きいのは有利だが大きくて重い。受信も送信もジェネカバである。

 電池寿命は連続数時間であるから長時間の停電が起こればじきに使えなくなってしまう。 移動用車両に搭載した無線機と連携し、徒歩で探査した状況を伝達する用法が適当ではないか。そうなれば車載用充電器の備えも必要だろう。

 十分なDC電源(12V)が確保可能なら、半固定局を設営して遠距離間の連絡にも使える可能性がある。 その場合は可搬型アンテナ・チューナもセットで用いるべきだが徐々に大掛かりになってくる。

PRC-74B】(米陸軍:ヒューズ社製)
 2〜16MHzをカバーする。元々はUSB/CW機であるが、写真のものはLSBも出せるよう改造してある。 HF帯のHAM-Bandは3.5、7MHzではLSBで運用されているからUSBだけでは困るからだ。具体的にはFrequency Generator Moduleを新たに作り替えてUSB用だけでなくLSB用のキャリア発振も可能なようにした。PLL回路を使った完全オリジナルな回路である。

 下部の電池ボックスには、専用充電池が使われるのであるが、その供給が最大の問題だ。米軍なら兵站でカバーできるかもしれないが・・・。 可搬型ではあるが、半固定用と考えて運用すべきかもしれない。アンテナ・チューナを内蔵し十分なパワーもあるので有望だろう。 但し、そう考えると今なら車載電源で運用可能なHF機は幾らでもあるから、それを使うのがベストと言うことになる。


KX1】(米エレクラフト社製キット)
 7MHzを主に、10、14MHzのCWでオンエア可能だ。CWのみだから十分な意思疎通には電信の技量を要するのが難点かもしれない。 しかし少ない電力で長時間動作するし、広い電源電圧を許容するから非常用としても有効だろう。

 オートアンテナチューナも内蔵するから、許容するアンテナの範囲も広い。 大きめの金属物体をアースとして任意長のロングワイヤでオンエアすることも十分可能だ。 普段滅多に使わないリグだが、1.5Vで単三サイズのリチウム乾電池(長期保存性に優れる。但し充電はできない)を入れてある。 アンテナ用のワイヤ類とイヤホンなど、必要品一式を非常袋に入れておく必要を感じた。もちろん外部電源用のコードとアース用配線も合わせて。

                −・・・−

 グループ間の近距離通信ならV/UHFハンディ機が有効だ。もちろん、そうした機器も対で確保しておきたい しかし地形の関係や、かなり孤立した状況下で連絡手段を確保するにはHF帯が有効ではないだろうか。 UHF帯のリピータが継続して使えるのは商用電源が活きている場合だけだ。

 車載機でHF帯を運用した経験から言えば昼間の7MHzと夜間の3.5MHz は数10kmから1,000kmあたりまで、SSBで十分な実用性があった。 アンテナは車載のホイップ・アンテナである。 半固定で比較的大きなアンテナが設営できるならより安定した通信を確保できる。 機材一式もさして大掛かりではない。工夫すれば常時車に載せておくことも可能である。

 緊急事態に臨みHAMとして何か可能かと考えるなら準備の意味はあるだろう。 インターネットに代表される通信ネットワークは災害には脆いものだ。 最後は既存の通信インフラに頼ること無く、ポイントとポイントの間を結ぶ無線通信機器が有効に機能することになるのだろう。アフリカで活動するNGOのHF帯活用事例にも示唆されるものがあった。

 もちろん、こうした事態が起こらぬことを祈っている。 de JA9TTT/1

非常時対応は常に維持してこそ意味がある。しかしそれが一番難しいことだ。

(おわり)

2011年2月11日金曜日

【AVR】more AVR Keyer

AVR Electric Keyer
 プログラムのバージョンアップはマイコン工作の常であろう。配線変更や部品追加を伴わずに機能の追加・改良が簡単にできることも多い。 このAVRエレキーもご多分に漏れない。 さっそくプログラムのバージョンアップだ。 但し、機能を活かす為にすこし配線の変更も必要になった。これは前のBlogの続きである。


 追加したいと思っていたものに「オートパワーオフ機能」があった。 スイッチの切り忘れには効果的だ。 言うまでもなく乾電池を電源にした機器にはあった方が良い。
 AVRマイコン自身に省エネ機能があってBASCOM-AVRからも利用できる。 さっそく盛り込むことにした。 前のBlogでAVRキーヤーを扱ってからJN3XBY岩永さんのBlogでも改造があって改良にあたってはそれも参考にさせて頂いている。


 私はオートスリープ機能だけ盛り込んだ。 なるべく元のプログラムをいじらぬ方針で臨んだので岩永さんのバージョンとはだいぶ違う感じになった。(笑) 貴方がメッセージメモリも必要なら岩永さんの所を参照されたい。 私はいらないので機能追加しないと思う。

 プログラムはコンパイル済みのHEXファイルで供給するが、前のBlogのようなTEXTエディタにコピペする方式はやめた。Dropboxと言うクラウド・スペースに保管する方法にしたので、以下のリンクから直接ダウンロードできる。(このクラウドに危険はない・笑) このファイルは専ら作った人自身が使う趣味の製作用である。それ以外の目的で利用したいなら連絡と承認が必要だ。


Tiny26L_Keyer_V320.hexのダウンロードは==>こちらから。
参考:ATtiny26Lは、ATtiny26の低電圧バージョン。上記のHEXファイルは、ATtiny26でも使える。 但し、電源電圧の下限は26Lの2.7Vに対してLナシは4.5Vなので注意を。

AVR Electric Keyer Ver.1.1.1】シンプルバージョン
 前のBlog:AVR Keyer Part.1にあった回路に相当するものだ。キーイング・デバイスにはデジタル・トランジスタを使うバージョンである。回路図の青線で示した配線はプログラムの書込み用なので頒布品で製作する時は不必要。CN1:ISP-SIP7Pinコネクタも必要ない。


 回路の変更は以下の通り。

(1)可変抵抗器(VR)の接続変更。
オートパワーオフ(Auto Sleep )機能を追加したので、Sleep中はVRに電流が流れ続けないように対策しないと勿体ない。このため、VRのホットエンドを電源ライン(Vcc)からではなく、ポートPA2(Pin.18)から取るようにした。
 ポートの出力インピーダンスは低いから、High(=1)を出力するれば軽負荷において電源電圧近くまで振れる。従って、機能的には前と同じにできる。 Sleep状態に入ったらポート出力をOFFしてしまえば、VRに電流は行かないから無駄に電池を消費しなくなる。

(2)オートパワーオフ(Auto Sleep)の有り/無し選択を追加。
オートパワーオフの入り切り機能が付いている。
 オートパワーオフは電池電源のエレキーには必要な機能だが機器組込み用なら無闇にオートパワーオフしない方が良い。 消費電流は静止状態で4mAほどなので組込み用にはオートパワーオフはたぶん必要ない。
 ポートPA7(Pin.11)をGNDに接続しLowレベルに保てばオートパワーオフ機能はナシにできる。 逆にポートPA7(Pin.11)をオープン(=無接続)状態にすればオートパワーオフ機能付きになる。ピン(Pin.11)は内部でPull-UPしてある。

 この機能はわざわざスイッチを設ける必要はなくてどちらにするか決めて作れば良い。或は基板上にジャンパー・ピンでも設けておけば十分だろう。
☆☆ 約5分間パドルの操作をしないとSleep状態になって電池を節約する。Sleep状態からは、パドルの長点(Dash)で抜け出せる。

 Sleep状態とは言っても電源電流は完全なゼロではなく、僅かに漏れるので電源SWは省略すべきでない。 オートパワーオフ機能は電源SWの切り忘れ対策用である。 切り忘れても電池はずいぶん長く持つとは思うが、使わない時にはスイッチのオフを。


               ☆ ☆ ☆ ☆ ☆


ATtiny861A
 AVR Keyerの開発はATtiny26Lで行なった。 これは手持ちがあったからだ。 以前はATtiny26LもポピュラーなAVRマイコンの一つだった。 しかしメーカーが生産をやめてから秋月電子通商では販売されなくなった。 旧型が不良在庫になっても困るからだろう。


 AVRマイコンのメーカー:ATMEL社によれば、代替品はATtiny261A、ATtiny461A、ATtiny861Aだという。 機能追加された部分を除けばピン配置を含めて上位コンパチ品のようだ。 ただし、あくまでも新チップなのでまったく同じプログラムがそのまま動く訳ではない。

 秋月電子通商ではこのシリーズのうち、メモリー容量の大きなATtiny861A(プログラム用Flashメモリは8kB)だけを扱っている。 2011年2月現在の単価は¥200-で数量割引が無いのは残念だ。皆が使うようになれば安くなる可能性もあるだろう。
 今は大丈夫でも旧型になりつつあるATtiny26Lはいずれ入手できなくなる。 このATtiny861Aで「乗換え」の確認をしておくことにした。

エレキーのようにHAMシャックの基本的な装備品は長い期間作れるようにしておきたいものである。
ATtiny861A Electric Keyer
 乗換えにあたりソースプログラムの再コンパイルは必要である。 もちろん、その前にBASCOM-AVRの初期設定を変更しChip定義ファイルはattiny861.datを選んでおく。クロックも1MHz(=1000000)であることを確認しておく。 ヒューズビットの操作は必要ない。

 それさえしておけば同じソースプログラムで同じように動くことが確認できた。 流石にBASCOM-AVR、このあたりが高級言語コンパイラの威力である。(笑)
 再コンパイルで出来上がるオブジェクト(実際に書込まれる機械語プログラム)は異なるので、前のATtiny26L用HEXファイルは通用しない。 従って、HEXファイルから作るなら、以下のリンクから861A用を別途ダウンロードする必要がある。

 プログラムは同じくHEXファイルで供給するが、同様にクラウド・スペースに保管する方法にしたので、以下のリンクから直接ファイルをダウンロードできる。 このファイルは専ら作った人自身が使う趣味の製作用である。それ以外の目的で利用したいなら連絡と承認が必要だ。

Tiny861A_Keyer_V320.hexのダウンロードは==>こちらから。

Piezo Speaker】圧電スピーカ(圧電発音体)

 回路図の記号を見たOMさんから『クリスタルスピーカは入手できないが・・・』と言うメールを頂いた。 回路記号は同じだが『圧電スピーカ』のことである。 スピーカーとは言ってもブザーやアラームのような「発音」専用だ。 音声や音楽の再生にはまったく不適当だ。(スピーカとは言わず「圧電サウンダ」とも言うくらいなので) しかし、エレキーのサイドトーンモニタくらいには十分使える。

 写真は秋月電子通商で購入したもの。 右下の音圧周波数特性図のように鋭いピークが並ぶ「ひどい」特性なのでクセのある音がする。 こんな特性だが、マイコンのポートから矩形波でドライブするにはむしろ好都合なようだ。 正弦波では共振周波数にぴったり合わせないと音が小さい。 しかし高調波をタップリ含む矩形波なら、周波数はアバウトでもそれなりに音が出てくれる。何らかの音が出れば済む用途には便利だと思う。

 マイコンで音を出すには便利だと思い数個購入しておいた。写真はφ22mmの比較的大きなもの。村田製作所製のマークがあって、これは@50円だった。 書いてないが、Made in Japanではないだろう。

hidspx-GUI】ATtiny861Aを扱う。

 あたらしいチップのように思ったのだが開発されたのはしばらく前らしい。 秋月電子通商で扱うようになるまでポピュラーではなかったと思う。 『手に入らないチップ=絵に描いた餅』だった訳だ。

 それで書込みツールの対応状況を心配をしたが問題は無かった。 もちろん、BASCOM-AVRのGUI環境からUSBaspなどのUSBライタを使って書込んでも良い。

 さきほどダウンロードした.hexファイルをこの画面から書込んでやる。 なお、この例ではHIDaspxライタが接続してある。 このエレキー製作ではヒューズビットの操作は不要なのでプログラムだけ書込めばオシマイだ。

AVR Electric Keyer Ver.3.1.1】低電源電圧用

 この回路はATtiny861A向きだ。 ATtiny26Lでも動作するが,その場合は乾電池を3本にして4.5Vで使うのが良い。 ATtiny861Aは電源電圧1.5Vまで働くので乾電池は2本で行ける。 但し、Photo-MOS Relayのドライブには電圧が低くなり過ぎるので旨くない。

 この回路は最近のリグ向きと割り切ってしまい、トランジスタでキーイングすることにした。 なるべく低い電圧まで動作し消費電流も少なくなるようにHfeが特別大きな、俗に言う「スーパーβトランジスタ」を使っている。(Vbeが大きくなるので低電圧回路にダーリントン接続は不向きだ)
 2SC3112の入手は容易だがメーカのサイトによれば新規採用非推奨品になっている。2SC3112と2SC3113はパッケージ違いの同等品なのでどちらでも良い。Hfeランク「B」を使った。 2SC1815ならBLランクで代用できるがわざわざ購入するほどのものではない。R7を4.7kΩくらいにしてやれば2SC1815GRで済むし、前と同じようにデジトラでも良いと思う。

 なお、回路図の青線で示した配線はプログラムの書込み用なので頒布品で製作する時は不必要。CN1:ISP-SIP7Pinコネクタも必要ない。

AVR Electric Keyer Ver.3.2.1】標準回路

 この回路はATtiny26LとATtiny861Aのどちらでも快適に動作する。乾電池を3本にして4.5Vで使っている。 ATtiny861Aは電源電圧1.5Vまで働くが、Photo-MOS Relayのドライブには電圧が(結局はLEDの電流が)必要なので、1.5Vまで下がっては旨くない。電源電圧は2.7Vくらいを下限と考えた設計だ。(一般に、乾電池の終止電圧は0.9V/Cellとして機器設計する)

 機器組込み用なら最初の簡略な回路でも良いが、こちらは独立した筐体に組立てる本格的な「エレクトリック・キーヤー」を作りたい時に適当だろう。 使っているPhoto-MOS Relayやサージアブソーバーなど詳細については、前のBlogに詳しいのでそちらの参照を。

 同じく、回路図の青線で示した配線はプログラムの書込み用なので頒布品で製作する時は不必要。CN1:ISP-SIP7Pinコネクタも必要ない。

AVRエレキー頒布について

 自分で書込むのが面倒なお方に、書込み済みAVRマイコンを用意している。 頒布は、前のBlog(←リンク)と同じ要領で行なうので、ご希望ならそちらの参照を。
 機能は互換性があるので今後すべてSleep機能付きになる。 まずはATtiny26Lで頒布を再開するが手持ちが無くなればいずれATtiny861Aに移行するつもり。
 今のところATtiny861Aは移行確認用しか手持ちにない。tiny861Aを希望するお方には都合をつけるが、すぐに無くなるのでその時は暫くお待ち頂くことになると思う。

 繰り返しになるが、頒布はATtiny26L-8PU(プログラムはVer.3)+20pin ICソケット+Photo-MOS Relay(Panasonic製:AQV224N)がセットだ。 他の部品は手持ちがありそうだし秋葉原や通販で入手容易なものばかりだ。なお、AQV224Nは手持ちがあるうち含めるが、無くなったら自己調達を。HSR312と概ねおなじだ。

ATtiny26L-8PUが無くなったら自動的にATtiny861A-PUの頒布に移行する。 Blog公開から時間が経過していても部品が続く限りいつまででも供給するので、欲しくなったらメールで問い合わせを。(写真は頒布準備が進むAVRキーヤーチップセット.2011.2.13)



               ☆ ☆ ☆ ☆ ☆


参考までに、ATtiny861Aを使ったエレキーの静止状態に於ける消費電流を示す。

測定日:2011.02.03  室温:20℃

電源電圧(V)    電流(mA)
5.0V        3.55mA
4.5         2.70
4.0        2.20
3.5         1.85
3.0        1.51
2.5        1.24
2.0        1.00
1.5        0.76

静止状態における回路電流でキーイングで増加する。

動作下限電圧は約1.4vであった。ATtiny861Aはずいぶん低い電圧まで動く。
参考:ATtiny26Lは、規格表の下限電源電圧は2.7Vであるが、おおよそ2.5Vくらいまで働く。 このエレキーに於いて消費電流は上記のATtiny861Aとあまり違わない感じ。


               ☆ ☆ ☆ ☆ ☆


AVR Keyer 製作後記

 PICマイコンを利用したエレキーはたくさん登場している。たとえば愛称:TiCKやPK-2等を試したこともあった。AVRマイコンで作る人は少ない感じだが皆無ではない。
 少し前に『パドルを買ったのでエレキーチップが欲しい』という会話があった。たしかPICを使ったものなら沢山あった筈と答えて、上記を紹介したのだが・・・米国からこれだけを買うのも面倒そうだった。

 JN3XBY岩永さんがAVRで製作されていたのを思い出す。探したら丁寧な製作記が見つかった。前にも見たはずだが興味を覚えなかったのか半分忘れていた。 もっとコンパクトなチップが良いかもしれないが、20PinのATtiny26Lなら手持ちにあった。さっそくROMに書込んで実際にキーイングし、これなら行けそうだと感じた。

 そのままそっくりでは芸の無い話しなので、好みに従い少しチューニングしてみた。 それだけで満足な感じにできた。あとはオートスリープ機能でもあれば概ね完璧だろうと言う所で、結局それも実現できた。キーヤーとしてはこれでOKだろう。 昔、カーチス社から出ていた8044とか言うエレキーチップと同じようにはなってると思う。 もちろんマイコン式の可能性はより広くてウエイトの可変とかスピードメーター機能とか・・・考えれば際限もない。今はそう言う時代なのである。

 昨年のCQ Hamradio誌(2010年6月号)にエレキー基板が付録になったからか市販キットは絶滅危惧の状況だ。 それにPICにしろAVRマイコンにしてもプログラムが公開され、誰でも(?)簡単に(??)作れるとあっては、キット商売も旨く行かないだろう。無闇に高機能なエレキーも使いにくいだけで、シンプルで使い易ければそれ以上は要らない。そうなれば付加価値も付けずらいから「商売モノ」が減るのも道理だ。
 少し気の利いたリグにはエレキーが内蔵されている。独立したエレキーのニーズも少ないだろう。 それでもシンプルなQRP機や自作トランシーバにもエレキーは欲しい。 安価でコンパクトならリグ1台ごとに内蔵してしまうのも良かろう。そんな考えもよぎったので集中的に採り上げることにした。

 さて、ここまで来て思った。 マイコン式エレキーの製作は楽しいのだろうか? はっきり言って製作の面白味はあまりない。 RTLは論外としても、TTLやC-MOSロジックを並べた方が作り甲斐がある。 ただし楽しんで(苦労して?)配線しても、出来上がりの性能・機能は似たようなものだ。 結果だけが欲しい人にはマイコン式が向いているし、製作過程が楽しい人は真空管式でもディスクリート半導体式でもやって見るのが良い。こんなところが「趣味」の楽しみ方なのかもしれない。 な〜んにもしないでネットを徘徊するだけじゃ一番つまらんってこと。(笑) de JA9TTT/1

備考:手持ちのマイコンが無くなったので書込み済みチップの頒布は全て終了しています。
なお、HEX形式の書き込みデータのダウンロードは復活しておいたのでご自身で製作されたいならご利用されたし。ご質問などあればご連絡を。各キーヤのソース・ファイルのご要望にはお応えできません。あしからず。

(おわり)