ラベル SDR の投稿を表示しています。 すべての投稿を表示
ラベル SDR の投稿を表示しています。 すべての投稿を表示

2018年10月31日水曜日

今更ながらのSDR-3製作記(とりあえずできたー編)

CQ出版社のトランジスタ技術誌9月号のSDR特集にあったSDR-3という7MHz帯SSBトランシーバーのキットを販売するという情報を聞きつけ、早速Faxで注文しキットが届きましたが、3Dプリンターとの格闘中で組み立てが先延ばしになっていました。

ひと段落したところで届いたSDR-3キットをとりあえず組み立ててみました。


届いたキットにはトランジスタ技術9月号も同梱されていました。

コントロール部 SDR-3D(ディジタル部)の内容
RF部 SDR-3A(アナログ部)の内容

キットは、STM32F4とオーディオコーデック、LCD、コントロールスイッチロータリーエンコーダを含むSDR-3Dと、ベースバンド信号をRF信号に変換するSDR-3Aに分かれて梱包されています。

説明書に従い、まずはSDR-3Dから組み立てていきます・


SDR-3Dの内容ですが、表面実装部品はすでに装着済みです。まずDCコネクタをハンダ付けしてDC5Vを供給し、システムのVDDの電圧が規定値に収まるか確認し、プログラミング用のシリアル通信ヘッダピンを装着します。

事前に確認しなかったのですが、STMマイコンにプログラムを入れる作業が必要です。そのために別途USB-シリアル(3.3V)変換モジュールが必要となるのですが、以前秋月で購入していた超小型USB-シリアル変換モジュールを思い出しパーツ箱をひっくり返して探し当てました。個人的には本誌を同梱するのならモジュールも用意してくれるとありがたかったのですが、偶々手持ちのものがあったので先に進める事が出来ました。

ちなみにUSB-RS-232C変換モジュールは使えません。高くて12V程度の電圧がマイコンポートにかかってしまうのでマイコン側が壊れてしまいます。

秋月で購入しておいたUSB-シリアル変換モジュール
モジュールの用意が出来たらPCとSDR-3Dのシリアルポートをモジュールを介して接続し、STmicroのサイトからプログラミング用のソフトをダウンロードします。(STmicroへのsign upが必要)


おじさん工房のサイトから実行ファイルをDLしマイコンにプログラム中
プログラムの書き込みが終了し、ボード上のLEDが正しく点灯、点滅しているのを確認して、残りのヘッダピンやスイッチ、ロータリーエンコーダなどをハンダ付けしていきます。LCDは基板の裏についているSDカードソケットを外す作業が必要です。
部品装着が終わったら改めて5VDCを供給し起動させます。

再起動しLCDが表示されています スイッチ類の動作も確認
LCDに一連の表示が出て、ロータリーエンコーダなどの動作が確認できればSDR-3Dはひとまず完成です。

引き続きSDR-3Aを組み立てます。こちらも表面実装部品は装着済みなので、ヘッダピンやリードインダクタ、リレー、RFトランス(手巻きが必要)を説明書に沿って装着していきます。

最後にSDR-3DとSDR-3Aをつなぐコード処理をし、相互に接続して完成です。完成までゆっくり行っておよそ3時間程度です。


アンテナとスピーカーをつないで起動させるとバンドスコープに信号が表示され、受信を開始します。


とりあえず受信は問題なく動作しています。送信部のテストと各測定についてはまた次の機会に纏めようと思います。

このキットは完成度は高いですが、実験や教材としてとても有用です。ただ使うだけではもったいないですね。時々記事のネタにしていこうと思っています。

今回はとりあえず完成したよ!ということで(笑)

2018年7月12日木曜日

Radioberry2製作記 その4(送信チェック編)

Radioberry2の受信動作は特に問題なく、VLFからHF帯までカバーしているようです。

またRaspberryPi3に渡す信号のサンプリング周波数は一番下の48kHzを選択していますが、このサンプリング周波数ではほぼ途切れることなく受信することが出来ます。しかし96kHz以上は処理が追い付かないのか途切れが頻出するのであまり実用的とは言えません。

一方送信機としてはどんな按配なのか、今回Radioberry2の送信波についておなじみAPB-3スペアナで簡単に検証してみました。

Radioberry2の送信出力からスペアナの間に30dBのアッテネータ挿入して、まず7MHz帯でキャリアを出してみました。のですが・・・


