2018年9月22日土曜日

今週一週間のアマチュア無線への道、進捗報告

アマチュア衛星を追いかけるのにハマっているロケット小僧です。

アンテナ小僧にでも改名しようかな?


今週の進捗が結構出たので、報告しておきます。

1,大学生協に追尾運用をしやすい場所を見つけた。

生協2階は空が開けていて、グラウンドみたいに砂だらけにならず、さらにパソコンを置く机があるという完璧な場所でした。
難点は、休みじゃないと人が多すぎてつらいだろうなというところです。

生協2階で追尾中の動画


2,アンテナの測定と調整を行った。

今まではアンテナシミュレーションを元に作るだけでしたが、電波無響室をちょこっと借りれたので、いくつか測定と調整をしました。
内容は、ネットワークアナライザで、アンテナの共振点を測って給電部のエレメント長をの調整と、SWRメータでSWRの測定を行いました。
437.5MHzに共振点を調整して、SWRは435MHz~440MHzで1.25~1.30でした。

電波無響室にて共振点測定


3,母校にでデモしてきた。

母校で追尾デモをしてきました。
急にお邪魔しましたけど、喜んでもらえたようで良かったです。

アンテナ梱包

高校で展開してデモ


4,UHFのトランシーバーを手に入れた。

これで、個人局が開局できる!
機種名はTR-9500です。
古い無線機なのでスプリアス保証してもらわないと開局できないですが、ここによると、可能なようのでこれで開局に向けて進めようと思います。

CW受信感度測定の様子


来週は、開局申請とアンテナローテーターをオープンソース化したいなと考えています。
夏休みが残り1週間なので、そこまでは進めてしまいたいです。

2018年9月16日日曜日

アマチュア衛星受信中

ローテータを自作したので、430MHz帯を使っている衛星を追っています。



