2015年05月17日

ISPでArduinoを楽しむ W

OLED&ENC.JPG

 WeekDayは、なかなか時間もとれず、注文していた中華製Arduinoの基板もやっと受け取れました。
送ってきた基板は、写真のように1個ずつ静電袋に入れられておりしっかりした梱包でした。注文先はみな違ったのですが、どこも同じような感じです。

写真.JPG

 それぞれの中身の写真も撮ってみました。

UNO.jpg.JPG
UNO
nano.jpg.JPG
nano
mini.jpg.JPG
Pro mini
min2.jpg.JPG
Pro miniは書き込みにUSB-232C変換ボードが必要

 Arduinoでのプログラムは、以前にBASCOM−AVRで作っていたロ−タリーエンコーダーの4倍カウントを移植してみました。書式は、C方式に書き換えましたが、プログラムそのものはそのままで難なく動きました。
 ロータリーエンコーダーも中華製の400パルスのものに変更しましたが、さすがに4倍速(1600パルス)だと1mSのタイマー割り込みでは取りこぼしが多く、100uS割り込みに変更し、うまく動いています。



 表示デバイスも20*2のOLEDのI2C制御を試してみました。こちらも難なくうまく動いています。
 今回の実験で、多くの方々が作られたArduinoのソフトウェア資産を活用させていただければ、新しい周辺デバイスへの対応が簡単に行えることがわかりました。開発ソフトウェアは無料ですし、IPS対応のライターを持っていれば、Arduino専用ボードを買う必要もないし、なかなか良さそうです。
 ちなみに、今回仕入れた中華製Arduino専用ボードの価格を、中華製、aitendo、秋月、千石、マルツで比較してみました。中華製は注文して10日間ほど掛かるのと、リスクがゼロではありませんが結果は、ローカルのOMさんの言われるとおり、中華製の圧倒的パフォーマンスです。当局の場合、これまでそこそこの種類のものを購入しましたが、届かないとか、故障していたことはありませんでした。

Arduino価格比較.jpg

 なお、この比較は、国内販売されている店舗さんを否定しているわけではありませんし、中華製を買いなさいと言っているわけではありませんので念のため!
 当局も、いずれのお店も頻繁に利用させていただいております。
posted by jn3xby at 17:27| Comment(2) | TrackBack(0) | AVR&Arduino

2015年05月06日

ISPでArduinoを楽しむ!V

DSC01125.jpg

普通なら、Arduinoの専用ボードを入手して色々遊んでから、ISP書き込みになるのでしょうが、今回はISP書き込みができることを知って、それを確かめることからはじめました。
今回確認できたことは、Arduinoの沢山あるライブラリを活用するのに専用ボードは必要ないということです。
つまり、普通に売っているATMELのAVRマイコンである、ATmega168やATmega328をそのまま組み込みマイコンとして使用して、基板に乗せたままISPプログラムできるということです。
これまで、BASCOM-AVRで使用してきたプログラムライターである、USBaspやAVRISP、AVRISPmkU等があれば、今までのBASCOM-AVRと同じようにプログラムを書き込むことができるのです。
勿論、ソフトウェアはBASICではなくCをベースにしたものになりますが、ArduinoIDEという開発ソフトは素人にもとっつきやすくできています。そして、驚きは、大概の制御ライブラリはネット上にあふれダウンロードして使うことができます。
当局は、Cが苦手でこれまで実用ソフトを作ったことがありませんでしたが、実質1日でロータリーエンコーダーで回転パルスを入力し、DDSの周波数を可変して、その周波数をLCDに表示するというところまでを作ることができました。
これは、DDS制御や、LCDの制御のライブラリがあったからです。DDSの制御は殆ど4行くらいのプログラムで、必要な周波数の10進数(たとえば7000000Hz)を代入するだけで出力が出てきます。これまでのBASICよりはるかに楽です。LCDも同様です。
更にすばらしいのは、最近流行のI2C制御のLCDの制御や、TFT液晶の制御ライブラリもあります。
DDSの次のオシレータとしてはやりつつある、シリコンラボ社のSi570やSi5351の制御ライブラリもあります。
Si5351は8KHzから150MHzまで3つの独立した周波数の出力を出すことができるICです。しかし、レジスタは100以上もあり、その設定や、周波数の計算は複雑なのですが、ライブラリを使えばいとも簡単に出力を出すことができました。このICは機能が多く使いこなすにはそれなりに勉強が必要ですが、とりあえずVFOとしてDDSの代わりに使う程度なら出来上がってしまいました。

