2014/02/23

アンテナ、無線機を屋外設置して1年

円筒の上が余っているのは、QFHの素子を逆向きに巻いたため。製作時に意図していた向きと逆さまに…

寒さと記録的大雪でも特に問題は起こらず、正常稼働している全方位固定アンテナと屋外受信機。 (奥の秋月の140/430ホイップアンテナは偶に切り替えて使用中)

QFHアンテナを常設しはじめたのが新年なので2ヶ月目だが、プラスチックの円筒にそって這わせた構造でも意外と耐えることが分かった。 地元は豪雪地帯なので、いつか設置するとしたら埋没対策を考えねばと思う…。
このアンテナはちょっと問題があって、モノポールアンテナと比べるとノイズフロアばかり上がってしまい、期待したほどの性能が出ていない。 SWR値を測ったり、田舎で使ってみて検証する必要がありそう。 衛星の電波を見るだけなら、秋月アンテナで十分楽しめる。

今のケースを製作する前は、真夏も含め1年以上、電子機器を大きめの食品用保存ケースに入れて運用してきた。

最初の頃の記事 http://blog.kemushicomputer.com/2012/12/lan.html

立て付けが悪く、梅雨の後で見に行くと若干水が溜まっていてちょっと危なかったこともある。
 落雷が近づいた時は、電源を抜き、窓際に中継アダプタを介している屋外のLAN配線を切り離すことにしている。 去年の集中落雷の時は怖かった。

 冬の夜間の寒さでも問題なく動いているので、好きなときに観測できて便利だ。 偶にUSBデバイスサーバーを見失うことがあるが、電源再起動が必要なことはない。


すこしメンテナンスを兼ねて開けてみた。 天井は結構土砂が付いているが、中は水の侵入も無く綺麗なまま。 箱にシリコン充填剤で固着してある電源、LANコネクタ、BNCコネクタ周りも異常無し。 デバイスサーバーとFunCubeDongle Pro+も見た感じは綺麗。

 このタカチの防水ケースは一応カメラ用の光学窓を設けている。蓋に穴を開け、顕微鏡のスライドグラスに車のガラス用の撥水コートを施した代物。
 USBデバイスサーバーのポートは2基あるので、USBカメラなども繋げられる。USBポートが屋外にあると、多目的につかえて面白い。

2014/02/11

MPLAB Code Configuratorを試す


PICのConfigビットの設定や、モジュールの設定はなかなか大変です。 データシートを確認したり、クロックからタイマー周期やPWM周波数、ボーレートを計算したり…

MPLAB Xのプラグインとして最近リリースされた MPLAB Code Configurator(MC2) は、こうした設定をGUIで行えて、自動生成してくれるということで、試してみました。
すべての情報やドキュメントは以下から入手できます。

MPLAB® Code Configurator Plugin
http://www.microchip.com/pagehandler/en_us/devtools/code_configurator/home.html

・MPLABのプラグイン(IDE/Toolメニューからインストールできる)
・対応している型番は今のところ8bit拡張ミッドレンジのみ

今回は、以前PIC12F1822で作った、DSM(DataSignalModulator)を使ったブザーの応用で、PIC16F1827を使ってAFSK波形を出力してみました。

使用環境
 MPLAB X v2.00
 XC8 v1.30

とりあえず設定してみた画面です。 最初はProject Resources欄にオシレータとConfigビット設定のSystem欄しかないので、真ん中のDevice Resources欄から使うモジュールをどんどん追加していきます。 それぞれのモジュールを選択すると真ん中のウインドウで設定ができます。

PSoCのIDEのような感じに…

DSMはデータ信号とキャリアー信号を外部のピン/モジュールから供給するので、色々なモジュールを同時に設定することになります。 MC2のGUIでだいぶ楽ができます。


FSK信号を作るために、2つのキャリアー信号を使って0と1を表現します。アマチュア無線の場合、AFSKは1200Hz、2200Hzが使われているので、今回はPWMで生成しました。 1827はCCPが4つあるので1822と違って問題なく設定できます。 数値を設定するとすぐに出力周波数が計算されるので、目的の周波数を生成するのは簡単です。


 今回のデータ源はEUSARTを使い、1200bpsで入力することにします。

空きピンはGPIO設定で全部出力にしておきました。


 [Generate Code]ボタンを押せば、すべての設定が自動生成されてプロジェクトに追加されます。

 mainでは、Timerのスタート、DSMのキャリアーON/OFF、UARTの文字出力のみを記述しました。

これで書き込めば動くかな…?と思ったら、最初は動かなかったので、1822のconfigとにらめっこしながら、Configビット周りを見なおして、 オシレータのPLL設定を切り、クロックのスタートアップコードを弄ったところ動作しました。 多分どれか一つ直すだけで動く気がしますが…。
 GUIがあるといっても、データシートを読んで設定するレジスタの内容を知っていないといけない点は変わりませんね。

 MC2上で設定を修正した時も生成をその都度実行するようにします。 Configurator外で自動生成されたコードを修正した場合、このとき不一致だった箇所を一覧で提示してくれます。 

 肝心のAFSK波形は高調波がたくさんあってちょっと微妙だったので、外部にフィルタ回路をつけてみようと思います。同じFSKなら、RTTYなども作れるので、Fldigi等のデコードソフトを使ってデコードできるところまで確認してみたいです。

FSK以外では、赤外線リモコン用に31kHzのキャリアを生成することにも使えますね。