2014/12/16

Raspberry Pi model A+


Raspberry Pi model A+ を入手。

普通のRaspberry Piを見慣れていると、かなり小さく感じる。性能的には据え置きで、RAMが初代と同じく256MBとなる。

基板としては、B+のピンヘッダ配列と、microSDカードスロットの採用、取り付けネジ穴が四隅についたりして、組み込みやすくなった。電源のレギュレータがDC/DCに変わって高効率化されているため、熱くなることも無いとされる。

IntelのEdisonも出てきたこともあり、性能/消費電力競争では負けてしまっているけれど、時を経てとっつき易くなっている気がする。

すこし嵌ったのは B+と同じく、ネジ穴径がM2.5を想定しているらしく、M3ネジが入らないこと。(個人的に、穴を削ってM3対応にした)

今までのものに比べ、RAMが半分なことと、DC/DCに置き換わったため、消費電力が削減されたとある。

手元の環境で、 無線LANドングル、 あるいはカメラモジュールを接続して動作させてみた時の消費電力ログをとってみた。

カメラモジュールのみを接続したとき

  • 待機時: 0.4W
  • 静止画撮影時 + 0.4W 
  • ビデオ撮影時 + 1W

~20 boot, 60~ apt-get update, 70~ apt-get upgrade

無線LANドングルのみを接続したとき

  • 待機時 0.65W
  • 通信時 1W


USBの無線LANドングルのみを取り付けた時の消費電力履歴。 、何もつけない時に比べ、常時0.2Wほど増加。 60秒あたりから、通信(apt-get update)が発生している最中に、1W程消費している。

以上を踏まえると、18650セル1本のモバイルバッテリ(5Wh)を使ったとすると、

  • Wifiドングルなし、待機した場合 約12時間
  • Wifiドングルあり、待機した場合 約7.6時間
  • 連続撮影、Wifi通信させた場合  約2.5時間
くらいは持ちそう。 

持ってないけど、IntelのEdisonで、USBカメラを接続した場合の消費電力と比較してみたい。





2014/11/25

MSP430FR5969 LaunchPadの修復



MSP430FR5969 LaunchPadで最近遊んでいる。
低消費電力前提のアプリケーションや、FRAMに変数を置く使い方を試しているところ。デバッガに搭載されたEnergyTraceも、消費電流を細かく観測できて面白い。

手元のボードで問題が起きたのは、Energiaで試そうとして、デバッガをアップデートするという表示が出た時。 アップデートを選択したところ、失敗したというダイアログと共に、COMが消え、デバッガの緑色のLEDも消えてしまった。 USB経由ではケーブルを挿しなおしてもまったく認識されない状態に陥った。 裏のソフトウェアのバージョンが古かったのかもしれない。 もうすこし調べておくべきだった…。

USB経由のブートローダーが生きているはずだが、接続しても何も出てこない。 文鎮化していた。

仕方ないので、デバッグのインターフェースについていろいろ情報を集めた。

新しめのLaunchPadに搭載されたデバッグ部分は、ez-FET Liteというもので、いろいろなマイコンをデバッグ可能らしい。 調べるとオープンソース用のパッケージがあった。
リビジョンは1.1で、ソフトウェア、回路図、ドキュメントが含まれている。
http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430_ezFETLite/latest/index_FDS.html

部品発注も兼ねて、もう一台新しいLaunchPadを発注…。
(モノが届くまでに、UART BSLによる書き込みを試してみたが、上手く認識できなかった)

手順 

ボードでの作業
MSP-EXP430FR5969 Hardware Design Filesの回路図、レイアウト図を参照
・ターゲットとなるデバッグボードの、3ピンと7ピンのスルーホールにコネクタをはんだ付け
・書き込み側のLaunchPadのターゲット側のジャンパピンを全て外し、単独のデバッガとする。
・書き込む側の EZfet-VCC, GND, TEST, RESET へ接続。



書き込み作業 (作業環境: Windows7)
MSP-EXP430FR5969 Software Examples
eZ-FET lite rev 1.10 Release Package
が必要。
・書き込むファイルは、eZ-FET lite rev 1.10 Release Package/Firmwareフォルダ内のEZFET_LITE_Rev1_1_FW_3_3_0_6.txt
 MSP-EXP430FR5969 Software Examples/Binaryの中に、任意の名前で新しく作成したフォルダをつくり、ファームウェアのtxtファイルを持ってくる。
