12F675に書込みをしてみる

マイクロコントローラで何らかの事をするためには、マイクロコントローラ自体のプログラムメモリにプログラムの書込が必要である
PICの場合は様々な書込方法があるが、自分が良く使うのはPICKIT3ICSPからDIPソケットとの変換アダプタである

IMGP5639

(緑の基板がICSP-DIP変換アダプタ)

プログラムコードをアセンブルもしくはコンパイル後に、MPLABXの統合環境からそのまま書込が出来る
コードを書き込んだチップを目的の基板に挿して動作確認を行う事になる
12F675等の8pinチップの場合は、ISCPでポートを使用してしまうので、この方法による書込はリーズナブルと思う

IMGP5640

(8pinPIC用に作った、評価基板)

組込みソフトウェアは、プログラム作成→コンパイル(アセンブル)→目的チップへの書込のサイクルが確実に実施出来る環境を整える事が大切である

 

OCXOの校正 その2

先日OCXOの校正(較正)について記載したので、直近の精度について気になったので、測ってみたのであった

確認の方法は、前回記載した内容と同じで、2つのOCXOの周波数を比較する方法である

比較方法は以下の通りである

1. ユニバーサルカウンタの10MHz標準信号にOCXO(a)の出力を接続

2. ユニバーサルカウンタ(周波数カウンタ)の入力にOCXO(b)の出力を接続

3. OCXOとユニバーサルカウンタの電源を投入して2時間エージングする

4. 周波数を計測する

今回の計測結果は、10,000,000.0Hz(8桁、ゲートタイム10S)なので、OCXO2個の周波数差は0.01ppm以下である

当然、GPS基準などの絶対値からの比較では無いので絶対差では無いが、OCXO2個が同一方向方向の周波数ズレが生じている確率は低いので、予想値として0.1ppmの範囲には入っていると考えている

しかし、いずれはGPSの10MHz基準発振器が欲しいと思う

(下記のユニバーサルカウンタは ADVANTEST TR5823)

IMGP5629

ちなみに下記の写真は、私が使用しているTOYOCOM TC0-612L OCXOである

発信周波数の較正(校正)は、端子に取付た多回転半固定抵抗で行う

当然のことであるが、この調整はGPS基準信号などの絶対精度が高い基準信号との比較で実施することは言うまでも無い

IMGP5630

下記の写真は、ユニバーサルカウンタ標準内蔵のTCXO標準周波数で、上記のOCXOを測定したものである

10MHz周波数で、+0.4Hzの測定となっている

IMGP5636

OCXO記事..

DRAKE R-4A

米国ドレーク社のR-4Aである

IMGP5626

この受信機は3年前に入手して、現在メインの受信機として使用している

製造時期は1967年頃であろうか? (詳しい方、詳細をお教え頂ければ幸いです)

特筆なのは、2rdIFが50KHzであり、そこにLCで組まれたフィルターが400Hz,1.2KHz,2.4KHz,4.8KHzが選択出来ることである

水晶でのフィルターではなく、LC回路で実現しているところが、当時の凄い技術と思う

内蔵スピーカは無く、外部スピーカに接続して使用するのであるが、16センチ位のスピーカを接続すると、受信音は非常に良いのである

受信音が良いと明瞭度が上がる、他の機械では聞き取りにくい音声でも、R-4Aだと聞き取れたりする

それに長く聴いていても疲れないのである

 

R-4シリーズは、R-4,R-4A,R-4B,R-4Cと大きく4機種存在する

どの機種も良い機械であると思うが、最新のR-4Cは水晶フィルターに変更となっている

VFOの範囲は500KHzで、標準で3.5MHz~4.0MHz,7.0MHz~7.5MHz,

14MHz~14.5MHz,21MHz~21.5MHz,28.5MHz~30MHz

のバンドが受信可能である

この機械は、3.5MHzや7MHzなどのローバンドをゆっくりと聴くにはとても良い機械である

続きはこちら

7.195MHz専用受信機

以前、私の大先輩である矢花氏から、セラミックフィルター(muRata CFL455H)を頂戴した
このフィルターはとても良いスカート特性なので、これを使って受信機を作ってみたら
とご進言を頂き、暫く経ってから検討を開始した
大先輩の矢花氏は真空管使いの大権威であるが、私はヒヨッコなので安易にICで構成を考えてみた
SANYOのLA-1600とTOSHIBA TA7368を使えば簡単に出来そうなので、2個のICで7.195MHzのAM専用機と言うことで、設計を開始した。

IMG00248

(作成してみた7.195MHz AM専用受信機の基板)

局発は7.195MHzに455KHzを足した7.650MHzの水晶発振子とし、前段同調は10Kボビンに7.2MHzで同調点とするコイルを巻いたものである
この辺までは順調だったのであるが、どうしてかIF出力が出てこない...
LA-1600のデータシートとずっと睨メッコをするが、やっぱりダメである

