Quantcast
Channel: JH7UBCブログ
Viewing all 440 articles
Browse latest View live

nokia5110その1

$
0
0
 これまで、マイコン関係の表示器としては、主に1602や2004などのLCDを使用してきました。

 今回、6mのSSB/CWトランシーバの表示器として、nokia5110という48×84ピクセルのLCDモジュールを使ってみようと思い、ヤフオクで2個手に入れました。1個499円で送料無料でした。(発送先は、台湾で、発注から約1週間で届きました。)

イメージ 1

 nokia5110は、nokiaの携帯電話に使われていたモジュールで、国内でもaitendoなどでも入手可能です。

 nokia5110は、海外では人気のあるデバイスで、関係する記事も多く見られます。反面、国内ではこのデバイスに関して記載したブログ、ホームページは残念ながら、多くありません。

 そこで、nokia5110について、少し詳しく書きたいと思います。

 参考になるのは、FMCA(福島マイコン愛好会)のメンバーでもあるJA2GQP水野さんのブログのsi5351 VFO の記事で、表示にnokia5110が使われています。この記事と回路図、スケッチを参考にして、実験を進めていきます。

 ビニールの袋の中には、ピンヘッダがついていました。が、1つは、8ピンでいいのですが、もう一つは7ピン。どうして?
 さらに、一つは、LCDを基板に固定する部分が不具合があり、はんだ付けをしました。

 このLCDモジュールは、モジュールの電極を基板に圧着させて使うので、モジュールと基板は、しっかり接触させなければなりません。

イメージ 2

 今回のnokia5110は、基板が赤いタイプです。(青い基板のタイプも出回っています)

 VCCには、Arduinoから3.3Vを供給します。LIGHTは、バックライトで、このタイプはGNDに接続するとバックライトが光ります。(3,3Vに接続するとバックライトが光るタイプもあります。)

 なお、バックライトをつけたとき、3.3Vの電流は約5mAでした。

 ホワイトバックライトと書いてあったのですが、実際には青いLEDが光りました。

 今回は、Arduino UNOを使い、nokia5110とArduinoの接続は次のように行いました。

Arduino                nokia5110
D11  ---------4050--- ------1 RST(Reset)
GND  ----------------------2 CE(Chip Enabule)
D10   --------4050----------3 DC(Data/Command)
D9    ---------4050--------- 4 DIN(Data In) 
D8    ---------4050--------- 5 CLK(Clock)
3V3   ---------------------- 6 VCC
GND   --------------------- 7 LIGHT
GND   --------------------- 8 GND

イメージ 4

nokia5110の動作電圧は、3.3Vなので、レベルコンバータとして、74HC4050を間に入れています。

海外のサイトの例では、レベル変換をしないで、ダイレクトに接続している例が多く見られます。

たぶん、それで大丈夫なのだと思いますが、念のために今回は、4050を入れました。

nokia5110に使われているのは、PHILIPS社製のPCD8544という48×84 pixels matrix LCD controllerです。

このコントローラは、SPI(Serial Peripheral Interface)で動作します。公開されているライブラリを利用することにします。

様々なArduino用ライブラリがありますが、今回は、Rinky-Dink ElectornicsというサイトのLCD5110_Basicを使います。

ダウンロードして、ライブラリに登録します。

LCD5110_Basicライブラリの中のサンプルスケッチをコンパイル・ロードしてみました。

イメージ 3

Arduinonoのロゴが表示されました。ロゴが白黒反転し、次に歯車の図形が表示され、白黒反転し、これを繰り返すスケッチです。

nokia5110モジュールが正常に動作することが分かりました。

スケッチなどについては、次回


6m & down コンテスト結果