・Binary内の任意のサンプルフォルダから、バッチファイルをコピーし、作成したフォルダにファームウェアとともに設置。 このバッチファイルをテキストエディタで編集し、ターゲットマイコンの名前(MSP430F5528)、書き込むファームウェアファイルの名前に書き換える。

 このバッチファイルは、Software Examples内に同梱されている、MSP430Flasher.exeという書き込み用プログラムを呼ぶためのものだ。

デバッグ側の接続が間違っていなければ、バッチファイルを起動すると書き込みが行われる。
完了後に配線を外し、USBケーブルで接続すれば、緑のLEDが点灯し、認識が行われる。

動作チェックのために、FR5969用のExampleの書き込みを行ってみると、MSP430Flasher.exe がファームウェアの更新を薦めてくる。更新を選択すると、新しいファームウェアがロードされた。


CCSでLチカサンプルをビルドして、デバッグを行ってみると、またファームウェアがアップデートされた。 enegyTraceも動作しているので、元通りにできたようだ。めでたしめでたし。



 すこしサンプルを修正して、1HzのLチカで消費する電力を可視化したところ。 消費電流デバッグが統合されているのはとても便利。

デバッガのバージョンは、CCSでは常に最新のファームウェアがロードされる。Energiaでは古いMSP430.dllが使われているようで、そのあたりが文鎮化の原因なのかもしれない。

TIからMSP430Flasherをダウンロードして、Energia内のMSP430.dllとHAL.dllを置き換えると上手く行くとあった。 実際、dllを置き換えた後はEnergia上でのアップデートに成功している。
 http://forum.43oh.com/topic/5683-energia-0101e0012-and-msp430fr5969/page-2

ということで、せっかく2個もあるし、しばらくは片方をCCS専用にして、もう片方をEnergiaとLinux向けのファームウェアと分けることにした。


2014/11/04

人工衛星の住む軌道 (とKSP)

相乗り衛星の軌道を、Kerbal Space Programで再現してみた。


現実の軌道をいくつかシミュレートしてみる。  衛星の行き先は、わりと限られた範囲に集中している。

低軌道(300~400km)
 CubeSat級の衛星にはHotな軌道。 わずかに存在する気体分子や電離した原子が抵抗となるため、半年ほどで大気圏に再突入してしまうが、それゆえデブリ化の危険がほとんどない。 断面積と重量により、軌道寿命の差が極端にひらく。 基本的には地球の影に定期的はいることもあり、電力収支、熱環境共に厳しい。
 投入手段: ISSからの放出、低軌道観測衛星への相乗り。 最近はISSに直接装置を設置する例も増えてきた。

極軌道(太陽同期軌道)(600~1000km)
  観測衛星の天国。 軌道傾斜角が赤道と直行するような軌道。 特に太陽同期軌道では数日~数週毎に同じ地点の上空を通過するため、地表をまんべんなく安定した条件で観察できる。
 太陽と軌道円の角度によっては、数週間~数ヶ月は日照状態が続くので電力不足に陥りにくい。

 初期のCubeSatをはじめ、数十キロ級のマイクロサットなどが数多く投入され、今も投入されている軌道。
 ただし、軌道が高くなるにつれ軌道寿命が延びることになる。 多くの衛星が周回していることもあり、長い軌道寿命の中で、交差、衝突する可能性が無視できなくなりつつある。 現在ではデブリ化を防ぐための取り組みがはじまっている。

参考文献: http://www.spacenews.com/article/civil-space/4207665th-international-astronautical-congress-cubesat-revolution-spotty


楕円軌道(数百~数千km)

 宇宙開発初期のロケットで多かった軌道。 モルニア軌道を除くと利用例は少ない。静止軌道へ投入される主衛星との相乗りで、トランスファ軌道で放出されるものは存在していた。

 投入例としては、アマチュア衛星(Phase-3シリーズ)がある。 かつては数基のアマチュア衛星で、地球をカバーして通信しようという計画があった。
 近地点が数百kmだと、ヴァン・アレン帯を毎回横切ることになり、荷電粒子によって電子機器や太陽電池などの劣化が早まってしまう。

衛星の軌道(有人含む)のほとんどは、機器の劣化を抑えるため、地球を取り巻く磁気圏に囚われた荷電粒子の帯の隙間を周回している。  磁気圏の隙間といっても一様ではなく、南太平洋上空にはヴァン・アレン帯が低軌道まで落ち込んでいていて、南太平洋異常帯(SAA)と呼ばれている。 この空域を通過中は、システムリセットが発生する確率が上がる。

