【パワーメーター2019】左右ズレの原因は無線通信系か?<ADCはOK>

クランク角度で左右差をみた結果、マイコンタイミング系の誤差と絞れたので、左右に割り込み周期バラツキを測定してみました。

●オシロ画像(Xbee通信オフ)
右クランクの割り込み内にDigitalWriteを仕込んでオシロでタイミングをみてみると9msec割り込みなのに10.8msec±50μsecくらいのタイミングになってました。


左クランクのタイミングは

9.04msec±20μsec程度で割り込みがかかってました。
左右を合わせるために左クランクに1780μsecDELAYをいれて調整してみました。

10.78msec±20μsec程度で合わせてみました。

●周期合わせして、左右波形測定したら
折角周期をそこそこ合わせたのですが、結果は何の効果もなく
4秒後には、重なってしまいました。

●3.6秒で4%の累積誤差が発生する計算
9msec周期の4% 360μsec誤差をいれれば上記現象が
発生する計算になりますが、静的状態でオシロで計測した限りは数十μsecの誤差しか確認できてません。

 

●タイムスタンプはどうなのか
μsec単位で左右のタイムスタンプを転送して累積誤差をみました。誤差が9000~11000μsecもあって、±1000μsec振れてますが累積しても±相殺されて10msec以下しか累積誤差がでてませんでした。

●タイムスタンプを時間軸で左右波形描くと
累積誤差が少ないタイムスタンプを時間軸に採用してグラフを書くと、エラーが11秒後に発生する前の10秒間がズレが発生してませんでしたので、タイムスタンプなら周期誤差が大きくでてないということになります。

●整理すると

左右の転送周期誤差をオシロ測定した結果 9msec割り込みタイミングが
右10.78msec 、左9.04msecだった。
原因としては、右で割り込み処理内で加速度センサのデータを角度換算している計算時間がはいっていて遅延している可能性あり
右の転送周期に左を合わせてみた 合わせてみても4%の周期誤差があって、9msecで360μsecも発生している計算になるがオシロでは発見できてない
タイムスタンプで時間軸グラフを描くと タイムスタンプで時間軸計算するとスタートから10秒間は左右ズレが発生しなかったため、ADCの取得タイミングでは累積誤差は発生してないが、その後で誤差が発生していることが判った。
怪しいところ オシロでは、机上で通信も無しで測定していたが、実際ペダリングすると通信エラーがでたりする事例が発生しているので、
「ペダリング時は、送信周期は無線通信のエラーなどでばらつきが平均的に360μsecほど発生していてデータ転送周期とADCサンプリング周期は相当ずれてしまう可能性が考えれる。

 

●対策
対策1:タイムスタンプ時間軸でグラフを描く

 

対策2:通信の安定化のために、115200bpsより落として、安定する速度を試してみる。

●以後
今までUSBシリアル2ポートでPC上でTeratermで左右の同期をとる手段が最も精度がよい方法としていましたが、通信周期が360μsec平均でずれていることが判ったので、Teratermのタイムスタンプも累積誤差がでてきているので、Teratermでスタート時の同期をとったあとは、ADCのタイムスタンプ時間で時間軸を合わせてグラフを描く方法が現在のベスト手段となってますので、これで大丈夫かを確認してから、通信の誤差の解析も進めていきます。
8月末でようやくクランクトルクとSeatTubeひずみ波形の比較がようやくできるようになりそうです。

 

 

 

 

コメントを残す

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