$
0
0
 今朝、メールの整理をしていたら、1週間前にJARLのコンテスト委員会からのメールが来ているのに気づきました。
 7月の6m & downコンテストの結果が出ていたんですね。結果は、こちら

 さっそく、JARL webのコンテストのページを見ると、当局JH7UBCは、電信部門シングルオペ50MHzで、東北地区1位で、昨年に続き地区1位を獲得することができました。

 得点は、昨年に及ばず、108局×マルチ24=得点2592点でした。

 今年は、Eスポの発生が弱かったせいですね。

 今年は、あと2つのコンテストに参加する予定です。

 12月3日(土)には、我がFCWA(福島CW愛好会)主催のFCWA CWQSOパーティもあります。

 こちらへの参加もよろしくお願いします。

nokia5110その2

$
0
0
 Arduino UNO で nokia5110の表示テストをしました。

 接続方法については、前の記事をご覧ください。

 LCD5110_Basicをライブラリに登録して、簡単なスケッチを試しましたが、コンパイル時にエラーが出ました。

 サンプルスケッチでは、エラーが出ないのになぜ?

 いろいろ調べると、フォントファイル DefaultFontsというCファイルをスケッチのフォルダと同じフォルダに置かなければならないことが分かりました。

 エラーが出なくなったところで、フォントの表示テストしました。

 LCD5110_Basicで使えるフォントは、次の3つです。
 SmallFont     キャラクタを6×8pixel で表示します。
 MidiumNumbers 数字を12×16pixel で表示します。
 BigNumbers    数字を14×24pixel1 で表示します。

 文字と整数の表示テストしたスケッチです。

イメージ 1

 次のように表示されます。

イメージ 2

次に文字の白黒反転をやってみました。

浮動小数点型データをnormalと反転表示するスケッチです。小数点以下は5桁です。

イメージ 3

イメージ 4

LCD5110_Basicでは、次のようなFunctionが使えます。

LCD5110(SCK,MOSI(DIN),DC,RST,CS);  Arduinoとnokia5110の接続を示します。

以下は、myGLCD.に続けて書きます。

InitLCD([contrast]); 初期化します。contrastは省略するとデフォルトで70です。

setContrast(contrast); コントラストをセットします。

enableSleep(); 表示をスリープモードにします。(表示を消します)

disabSleep();  スリープモードから再表示します。

clrScr(); 画面をクリアします。

clrRow(row[start-x[,end-x]]); 1行クリアします。(部分クリア可)

invert(mode); 画面を白黒反転します。true=invert fales=normal

print(st,x,y); 文字を表示します。xには、LEFT,CENTER,RIGHTを使うことができます。

printNumI(num,x,y,[,length[,filler]]); 整数を表示します。

printNumF(num,dec,x,y,[,devider[,length[,filler]]]); 浮動小数点型の数値を表示します。

setFont(fontname); フォントをセットします。

invertText(mode); テキスト表示を反転します。

drawBitmap(x,y,data,sx,sy); bitmapデータを表示します。


なお、詳細は、LCD_Basic 内にあるマニュアルを参照してください。

次は、グラフィック表示をやってみます。

nokia5110その3

$
0
0
 Arduinoでnokia5110にグラフィックス表示をするテストをしました。

 グラフィック表示をするためには、まず、Rinky-Dink Electronicsというサイトからnokia5110用のグラフィック表示ライブラリ LCD5110_Graph.zipをダウンロードして、解凍し、Arduinoのライブラリに登録します。

 フォントファイル、DefaultFonts.Cをスケッチのフォルダと同じフォルダに置きます。

 LCD5110_Graphでは、4×6pixelのTinyFontも使うことができます。

 LCD5110_Basicでは、nokia5110内のRAMに直接データを書き込むのに対して、LCD5110_Graphでは、一旦、Arduino内のメモリ(仮想スクリーン(screen))にデータを書き込み、update();でnokia5110に転送します。

イメージ 1

 文字の表示に関するFunctionは、LCD5110_Basicと同じですが、update();しなければ、表示されません。

 直線を書く場合は、drawLine(x1,y1,x2,y2);という関数を使います。

 スケッチの例です。