静止軌道(3万6千km)

 今のところ静止軌道には相乗り例はない。
  対地静止といっても時折軌道修正が必要で、かつ軌道はすでに大型衛星で過密状態にある。インテルサットや放送衛星、気象衛星など、重要なインフラを担う大型衛星でひしめき合っている。
アマチュア無線の中継器という形で、静止衛星のサブモジュールとして搭載をすすめる計画は存在する。

月遷移軌道(数百~数万km)

 月探査機の投入にあたり、地球軌道で行われるマニューバーの段階で放出されるもの。
月まで届く楕円軌道だ。 月との接近によって、より遠くへ飛ばされたり、近地点が変わって地球に落下したり、いろいろな末路が考えられる。

 最近は、嫦娥5号の打ち上げに使われた3段目に、アマチュア無線モジュールが取り付けられた。 アマチュア無線家が月遷移軌道の遠地点 40万キロからのパケット受信に成功している。
 http://moon.luxspace.lu/
このモジュールと第三段は一度の周回ののち、地球へ落下した。

地球脱出軌道 (人工惑星)

 惑星探査機の脱出軌道に相乗りするもの。 第二宇宙速度で太陽をまわる人工惑星となり、基本的には戻ってこない。
熱環境は、惑星の影から出てしまえば、あとは常に日射が存在する安定した環境だ。

投入例:H-IIAによる惑星探査機(あかつき、はやぶさ2)への相乗り。
NASAは深宇宙チャレンジという形で、6Uサイズの相乗りコンペを計画している。
基本的にリソースが少ないので、相乗り案件は稀有。
地上から見ると、地球の自転速度が支配的なので、追尾も星を追うような形になる。
(某衛星相乗りでは、ビーコンを470万kmまで受信してもらえるとは思わなかった…)

外惑星・小惑星

  探査機に相乗りして、向かった先で放出されるもの。 CubeSatサイズの探査プローブというイメージか。最近はNASAやESAが計画を発表している。
投入先: 火星探査計画、小惑星探査。
 探査機の相乗りにもCubeSatのPod放出を利用する計画が進んでいる。

おまけ: KSP

画像に使ったのは、KerbalSpaceProgram(KSP)というゲーム。 ゲームと言っても、自分でロケットを組み立てて、物理演算環境で実際に打ち上げと軌道投入、軌道変換を行う事になる。最初は飛ばすだけでも結構大変だ。 初期状態では⊿Vといったパラメータがわからないので、感覚で軌道投入することになる。


Kerbal星系そのものは、現実と比べてだいぶ脱出速度や惑星の大きさ等がデフォルメされている。

 ゲーム自体は緑の小人Kerbal星人を外惑星へ到達させるのが主目的なので、往還ロケットはもっとΔVを増やすためにクラスタ化/大型化することになる。 一度に打ち上げるのは難しいので、現実の宇宙計画のように、パーツを数回に分けて打ち上げて、軌道上で組み立てることが多い。

シミュレーションなので限界はあり、低軌道にいても数ヶ月で落ちる、といったことはないし、他の天体との摂動もないけれど、  惑星や月を利用したスイングバイ(加速、減速)をおこなえたり、ミッションについては現実の開発っぽい実装が追加されている(資源探査、燃料採掘、地球近傍小惑星)。
 なので、内容については今後のアップデートが期待できる。
MODもたくさんあって、いろいろな機能拡張ができるけど、最低限だと組立中のロケットの⊿Vを計算してくれるKERや、自動制御を可能にするMechJebなどはおすすめ。





宇宙での移動は結構大変だなぁと、マニューバーポイントまでゲーム内時間を早送りしていると思う。


SpaceXの再利用ロケットごっこ

Kerbal第二の月にて
MODで海と大気の描画を綺麗にしてみた


2014/06/19

開局申請


 無線沼に足を突っ込んで4年。今までは広帯域受信機しか持ってなかったので衛星聞き専だった。3アマは持っていて、社団局に参加しているので衛星地上局の操作資格はあるものの、受信報告をしてみたりすると、やはりコールサインが欲しくなる。
 今回は開局を行い、その過程をまとめてみた。 果たして、無事人間地上局になれるのだろうか…

