M5シリーズの性能を目一いっぱい使って、自作基板回路を最小限にして左右クランクからの無線データをM5Stackでまとめて受信ログしてコントロールするパワーメーター開発用システムの試運転成功しました。昨年は、左右クランクの同期がずれてしまって、同期を合わせるだけで数か月かけてしまったのですが、今回は、1発できれいにでました。昨年の学習効果が役立ちました。センサからの無線送信をXbeeを卒業してESP-NOWの乗り換えたのは正解でした。
●ハードシステム構成
左右クランクはM5Stickにひずみゲージ用計装アンプを取り付けただけのシンプルな構成ですが、電池だけモバイルバッテリーと大きなものを使ってます。計測用実験システムなので、12時間通電していても計測できるように大容量電池にしました。
左クランクは、側面にM5Stickをアルミ板で固定、モバイルバッテリーの薄型をクランク裏面いっぱいに配置しました。
●上死点、下死点センサ
シートチューブのボトルゲージ位置に9軸IMULSM9DS1の磁気センサを使って、
1個のセンサで、左右の上死点をセンシングします。この信号を母艦M5Stackのピン割り込みに入力して、割り込み発生の瞬間に左右クランクのM5stickへ同時送信(ブロードキャスト)して、左右踏力の上死点位相合わせを正確に行います。
クランクのペダルネジにネオジマグネットをとりつければ7cmくらい離れていても感度よくクランク位置を検出できます。しかも左右が区別できるので、リードスイッチよりすぐれものです。
LSM9DS1の出力からエッジ検出するのは、サドル裏基板システム流用しました。これは、4cHひずみゲージ計測用基板ですが
IMUも2個とりつけできるようになってます。この基板からM5StackのGPIO36にHILO信号線いれました。
●計測システム構成
母艦M5StackBasicをフルに使ってまとめました。
①計測システムのイニシャライズから、ログ終了まで、M5Stackの3個のボタンで操作できるようにしました。
➁左右クランクトルクデータ無線受信(同時2Ch受信)
=>ESP-NOWを採用したので、超簡単に同時受信できました。
③SDカードへのファイル記録、NTP経由タイムスタンプでファイル名生成
=>計測では、頻繁にいろいろな条件で膨大なデータを計測するので、自動的に
タイムスタンプ付きのログファイルができるので便利です。しかし、PocketWIFIが
必要です。
計測前にPocketWiFiからNTPデータを取得するようになってます。
★前回M5StackのSDカード書き込み速度20msecと遅いという記事を書いたのですが、
リアルタイムで記録するモードでの速度ばらつきを測定していたので、バッファが頻繁にはいるとリアルタイム的には遅延するからですが、今回は、送信データにタイムスタンプをつけて、リアルタイムでなくてもデータとして使えるようにしてあるので、8msec周期で子機M5StickC2台から母艦M5Stackへ同時に送信しても、データの欠落は発生しませんでした。しかし、データの二度読み、上死点割込みがはいった時に左右データ順が狂う現象が発生します。受信データを直接グラフ表示するには、データ順序を整理するアルゴリズムが必要なことが判りました。
準備ができたらMeasurementモードにいって、計測ログ開始します。
真ん中のボタンをおすと、データカウントゼロから計測スタートします。
ログはSDカードとUSBシリアル出力でPC同時記録できます。
●試運転でのデータ
茶色縦線が左右上死点線ですので、トルクカーブ(未だ校正してない)と上死点線の交差位置がトルクのゼロ位置からずれてますので、上死点位置でも踏力ゼロにはなってないことがわかります。しかし、上死点から±45度区間は、クランクの非線形性がでるので、後日上死点補正をいれます。クランクの上死点の非線形問題は昨年解析しました。
私の踏み方は左右差が大きいことが判ります。パワーメーターもW数だけでなく
波形を可視化することで、踏み方の観察ができます。
●以後
昨年は、CPUのクロック精度、Xbeeのデータ落ちと遅延と同期信号をブロードキャストできなかったので、左右トルク波形位相精度自信がなかったのですが、今年は、ほぼ理想的な計測ができたので、きれいに左右位相がそろっていて、昨年より進歩したことを実感いたしました。来週からシートチューブとクランクトルク波形の相関解析できそうです。パワータップのANT+でデータ収集する機能もつけようと思います。
更に、サドル基板の4cnデータで、シートピラーの曲げモーメントをいれたり、rtkgpsのデータ、風速センサのデータを総合
して、パワーと一致させて管理できるパワーマネジメントメーターが2020年こそ実現したいです。