一見なんじゃこりゃ、みたいな結果です。基本波の高調波でないスプリアスが乱立していて1MHz以下にも高いレベルの信号が観察されました。これをただ眺めていても埒が明かないので、送信周波数をいろいろと変えて観察していると低い周波数で気がついたことがありました。

まず、160mバンド。


基本波の高調波はきわめて低いレベルに抑えられています。が、高調波に関係の無い柱が2本見えています。12bitDACから出力される信号波形はもともとはきれいなはずですが、この高調波に関係の無い不要信号は一体何なのでしょう。

次は136kHzで送信した信号のスペクトルです。


1MHzスパンでは、高調波レベルが2次高調波が最大で-52.23dBcとても優秀です。

ではもう少しスパンを拡げてみるとどうでしょう・・・


APB-3最大の50MHzフルスパンで観察すると、7.5MHzと15MHz付近に各々2本の不要信号が見えます。

では475kHzではどうかというと・・・


まず3MHzスパンでは3次高調波が最大で-52.57dBcとこれまた良い結果でした。

で、フルスパンはどうでしょう。


と、136kHzでの結果に良く似ています。ただし、2本の不要信号の間隔は136kHzの結果よりやや広いです。

これを見てもしやと思い、今度は160mバンドと500kHzで出力を測定して各々のスペクトラムを重ねてみました。


やや見えにくいと思いますが、それぞれ10MHzスパンでスキャンしたものを重ねています。すると右のオレンジ色の縦線を中心に出力周波数分だけ上下に不要信号が見えています。

AD/DA変換を司るAD9866のデータシートやソフトウエアのコードをまだ良く見ていませんが、どうやらこの不要信号はオレンジ色の縦線の周波数7.68MHz付近をサンプリング周波数としたときのaliasing signalではなかろうかと勝手に想像しています(違っていましたらぜひご教示くださいっ!)。そうすると最初7MHzのときに見た1MHz以下の不要信号に説明つけられそうです。

もしそうならこのADC出力がまともに扱える対象の周波数は3MHz以下ということになります。

逆に現状のファームウエア、ソフトウエアでは160m(1.8/1.9MHz)バンド以下が実用に耐えうるのではかいかと考えられました。

このRadioberry2のファームウエアの開発が進めばもっと高い周波数でも使えるようになるかもしれませんが、現状は136kHz、475kHz、1.8/1.9MHzが限界かもしれません。 これらのバンドであれば出力に簡単なLPFを挿入すればOKでしょう。

送信波スプリアスについてはある条件下で使える可能性がでてきましたが、それとは別の問題としてRaspberryPi3の処理が追いつかないのか信号が断続してしまい、結局そのままではまだまだ実用レベルとはいえません。

Radioberry2は今後も開発は随時進んでいるようなので、どこかでまた追試でもしようかと思います。

2018年6月28日木曜日

Radioberry2製作記 その2(苦悩編)

さてようやく全パーツを装着したRadioberry2ですが、Raspberry Pi3につなげる前にOSのセットアップと必要なソフトウエアのインストールを行います。

タッチパネル付きLCDディスプレイの背面にRaspberry Pi3を装着しています
だいぶ前に秋月で購入したElement14版のRaspberry Pi3 model Bと、専用の7インチカラー・タッチスクリーン付きLCDディスプレイを接続してmicroSDカードに最新NoobsをPCからコピーしてPi3本体のmicroSDカードスロットに挿入して電源を差し込み起動します。そうすると自動的にRaspbianがセットアップされます。

再起動後デスクトップが表示されます。某有名OSよりも簡単です。すごい。
 OSセットアップ後は最新アップデート、アップグレードを施してFPGAのファームウエア設定プログラムとSDRプログラムHPSDRをインストールします。詳細はGitHubのwikiページを参考にしていただきますが、まずRaspberry Pi3の設定とFTPサーバのインストールと設定を行い、Radioberry2のFPGAクロック設定、ファームウエア転送ソフトをインストールし、FFT演算ライブラリなどいくつかのライブラリの導入とPIHPSDRのインストールを行います。

pihpsdrコンパイル中
 必要なソフト類をインストールしてようやくPi3のGPIOヘッダにRadioberry2を差し込みPi3を起動、FPGAのセットアッププログラムを起動してPIHPSDRを起動します。しばらくすると、SDRでお馴染みのバンドスコープとウオーターフォール表示が出てきます・・・