(コールサインはJI1DODになりました。 再割当て番号ですね)

システム利用登録


アマチュア無線の開局申請は、謎のキャラクターが生息する総務省の電子申請・届け出システムLiteというサイトからオンラインで行うことができる。 電子申請なら申請手数料が割り引かれるので使わない手は無い。なおシステムの利用登録には、住所宛に届くハガキに書かれたパスワードが必要になる。 

申請手続き


無線機の諸元が必要となる。無線機を買うお金が無いのも開局を渋る原因だったけれど、幸運なことに中古で状態の良いデュアルバンド機(TH-79)を入手できた。 見つけた時にその場で検索して、諸元を確かめる。古い機種だけど技適機種だった。 乾電池運用ができる。

申請の記述では、技適機種として付帯設備なし、10W以下の移動運用とした。 古い機種のため取説に古い様式が載ってたり、申請に使う電波の新形式にちょっと手間取った。 書式の情報を探す過程で、すこし歴史を垣間見た気がする。

審査通過


変なことは書いてなかったようで、2週間ほどで審査が通った。申請料を振込み、免許状送付用の封筒を投函する。 ペイジーはゆうちょのATMから現金で支払った。更に1週間で手元に免許状が届いた。
少し遅れて、電波利用料の振込の案内も届く。 アマチュア無線なら年間300円だが、 人工衛星の欄をみると、放送衛星用区分もあるからか、電波方式によってはかなりの額になっていて興味深い。

TH-79はデュアルバンド機で、最低だと30mW出力が選べる。 最大5W出せるそうだが、果たして最大出力で使うことはあるのだろうか…。
 海外サイトで拾った回路図を眺めると、アナログ度が高く勉強になる。 

AFSKやPSK31など、デジタルモードを追加する場合、付帯設備となるので技適を外れるが、出力10W以下の場合は、開局後であれば変更申請だけで済むとの情報があるので、やってみようと思う。 衛星に頼らない自局設備のテストなどから少しずつはじめてみたい。

2014/06/15

破損したLi-Po充電池の後始末

割とお手軽に買えるけど管理が厄介なものは意外とあって、筆頭はリチウムイオン充電池ではないだろうか。
気が付くとラミネート型のLiPoセルやリチウムイオン(LIB)が幾つか転がっている。 個人的には2010年あたりに買ったものが多い。

Li-ion/LiPo系の充電池は、過充電やセル破損、短絡により急激な反応が起こると膨張、発煙が起こり、最悪発火するリスクが存在する。 最近は輸送にも制限がついたりしてきて、なかなか扱いに困ることが多くなってきた。
  手持ちの電池では気をつけていたが、外装が破損したものがあって、気が付くとパックが膨らんでしまった。



まだエネルギーは相当残っていて、そのまま捨てると発煙してしまうかもしれない。完全に放電させる方法を調べると、ラジコンの世界では塩水に漬けて放電させるらしい。

セルの電極が塩水に浸かることを確認して、そのまま塩水に漬けてしまうのがよさそうだ。

満充電に近いため、あまり活発に反応されても困ると思い、念のため大半のエネルギーは電子負荷に接続して放電させた。 電池パックは保護回路が付いているが、放電時にはセルの電極を直接接続する。放電レートは電圧が2Vを切った時点で限りなく下げる。 完全放電させることは難しく、電子負荷を切り離すと、数十分で電圧が2V程度まで復活する。



容器に塩を溶いた水を入れ、中にセルを沈める。 電気分解による気泡が出てきた。
このまま1週間ほど漬けておいたところ、気泡も出なくなっていた。

ひとまず廃棄に進めそうだ。

LiB管理においては、保管を管理し、異常事態になったら投入できる金属缶を用意しておくと、万が一の事態にも対処できて良いと思う。

先ほどのバッテリは、もともとSpinnerの制御系電源に使っていたが、モーター駆動としては放電レートが向いていなかった。500mA程度が精一杯で、それ以上流そうとすれば電圧降下が大きすぎる。 そのためモーター系はエネループで駆動させていた。

 個人的にはエネループでほとんどの用途が間に合っている。 直並列を加減して必要な電圧/容量のバッテリを組めるのは便利だ。 もうすこし消費電力が大きいものを作るなら、ラジコン用のバッテリと充放電器を揃えようと思う。