DSC01112.jpg
Si5351ボード
DSC01111.jpg
先日のDDSの変わりにSi5351ボードを駆動したブレッドボード

後先が、逆になってしまったのですが、専用ボードも欲しくなり先週のQRP懇親会で秋葉原に行った時、aitendoのびんぼうでいいのという500円の基板と250円の部品セットと380円の書き込み済マイコンを買ってきました。

DSC01120.jpg

ついでに、999円のカラーTFT液晶も買ってきました。
それを組み立て、サンプルソフトを動かしたのが最初の写真です。一部、表示を書き換えてあります。どこをどう書き換えればどのように表示されるのかは、実際にやってみれば簡単にわかりました。



ポート数は食いますが、自作のTRXでカラーのドットマトリクス表示ができそうです。
自作の楽しみもまた増えるのではないかと期待しています。
ということで、何も目的を決めていなかったのですが突然思いつきで始めた今年のGWの実験は終わりになりました。また、あすから本業に戻ります。

posted by jn3xby at 22:18| Comment(2) | TrackBack(0) | AVR&Arduino

2015年05月02日

ISPでArduinoを楽しむ! U

連休で時間があると一気に進みます。
とりあえず、LCD表示、タイマー割り込みによるロータリーエンコーダーのカウント取り込み、中華製DDS(AD9850)の制御による出力周波数可変まで出来上がりました。

DSC01108.jpg

プログラムの書式など、今までのBASICとは勝手が違い、書式エラーを沢山出しながらでしたが、なんとなく雰囲気がつかめて来ました。
LCD表示、タイマー割り込み、DDS(AD9850)については、サイト検索でライブラリーが見つかり、簡単に実現することができました。特に、DDSのライブラリは中華製DDSの基準クロック125MHzをベースに作ってあり、周波数データとして必要な周波数を10進数で記述するだけで(ex.7000000で7MHzとなる)簡単に出力することができます。途中の計算プログラムを考える必要がありません。

DSC01110.jpg

ローカルのOMさんが言われていた、ライブラリのコピペで簡単にできますよ!が、確かにそうだな〜と言った印象です。
ただ、ロータリーエンコーダーの取り込みのプログラムは自分で作りました。ライブラリは沢山見つかるのですが、殆どが外部割込みによるライブラリです。
当局の経験的には、外部割込みでエンコーダーを使用すると殆どの仕事が割り込み処理になってしまいほかの仕事に影響が出るのと、チャタリングの処理で結構苦労します。(ライブラリにはチャタの処理つきが多いですが)
これまでは、タイマー割り込みでうまく動いていたので今回もそれで作ってみました。割り込みは1mSとしていますが、1回転20パルス程度でしたらもっと遅くても問題は出ないと思います。ただ、今までは4倍速でカウントしていたのですが、今回は4倍速は実現できていません。もう少しソフトのコマンドを勉強しないとダメです。



ライブラリは別になりますが、今回のプログラムを参考のために記載しておきます。
(goto文を多用するなどCライクではありませんがあしからず)
これだけの記述で機能が実現できているよ!という参考程度にお願いします。

/*

The circuit:
* LCD RS pin to digital B0
* LCD Enable pin to digital B1
* LCD D4 pin to digital B2
* LCD D5 pin to digital B3
* LCD D6 pin to digital B4
* LCD D7 pin to digital B5
* LCD R/W pin to ground

*/