イメージ 2

 このスケッチでは、次のように表示されます。

イメージ 3

 同じようにして、drawRect(x1,y1,x2,y2);で四角形を書いてみます。

イメージ 4

 正方形を描いたつもりですが、やや縦長になります。

 角が丸いし角形を描くには、drawRoundRect(x1,y1,x2,y2);を使います。

イメージ 5

 円を描くには、drawCircle(x,y,radius);を使います。

イメージ 6

  円もやや縦長になります。

 このほか、1つのピクセルをon/offする関数、ピクセルを反転する関数などがあります。

 詳細は、LCD5110_HGraphのマニュアルを参照してください。

 グラフィックス描画を使えば、様々な応用が考えられます。

 ただし、Arduino内に、仮想screenを置くため、メモリを多く消費します。

 次は、Arduinoとnokia5110の接続について、再検討します。

県北430CQ大会結果

$
0
0
 9月に行われた第26回県北430CQ大会の結果が、県北430CQクラブ会長のJI7FYK花井さんからメールで届きました。
 今回は、県外局が初めて優勝しました。すばらしいですね。

 結果は次のとおりです。

イメージ 1

当局JH7UBCは、31局中7位でした。固定からだけの運用でしたので、こんなものでしょう。Hi

来年も頑張りたいと思います。

nokia5110その4

$
0
0
 Arduino UNOとnokia5110の接続につて、実験を行いました。

 まず、nokia5110に使われているPCD8544のマニュアルを見てみました。

 Limiting Valueとして
                             MIN      MAX
 VDD                   -0.5V     + 7V
 VLCD                   -0.5V     +10V
 Vi(All inputVoltage) -0.5V    VDD+0.5V
と書いてあります。
VDD=3.3VならVi MAX=3.8Vということになりますね。

VDD=3.3VでVi=5Vにしたらどうなるのでしょうか?
不安なので、レベルコバータとして、74HC4050をを入れていたわけです。

VDD=3.3Vとし、Arduinoとnokia5110の間に74HC4050を入れた時のSPIのデータ信号をnokia5110の入力端子で観測した波形です。(74HC4050には3.3Vを加えてあります)
イメージ 1

きれいに、3.3Vに変換されています。

次に、4050の代わりに10kΩの抵抗を入れてみます。(このようにしている例も結構見られます。)
イメージ 2

電圧のレベル変換は、ほとんど行われず、10kΩ抵抗とnokia5110の入力の容量によって、積分されています。

次にArduinoとnokia5110を直結した場合は、どうなるんだろうと思い、直結して電流を測ってみました。

直結した場合でも、Arduinoとnokia5110間では、RSTとDCはほとんど流れず、DIN,CLK端子で最大で数十uA以下の電流しか流れません。

nokia5110の入力の耐圧の問題だけのようです。

実際に、Arduino UNOとnokia5110を3.3V以外の信号線を直結直結してみました。

特に問題なく、動作しました。

Arduino nanoとnokia5110を直接接続してみました。(6mリグを想定した表示です)

イメージ 3

大丈夫のようです。


AD9834DDS VFO nokia5110

$
0
0
 1年前に製作したAD9834DDS VFOの表示にnokia5110を使ってみました。

 周波数カウンタの表示がちょっと醜いのですが、7MHzを発生しています。

 STEPは、1K,100,10 Hzと循環します。RITは、-980~980Hzの間で変化できます。

イメージ 1

 回路図です。nokia5110のLIDHTは、GNDに接続していますが、バージョンによっては、バックライトを3.3Vに接続するものもありますので、注意。

イメージ 2



 クリスタルオシレータは、手持ちの関係で20MHzを使っています。(回路図では、67.108854MHz)

 周波数表示などは、myGLCD.printNumI()関数で、比較的簡単に表示できました。

 このVFOは、50MHz SSB/CWトランシーバに使おうと思っています。

 AD9834DDSのクロックを67.108864MHzにしても、発生できる周波数は、24MHz程度までですので、20MHz程度を発生させ、2逓倍し、40MHz程度にして、中間周波数10.7MHzと合成し、50MHz帯にする予定です。