一度きりの使用で本気を出すなら、割とチート性能なリチウム乾電池を使うことにしている。 軽量で、動作温度範囲が二次電池よりはるかに広い。 値段も結構するけれど、最近はスマートフォンの充電用か防災枠かわからないが、コンビニでも普通に見るようになった。 (長期保存が可能なのも特徴の一つ)

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のキャリアを生成することにも使えますね。

2014/01/26

新PIC32

 PIC32MZという新製品が出ています。 (製品出荷は14年春頃のようですが)

 MIPSコアが M4K からM14kになり、200MHz動作で330DMIPSとあります。
個人的に最近MIPSアーキテクチャに興味があるので、ヘネパタ本読もうと思って色々な文献を漁っていました。 ここ10年で世の中はすっかりARMになってしまいましたが…。
 
 コアにはL1キャッシュが内蔵され、DSPなどが統合されています。周辺回路もUSB2.0ハイスピード対応や、12bit 28MspsのADC、高速FlashメモリIFなどなど。IoT向けに暗号エンジン内蔵モデルもラインナップされています。

 てんこ盛りな割に、PIC32MZは64/100/144ピンQFPパッケージ(ただし0.4mmピッチ)が用意されていて、ギリギリ手付けも可能というのがDIY寄りで面白そうな点です。

データシートのDC特性の欄を読むと、L1キャッシュが消費電力の20%を占めていることがわかったりします。(デフォルトではキャッシュ無効)


年末発注してあったPIMを入手したので早速試してみました。クロック源はクリスタルではなく、24MHzのOSC(MEMS?)が実装されていました。

サンプルプロジェクトは、microchipのPIC32用 Harmonyフレームワーク(β版)をインストールして、exampleを元に試しています。
 クロックの設定は資料のConfiguration-Bit Settingsを参考にしています。 

 LチカついでにGPIOの速度を見てみようと思い、何MHzでHigh/Lowできるか確かめてみたところ、20MHz出ているのをロジアナで確認しました。
 FreeRTOSの導入まではフレームワークのサンプルをECH100用に修正して動作確認できています。

ROM領域は広い
これだけRAMがあると、なんでも出来そうですね。
なおエラッタリストを眺めると手元のA3リビジョンは目玉となる機能の幾つかが使用不能だったり、I2Cがややこしいことになっていたり、スリープモードが怪しかったりするので注意が必要です。

 半年気付かなかったのですが、PIC32MXも新しいデバイスが追加されてます。
3XX,4XXシリーズに新製品が追加されていて、

・クロックが100MHzに上がり、RAMも64kBまで増加
・Peripheral Pin Select(PPS)、I2S、CTMUが追加。UARTのch数増加
遅れて登場した小ピンのPIC32MX1XX/2XXと同じ特徴を備えて、追加と改良が入っています。 

 特にPPSは、64ピンパッケージだとシリアル出力でUART,SPI,I2Cがchが重複するため、取り出せない組み合わせが多くもったいなかったので便利そうです。 

4月追記
 28pDIPパッケージでおなじみの1XX、2XXにも、RAM64kB品が追加されていました。
 新しいデータシートが出ていますね。
  http://ww1.microchip.com/downloads/en/DeviceDoc/60001168F.pdf


参考

PIC32 http://www.microchip.com/pagehandler/en-us/family/32bit/

MIPS microAptivコア採用で性能3倍に、マイクロチップの新型32ビットMCU
http://ednjapan.com/edn/articles/1311/22/news065.html

マイクロプロセッサ・アーキテクチャ入門
http://www.cqpub.co.jp/hanbai/books/33/33311.htm

MIPS M4k http://www.imgtec.com/jp/mips/mips-m4k-hardip.asp
MIPS M14k http://www.imgtec.com/jp/mips/mips-32-m14k.asp
 

電波時計モジュール(1) JJYブザー


aitendoの電波時計モジュールを入手してみた。 
 http://www.aitendo.com/product/5029

40/60kHzのシングルバンド版と、デュアルバンド版が取り扱われている。今回は40kHz版を入手。

 モジュールはMAS6180Bという受信ICがコアで、このICは時刻電波信号を増幅/復調し、コンパレータでバイナリ出力する。 JJYのタイムコードをそのまま出力するので、時刻データを取り出すにはデコードすることになるようだ。

モジュールのデータシート
http://www.mas-oy.com/uploads/Data%20sheets/DAEV6181B1COB.pdf
IC(MAS6180B)
http://www.mas-oy.com/uploads/Data%20sheets/da6180B.pdf