// include the library code:
#include
#include
#include

#define enc0 A4
#define enc1 A5

#define led0 A0
#define led1 A1

int enccnt = 0;
int encold = 0;
long fcnt = 7000000;
int intcnt = 0;


// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
EF_AD9850 AD9850(7, 6, 4, 5);// (CLK,F-UP,RST,Data)

void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);

pinMode(enc0,INPUT_PULLUP);
pinMode(enc1,INPUT_PULLUP);

pinMode(led0, OUTPUT);
pinMode(led1, OUTPUT);

MsTimer2::set(1, timer2int); // 1ms period
MsTimer2::start();

AD9850.init();
AD9850.reset();
AD9850.wr_serial(0x00, 1000000); //1000000Hz
// initialize serial communications at 115200 bps:
Serial.begin(115200);

}


void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 0);
lcd.print("JN3XBY/1");

lcd.setCursor(9, 0);
// print the number of seconds since reset:
//lcd.print(millis() / 500);
lcd.print("Arduino");

lcd.setCursor(0, 1);
lcd.print("FREQ=");

AD9850.wr_serial(0x00,fcnt);

// lcd.setCursor(0,1);
lcd. print(fcnt);
lcd. print("Hz");

}

//*** Timer2 INT Routine***************************
void timer2int() {

//*** Encoder Count Routine ***
if (digitalRead(enc0) == LOW) {goto ret;}
if (encold == 1) {goto ret1;}
encold = 1;
if (digitalRead(enc1) == HIGH) {fcnt = fcnt + 10;}
if (digitalRead(enc1) == LOW) {fcnt = fcnt -10;}
goto ret1;
ret:
encold = 0;
ret1:
//*******************************

//*** 100mS LED ON/OFF **********
intcnt = intcnt + 1;
if (intcnt < 100){goto ret2;}
static boolean output = HIGH;
digitalWrite(led1, output);
output = !output;
intcnt = 0;
ret2:
//*******************************
;
}
//************************************************
posted by jn3xby at 11:43| Comment(4) | TrackBack(0) | AVR&Arduino

2015年05月01日

ISPでArduinoを楽しむ!

今年も早いものでもう5月です。例年だと玄関先の鈴蘭が綺麗に咲いていたのですが、昨年から東京に移り住んでいるため鈴蘭がどうなっているのか知る由もありません。
この連休はとても穏やかで、むしろ暑いくらいです。
特にやることを決めていたわけでもなかったのですが、何気なくサイトで見つけていた専用ボードを使わなくてもArduinoを使う方法を試してみることにしました。

DSC01105.jpg

もともとArduinoは当局が愛用するAVRを使用しており気にはなっていたのですが、専用ボードとなっておりTRXとか組み込み用として使うにはボードのサイズとか使いにくいな〜とか思っていました。
また使用する言語もCライクな言語で当局にはなかなかなじめないものがありました。
これまではAVRとBASCOM-BASICでなんら不自由を感じていなかったこともあります。
しかし、最近ローカルのOMさんが使い始めておられ、色々を参考アプリが沢山あって便利で簡単だよ!と強力に勧められていました。
確かにWifiアプリやカメラアプリなど自分だけではこなせない難題アプリもあるので、一層気になっていたのも事実です。
そういう状況で見つけたのが、タイトルのように専用ボードではなく、AVRの単体チップにISPで直接書き込んでArduinoを動かそうというものです。
実際は、何も難しいことはなくて、手持ちのAVR(ATmega168や328)と手持ちのライターUSBaspに、ダウンロードしたArduinoIDEに、USBasp用のドライバを組み合わのせるだけで、従来のBASCOM-AVRでやっていた時と全く同じようにAVRチップを組み込み状態(ISP)でプログラムを書き込めるようになりました。

DSC01106.jpg
ALEXPRESSで買っていた200円程度のUSBaspライターとその改造版(どちらも使えた)