周波数2逓倍回路

$
0
0
 周波数を2倍にする回路(周波数2逓倍回路 Frequency doubler)の実験をしました。

 逓倍回路と言えば、昔はC級増福を行い、発生する高調波を同調回路で取り出す方式でしたね。

 今回実験するのは、高周波トランスを使い、電源回路などに使われる両波整流によって周波数を2倍にする方法です。

 回路は、Web上でよく見かける次のような回路です。

イメージ 1

実際に組んだ回路です。ランド法で配線しました。

イメージ 2

ダイオードは、ゲルマニウムダイオード1N60です。
トロイダルコアは、FB-801です。

入力に1MHzを加えた時の出力波形です。(無負荷の時の波形です。)
周波数が2倍になっています。

イメージ 3

出力波形は、予想よりなめらかでした。

1MHzにおける入力と出力の関係です。

イメージ 4

0dB(1mW)を入力したとき、出力は、約-15dBm(0.03mW)です。
Charlse Wenzel氏のFrequency Doublerのレポートを見ても、こんな感じです。

周波数特性については、手持ちの測定器(自作測定器)の精度があまり良くないので、正確な測定はできませんが、HF帯の周波数帯では、間違いなく動作しています。

ダイオードを変えたらどうなるのか、ショットキーバリアダイオードやシリコンダイオードについても、これから実験してみます。

先日製作したArduino AD9834DDS VFOで発生させた20MHzを2倍して40MHzにして、6mトランシーバのVFOとして使う予定です。




周波数2逓倍回路その2

$
0
0
 前の記事の周波数2逓倍回路のダイオードをショットキーダイオードとシリコンダイオードに変えて、測定してみました。
 手持ちの関係で、ショットキーダイオードは、1SS16をシリコンダイオードは、1S1555を使いました。

 入力対出力のグラフです。

イメージ 1

Vf(順方向電圧)の違いがグラフにはっきり出ています。

Vfが小さいゲルマニウムとショットキーは、入力が小さいときでもある程度の出力がありますが、Vfが多きいシリコンは、Vfを超えたところから出力が始まります。

大きな入力の場合は、シリコンが出力も大きくなります。

実際にこの回路を使う場合は、ショットキ―ダイオードを使おうかと思っています。

実験用安定化電源のケーシング

$
0
0
一昨年製作した実験用安定化電源をようやくケースに入れました。

ケースは、タカチのMB5です。

イメージ 1

電圧・電流計は、先日購入したデジタル電圧・電流計です。

回路はほとんど変更ありませんが、次のとおりです。

イメージ 4


内部はこんな感じになりました。トランスなどは、IC221を分解したときに取り出したものを再利用しています。

電解コンデンサ4700uF 50Vは新品にしました。時代の進歩ですね、だいぶ小さくなりました。

イメージ 2

実験用電源ですので、電圧と同時に電流も測定できます。

10V出力時、100Ωを接続したとき、電流は0.10Aです。OKですね。

イメージ 3

大きな電流を流した時LM350Tの発熱が心配されます。

一応3W程度の放熱器をつけてありますが、十分ではありません。

実験用ですので、1A程度の電流まで取り出せれば良いと考えています。

Si5351Aその1

$
0
0
 秋月電子からSi5351Aモジュールを購入しました。(500円です)

 10mm×10mmと小さいです。

イメージ 1

Si5351Aは、Sillicon Laboratories社製のI2Cで制御するPLLクロックジェネレータです。

Si5351Aは、内部に2つのPLLを持ち3CHの出力を持ちます。

内部に多くの制御用レジスタがあり、I2Cでレジスタにデータを送ることによって、各機能と出力を制御します。

