2021年12月19日日曜日

自転車のデータ測定と解析(速度、ケイデンス)

クランクの回転数(ケイデンス)とホイールの回転数との両方を、Simulinkに入力できるようにしました。PCとの接続は、Raspberry pi を使っています。Raspberry piをスタンドアロンで動かすのではなく、監視および調整で動かしています。


センサーは先日購入したリードスイッチ式のものを使っています。黒色棒状の先端付近を磁石が横切ると、リードスイッチが、OFF→ON→OFFになります。





GPIOを2つ使って、2つのセンサーのON,OFFを検出しています。


上がホイールの回転数から計算した速度(km/h)、下がケイデンス(rpm)になります。

固定ローラーで負荷をかけた状態で、自転車を漕ぎました。

真ん中で急激に速度とケイデンスとが上昇していますが、タイヤがスリップした影響です。


ケイデンスは、ホイールの回転数から速度を出すのとは違って、クランクの回転を止めると急にゼロになります。今回は、5秒間センサーの入力が無かったらケイデンスをゼロにしています。一方速度は、ペダルを止めてもホイールが惰性で回り続けるので急にゼロになることはありません(まだ上手くできていません)。

市販のメーターがどのように計算しているか気になります。フィルターで調整しているのでしょうか。

今後ですが、ペダリング時のトルクを取得するセンサーを付けたり、Simulink上に自転車や人間のモデルを組み込むことを考えています。Simulinkにしたのは、各種モデルを組み込みたかったからです。


Simulinkのモデルも参考にダウンロードできるようにしました。

モデルは、急いで作ったもので完成していません。これからブラッシュアップします。

MATLAB Driveのリンク

raspberrypi_I2C_LCD_V_C_20***.***のファイルです。