Skip to content

in_Japanese

fenrir edited this page May 6, 2021 · 19 revisions

(日本語版です。一次情報はその他の英文を参照してください。)

はじめに

ちょっとすごいロガー (NinjaScan-Light) はとても小さい (1.0 x 1.4 インチ、おおよそ 26 x 36 mm) の動き計測を主としたロガーです。3軸加速度、3軸角速度、3軸地磁気、位置、速度、気圧、気温を記録することができます。

ちょっとすごいロガー は、以下の部品によって構成されています。

  1. USB接続機能を備えた Silicon Laboratories C8051F381マイコン
  2. u-blox社製 NEO-6シリーズGPS受信機
  3. 6自由度(3軸加速度、3軸角速度)の慣性センサのInvensense社製 MPU-6000 (ver.1)、またはInvensense社製 MPU-9250 (ver.2)
  4. 3軸の地磁気センサのFreescale社製MAG3110、またはInvensense社製 MPU-9250 (ver.2)
  5. 大気圧および温度センサのMeasurement specialties社製MS5611
  6. Li-Ion電池の充電機能を備えたLinear Technology社製パワー管理ICの LTC3550
  7. MicroSDHC、およびFAT32をサポートするMicroSDソケット

ちょっとすごいロガー は上に挙げたデータをMicroSD上のlog.datというファイルに保管します。そのファイルの内容はLogFileのページを参照してください。

現在の進捗

  • 2015/10/30 ちょっとすごいロガーが非公式ですが スイッチサイエンスから買えるようになりました(本体のみもあります)。
  • 2015/3/27 Google Codeが閉鎖される予定とのことで、githubへの引っ越しをしました。
  • 2015/1/10 ちょっとすごいロガー2 (別名 NinjaScan-Light2NinjaScan-Light ver.2)をリリースしました。ちょっとすごいロガー2 は、これまでの ちょっとすごいロガー のMPU-6000とMAG3110の組み合わせを、MPU-9250単体に置き換えたものです。ちょっとすごいロガー2 の使い方は完全に ちょっとすごいロガー と同じです。
  • 2014/8/26 弟分のもうちょっとすごいロガーが非公式ですが @ina111から買えるようになりました。 (2015/7/3)販売休止
  • 2014/4/29 Raspberry Pi用ツールを追加しました。
  • 2014/4/19 ちょっとすごいロガーの弟分である、もうちょっとすごいロガーを公開しました。
  • 2014/4/3 ちょっとすごいロガーを無線と組み合わせて使えるようにしました。下の大まかな使い方の8番目を見てみてください。
  • 2014/3/26 ちょっとすごいロガーが非公式ですが @ina111から買えるようになりました。 (2015/7/3)販売休止
  • 2014/3/7 githubでも公開をはじめました。githubのmasterブランチのHEADは r135に対応します 自動更新で最新版に対応します。
  • 2014/3/3 upverterというサービスで回路図やレイアウトを見れるようにしてみました。
  • 2013/11/1 完成しました!
  • 2013/10/25 Silicon Laboratoriesによって、USBのProduct ID (PID)が ちょっとすごいロガー 用に割り当てられました。r106の変更で反映しています。

おおまかな使い方

  1. FAT16/32でフォーマットしたMicroSD(HC)を _ちょっとすごいロガー_のMicroSDソケットに挿入してください。
  2. _ちょっとすごいロガー_の電源を入れましょう。2通りの電源をサポートしています。1つはJST-ZH (CON1)に接続した1セルのLi-Ion電池です。もう一方はUSB micro-B (CON2)によるUSB電源ケーブルを使った給電です。USBケーブルを使ってPCと接続する場合、電源のみを供給し、データ通信を行わないケーブルを使用してください。そのようなケーブルがなくとも、USBケーブルで接続するタイプのバッテリを使うのが簡単です。
  3. ログを自動的に取り出します。LED3で動作状態をチェックできます。正常に動作していれば、LED3が3度チカチカ点滅する動作を約10秒おきに繰り返します。
  4. _ちょっとすごいロガー_の電源を切ってください。MicroSD(HC)にはlog.datというファイルができているはずです。
  5. MicroSD(HC)リーダーがない場合も大丈夫です。MicroSD(HC)を ちょっとすごいロガー に挿入したまま ちょっとすごいロガー をUSBケーブル(データ通信も行うもの)でPCと繋いでみてください。 ちょっとすごいロガー がディスクとして認識され、MicroSD(HC)の中のlog.datが読み込めます。
  6. Li-Ionバッテリの充電器をわざわざ用意する必要はありません。Li-Ionバッテリを _ちょっとすごいロガー_につないだまま、USBケーブルからも ちょっとすごいロガー に給電することでLi-Ionバッテリが充電されます。バッテリが完全に充電されるとLED2が消えます。
  7. ちょっとすごいロガー をPCのセンサユニットとして使うこともできます。MicroSD(HC)を挿入しないで _ちょっとすごいロガー_をPCとUSBケーブル(データ通信もできるもの)で接続してみてください ちょっとすごいロガードライバファイル(inf)を使うことでシリアルポートとして認識されます。そこにはUSBSerialDumpFormatで定義されたセンサデータがリアルタイムでPCに送られます。
  8. ちょっとすごいロガー をXBeeなどの無線でモニタすることもできます。テレメトリ用のデータがCON3の9番ピンに引き出されたMCUのUART1 TXから送信されています。送信されるデータはUSBSerialDumpFormatのフォーマットに準じ、その内容は間引きされたA, P, Mページ、およびNAV-SOLのみで構成されたGページです。UART1のスペックは 9600 bps(変更可, ファームウェア 1.0 参考)), 8-bit, no parity, 1 stop bitであり、信号のH/Lレベルは 3.3V / 0Vです。CON3の2番ピン、および4番ピンは、9番ピンに引き出されたUART1 TXと組み合わせて使うことができるGNDです。 CON3の3番ピンは無線のVCC(+3.3V)として使うことができます。