これで、何千円もする専用ボードを購入する必要もありませんし、コンパクトに機器を自作することができます。
ここに至る簡単な手順を備忘録として以下に記載しました。

1.ArduinoIDEのダウンロード
 下記サイトから、自分のPCのOSにあったものをダウンロードします。
 ページが開き、すでに100万以上ダウンロードされ更に開発を加速するために寄付をお願いされます。
 試用であれば、JUST DOWNLOADで問題ないでしょう!

 http://www.arduino.cc/en/main/Software

 そしてインストールします。

2.USBasp(ISPライター)のドライバのインストール
 下記サイトからドライバをダウンロードします。

 http://sourceforge.jp/projects/sfnet_libusb-win32/

 zipファイルですので展開して、そのフォルダの中にあるbinの中の inf-wizardを起動します。
 
 inf-wizard1.jpg
 NEXTを押します。
 inf-wizard2.jpg
 USBaspを選択して、NEXTを押します。
 inf-wizard3.jpg
 NEXTを押します。
 inf-wizard4.jpg
 保存を押します。
 inf-wizard5.jpg
 Install NOWを押して完了です。

3.ArduinoIDEを立ち上げます。
 以下、LCDTESTプログラムを書いた状態から、書き込みまでの手順です。

 Arduino IDE.jpg 

 Arduino IDE1.jpg
 ツール>ボード>Arduino Nano を選択します。
 Arduino IDE2.jpg
 ツール>プロセッサ>ATmega168 を選択します。(ATmega168を使用したため)
 Arduino IDE3.jpg 
 ツール>書込装置>USBasp を選択します。
 Arduino IDE4.jpg
 ファイル>書込装置を使って書き込む を選択すると書込みが始まります。

 とりあえず、ISPでの書き込み方とLCDの表示やポートの制御はわかったのですが、タイマー割り込みとか、実用プログラムの作り方はこれからです。休み後半は用があるので、今日辺りで何処までかけるようになるかです。とりあえず頑張ってみます。

※Arduinoは、ハードの壁を低くして色々な機能を実現するというような思想で始められたと理解しております。従って、ISPで組み込みでソフトを含め物作りするというのは、この考え方に反するものなのかもしれませんが、当局は、この考え方に反論しているわけではありませんのご理解ください。
むしろ、ハードの敷居を低くして自作派が増えていることに喜ばしく思っております。
当局的には、Arduinoの成果を借りて自分としてのソフトの敷居が低くなって今までできなかったものができれば良いかな〜と思っております。


posted by jn3xby at 13:10| Comment(0) | TrackBack(0) | AVR&Arduino

2015年04月04日

FT-817用 世羅多フィルタ製作 その後

DSC01024.jpg

前回の実験と製作はうまく行ったのですが、残念なことに基板をさかさまに作ってしまいFT-817のケースのふたを閉めることができませんでした。
そこで、もう一回気をとりなおして基板を作り直しました。
真剣に探したわけでもないのですが、FT-817に使用されている2mmピッチの基板to基板のコネクタも見つかりそうにもなかったので、2.54mmピッチの8pinICソケットを片側ずつに切り離して使用しました。

DSC01025.jpg

DSC01023.jpg
こんな風にFT-817の本体基板のコネクタに刺さっています。

実際には、スピーカの端が少し当たっているようにも思いますが、ふたは無事に閉まりました。
めでたしめでたしです。

DSC01022.jpg

フィルタの素子数は、JA9TTT加藤さんのオリジナルと同じく5素子としました。切れ具合にそれほど差があるようにも思えませんでした。

posted by jn3xby at 12:12| Comment(0) | TrackBack(0) | QRP-HomeBrew

2015年03月22日

FT-817用 世羅多フィルタ製作

DSC00994.jpg 