このサイト(https://www.n2yo.com/satellites/?c=18)によると、430MHz帯でビーコンを出している運用中の衛星は50機以上いるようです。

いくつか受信できたので、受信できた衛星と自分の環境での中心周波数をメモがてら載せます。

JAS2(FO-29)
437.7959MHz

CUTE-1.7+APD II
437.27455MHz

SEEDS(SEEDS-II)
437.4858MHz

KKS-1(KISEKI)
437.3862MHz

HORYU-IV
437.37285MHz

AOBA-VELOX III
437.3726MHz

BIRDS-II(UiTMSAT-1 MAYA-1 BHUTANのどれか)
437.3742MHz(違う周波数で2つ聞こえたからおそらく3つのうち2つ受信したっぽい)

周波数は自分のSDRの個体差もありますし、必ずしも正しくないかもしれません。(一応周波数発振器で校正はしていますが・・・)

デコードがちゃんとできるようにしたり、録音データのアップロードとかできるようにしたり、もうちょっと環境を整えてきちんとした受信報告ができるようにしたいと思います。

あと、おそらく来年3月のNT京都にこれを出展します。

2018年8月19日日曜日

LinuxでTLE自動更新

夏休みの空いた時間を使ってUbuntuをデスクトップに入れてみては、Pythonコードがほぼそのまま動いてくれて感動しているロケット小僧です。
そのまま動かないのは、Windowsでコードを書いているときにソースコードの頭2行に書くおまじないをサボっていたせいですけどね。

メモがわりに、先日の記事で提示したTLEの自動ダウンロードスクリプトで修正版を貼りまする。(先日の記事にも追加しました)

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from spacetrack import SpaceTrackClient

st = SpaceTrackClient('ID', 'password')
TLE = st.tle_latest(favorites='KIT', ordinal=1, epoch='>now-30', format='3le')

print(TLE)

先日の記事と同じく、IDとpasswordをspacetrack.orgで取得したものに置き換えて、favorites='KIT'を実在するリスト名に指定して実行すると、そのリストをダウンロードして表示します。
この表示をリダイレクトでファイルに保存してOrbitronなどで使う方法を取っています。
ソースコードをいじらなくても、出力先は後で変えれたらいいなぐらいの気持ちで変えました。


crontabで毎時呼び出して使っています。

00 * * * * python /home/username/tle/downloadTLE.py > /home/username/tle/satellite.txt

2018年8月21日更新
0時ちょうどにしか更新されないなと思ったら、crontabの設定ミスってました。

自動実行がWindowsより圧倒的に簡単にできて便利だなぁと思う今日この頃でした。


2018年8月11日土曜日

BIRDS2を手持ち八木で受信してみた

2018年8月10日 18時45分に国際宇宙ステーションからBIRDS2プロジェクトの衛星3機が放出されました。


少し前に手持ち八木で435MHz帯の衛星を受信するシステムを構築していたので、受信してみました。
受信システムの詳細は需要がありそうだったら記事にします。
(一応トラ技Jr34号 2018年夏号に記事はあります。)

最初のトライとしては、8月10日17時20分ごろからの日本上空を通過する最初のパスでした。ISSの軌道情報(TLE)を使ってトラッキングしましたが、とりあえず電波は取れるモノの、3機が区別できるほどではありませんでした。


8月11日20時ごろからのパスで再トライしました。
TBA - TO BE ASSIGNEDですが、3機分のTLEも出ていたので真ん中のTLE(カタログ番号43590)を使って追ってみました。


今日はきれいに聞こえてきました。
受信周波数は437.377MHzにドップラー効果を計算して追っています。
発表では437.375MHzだったので、少し高めですね。
ちなみに、同じ西無線の通信機をダウンリンクに使っているAOBA-VeloxIIIは437.373MHz,鳳龍四号は437.374MHz(手持ち八木とIC-R20で受信した実測値)なので、個体差で数kHzぐらいずれるようです。
(BIRDS2についてのPDF)

放出当初はCWが送出される時間がきれいにずれて、重ならずに聞こえていたCWですが、内臓時計のずれやリセットなどによる影響でブータンとフィリピンの衛星はほとんど重なって、マレーシアも間をあけずに聞こえてきました。
今回の受信では、ブータンの衛星の電波が一番強かったように感じました。

AOBA-VeloxIIIや鳳龍四号で使っていたため、CwGetを使っていますが、BIRDS2チームはCW skimmerを導入しているようです。


録音から再生して表示させてみましたが、かなり高性能で使えそうです。ただシェアウエアなので使い続けるには75ドルだそうです。ちょっと高い・・・

久しぶりに衛星受信したら、ちょっといろいろと作りたくなってきたので、夏休みを使っていろいろやってみます。

やりたいこと
ローテーターを作る
ソフトウエア無線を使いこなす(今使っているレシーバーは研究室のを拝借してるので)
自動追尾ソフト&サーバーアップロード機能あたりを作る

NT京都あたりで展示&実演できたらいいな・・・

2018年7月23日月曜日

先日発注した基板が、土曜日に発送されていたようです。


17日発注なので、 今回は5日で発送ですね。はやか~

明日か明後日には受け取れると思うので、楽しみですな。

10枚で発注したけどelecrowガチャ、いくつになってるかな・・・

2018年7月17日火曜日

KiCadの自動配線

今回、ほとんどスルーホール部品の緩い2層基板を作ることになったので、KiCadの自動配線(FreeRouting)で遊んでみました。

今回使用したKiCadはVer4.0.7です。

今回作る基板


前回の基板と機能は同じで、9軸と気圧センサ、TWE-lite、MicroSD、あとサーボモータとGPSとのコネクタあたりが載っています。

Nucleoに乗せて使う予定ですが、GPS、TWE-lite、MicroSDが載っているシールドは重宝しそうなので、レベル変換基板も載せてArduino対応にしています。(図で8ピンと20ピンの3DモデルICになっているのがそれ)

ちなみに、ライブラリについては、秋月の変換モジュールはライブラリを自作し、TWE-liteとMicorSDはネットから落としましたが、その他のライブラリはKiCad付属で済みました。最近のKiCadはライブラリがかなり充実しているようです。

自動配線の手順


1、基板外形の上に部品を配置

白線(配線すべき線)があまり交差しないように配置していきます。


2、適切にデザインルールを設定

今回は、elecrowに発注するので、下の図のようにグローバルデザインルールを設定しました。




3、ネットクラスを設定

elecrowによると、配線幅とクリアランスはそれぞれ6mil(0.1524mm)ですが、8mil(0.2032mm)推奨とのことですので、デフォルトはそれぞれ0.2mmずつにしました。ビア径は最小設定で行きます。
ICの電源線をPowerとして、配線幅を0.5mm、サーボ駆動用の電源を1mm幅に設定しました。




4、FreeRoutingが読み込むファイルの書き出し

自動配線ソフト、FreeRoutingが読み込める形式でファイルを書き出します。
Pcbnew(パターン編集画面)から道路工事しそうなひし形に↑↓が書かれているボタンをクリック、「現在のボードを"Spacctra DSN"ファイルへエクスポート」をクリックすると、DSNファイルが書き出せます。



5、日本語文字の削除

2バイト文字は読み込みエラーになるので、書き出したDSNファイルをテキストエディタで開いて日本語文字を削除します。(今回は、ファイルパスのみ。)



6、GitHubから自動配線ソフト"Freerouting"をダウンロード

「github - freerouting」
https://github.com/freerouting/freerouting

7、Freerouting.exeを起動

ダウンロードして解凍したら"freerouting-master\binaries"にFreeRouting.exeがあるので起動します。



8、"Open Your Own Design"をクリックして、書き出したDSNを読み込む。



9、自動配線開始

Autorouterをクリックして、配線が終わるまで待ちます。



最初の1分ぐらいでほとんどの配線が終わって、そこから2時間ほど進まなかったので、未配線を残したまま止めました。

10、配線が終了したら、File→Export Specctra Session Fileで結果を保存します。



11、KiCadへの書き戻し

Pcbnew(パターン編集画面)に戻ってひし形ボタンをクリック、「スペクトラ セッション ファイル(*.ses)のバックインポート」をクリックして、SESファイルを読み込みます。
結線情報データを再構築しますか?のダイアログは"はい"をクリックします。



12、KiCadに自動配線したパターンが適用される



13、調整




※調整内容

・なんでお前そんな配線したん?って配線の引き直し(↓参照)
・両面にGNDベタパターンを配置
・アンテナパターンになりそうな細いベタの削除(配線禁止ゾーン・ベタのみ)
・GNDビアで両面GNDベタの補強
  参考:「KiCadでベタGNDにたくさんviaを打つ」
  http://idken.net/posts/2017-04-19-kicad_via/
・シルク印刷の調整
・急に機能を追加したくなって、ピンソケット2ピンを追加


なんでお前そんな配線したん?って配線の引き直し作業中



Arduinoシールドは3倍のサイズで印刷すると、ちょうどA4におさまるサイズのようです。画面で見るのと、紙でチェックを入れるのでは作業性がかなり違います。


結果


  • 電源ラインは信号線に比べて太く設定したことにより、長く配線を伸ばすコストが高いのか、かなり最初にほぼ最短ルートで決定していました。デザインルールをうまく使うと、電源ラインを引かなくても欲しい配線で引かれるかもしれません。
  • 今回は、特にケアをする信号線がなかったので、特に何も引かずにFreeRoutingへエクスポートしましたが、高速な信号線やアナログの信号線は先に配線したほうが良いでしょう。
  • 鋭角は回避する自動配線のようです。ただし、直角に曲げるのは容赦なく使ってくるので、その点で修正はけっこうあります。見た目はあまりよくないですが、修正しなくても一応使える配線は出てきます。
  • 今回は、裏面をほとんど使わない配置でしたが、両面が混むような配置では自動配線はきれいに動いてくれないかもしれません。


結論

今回程度の回路規模なら、KiCadの自動配線は結構使える。

2018年7月15日日曜日

KiCadでビアのプロパティを一括で変更する方法

久しぶりにKiCadを開いてプリント基板を作ったら,デザインルールのビアの設定を忘れていて,全部のビアの直径が 0.0048mmだけ大きかったので,テキストエディタで直します.


4層基板であること以外はいつも通りだったのですが,ビアのデザインルールの設定を忘れていました.




elecrowに発注しようと思っていたのですが,ビア径は0.6048mm以上でした.

「PCBサービスのQ&A」, elecrow,
<https://www.elecrow.com/wiki/index.php?title=Q%26A_for_PCB_service>より

6milは0.1524mmですので,6mil + 0.3mm + 6mil = 0.6048mmでビア直径は0.6048mmです.(#ヤードポンド法死すべし慈悲はない
さらに,ドリル直径も0.4mmに設定していますので,0.3mmに変える必要があります.

おそらく,加工誤差の範囲でしょうから,これで出しても,なにも言われないでしょうけど・・・(変えずに作って出した記憶ありますし)
気付いてしまったので,直しておきたい.けど,手作業で変えるにも55個ビアがあるので,めんどくさいな・・・と.

なんか方法がないかなと思って,とりあえずボード図のファイルをテキストファイルで読み込んでみました.


ビアらしき文があったので,一度KiCadを閉じて適当に置き換えてみました.


KiCadで再度開いてみると,ビアがちゃんと変更できてました.


無事にDRCも通ったので問題ないようです.引き直しにならなくて良かった!

以上が,ビアの一括変換の方法です.文字の大きさはKiCadの機能で一括で変更できますが,ビアを打ち間違える機能は無いようです.まぁ,需要ないですしね.

結論:引く前によくよくデザインルールは検討しましょう.