動作モードも参考にしてみてください。

基板

ハード

Ver.1 Rev.A基板の写真

Ver.1 Rev.B基板のアートワーク

基板をデザインしたソフトであるEagleCADのデータファイルとして、ver.1 回路図 ならびに レイアウト、およびver.2 回路図 ならびに レイアウトを公開しています。必要となる部品はBOMにまとめてあります。基板のデータはCreative Commons 3.0 BY-SAのライセンスで公開します。

ソフト

ハード上で動くソフトをビルドするにはsdcc (テストはsdcc ver 3.3.0 #8604にパッチをあてたものを使っています、ビルドスクリプト参照)をインストールして、ダウンロードしたコードの"firmware/ver1"、または"firmware/ver2"(ver.2のとき)、ディレクトリで"make"してください。NinjaScanLight.hexまたはNinjaScanLight2.hexというファイルが生成されます。これらのコードはChanさんのFatfs FATファイルシステムのコードを除いて、New BSD Licenseで公開します。公式のビルド済みバイナリはgithubのreleaseにあります。

ソフトをハードに焼きこむ方法

ちょっとすごいロガー のハードをPCとUSB debug adapter (UDA)、またはその互換品を使って接続してください。最低限、以下の表にあげた接続をしてください。その後、Flash Programming Utilitiesを使って書き込んでください。UDAはUSBハブを介さず、直接PCと接続することをお勧めします。

信号名 UDA側 ちょっとすごいロガー
C2D 4番ピン CON3 5番ピン
C2CK 7番ピン CON3 6番ピン
GND 3番ピン CON3 4番ピン

おまけツール

ちょっとすごいロガー によって記録されたlog.datを解析するためのおまけツールを2つほどつけておきます。1つは log_CSV で、可読性のあるCSVテキストフォーマットにログデータを変換するものです。もう一つは log2ubx でGPS受信機からのデータに関連する部分のみを読み出し、UBXバイナリフォーマットに変換します。 ツールのソースコードNew BSD Licenseで公開します。

(17/Jun/2015 更新: 別のツールとして INS_GPSがありますが、現在実験的に公開しています。上級者向けですが使い方はINS_GPS.cppの中に書いてあります。 INS_GPS のコードの一部は GPL ver.3 で公開しています。)

Windows用バイナリはリンク先のwindows.master.zipに置いておきます。使い方は以下の例参照。

# Aページ情報をlog.datから標準出力にCSV形式で出力します
> log_CSV.exe log.dat --page=A 

# USBで接続されCOMxとして認識されたNinjaScan-Lightから、Aページ情報を標準出力にCSV形式で出力します
> log_CSV.exe COMx --in_sylphide=on --page=A

> log2ubx.exe log.dat # log.ubxファイルをlod.datから生成します。

# USBで接続されCOMxとして認識されたNinjaScan-Lightから、ubx情報をCOMyに出力します
> log2ubx.exe COMx --in_sylphide=on --out=COMy

最後の例では、ソフトウェアnull-modem(たとえばcom0com)と組み合わせて使用すると便利です。

RaspberryPi用のバイナリはリンク先のraspi.master.tar.gzです。使い方はWindows版とほぼ同じですが、以下の点が異なります。1) 拡張子は.exeではなく.out、2) COMxではなく/dev/ttyACM0、3) /dev/ttyACM0を引数に伴うときはsudoでの実行が必要です。