何も表示されていないむなしさよ・・・
・・・ってありゃりゃ!?なにも表示されません。当然音も聞こえません。

あれこれ調べていくと、コンソールに記録されているFPGAのプログラムのログに、prepareLoading failedってでています。つまりFPGAにファームウエアが正しく転送されていないようでした。

一旦Radioberry2を外してFPGAのピンの装着状態を確認します。ブリッジが1,2か所疑われたため追いハンダなどで解消して起動しなおしましたがやはり同じ・・・ちょっと困ってしまいましたが、PUPさんのブログにチップ底面のサーマルパッドに基板の裏からハンダを送り込むと動作が安定したという記事を見付けました。

そういえばFPGAとAD9866の裏側にハンダを流し込む穴があったけれど、まだハンダを流し込んでいなかったので両方とも基板の裏側の穴からハンダを流し込み各チップの底面もしっかりハンダ付けしました。

一息入れてから、起動してソフトを動かすと・・・

一見まともに見えるバンドスコープ表示
おお!やっとちゃんと表示された!と思ったのも束の間、常にぶつぶつ途切れたような受信音でサンプリングレートを変えても改善しません。

何かを受信しているのですが、どこの周波数かも全く不明
適当なアンテナを繋げるとノイズフロアが上昇して、何かしら受信はしているようですがまともの音になっていません。しかもどこを受信しているのかが全く分かりませんでした。

↑実際の受信音はこんな感じ

設定をいろいろと変えても全く改善しないので、OSからソフトを入れなおしてみましたがやはりダメで、電源の容量不足かもと思って推奨電源を取り寄せてみました。

5V3Aのスイッチング電源 コードの途中にスイッチが付いています
この電源アダプタは途中に電源スイッチがついていて便利です。

付け替えると電力不足の雷アイコン表示がかなり少なくなりましたが、症状は一向に変わらず・・・

はてさてどうしたものか、出口がふさがれた気分になってしまいました。

それではまた次回!

2018年6月27日水曜日

Radioberry2製作記 その1

うっかりしているうちに、先の投稿から1か月以上経過してしまいました。

twitterやGoogle+,FacebookなどSNSは電子工作に関する情報の宝庫です。いつものようになんとなく眺めていると、次の製作ターゲットが現れてきました。

PA3GSB JohanさんのRadioberry2という、Raspberry Pi3のGPIOピンヘッダに装着するHF帯のDDC, DUC方式のSDRトランシーバです。回路図やソフトウエアなどはこちらに。

Analog devices製12bitの高速ADC/DACチップのAD9866と、Intel製 Cyclone 10LP FPGAで構成するDDC(Direct down conversion), DUC (direct up conversion)ユニットで、システムの制御をRaspbery Pi3で行います。ベースバンドの変復調はPi3自身にインストールしたSDRソフトウエア HPSDR、もしくはネットワークに接続したPC上のSDRソフトウエアで行うというスタイルです。受信だけであればkiwiSDRの構成に似ていますが、このRadioberry2は送信も可能としている点が一歩進んだところです。

このRadioberry2は旅の途中Reoさんが基板と部品セットを頒布されており、早速頒布をお願いしました。


 送っていただいた部品は丁寧に仕分けされています。

 もはや慣れた表面実装部品たちですが、唯一TCXOユニットは電極が底面のみ露出しており、側面には出てきていません。これではハンダごてによる手ハンダは不可能です。

TCXOユニットは25x2.0x0.8mmと極小です
 そこで新兵器を導入しました。



 ヒートガンです。

中国製で数千円程度で入手できるものですが、ハンダごてを二回り大きくしたような感じで、柄の部分がデジタル温度計兼温度設定表示になっておりコンパクトでFBです。選択したノズルをヒートガン先端に取り付けて電源プラグをコンセントにつなげて電源スイッチをオンにします。温度設定ボタンを押し、好みの温度に設定すると数秒後に作動開始し設定温度まで表示温度が上昇します。

さて設定温度はどうすれば良いのか、調べてもこれといったのが見つかりません。そこでTCXOのデータシートを眺めて見ると、reflow profileという図を見つけました。