先日、ネットサーフィンしていたらiCOMさんのHPで冨川OMが寄稿されている製作記事BEACONの中にセラミック発振子の周波数を変える記事を見つけました。このときひらめいたのは、周波数を変えたセラミック発振子を5素子、6素子と作れば中心周波数455KHzの世羅多フィルタができるのではないかということです。
 世羅多フィルタはJA9TTT加藤さんによるラジオ用セラミック発振子を用いたフィルタですが、出来上がったフィルタは、中心周波数が発振子の周波数より低くなってしまいます(おおよそ10KHz程度)。
自作のTRXなどに使用する場合は、これでも問題はないのですが(局発の周波数を対応すればいいから)、メーカー製のTRX等では、中心周波数が455KHzものが必要となってきます。
 当局も、FT-817の中古が安くなったので入手していたのですが、CW用のフィルタは本体の入手金額の半分以上の14000円程度もするので、購入していませんでした。世羅多フィルタを使用したQRP TRXは自作機があったから、まあいいかといった感じです。
 http://blog.toshnet.com/article/5109739.html

 しかし、上記記事を見つけ、作ってみたくなり検討から始め、そこそこに良い感じにできましたので紹介します。

 セラミック発振子として使用したのは、以前共同購入で大量に入手していた中華製のCRB455というものです。今でも、100個 送料無料で9$程度で売っているようです。
 記事に従って、セラミック発振子の中を開き、四隅を削って共振周波数があがるのを確認し、まず1素子のフィルタ回路を作って、加工したものが455KHzにできるだけ近づくように少しずつ削ってゆきました。
削りすぎると周波数が高くなり、元には戻せないので不良品となります。従って、周波数を見ながら少しずつ削ってゆきます。

DSC00977.jpg
発振子のケースをニッパでむしりとった
DSC00978.jpg
わきも同様
DSC00979.jpg

DSC00981.jpg
発振子が電極にサンドイッチ状に入れてある
DSC00983.jpg 
右が削る前、左が削ったもの
DSC00984.jpg
削る前の共振周波数
DSC00986.jpg
削ってゆく途中の共振周波数
DSC00987.jpg
完成した共振周波数(スペアナの表示は違っているが、正しく455kHz)
DSC00993.jpg
フィルタとして構成した時の共振点の特性(山なり)

 勿論、全く同じ455KHzものが作れる筈もありませんが、大体±100Hzに合わせ込みました。5素子ほど作ったところで、世羅多フィルタを構成し、ちゃんと455KHzになっているか確認します。センターは50Hz程度ずれていましたが、まあ使えるだろうとそのまま進めました。
 このフィルタは-3dB帯域を5,600Hz程度を目標にしましたので、入出力インピーダンスが35Ω程度となっており、FT-817に実装するには2KΩにインピーダンス変換する必要があります。ここは、JA9TTT加藤さんの設計を参考に手巻きで7mm角コイルの変換器を作りました。しかし、」挿入損失が-17dB程度あり、フィルタのOn/Offでかなりの音量差が出ていました。3素子で我慢できるかな?といったところでした。コイルを巻きなおしたり色々やって見ましたがうまくいかず、FT-817の本体基板から電源を取ることを前提に、FETアンプを挿入することにしました。これも、加藤さんのSR-7用に設計されたものを参考にしました。

DSC00995.jpg
アンプを入れる前
DSC00996.jpg
実装した時の様子(これで十分実用的)

 どうせアンプ入れるならとフィルタを6素子にし、基板も作ってみました。最初は、蛇の目基板での実験でしたが、結果として、蛇の目基板でも再現性に変わりはないようです。
 結果としては、非常に良い感じのものができました。INRAD等の良いフィルタと比較にはならないのかもしれませんが当局的には、大満足です。以前に仕入れた 安い発振子と、分けていただいていたコイルボビンと線、手持ちのコンデンサ、FETなどを使用しましたので、今回の製作に掛かった費用はゼロでした。