基板から出ている端子には短いシルク印刷がある。

 V  :電源
 G  :GND
 P2 :制御ピン2
 T   :パルス出力
 P1 :制御ピン1

 P1とP2の論理で、モジュールの電源断、40/60kHz切り替えができる。
 実装されているのが40kHzだけなので、この場合2つともGNDに落とす。

 ネットで見つけたモジュールのデータシートと比べると実物は色々実装が変わっていた。
 AON というAGCの制御ピンがあるが、ピンヘッダ配列には出されていなかった。

 とりあえず、信号出力をトランジスタを介して自発振ブザーに繋ぎ、タイムコードを耳で聞こえるようにした。 電波時計人間が目指せそうだ。 
 PC付近はノイズのせいか1Hz以上の断続音になり壊滅状態で、窓際じゃないと難しそうな様子だった。
 見晴らしの良い場所だと1Hzごとの信号が聞こえる。

JJYのタイムコード
http://jjy.nict.go.jp/jjy/trans/#item1

消費電流も動作時で数十μA程度しかないとあるので、電力が限られていて、屋外でGPSが必要ない用途には良いかも。

2014/01/24

SDRで衛星追尾するときに嵌った点

お正月は430M帯QFHアンテナの3代目を作り(前記事)、PC上のSDR#で衛星のCW信号をずっと追いかけてました。アンテナはそんなに問題なかったものの、ソフトウェアの設定で最初手こずっていたので少しまとめました。
PRISMのビーコンをドップラーシフト補正でとらえたもの。 アンテナは秋月のモービルアンテナ
SDRはハードウェアも安価で、USBでPCにつなぐだけなので入門しやすいですが、ドライバ設定や個体差のキャリブレーション、受信設定についてはユーザー任せです。
 ソフトウェアも自由度が高くアップデートが頻繁にあるので、できれば手元には問題切り分けのためにちゃんとした無線機/広帯域受信機が一台あって、慣れ親しんだほうがやりやすいでしょう。 
 
今回使用した機材
・Funcube Dongle pro+
・RTL-SDR (2種類)
・DJ-X11(確認用)

アンテナ
・145/430モノポールアンテナ 秋月
・自作430M帯QFHアンテナ

復調
・SDR# v1.0.0.1145

FCDやRTL-SDRを認識し、復調できるソフトウェアは幾つか種類がありますが、最近はもっぱらSDR#を使っています。必要な機能が揃っていて導入も簡単です。 プラグインでDDE経由のドップラーシフト補正もできます。 入れるときはStable版ではなくDev版の最新バージョンにしましょう。 周波数合わせがマウスだけで出来ます。 
 最新開発版を追いかけてインストールしていると、結構挙動が変わって混乱します。 インストール不要なので、設定確認のために古い環境も残しておきましょう。

ドングル側のドライバ設定


 ここでは周波数校正値の設定ゲイン設定を確認します。 

 SDR#では、ドングルを接続し選択した状態でConfigureというボタンを押すと、各種ドングル向けのドライバ画面が出てきます。

 とりあえずゲイン設定です。FCDのIF Gainの欄では最大で30~50dBまで設定できます。 最初はできるだけ上げていたのですが、これは失敗でした。 ノイズフロアも上がってしまい、信号が埋もれてしまっていました。 混信もあり、過大入力になって信号レベルが大変動するので良いことがなかったです。
 
 私の環境では固定の全方位アンテナを使っていますが、Funcube Dongle Pro+ではIFゲインを25~30程度にすることで、衛星の信号をよく捉えられるようになりました。 秋月アンテナでも十分な感度があります。
 
 衛星だと地上局設備のような多素子アンテナにつないだ場合はアンテナゲインが大きいので、LNAも切って、ゲイン設定はできるだけ下げたほうが良さそうです。

 信号が見えたらハードウェアの周波数校正をします。設定周波数はハードウェア毎に個体差があり、実際に基準となる周波数を受信してみて合わせるのが確実です。 たいてい数kHzずれています。 衛星の信号はドップラーシフトも加わるため、ずれていると発見が難しくなります。

