2021年10月2日土曜日

自転車のデータ測定と解析(ホイール回転検出と速度計算)

 リードスイッチの基盤を、ビニールテープで自転車に固定しました。ホイールのスポークには、リードスイッチをON/OFFするための磁石を付けました。磁石は、CC-MC100Wというスピードメーターに付属していたものです(写真右の円形の部品になります)。ホイールが回転して、リードスイッチの近くを磁石が横切るとリードスイッチがON/OFFする仕組みです。



自転車とラズパイとがやっとつながりました。


次は、速度の算出です。

タイヤの周長は、2136mm(700×28C)です。リードスイッチのON/OFF→速度の計算に少し難儀しましたが、何とか速度を算出できました。取り急ぎ作成したモデルは以下のとおりですが、かなり適当に作ってあります。



速度は、以下のようになりました。縦軸が速度(km/h)、横軸が時間(秒)です。
ホイールをフリーにしたままでクランクを回すと速度が上昇し、クランクの回転を止めると徐々に速度が落ちていきます。速度の落ち具合から、ホイールの回転のし易さも確認できると思いました。

時速40km程度を測定するためには、リードスイッチの信号が入るGPIOのサンプリングを0.001秒にする必要があります。例えば、0.01秒だとタイミングによってはONを検出できず、速度の計算に失敗してしまいました。

このようなことは、実際にやってみないと分からないことでした。本来なら、0.001秒より少なくする必要があるのですが、Simulinkのモデルのサンプリング時間を0.001秒より少なくすると、今度はエクスターナルモードだとリアルタイムで動かなくなるようでした。今回は、このままにしておきます。モデルは以前と同様にMATLABドライブで共有しておきました。ファイル名に「V」が追加されているものです。