今回は、Arduino nanoにSi5351AをI2C接続してライブラリを使って動作テストをしてみます。

ライブラリは、Etherkit Si5351で、ここからダウンロードして、Arduino IDEに登録します。

IDEは、1.6.12を使いました。

Arduino nanoとSi5351Aの接続図です。

イメージ 2

Si5351Aは、3.3Vで動作させます。コアと出力部合わせて最大40mA流れます。Arduino nanoの3.3V出力は最大50mAですので、これを供給しても大丈夫だと思ったのですが、安全を図って今回は、3端子レギュレータ(3.3V 150mA)を使っています。

I2Cのプルアップ抵抗は、最初下の写真のように1kΩを入れたのですが、これがなくても動きましたので、省略しました。

ブレッドボードです。

イメージ 3

サンプルプログラムのスケッチをコンパイル・ロードしました。

プログラムサイズは、約11kB(36%)と大きいです。

イメージ 4

CLOCK0には、14MHz、CLOCK1には20MHzが出力される設定です。

写真では、自作周波数カウンタは、13999797Hzを表示しています。誤差を考慮しても若干(200~300Hz)低く発振しています。20MHzでも同様の傾向です。

データブックによれば、周波数精度は±10ppmですから、こんなものでしょうか。

出力波形をpico scope6で見てみました。14MHzの波形です。

イメージ 5

矩形波のはずですが、丸まって正弦波に近くなっています。私のpicoscopeが10MHzまでのものですから、そのせいかも。

出力レベルは、14MHzが1.54dBm=1.4mW、20MHzが-0.99dBm=0.79mWとけっこう強いです。

とりあえず、動作は確認できましたので、このライブラリを使ってVFOなどを製作することができます。

既にJA2GQPさんのブログには、FBなVFOの製作例が公開されています。

このクロックジェネレータの記事は、海外サイトではたくさん見られるのですが、まだ日本では多くありません。

PICで制御している例もいくつか見られますので、それらを参考にして、ライブラリを使わないでArduinoでコントロールする方法を試してみます。






Si5351Aその2

$
0
0
 3CHクロックジェネレータSi5351Aの勉強をしています。

 前回は、Arduino のライブラリ EtherKit Si5351のサンプルプログラムを使って、動作を確認しました。

 今回は、ライブラリを使わないで、信号を発生させてみます。

 参考にしたのは、JL1VNQ局の「万年準備中のブログ」の記事です。

 この記事では、PIC16F1827でSi5351Aをコントロールしています。ソースリストが公開されていましたので、Arduinoに移植してみました。(JL1VNQ局ありがとうございます。)

 PLLAの発振周波数 fvco=800MHz  とし、CLOCK0の出力周波数fout=10MHzを発生させるスケッチです。