Config画面でppmを入力して合わせます。 手元のFuncubeDongle Pro+は0~3ppm、RTL-SDRは製品差が大きく、25~40ppm付近でした。

 RTLSDRの場合、水晶の温度ドリフトの影響が大きいという報告があり、せっかく合わせても自己発熱でずれていっていしまうようです。 SGにつないでCWで聞いてみると、時間とともに周波数がずれていくのが直接観察出来ます。
 改造例としてドリフトの少ない水晶や、TCXO(温度補償型)に換装する例もあります。

 その点では、FCD Pro+は少し高いですがTCXO搭載であり、ドライバ不要で使えるのでハードルが低いです。 観測帯域が192kHzで十分であればおすすめです (アマチュア衛星には十分です)。

Funcube Dongle Pro+ のconfig画面
RTL-SDRのConfig画面 AGC設定が多い
バージョンを移したら見直しと設定しなおしが必要になります。
 あと、USBポートを変えたりしてドライバが再インストールされると、Configの設定が初期化されていることがあるので毎回確認しましょう。

 本格的な校正には既知の信号源が必要ですが、無線機が手元になければ、SGを借りたり、目的の周波数帯付近に出ている局を探してだいたい合わせます。ACARSや航空管制で事前に周波数校正をしておけば、信号を聞くには十分だと思います。

SDR#上の設定


SDR#を開いてドライバ調整、受信まで出来たら、細かい設定を見なおしてみます。

左の設定画面で重要な点です。

Radio 欄
・復調形式 : 形式にあわせます
・帯域フィルタ設定欄 : ここで数値を入力したり、WF画面上でマウスドラッグでも設定可能です。
              SDR#のCW帯域は手動で最低10Hzまで絞ることができます。
・Squelch スレッショルドdBを設定しておけば、スケルチが効きます。
・ステップ数 : 何Hz飛ばしでシークするか設定できます。 細かく合わせられないと思ったらここを疑います。
・Correct IQ : SDRは中心周波数に機器由来のピークがでますが、これをカットしてくれます。
Swap I & Q : I/Qのチャンネルを交換します。 これを間違えると周波数帯域が反転しているので、中心周波数で合わせると見えるのに、端では見えないという現象が・・・ 結構やられました。 FCD Pro+では反転させます。

 同じ周波数を聞いているかどうかを確認するために、ハンディ受信機/トランシーバーがあると心強いです。

FFT Display 欄
・Resolution : CWなど微小な信号をWF(ウォーターフォール)画面で観測するなら重要です。初期値は4096段階ですが、CWを見ると分解能が足りなかったです。 PC性能と相談して32768程度まで上げました。

Frequency Manager 欄
 幾つか周波数を登録しておくと楽です。

Recording 欄
 記録形式は、復調した音声波形の記録と、BaseBand(I/Qデータ)をそのまま記録するモードの2つがあります。I/QデータはSDR#で記録時の中心周波数起点の帯域幅すべてを再生できるため、帯域内であれば、周波数を合わせ直して好きな形で復調することができます。 ファイルサイズはかなり大きいので気をつけましょう。
 RTLSDRはConfigで帯域幅を絞ればファイル容量が減ります。 複数同時観測しないのなら、1Msps以下に絞っておいて良いと思います。



とりあえず羅列してみました。

 調整が済んでいれば、ゲインの低い全方位アンテナでもビーコン信号なら比較的楽に見つけられます。 実は秋月で売っているハムバンドアンテナでもCWなら強力に見えて、条件が良ければFMパケットをデコードできることがあります。

  衛星の飛来時間は変わっていくので、あとはいかにパスを逃さず受信できる環境を整えるかという問題になります。 ということで自宅ではSDR受信機を屋外設置して、ネットワーク経由でPCとつなげています。


 これは最近上がったPocketQube規格の衛星、Eagle2のRTTYです。 全方位アンテナでもよく聞こえました。100ボーのFSKを視認できます。 この衛星の通信機は1個800円で買える100mW出力のRFICなので驚きです。

 宇宙界隈は今年も忙しくなりそうです。

Cubesatで使われるPC/104規格

海外のCubeSatはCubeSatkitの系譜で、PC/104規格の基板を採用している例が多い。

