【STA25】SDログ仕様備忘録<デバイス6個を3ファイルで保存1分間で1MBたまる>

STA25期限が迫っていますが、プログラム作りで1か月遅れてますので、雪解けが危ない状態になってます。
最悪春スキーのアライに行って測定することになるかもしれません。

●3ファイルのデータ項目

データ項目
base_MM_dd_hh_mm.bin NAV-PVT,NAV-SAT,NAV-RELPOSNED
572~1132byte(100byte+400~960byte+72byte)
周期120msec
rov_MM_dd_hh_mm.bin NAV-PVT,NAV-RELPOSNED 172byte
周期120msec
BA_MM_dd_hh_mm.bin ADS1CH,ADS2CH,yaw,pitch,roll,

ax,ay,az x2個分 CenterとTopにBNO085を設置します。
BNO085が周期10msec
ADS122U04は、2.6msec

これらをリアルタイムにログしてモニター情報をBlueToothでながします。モニターの周期は1秒に一回にしました。余計な仕事なので
できるだけ軽くする方針です。STA24以前は、モニタで凝った情報を計算していたのですが、ST25からは、後処理をPythonでやるので
バイナリーの生データさえSDカードに保存されていればPythonで自在に処理できるので、マイコン側の処理プログラムを軽くする方針に変えてます。
●容量は、1分間で1MByteログがたまるのです。スキー1本で20分くらいで20MByteと大きなファイルになります。

●フォーマット

 

●プログラム備忘録
①BNOとADSデータの同期
ADSのサンプリング1200Hzでサンプリングしてますが、2CHを切り替えながらAD変換しているので、
実質380Hz 2.6msec周期になります。しかも±1msecほどばらつくので、BNOと同期をとるのが大変になります。
そこで、BNOの10msecを基準にして、BNOが10msecになった時点でのADSの保持データをその時点でのひずみ値と
することにしました。ADSのサンプリング誤差は、±2.6msecでます

 

●プログラムソース
複数タブでプログラムを見やすくしました。ライブラリーとして.hという名前をつけてます。
しかし、SD書き込み、割り込み処理部は、メインにいれておかないと動作しにくいのでメインが大きいです。
STA25_BASE_SD_BNOx1_0853_rev06

●以後
Roverは、未だ取り付けてないので、配線します。全体の同期をTimePulseで行うのですが、後処理で同期させたほうが
マイコン側の処理負荷が軽いので、どうやるか工夫します。1月中に3Dプリントケースと防水センサケースを開始して
2月末までに、テスト滑走しようと思います。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です