---------------------------------------
#include <Wire.h>
const byte si5351_Addr = 0x60;
void setup(){
  Wire.begin();        // Arduino is Master.
  si5351_cmd(3,0xFF);  //Disable Output
  si5351_cmd(16,0x80); //CLOCK0 Power down
  PLL_set();
  MS0_set();
  si5351_cmd(177,0xA0);//Reset PLLA and PLLB
  si5351_cmd(16,0x4F); //CLOCK0 Power up
  si5351_cmd(3,0xFE);  //Enable CLOCK0
}
void loop(){
}
void si5351_cmd(byte Reg , byte Data){
  Wire.beginTransmission(si5351_Addr);
  Wire.write(Reg);
  Wire.write(Data);
  Wire.endTransmission();
}
//fvco = fxtal * (a+(b/c)
//a=32  b=0  c=1
//MSNA_P1=128*a+(128*(b/c))-512=128*32+(128*(0/1)-512=3584=B1110 0000 0000
//MSNA_P2=128*b-c*(128*(b/c)=128*0-1*(128*(0/1))=0
//MSNA_P3=c=1
void PLL_set(){
  si5351_cmd(26,0);         //MSNA_P3[15:8]
  si5351_cmd(27,1);         //MSNA_P3[7:0]
  si5351_cmd(28,0);         //MSNA_P1[17:16]
  si5351_cmd(29,B00001110); //MSNA_P1[15:8]
  si5351_cmd(30,0);         //MSNA_P1[7:0]
  si5351_cmd(31,0);         //MSNA_P3[19:16]MSNA_P2[19:16]
  si5351_cmd(32,0);         //MSNA_P2[15:8]
  si5351_cmd(33,0);         //MSNA_P2[7:0]
}
//fout = fvco / (a+(b/c)
//a=80  b=0  c=1
//MS0_P1=128*a+(128*(b/c))-512=128*80+(128*(0/1)-512=9728=B0010 0110 0000 0000
//MS0_P2=128*b-c*(128*(b/c)=128*0-1*(128*(0/1))=0
//MS0_P3=c=1
void MS0_set(){
  si5351_cmd(42,0);         //MS0_P3[15:8]
  si5351_cmd(43,1);         //MS0_P3[7:0]
  si5351_cmd(44,0);         //MS0_P1[17:16]
  si5351_cmd(45,B00100110); //MS0_P1[15:8]
  si5351_cmd(46,0);         //MS0_P1[7:0]
  si5351_cmd(47,0);         //MS0_P3[19:16]MS0_P2[19:16]
  si5351_cmd(48,0);         //MS0_P2[15:8]
  si5351_cmd(49,0);         //MS0_P2[7:0]
}

 コンパイルしたスケッチサイズは、2266byte(7%)です。

 詳しい説明は、次回に行いますが、とりあえず、10MHzを発生することができました。(周波数は、やや低めですが・・)

 出力は、12.3dBm=17mWでした。(出力は、レジスタ16で調整できます)

イメージ 1


 Si5351のデータシートレジスタ説明書AN619を読みながら、勉強を進めていきます。

 ただ、どちらも英文ですので、どこまで理解できるか、?ですが、できるだけ分かりやすく解説をしていきたいと思います。

 目標は、Si5351Aを使ったVFOです。これも既にJL1VNQ局のブログに例があり、参考にさせていただきたいと思います。


 

 

Si5351Aその3

$
0
0
 3CHクロックジェネレータSi5251Aの構造と制御方法について、分かったところまで書いておきます。(まだ、完全には理解していません。)

 まず、構造と働きです。(図はデータシートから転載)

イメージ 2

 XA,XBに水晶を接続して、基準周波数を発振させます。秋月電子のモジュールではfxtal=25MHzです。

 これを元にPLLAおよびPLLBで375MHz~900MHzを発生させます。PLL周波数はfvcoで表します。PLL周波数の設定は、レジスタ内のMSNxP1~MSNxP3で行います。(xはA,B)

 PLLで発生させた周波数を分周器MultiSynth0~MultiSynth2で分周してCLK0~CLK2に出力します。これをfoutで表します。分周器の設定は、レジスタ内のMSxP1~MSxP3で行います。(x=0~3) どちらのPLLを使用するかは、MSx_SRCで決めることができます。

 R0~R1は分周器で、1/1~1/128を指定できます。デフォルトは、1/1です。
 出力強度もレジスタで設定することができます。
 出力周波数foutは、2.5KHz~150MHzです。

 このように、Si5351Aの各種設定は、全てレジスタの値で行われています。したがって、Si5351Aをコントロールするには、I2C通信によって各レジスタに設定値を書き込めばよいわけです。

 I2C通信で書き込む方法は、1バイト書き込みと2バイト以上の書き込みがあり、次のようなフォーマットで行います。

イメージ 3

 今回は、分かりやすくするため、1バイト書き込みで行いました。
 Arduinoでは、Wireライブラリを使用して次のように行います。Si5351Aのスレーブアドレスは、0x60です。

 setup(){
   Wire,begin();
  }