PC/104とは小型の産業用ボードコンピューターの規格のこと。デスクトップPCのマザーボードとして一般的なPC/AT規格との違いとして、PC/104は計測、制御、通信インターフェース等を増設するために、縦に基板を積み重ねられるようになっている。

 基板同士は連結ピンソケットを介して繋げられている。
 元々はPCのISAバスを連結するためのもので、規格名も104ピンのコネクタを使うことから来ている(らしい)。 現在はISAバスを使うものは少ないので、PCIバスを連結するものが多く、こちらはPC104-PCIやPCI104と呼ばれ、ISAバスとは別に基板間コネクタが指定されている。 PC/AT規格のマザーボードのように、ネジ穴、基板間コネクタの位置が規定されている以外は比較的自由で、様々なコネクタが横からつきだしていたり、製造元やアプリケーションごとにかなりバリエーションが見られる。

Pumpkin社のCubeSatkitは、PC104ボード資産を活かせるようにしつつ、主要なコネクタ接続にはPCI信号のコネクタを使用している。 規格準拠の独自ボードはISAのコネクタを実装しないものが多い。基板外形は上手いこと1Uの構造外形に収まるようになっていて、欧米の大学衛星ではほとんどデファクトスタンダードとなっている。
 過去には、PC/104規格の産業用ボードコンピュータをそのまま搭載した例があったが、最初からCubeSat用に作られた基板のみの場合が大半と思われる。
 
CubeSatkit サイト
http://www.cubesatkit.com/

PCB外形
http://www.cubesatkit.com/docs/CSK_PCB_Spec-A5.pdf

 打ち上げ機会の増大により、参入、開発期間/コストの削減、信頼性の向上要求が増大している。   ただ、基板の規格はあくまでベースなので、分業体制を構築できないと特定企業のフルセットを購入しない限りメリットは薄そうだ。 日本では採用した所ってあるのだろうか…。

(番外編) Original Standard (オレオレCube規格)


本格的な利用は置いといて、自分で作る基板も何かしらの規格化を行っておくと後が楽になりそうだと思い、これまでも趣味でPC/104もどきな構造を入手しやすいユニバーサル基板をベースに作ってきた。 
 汎用を求めすぎて全体設計に失敗する段階にあった頃の自分は、とりあえず制約条件として、CubeSatみたいに、立方体のスタック構造で機能を分けて作ってみよう、程度の動機で始めたのだが…。

PC/11(仮)


 これはユニバーサル基板(UP-204GSR)をスタックするために作ったもの。 この基板を、10mmスペーサと標準的な連結用ピンヘッダで連結して立方体をつくると、ちょうど東急ハンズで購入できる50mmのプラスチックキューブに収めることができる。ピンヘッダ1列で11ピンなので、PC/11。 ちょっと足りないので2列(22ピン)ほしいなぁと作ってから思った。
規格に沿って製造したものとして、データロガー基板MORIKAWA_LOGがある。

PC/40(仮)

立方体教へようこそ

最近目をつけたのはB基板。95x72mmあるので、評価基板やブレイクアウト基板を載せて、余裕のあるブレッドボードモデルが組みやすい。 PC/11では屋外で機能評価するにはなにかと窮屈すぎたので、こちらはモニタリング用のセンサやIFを組み込む余裕を見込んでいる。ネジ連結なので強度の余裕もある。

連結用ピンソケットは40ピンタイプを使った。 ピンソケット同士を連結すると、10mmの連結スペーサでは高さが足りないので、調整のためすべてワッシャを嚙ませている。

わざわざ72mm角の正方形に基板を加工しているが、見た目にこだわってしまっただけなので、立方体縛りがなければ外形加工せずそのままスタックするほうが明らかに便利だろう。 そうして脳が規格化に縛られ始める…。

PC/11 実装例

PC/40 実装例
 スタック型の基板にはひとつ欠点がある、それは一度組み上げると真ん中の基板にアクセスするために、全部ばらさなければならないということ。 規模が小さいうちは良いのだけれども…
 構体がある程度大きくなってくると、基板を固定するパネル構造を取り外し可能にしたり、井桁構造に組み付けるほうがメンテナンス性が良くなる。


某計画で圧力容器内に設置するために制作した構体の初期案。 よくあるスタック型。
一応各階ごとに分離することはできたが、電装ハーネス処理を考えてなかったのでボツになったもの。 構造はMDFで、ホームセンターの加工サービスを利用。

Ver:2 大型のバッテリを中央の柱状空間内部に配置。 取り外し可能な板を4面に設置して、ネジ付きスペーサーで固定できるようにした。 基板や記録装置を4枚の板に組み付けて固定する。 柱と板の間に隙間があるので、電装の引き回しもしやすい。