ゼロから集めても2000円はしないと思います。

 FETアンプの電源は、オプションフィルタ用の端子からは取れないので、結果としてスピーカコネクタのすぐ横にあるAFアンプ用のICの端子に半田付けして取りました。(Pinピッチが一番広くて取りやすかったから)

 このフィルタを製作するには、周波数特性を測るFRMSやスペアナ(トラゼネ付き)が必要です。また、中心周波数が重要ですので、10Hz程度以上の精度のある安定した周波数カウンタか基準信号が必要になります。100Hzズレて製作したら何を作っているかわからなくなるのではないかと思います。
 昨年は、周波数高精度病になり、RbOSCやGPSカウンタ等を入手、また作っていましたので役に立てることができました。
 また、基板本体から半田付けで電源を取りますので、もし、まねをされるのであれば自己責任でお願いします。

DSC01016.jpg
基板化したフィルタ

FT-817世羅多フィルタ20150321.BMP
回路図
DSC01010.jpg
実装した様子(上に飛び出している)

フィルタの切れ具合と聴感が聞けます。

 しかし、とても残念なことに、蛇の目基板では裏返しに製作し蓋ができたのですが、基板化する時に裏返しに作ることを忘れてしまい、蓋が閉められない構造になってしまいました。工夫をするか、もう一回基板の作り直しです(トホホ)

追伸:使用したセラミック発振子は、封を開けて削って使用していますので、経年変化に対しては全く考慮されていません。物理的に機械共振だと思うので大丈夫だとは思いますが、湿気や温度での性能変化は?です。


posted by jn3xby at 19:28| Comment(2) | TrackBack(0) | QRP-HomeBrew

2015年02月11日

1SEG USBチューナーでスペアナ

DSC00966.jpg

自作記事ではありません。
1SEG USBTVチューナで広帯域のSDRRXを実験する記事は以前からよく見かけていましたが、試してみることはありませんでした。
aitendoで1000円程度でリモコン付きのチューナーを売っているのも知っていましたが、人気商品のようで入荷するとすぐ売り切れとなっていることが多いようです。
先月は、エアーバンド用のRXを自作してみましたが、上記の1segチューナを使えばエアーバンドも受かるのではないかとaitendoのサイトを見たらやはり売り切れです。
秋葉原に出かけた時になんとなく見ていたら、なんと650円で1segチューナーを売っているではありませんか。
しかも、ふれこみにはSDRに使えそうなことが書いてあります。日本向けの製品で当然日本のテレビも見れるはずです。

DSC00968.jpg

DSC00970.jpg

DSC00972.jpg

DSC00971.jpg

DSC00973.jpg

売っていたのは千石です。入り口の床に箱に入ってドンとおいてありました。
アンテナも、ロッドアンテナと、外部アンテナと接続するためのMCX⇒F型の変換ケーブルも付いています。
早速購入してみました。TVを見るためのドライバやアプリのソフトのCDも付いていましたが、インストールすることなく、サイトを探して広帯域RXとしてのアプリを探してインストール。
あっけなくSDR広帯域RXが出来上がりました。なんと、AM、FM、SSB、CWなど色々なモードに対応しており、最初の目的のエアーバンド以外に、144MHzや430MHzのCW,SSB、FMも簡単に受信することができました。
とても便利なソフトです。リグの電源を入れなくてもネットサーフィンをしながらワッチが可能です。


SDR画面.jpg

普通ならここで終わってしまうのですが、このチューナーは22MHz〜1100MHzまでの受信が可能なようで、1.2Ghzが受信できないのはちょっと残念でした。機種によってはもっと高い周波数まで受信できるものがあるようです。
当局的には、折角CWやSSBが受信できるのであればHFも受信できるようにしたいと思いサイト検索をしたのですが、流石に多くの先達がいらっしゃり、コンバータキットもあるようです。100MHzのアップコンバートが普通のようでした。どうせなら自分で作ろうかと思いつつ、これだけ広帯域で受かるのであるならスペアナとして使えるのではないかと考えました。
やはり先達がいらっしゃいます。スペアナとして使用するためのソフトウェアもフリーで見つかりました。
マニュアルも読まずにさっと使った感じでは使えそうな気がします(使いこなしてはいませんが)。

