2016年9月25日日曜日

ラジオの製作(5_1) LA1600 による7MHzSSBラジオ (構想とBFOユニット製作)

 先回は「ラジオの製作(4) LA1600 によるAMラジオ」でした。
 これは今もって名品の呼び声高い、「サンヨー製のAM チューナ用 モノリシックリニア集積回路 LA1600」(左写真)を使用したものです。


 今回はアマチュア無線7MHz帯のSSB波が受信可能なラジオを製作してみたいと思います。
 このICはAM帯のみならず短波帯(~30MHz)まで使用できるようでこのような短波帯ラジオの作例がネットで多く見られます。

 これらの中で特に優れモノということでよく知られているものにアイテック電子研究所SR7という型番のキットがありましたが、ネット上の情報も多くあり、製作にあたってお手本にさせていただきました。また、トランジスタ技術誌2014・8月号の特集「ラジオ製作の素」もおおいに参考になりました。



 さていろいろ検討した結果、右図に示すような構成にすることにしました。

 もちろんLA1600が主体になることは当然ですが、入力部にBPF(バンド・パス・フィルター)と2SK241による高周波増幅をつけ、LA1600には無い低周波増幅には定番のLM386をつかいスピーカーを鳴らします。
 またスーパーヘテロダイン方式に必須の局部発振には以前このブログで紹介した、DDS方式としましょう。


 今回の肝はTTTさんによる、セラミック発振子を5個つかった世羅多フィルターと呼ばれる中間周波フィルターの製作です。(次回のブログにて、、、、)

 BFO回路は変更しました。(次回ブログ参照)
 さらにSSB波を受信する際に必要なBFO(うなり発振器)は少し工夫が必要そうです。というのは455kHzのセラミック発振子をつかった世羅多フィルターは中心周波数が10kHz以上下がり、BFOではさらに低い周波数で発振させる必要があるからです。(予備実験では442.5kHZ)

 使用した回路はポピュラーな、FETによるクラップ発振回路でセラミック発振子にインダクタを直列に入れて強引に発振周波数を下げています。(上図)2SK19はたまたまの手持ちで意味はありません、同類なら何でもOKです。

 右写真はブレッド・ボード上で上記BFO回路を実験している様子です。

 この回路に使用するインダクタには当初AM用IFTを使っていましたが、最近秋月で可変インダクタなるものが新製品として紹介されていましたので早速使ってみました。写真左が全体、右が分解したものです。

 7mm角と小さいのですが、一寸気をつければ容易に分解可能です。足ピンは通常のIFTと同じく5本出ていますが、コイルは1-3に接続されています。インダクタンス値は黒(100uH)、赤(200uH)、黄(500uH)の3種類あり2次コイルはありません。

 右写真は上図中のT1用に2次コイルを巻いているところです、但し既存コイルの上から、、、、もし必要ならばすべて巻きほぐしてから新たに巻いてもよいと思います。AM用IFTが品不足で高騰している折、200kHz~2MHzのこの可変インダクタが@¥50は使えそうです。

 結果、上写真は出力波形を観察してみたもので、まずまずのものができました、、、、といえば簡単なのでしょうが、回路図中の定数はカット・アンド・トライの結果です、そこそこ苦労しました。

 ということで、右写真のようにユニットとして組み上げて見ました、まずは幸先よし、、、、

 BFO回路は変更しました。(次回ブログ参照)

2016年9月12日月曜日