この図を見るとピーク温度260℃が20秒から40秒と読めます。この図を参考にして温度を270℃に設定し10秒程度当てることにしました。他の部品は手ハンダが可能なので一番最初にTCXOを装着します。まずクリームハンダを爪楊枝の先にちょっとだけ盛ってランドに少量擦り付けます。ステンシルがないのでなかなか難しいですが何とか薄く盛ったところでTCXOをクリームハンダをのせたランド上に置きます。ズレがないか拡大鏡で確認し、ヒートガンの電源を入れて温度を270℃に設定し、表示温度が270℃になるまで待ちます。270℃になったらヒートガンの先をTCXO上約1センチほどに近づけて10秒程度そのままにします。TCXOから少しはみ出たハンダがいい感じに解けたのを確認し、ヒートガンを基板から遠ざけます。

基板自体も熱くなっているのでしばらく放置して冷ましてから拡大鏡で装着具合を確認します。

基板を逆さにしても外れないのでたぶん装着できているかも(笑)
今回から同時期に購入した拡大カメラを装着部位にセットして観察します。


 この拡大カメラは倍率自体は適当ですが、観察対象の細部が良く観察できます。PCに接続したりmicro SDカードに画像を保存できるので便利です。これも中国製で数千円で購入できます。

で、装着したてのTCXO周りを観察すると余分なクリームハンダがTCXO周りの基板に溶けて細かいハンダ屑になっています。拡大カメラで見ながら周りのハンダ屑を爪楊枝の先で除去しておきます。改めて観察してきちんと装着されているのを見届けます。

 次は他の部品をすべて手ハンダで装着していきます。



 取り付ける順番は特に根拠もないのですが、CRL、半導体、端子類の順番にしています。部品の装着間違いを避けるもしくは早く見つけるため、CならCだけすべて取り付けたら次はRだけという形にしていますが、それでも付け間違いは起こりえるので常に部品表と実物の照らし合わせ、装着部位の確認は一個一個欠かさず行います。

というわけで一通り装着できましたが、なんとなくAD9866(基板中央左側のチップ)がずれており、拡大カメラで確認すると・・・


ICのピンと基板のランドがかなりずれていてちゃんとピンと対応するランドがハンダ付けできていません。

これでは動作しないので、いったんAD9866を外して装着しなおさなければなりません。

というわけで、またヒートガンの登場です。



AD9866の周りをカプトンテープで覆い、上からヒートガンをあてますが270℃ではなかなか外れず300℃まであげてようやく基板から外れました(これが後になって響いたのでした)。

外した基板のランドの余分なハンダをハンダ吸い取り線で拭い改めてフラックスを塗って外したAD9866を再装着します。


肉眼ではずれがないように見えます。果たして拡大カメラでは・・・?


今度はランドとチップのピンはぴったり合っています。半田もしっかりのっています。(一部何も接続のないランドは熱ではがれていました)

あと残りはコネクタとピンソケットをハンダ付けして完成です。

次にRaspberry Pi3のセットアップと、Radioberry関連のファイルのインストールを経て完成したRadioberry2をつないで実働へ向かうわけですが・・・

続きはまた次回!

2018年2月21日水曜日

mcHF V0.7 component kit 製作しました(訂正事項あり)

中華製のコンパチ完成品が出回るほどの人気のあるM0NKA Chris氏のmcHFが昨年後半V0.7を頒布開始したという情報をいただきました。早速暮れにcomponent kit(MCUとその周辺以外表面実装部品含めたユーザー装着のキット)をオーダし入手しました。その後専用ケースキットも頒布開始されましたがIn Stockになるや否やすぐに売り切れてしまい、再開するまで何度かサイトをチェックしてようやく入手することができました。

現在は表面実装部品装着済みのケース付きキット(Full kit & case) として頒布されていますが、今のところout of stockになっています。(オーダーページはここ。)

入手したは良いものの年末のインフルエンザから関ハムシンポジウムとなかなか製作に入れませんでしたが、ようやく一息ついたところで一気に製作しました。


キット自体はオーダーから約1,2週間Royalmailで発送されます。今回はV0.6よりも二回り大きなパッケージで送られてきました。


component kitの中身です。V0.6よりもふた回りも大きな基板で、UIパート、Logicパート、RFパートの3パートに分かれています。それぞれのパートごとに対応する表面実装部品、とそれ以外の部品が袋に詰められていて、さらに袋の中にはBOMが納まっています。