で、比較用のLA-1600評価回路があれば確認は楽なのであるが、家の中にそんなものは転がっている訳が無い
ではと言うことで、データシートに掲載されているものに近い、中波ラジオを別に組んでみる事にした

IMG00252

(LA-1600 評価ラジオ)

取敢えず組んで電源を入れると音は出る、局発周波数を測定するとほぼ正しい周波数である
単一調整を済ませると当然ラジオとして動作するのであった
(ラジオを作るなんて何10年ぶりだろうか)

で、動作中のLA-1600について各PINの状態を調べる
あっ.... AGCが すぐに気づきがあった
6PINのAGC端子の使い方に、思わぬ勘違いがあったのである、やっぱりこの辺は経験値がモノを言うのであろう、私はまたまた経験不足である。

7,195MHz単波受信機のAGC回路を修正して、テスト信号を入れてみると動作OKである
単波受信機は同調点は1点のみであり、局発は水晶発振子、中間波は6KHz帯域セラミックフィルタを入れているので、調整はとても簡単である。

昔のパソコン用スピーカケースに入れて、制作終了である
非常に簡単な構成であるが、感度も違和感は無く、選択度AM受信機として十分に使える
いずれにせよ、制作する時は使うデバイスについて十分な評価が必要である事を再認識した

IMG00250

(ケースに入れた、7.195MHz専用受信機)

FT-101E その2 OptionのYC-601

YC-601B

YC-601B

かのFT-101シリーズ用の周波数カウンタ(周波数表示装置)である
(表示桁数は6桁で、1.5MHz~29.9999MHzまで100Hz単位で表示が可能)
YC-601Bは親機(FT-101)のVFO出力の周波数を計測して、各バンド毎にMHz帯の2桁表示をバンドSWで選択することで、オフセット周波数を見かけ上の演算を行い表示する
FT-101内蔵VFOの発振周波数は9.2MHz~8.7MHzの500KHzでありこの周波数を計測する
(注:ノイズ対策ため内部で13.5MHzor14.0MHzに変換して計測している)
YC-601Bの右側のバンドSWでMHz帯の2桁を選択して直読周波数としている

これを通常の周波数カウンタで表示するためには、オフセットの演算が必要である
7.1MHzの表示については以下の計算となる
VFOの発振周波数 9.1MHz
オフセットベースの周波数 16.2MHz
表示周波数=16.2MHz – 9.1MHz = 7.1MHz

往年の銘器であるFT-101も周波数が直読出来れば、現代でも活躍の場は拡がりそうではある
たまにYC-601がオークションに出品されているが、コレクションアイテム価格なのは残念である

 

PICのソフトウェア開発環境

PICのソフトウェア開発環境は、Microchip社から無料で提供されている
MPLABXを使用するのが一般的かと思う

MPLABX
この開発環境は、エディターからアセンブラ・リンカ・シュミレータ(デバッガ)を含んだ統合環境である。
特に、素晴らしいと感じるのはPICのシュミレータである
このシュミレータは、PIC自体が無くても、PICのプラグラムを走らせる事が出来る
PICの動作については、このシュミレータで検証する事ができる
また、このシュミレータはC言語やアセンプラで使用している、変数や各ラベルに対応しているので、デバッグも効率的であり、各IOピンの状態も画面でウォッチ出来る
只、開発環境自体の機能が豊富であるがゆえに、慣れるまで操作には戸惑う事があるかも知れない
これについては’習うより慣れろ’で操作を覚えるしかない

更にPICKIT3を使う事で、PIC自体へのプログラム書込と、回路に組み込んだ状態でのデバッグが可能となる
(回路に組み込んだ状態での、プログラム書込とデバッグについては、ISCPと呼ばれる回路での仕組みが必要)
PICKITについては数千円で入手出来るし、文献や情報も沢山あるので、PICでプログラミングを検討している方は入手すべきアイテムである

何らかのシステムに組込んで使用する、マイクロコントローラではデバッグが特に肝となる
場合によっては、回路そのものの動作チェックまで、マイクロコントローラでプログラムする可能性もある
目的のソフトを作成する前に、システムで使用する各要素のデバッグを完了させないと、少しコードサイズが大きくなって来ると、混乱してしまう事もある

マイクロコントローラを選定する要素としてデバッグの効率性は重要なポイントである
それなり投資が出来る人(会社)は、ICE(in-circuit emulator)の利用やメーカサポートが重要であるが
少額で、評価や開発を行いたい人には、MPLABXは魅力的である

FT-101E その1

FT-101E

アマチュア無線機ではメジャーな機種である

写真の機械は1977年頃の製造だと思われるが、40年経った今でも動作しているは立派である