として、Arduinoをマスターとします。

 Wire,beginTransmission(Si5351Aアドレス);
  Wire,write(レジスタアドレス);
 Wire,write(データ);
 Wire.endTransmission();
で、ArduinoからSi5351Aにレジスタアドレスとデータが送信され、書き込みが行われます。

 次に、Si5351Aのプログラミングの方法です。
 データシートによると次のように行います。

イメージ 1

 今回は、割り込みは省略しています。

 次回は、Si5351Aのレジスタについて、書いてみます。

Si5351Aその4

$
0
0
 3CHクロックジェネレータSi5351Aのレジスタについて書きます。

 Si5351Aには、アドレス0~255の256個のレジスタがありますが、実際に役割が設定されているのは、レジスタ187までです。ここでは、テストで使ったレジスタについて説明します。詳しいことは、レジスタマップの説明書AN619を見てください。

 前の記事のSi5351Aのプログラミング手順の順にレジスタを見ていきます。

 まず、レジスタ3と16です。

イメージ 1

レジスタ3の0~2ビットで、CLK0~CLK2をON/OFFできます。

レジスタ16では、CLK0のコントロールについて、いろいろな設定ができます。
各ビットの働きは、図の通りです。
レジスタ17では、CLK1を、レジスタ18では、CLK2をコントロールすることができます。

testスケッチでは、レジスタ16は最初、bit7を1にして、power downし、最後に0にして、power upしています。
他のビットは、最後にbit6=1 Integer mode bit5=0 Select PLLA bi4=0 not invert bit[3:2]=11 MS0 bit[1:0]=11 8mAに設定しました。Drive stlengthは、一番強くしています。

レジスタ26~33は、PLLAの周波数を設定するために使われます。
レジスタ34~41は、PLLBの周波数を設定するために使われます。
次の図は、PLLA設定に関するレジスタの様子です。

イメージ 2

これらのレジスタに送るデータ(パラメータ)は、次のような式で計算します。

イメージ 3

分周器MS0の設定は、レジスタ42~49で行います。
分周器MS1の設定は、レジスタ50~57で、MS2の設定は、レジスタ58~65で行います。

下の図は、MS0設定用のレジスタの様子です。各パラメータの計算方法は、上の図のとおりりです。

イメージ 4

PLLのリセットは、レジスタ177を使います。(最初の図)

これらのレジスタへデータをI2C通信で送ります。

こうして見ていくと、レジスタがたくさんあるようですが、それぞれが、役割を持っていてることが分かります。


Si5351Aその5

$
0
0
 Si5351Aのテストで、設定周波数10MHzに対して、300Hzほど低い値が出力された件についてですが、水晶の負荷容量(Crystal Load Capacitance)を適切に設定することによって補正することができます。

 この設定は、レジスタ183で行います。

イメージ 1

デフォルトでは、負荷容量が10pFとなっています。

この時の発生周波数です。

イメージ 2

負荷容量を8pFにすると

イメージ 3

負荷容量を6pFにすると

イメージ 4

やや高い周波数となりました。

以上から、秋月電子のSi5351Aモジュールに関しては、負荷容量は、8pFが適切であることが分かります。

setup()に

si5351_cmd(183,B10000000); を加えれば、良いのです。

Si5351Aその6

$
0
0
 Si5351A 3CHクロックジェネレータの出力周波数範囲は、2.5kHz~200MHzとされています。

 低い周波数と高い周波数を発生させてみました。

 PLL周波数Vcoと出力周波数foutは、次の式で与えられます。(再掲)

イメージ 1

fvcoでfxtal=25(MHz) a=15 b=0 c=1とするとfvco=375(MHz)となります。

このとき、分周器の値を a+(b/c)=1800 (a=1800 b=0 c=1)とすると fout = 375000000/1800 = 208333(Hz)となります。

ここで、ちょっと捕捉しますが、fvcoにおけるa,b,cの値とfoutにおけるa,b,cには関連はありません。