いまさら windows XP のインストール

 パーソナル・コンピュータのOSである windows XP に対して 2014 年 4 月 9 日をもってサポート終了のアナウンスがなされてから既に2年半経過しますがこの7月の統計ではまだまだ使われているようです。(シェア10%で第3位)

 我家のパソコンもほとんどが win 7 次いで win 10 となっており、win XP はあるにはあるのですがほとんど使っていません。

 このところ電子工作のラジオ製作で APB-1 という、同好の士なら知る人ぞ知るアマチュア向けの測定器(簡易スペアナ、ネットアナなどとして使える)を使う必要があったのですが、 win 7 とは COM port との相性が悪いのか非常に不安定でうまく使えず、使い勝手の良いラップトップ(このブログでも取り上げた Let's note )に win XP をクリーン・インストールして使おうと思い立ったのです。

 早速 Let's note の BIOS を立ち上げ Boot 順序(読み込み優先順序)のトップにUSB CDdrive をセットし、win XP SP-2 のシステムディスクを起動しました。

 ところが中途で右のような画面(いわゆるブルー・スクリーン)となってしまいました。
 エラーコード0x0000007Bが発生する理由は、「 SATA タイプのハード・ディスク用 AHCIドライバが導入されていないことによる可能性があります。

 考えてみれば win XP の時代には IDE タイプのハード・ディスクがほとんどで、今回の Let's note には SATA タイプのハード・ディスクを使うようになっていたのです。

 ということで win XP インストールの途中で「 AHCIドライバ」を導入するために左写真にある、昔懐かしいフロッピーディスクドライブ( USBタイプ)を持ち出しました。ドライバーソフトは予めネットよりダウンロードして右に見えるフロッピーディスクに書き込んであります。(BIOS の Boot 順序に USB_FDD も入れる)

  win XP インストールの途中でディスプレイ画面の下に




   と表示されますので、この機会を逃さず F6 キーを押し、後は指示に従ってインストールを終了します。 (このことからこのエラーのことを「F6問題」とも呼ばれます) 

 ようやくにしてかつて見慣れた壁紙が現れました。
 この壁紙の「草原」(英語名「Bliss」)は、カリフォルニア州にある「ソノマバレー」という場所で実写された、実在する風景だそうです。

 そもそもサポート切れのOSを使うことはウイルス問題もあり、望ましいことではありませんが、古いOSでしか使えないソフトもあることなので、使う場合はスタンド・アローンでインターネットにも接続せず、USBメモリでのデータ受け渡しにも留意するように言われています。


 そうは言ってもやはりウイルス対策用にソフトを入れる必要があります。
 例によってネットからフリーのソフトをダウンロードして使うのですが、なんとサポート切れの win XP に使えるものがほとんどありません!!

 やっと「AVG アンチウイルス 無料版」が win XP に対応しているとのことで助かりました、このソフトは以前使ったことがあります。(左上は AVG のロゴです)

 さらにインターネット・ブラウザ・ソフトも同様で、お気に入りの「 Google Chrome 」が使えず、比較的評判の良い「 Firefox 」をインストールしました。

 その他、エディターなど必要最小限のソフトを入れ、最後に Let's note のサポート・ホームから win XP 用のドライバーをダウンロードし、手直しをして出来上がりです。

 立ち上がりのディスプレイ画面を冒頭に示しました。

 左写真は接続すべき APB-1 で、数年前にキットを購入して米粒のような表面実装部品のハンダ付けに奮闘し、ケースも加工してようやくにして動かした懐かしい思い出があります。

 さっそく手元にあった水晶発振子の周波数特性を測定してみましたが、適当につないだだけにしてはうまくデータが採れています。
 右はディスプレイをキャプチャーしたものです。

 さらにデータを読み出し、改めて「エクセル」にてグラフを描画したものを下に掲げます。




 小型軽量のラップトップ Let's note を APB-1 の専用機として使うことで電子工作もさらに進むことと思われます。



 それにしても今回は時の流れを古いパソコンOSを通してあらためて認識させられました。

2016年9月6日火曜日

arduinoでRTC(リアル・タイム・クロック)モジュールを使う

 RTC(リアル・タイム・クロック)モジュールとはコンピュータなどに内蔵されている時計のことで、本体の電源が切れても自身バックアップ用の電源を持っていて絶えず時を刻み、コンピュータからの呼び出しに応じていつでも現時刻を返す働きをする、左写真のような部品です。

 arduino でいろいろ試しているときに RTCモジュールも、、、、とおもっていましたがなぜかそのままになっていました。

 今回トライしたのは DS1307 という RTC 専用のICです。このチップは少し古いですが幅広く使われており基本を学ぶには恰好だとおもいます。

 当初は部品を集めてモジュールを作るつもりで入手した左写真の鉛筆の上にある DS1307 が1個\250でした。

 これに対し、上に示したモジュール(表と裏)は時計専用の32.768kHz 水晶振動子(クリスタル)に加え、データ保管用の EEPROM 24C32 や裏面にバックアップ用電池のホルダーまでも搭載して\100を少し越えただけとは、これも恐るべし中華パワー、、、、で、即採用。

 回路図を示します。
 回路図中に書いてあるように、安価な非充電型のLi電池 CR2032 を使う場合は充電回路を取り外して、単に電池を DS1307 の3ピンに接続するように改造します。

 左写真がbefore 右写真が after です。
 
 左写真にある黄色の線で囲まれたチップ部品(ダイオード1個と抵抗3個)を取り外し、抵抗R6のあったところをジャンパー線でショートすれば出来上がりです。

 非充電型のLi電池 CR2032 でも2~3年は持つのでこれで充分です。

 RTC(リアル・タイム・クロック)モジュールと arduino との接続は右図のように4本のみです。

 VCC(+5V) と GND は当然のこととして、arduino ( ATMega328 )の A5 とモジュールの SCL  、arduino の A4 とモジュールの SDA の接続は I2C (アイ・スクエア・シーインターフェースを形成し、この2線で信号のやり取りをするのです。 

 arduino による「 I2C を使っての RTCモジュール制御」については NETで公開された arduino libraly が多くあり参考になります。

 私は RTClib という libraly を使ってみました。
 左は libraly ファイルのサンプルにあったスケッチです。
 このスケッチを走らせることで時刻データ(年、月、日、時、分、秒)を RTC(リアル・タイム・クロック)モジュールから読み取ってコンピュータへ一秒間隔で表示させることができました。














 このようにして時刻データを取得することで他のアプリケーションと組み合わせ、定刻にブザーを鳴らしたり、一定時間ごとの温度を計測したりするときに役立つのです。

 この RTC モジュールで少々厄介なのは時刻設定です。上のスケッチでは中ほどに 
     RTC.adjust(DateTime(__DATE__, __TIME__));
とありますが、このスケッチをコンパイルしたときの時刻が初期設定値として使われてしまいますので、実際に動かしたときにはどうしても遅れが生じてしまいます。

 このことを避けるため、手動で現時刻をセットするための libraly もありますので( timeset など)試してみるとよいかとおもいます。