モード切替やバンド切替のロータリSWの多少のガリについては、40年以上前の工業製品であり、致し方無いと思う

この頃の無線機で送信する場合は、バンド毎にチューニングが必要であり、現在のボタン一発の機械からすると面倒である

ヒータSWを入れて、アンテナをダミーロードに切り替え、所定の調整作業を行う

送信管のIPを確認しながら、PreSelecter,PLATE,LOADを最良値に追い込む

なんとも、アナログな儀式ではあるが、その儀式の意味はとても大切な事であった

それらの意味を現在で噛みしめながら儀式を行う事も、今となっては贅沢な遊びなのかもしれない。

偶々の個体かもしれないが、このFT-101EのVFOは比較的安定している 電源投入後30分以降の周波数変動は数Hz/h程度の安定度である

これも当時の凄い技術だと思う。

10Hz単位のアナログダイアルでの運用は、やっぱり最新の機械で周波数直読が便利ではあるが、昔のVFO操作感も触って楽しいものである

IMG00160

 

OCXOの校正 その1

恒温槽の中に、発振回路を入れて外部温度での発振周波数の変動を少なくしたものである
精度は一般的に0.1ppm以上

私は周波数を計測する時は、周波数カウンタの基準信号と基準信号の確認用として2個のOCXOを用いている
(GPSの10MHz基準信号で0.01ppm以下に2つのOCXOを較正(校正)したもの)

一つは周波数カウンタの基準信号に入力し、もう一つをその基準信号で計測するのである
計測した値で、0.1Hz以下の差であれば、一旦その周波数基準は正しいと判断して
その基準信号信号を用いて計測した結果は、概ね0.1ppm以下の精度で計測されていると思う

本来であれば、GPSでの基準信号か、ルビジューム等の基準信号が望ましい
これらであれば精度は0.0001ppm以上を確保出来る、その内GPSの基準信号を入手したいと思う

10MHzで+1ppmズレがあれば+10Hzであり、100MHzで+1ppmズレがあれば+100Hzである、1GHzで+1ppmズレがあれば+1KHzである
従って1GHz付近の周波数計測では、10Hz単位の計測でも0.01ppmの精度が要求されるため、基準信号の精度は非常に大切である

なお、OCXOはその構造上、常に通電している事が望ましい
私は経済的な理由で常に通電は出来ないため、OCXOを用いる時には2時間以上の通電してから利用している

IMG00292

(写真は5MHzのOCXOを逓倍して10MHzとして使用しているもの)

続きはこちら..

 

 

 

懐かしのグリットデップメータ 

primitive

原始的と言う意味らしい

現役のプログラマだった頃は、一般的なアルゴリズムとかコードの事を指してこの言葉を使った覚えがあるのであった

さて、写真は私が現在現役で使っている、便利なツールである’グリットディップメータ’である

これを使うと何が便利かと言うと、LCの共振回路の周波数がわかるのである(他にも色々と使い方はあるが..)

‘グリットディップメータ’は発振器であり、発振のL(コイルの事です)を差替える事で広い周波数帯(この機械は1.5MHz~150MHz)に対応する

発振のC分(コンデンサの事です)は内蔵のバリコンで容量を変化し周波数を調整し、バリコンにはダイアルが取り付けられて、発振している周波数が読み取れる

メータは、DIP点といわれる被測定物の共振回路が共振点の確認に用いる(被測定物の共振点に近づくとメータ指示がピクっと下がる)

デップ点を測る

現在ではLC共振回路の設計はGHz帯域がメインとなり、その設計検証についてはネットワークアナライザ等が使用されて精密な測定がされているため、仕事で使っている人は少ないと思われる。

50MHz帯以下のちょっとした実験にはディップメータは大変便利である。

共振回路で遊んでみたい方は、是非探してみて頂きたい

HAM BAND DIP METER つづき

 

 

 

 

時代の変化

 

その昔、何らかの処理をコンピュータで動かすには、大変な作業が必要であった

CPUからのアドレスバスにデコーダを繋ぎ、指定したアドレスにラッチ回路を入れ

それらのハードウェアをデバッグしつつ、ソフトウェアを書いて行くって感じで、CPUを含んだ基板を設計するだけでも、手間がかかったのである

現在であれば、PICに代表されるマイクロコントローラがあれば、簡単に実現出来る

それもクロック精度が重要でなければ、クロックは発振器が内蔵され、プログラムを流して電源を投入するだけで動作してしまう

テクノロジーの恩恵は享受しなければ損である、仕事であれ趣味であれ、やりたい事が低コストで実現出来るのであれば、色々とチャレンジしてみたい

p1

(この写真は8pin 12F675 古めのチップであるが 1024Wordのプログラムエリアで64Byteのメモリ、4CHのA/D変換器と2つのタイマーを持つ)