各パラメータを設定して、実測すると

イメージ 2

 ほぼ、計算通りの周波数が出力されました。

次に、fvcoで、a=36 b=0 c=1とすると fvco=900(MHz)となります。

分周器の値をa+(b/c)=6 (a=6 b=0 c=1)とすると fout=900/6=150(MHz)となります。

各パラメータを計算して設定して、実測すると

イメージ 3

若干低いですが、ほぼ目的の周波数が得られます。

これで、基本的な実験が終わりましたので、次は、VFO化を考えてみます。
 

今年の家庭菜園のまとめ

$
0
0
 最低気温がマイナスになるようになりました。

 畑では、オータムポエムとシュンギクがまだ収穫できますが、今年の家庭菜園は、ほぼ終了です。

 記録として、今年の収穫の状況をまとめておきます。

 収穫できた個数です。

 ハツカダイコン   709
 ルッコラ       392
 ナス         2649
 ミニトマト      3352
 ピーマン       248
 シシトウ       494
 インゲン       1043
 オクラ         605
 トウモロコシ       73
 ホウレンソウ     167

台風の被害もほとんどなく、害虫の発生もそれほどではなく、全体的に見れば、昨年並みでした。

ナスは、今年初めて買った超やわらかナスの出来が良く、ミズナスの出来が今一つでした。

ピーマンは良くありませんでした。苗かな?

ホウレンソウは、種を水に浸し、冷蔵庫に入れることにより、発芽が良くなることが分かり、うまく育てることができました。

多摩川コンテスト参加

$
0
0
 今日13;時からの多摩川コンテストに、今年も参加しました。

 約1時間半、ほとんど呼びまわり、どうにか13局と交信できました。

 今日のくもり空で寒い天気のように、コンディションが今一つで、1エリアから聞こえてくる信号が弱かったです。

 いつもなら、信号がフヮーと浮かび上がってくることがあるのですが、今日は沈みっぱなしでした。

 久しぶりにCTESTWINを使ったものですから、操作を忘れてしまっていたり、たどたどしいオペレーションになりました。

 来週は、我がFCWA主催の第8回FCWA CWQSOパーティです。そのトレーニングとしては、十分でした。

 交信いただいた各局、ありがとうございました。

明日はFQP

$
0
0
 明日、12月3日(土)12:00~21:00に第8回FCWA CW QSOパーティが開催されます。

 このパーティは、CW交信の活性化と故JA7SSB斎藤さんの功績を記念して開催されます。

 規約の詳細は、FCWAのホームページで確認してください。

 交換ナンバーは、RST+Nameです、通常交信でもNameが交換されれば、OKです。

 師走で何かと忙しい時期ですが、ちょっとした時間を見つけて、CW交信を楽しんでください。

 バンドは1.9MHz~28MHzですので、自分の設備やコンディションに合わせて交信を楽しんでください。

 なお、ログ提出は12月31日までです。

 では、お空でお会いしましょう。

    FQP マネージャー JH7UBC 畠惠治

 

FQP終了

$
0
0
 昨日、第8回FCWA CW QSOパーティが終了しました。

 参加いただいた、各局ありがとうございます。

 コンディションは、あまり良くなかったですね。

 ログ提出は、12月31日までです。参加いただいた各局、ぜひログの提出をお願いします。

 ログを提出していただいた局は、FCWAのホームページに掲載しています。

 当局JH7UBCは、この日用事があり、16時半ころからの参加になりました。

 まず、7MHzを覗くと、もうローカルスキップが始まっており、全然ダメ。

 3.5MHzに降りて呼び周りを始めました。

 ある程度、読んだところで、CQランニングに移りました。

 その後、1.9MHzと3.5MHzを行ったり来たりしながらCQランニングを続け、21時まで楽しみました。

 交信いただいた各局ありがとうございました。
Viewing all 440 articles
Browse latest View live