組み立てには袋ごとに取り出してその中のBOM表の順番に部品をシルク印刷の部品番号と極性を合わせて一つ一つ装着していきますが、唯一2ピンのダイオードについてはシルク印刷では極性がわからなかったため、回路図との照らし合わせが必要です。またGalleryページをよく見ながらヘッダピン、ソケットを間違いないように取り付けます。とくに、ヘッダピンソケットのひとつはオプティカルエンコーダ端子のハンダ付け部分のうえに閲覧者かぶせるように装着するので、エンコーダの端子ははんだ付け後短くカットしないとソケットがうまく装着出来ないので要注意です。

追記: オプティカルエンコーダはハンダ付けせずに、リードをそのまま挿入してピンソケットの下側からソケットに挿入するようになっていました。もちろんハンダ付けしても差し支えはありませんが。インストラクションはよく読まないとだめですね・・・





こんな感じにすべてのパーツを装着します。V0.6のときは1週間程度かかりましたが、今回は延べ3日で装着完了しました。今回のパッケージでは、ヘッダピン2つ、0.1uFのチップコンデンサが不足していました。いずれも手持ちのもので補填してます。


次にいよいよケースに収める作業です。ケース本体は黒く塗装されたアルミシャーシと3Dプリンタで成形したフロントパネル、つまみも3Dプリンタで作成されています。


まず、一番下になるRFパートの基板を下のシャーシの溝に入れてスライドさせます。レギュレータとファイナルの石のフランジが丁度下のシャーシにあたるので特にねじ止めしなくても放熱は問題なさそうです。グリスを薄く塗っておくとよいかもしれません。

上の画像はRFパートの上にLogicパート、UIパートを重ねてパート間のピンの接続を確認しています。このキットではピンとそれに対応するソケットの位置が縦方向に微妙にずれていて正しく組み合わせるのが少々難しかったです。

確認が済んだら次はいよいよ前のシャーシを組み合わせます。


一番上になるUIパート基板をフロントシャーシの溝にはめ込みますが、その前にスピーカーを上の画像のようにシャーシの据付位置に置いてからUI基板をはめ込みます。この状態で各タクトスイッチの押し具合を確認します。自分のキットでは、POWER SWの高さが微妙に合わずスイッチの頭を1ミリほど削って収まりました。


というわけでRF基板が納まった下のシャーシにLogic基板を重ね、さらにUI基板を装着したフロントシャーシを重ねます。ピンとソケットの組み合わせに問題なければスピーカ端子の配線を繋げ、両サイドのパネルを装着してねじ止めしダイヤルノブをはめて完成です。

多少追加加工は必要でしたが、V0.6中華ケースほどではなく比較的すんなりケースに収まりました。

一応MCUにブートローダとファームウエアがインストールしてあるので配線に誤りがなければ電源を入れて起動します。起動自体は問題なく動作しましたが、ブートローダが古いためか電源をオフにしても再起動してしまうという不具合がありました。YahooのmcHFフォーラムを検索した結果、ブートローダのアップデートで解決する情報をみつけたのでDFUモードにして最新のブートローダ(4.0.0.0)をDfuSeDemo経由でインストールし、再起動問題は解消されました。ついでにファームウエアも最新版に入れ替えました。

そのほか送信出力が出なくてしばらく悩みましたが、ファイナル部の電源供給用のRFCの配線間違いを見つけ改修し、無事送信出力も出るようになりました。

早速送信波をAPB-3スペアナで観察しました。

80m
40m
30m
20m
17m
15m
12m(参考)
10m(参考)
ざっと観察したところ、V0.6のオリジナルに比べて全体的に高調波が抑制されていましたが、30mと17mは2次高調波レベルが-20dBc程度と十分抑制されていません。やはり160mを除いたすべてのアマチュアバンドで内蔵LPFの高調波を抑制するにはLPFの改造は必要です。

さらに、近傍の不要輻射を見てみます。


CWモードで送信波を観察しましたが、基本波から750Hz離れて局発リークが比較的高レベルで観察されます。帯域外不要輻射許容レベルを超えているのでIQミクサーのバランス取りも必要です。逆サイドバンドはメニューのIQバランス調整で十分抑制されますが、局発リークは抑えられないのでハード的にバイアス調整用のポテンショメータの追加が必要のようです。

それからハイバンドになるとLogicパートへ送信波の回り込みもみられており、V0.6のケースのようにRFパートとLogicパート間に遮蔽板を挿入する必要がありそうです。

というわけで、JAでこのV0.7の免許を下ろそうとするとV0.6と同様少々の改修が必要になります。

筐体は大きく改修自体はしやすそうなので、少しずつ進めていこうと思います。