76-90MHz画面.jpg

76-90MHz画面2.jpg

入力にアッテネータ位は必要になると思いますが、自作TXの高調波測定などには使えるのではないかと思います。測定帯域を広げると測定には時間が掛かりそうですが、650円で簡易スペアナが手に入ると思えばものすごく得したような気がします。
オシロなら中古や中華製でそこそこの値段で買えますが、スペアナはまだなかなか手に入れにくいと思います。(当局は清水の舞台から飛び降りて中古を購入しましたが、使い道は信号の性能や高調波の測定、フィルタの特性測定くらいです)
650円なら1台持っていても損はしないと思います。ソフトを入れれば1Segを見ることができますし。
自作記事ではありませんが、お勧めの記事です。

スペアナに関しては下記URLを参考にしました。探せばもっとあるのではないかと思います。
http://pub.slateblue.tk/memo/day3301.html



posted by jn3xby at 15:25| Comment(2) | TrackBack(0) | 徒然なるままに

2015年01月18日

エアーバンド受信機U

ケースベルト1.jpg

先週に続いて、エアーバンド受信機の仕上げをしていました。
まず、適当に作った基板のためにケースに入りきれなかった分を外側ケースを作ってつなぎました。
薄いアルミ板を巻いただけですが、それなりにアクセントになったかと自己満足です。

ケースベルト.jpg

航空無線は短いやり取りの繰り返しで、受信していない時のノイズも気になったので、スケルチを追加しました。
幸いにもラジオICのAGC電圧出力があるので、これをマイコンのA/D変換で読み取って、無信号レベルでAF回路にTRでミュートを掛ける様にしました。
元々マイコンのポートは一杯だったのですが、7SegLEDの表示桁を8桁から7桁に減らして、ドットポイントの表示もやめにして2ポートを捻出しました。
また、折角AGCレベルを読んでいるのでSメータ機能も追加しました。
こちらは、どう表示するか悩みましたが、信号を受信してスケルチが開いた時に、バー表示するモード(このとき受信周波数は表示されない)と、

S表示2.jpg

S表示4.jpg

左端の周波数ステップモードとチャンネルメモリーモードのところを、数値でS表示するモードを用意しました。切り替えスイッチは1つしかないので、周波数ステップモード、チャンネルメモリーモードの切り替えボタンをもう一回押すとバー表示モードと数値表示モードをトグルで切り替えるようにしました。

S表示1.jpg

S表示3.jpg

改造ついでに、KG-ACARS用のAF信号出力とその周波数のメモリーチャンネルを追加しました。
しかし、残念ながらKG-ACARSのデコード率は良くありませんでした。サイトで調べるとメーカー製のRXでもデコード率は良いものと悪いものがあるようなので、まあこんなものかと割り切りました。

posted by jn3xby at 16:50| Comment(3) | TrackBack(0) | QRP-HomeBrew

2015年01月11日

エアーバンド受信機

概観斜め.jpg

今年最初の自作です。
親しくさせていただいているOMさんが年末からエアーバンド受信機の製作をされているのに刺激を受け正月の休みも手伝って当局としても製作してみました。
エアーバンドは保有のリグでも受信できるので敢えて作る必要もなかったのですが、過去から実験のみに終わっている中華製DDSや、これもOMさんから分けていただいたままになっているロシア製も製品化されているAFパワーアンプも内蔵している1ChipラジオIC(オリジナルはTA7316?)、などに加え最近入手した超小型のmini7SEG LEDも使ってみたくなり、以下の条件をつけて自作してみました。

1) 分けていただいたラジオICで実用品を作る
2) 中華製DDSも実用品に活用する
3) mini7SEG LEDを使用して小型に作る
4) 手持ちのケースに入れる
5) 新たな部品は購入しない

ダイナミック点灯の7SEGは物は小型なのですが、片面基板でパターンを引くと基板自身が大きくなってしまうので、パネル面の基板は部品を置くのみとしてジャンパ線などはリード線で手配線としました。
手持ちケースはおそらく15年以上前に購入していたものでラフに寸法を測って基板サイズを最初に決めてパターンを引きました。結構厳しい寸法だったのですが、何とか入ったものの、パネル面の基板の部品の厚みを考慮していなかったので結果としてはその分パネルがはみ出る形となってしまいました。ご愛嬌です。

前面概観.jpg

前面基板.jpg

概観横.jpg

電池比較.jpgMOV00944.MPGMOV00944.MPG

設計時点で悩んだのが、エアーバンドは10MHz以上の帯域があり、ラジオIC側でこの帯域をカバーさせるのには無理があると考え、ラジオICは入力を10.7MHzとしてIF455KHzに変換、フロントエンド側でこの帯域をカバーすることにしたのですが、中華製DDSはせいぜい0〜50MHz位の範囲でしか使用できないことです。
フロントエンドの局発のカバー範囲は107MHz〜120MHz程が必要となります。
そこで、デジタルの良さ?を利用して、うまく行くかどうか?でしたが、今回はDDSとして通常使用する信号ではなく、ナイキストイメージの信号を活用することにしました。
次に問題として気づいたのが、DDSの基準クロックが125MHzであり、エアーバンドの帯域の真ん中にあることです。これが悪さをしてラジオICのAGCを飽和させてしまうと全く使用できない受信機になってしまいます。
やってみないとわからない状況ではあったのですが、10.7MHzにはFM用ですがセラミックフィルタを使用し、また455KHzにもラジオ用セラミックフィルタを使用して選択度を少しでも良くする方法をとりました。お陰で死蔵していたフィルタも活用できました。

全体の制御には、いつものアトメルAVRマイコンを使用し、BASICでプログラムしています。
28pinのATMega168を使用したのですが、7SEG8桁としたのでこれだけで16pinを消費してしまい、ポート数はぎりぎりでした。
ソフト量としては16KBのマイコンですが20%程度しか使用していません。
DDSの制御、ロータリーエンコーダーでの周波数可変、7SEGのダイナミックスキャン等、これまでに作った資産を利用していますので1時間くらいの改造で動くものが出来上がりました。
周波数ステップは航空無線周波数データから25KHzとしています。但し、当局のロケーションでは羽田周辺しか聞けないと思いましたので、あらかじめメモリーした周波数だけを選択するメモリーチャンネルモードも追加しました。ポートが足らなかったので、メモリー周波数は任意に記憶させることはできず、各チャンネルにあらかじめプログラムで周波数をメモリーさせています。

内部全体.jpg

内部拡大.jpg

結果としては一応実用になりそうなものが出来上がりました。羽田のアプローチのやり取りなどが非常に良く入っています。
残念なのは常に信号が出ている羽田の気象情報の周波数が128.8MHz、アプローチの周波数が119.1MHzと離れておりフロントエンドの帯域をもっとブロードにしないとどちらかに感度の最高点を合わせざるを得なくなったことです。
当然のことながら125MHzは強烈な信号を受信しており、使用できません。
その他、スプりアスと思われる信号を沢山受信していますが、とりあえず支障なく使えています。
ポートが後2ポートあれば、無信号時にAFをカットするスケルチを追加したいところです。
とりあえずケースに入れて完成までこぎつけたので、今年最初の自作としてはまずまずかと思っております。

動画は削除しました。

エアーバンドRX 140111.BMP



posted by jn3xby at 14:02| Comment(6) | TrackBack(0) | QRP-HomeBrew

2015年01月01日

謹賀新年!

旧年中は大変お世話になりました。
本年も宜しくお願いします。

         2015年 元旦
posted by jn3xby at 00:09| Comment(5) | TrackBack(0) | 徒然なるままに