2017年10月23日月曜日

最安パワー計製作計画 - 失敗編

最安24bit ADコンバータHX711モジュールが秋月から発売されている、と信州MAKERS管理人様より情報をいただいておりました。

秋月では350円、eBayでは100円未満のもあります。その名称にかかわらず、セブイレブンでは取り扱いがないようです。

これを利用して価格優先パワー計を製作してみました。

HX711は温度計を内蔵せず、温度補償機能を簡単に実装できないため、パワーメーターというより、Power Estimatorと呼ぶほうが適切かもしれません。

◆ 基本動作と使用部品

クランクアームのひずみゲージの値をHX711で読み、Arduinoでパワー値を算出後、SPP-CでBluetooth送信、PCのteratermやAndroidのbluetermアプリで受信・表示する、というものです。





◆ ひずみゲージ 約200円@ebay

前回までは、スパイダー・アームにひずみゲージを貼っておりましたが、走行中にランダムにゼロオフセット値が変化することがある、という問題が出ております。

そこで、新しいひずみゲージの貼り方を試してみました。

ネットで海外の自作パワーメータ製作者の方が投稿していた方法です。

写真は右側クランクアームで、ペダリングすると、アームのひずみゲージ面が右方向に延び、左のひずみゲージが伸び、右のひずみゲージが縮みます。

クランクアームの裏面の対象位置にも同様にひずみゲージを貼り、こちらは、ひずみゲージ面の縮みにより生じるひずみの変化を電圧に変換します。


◆ADコンバータHX711 約100~350円

 HX711は仕様上は、10SPSか80SPS(1秒間に10サンプル計測か80サンプル計測)でADコンバートが可能です。

しかし、秋月のモジュールでは、10SPSに固定されています。

10SPSでは、パワー計として使えないので、80SPSで動作するよう改造します。

データシートをみると、15番ピンをGNDに落とすと10SPSに、VCCに上げると80SPSになるようです。

早速、15番ピンとGNDをつなぐパターンをカッターで切断します。


結果・・・失敗。

見た目は切断されましたが、テスターでは、15番ピンはGNDとつながってました。

ならばと、15番ピンをプリント基板から浮かせて、GNDから分離する方法を試みます。

ゼッケンピンの針先部分で、15番ピンを上方向に持ち上げる圧力をかけながら、半田ごてを当てて加熱。
簡単にピンがプリント基板から浮き、無事に基板上のGNDから分離されました。

浮いた15番ピンをお隣の16番ピンVCCに半田付けします。



これで80SPSで動作するようになりました。


◆Arduino 約200円@ebay

 消費電力の低いArduino ProMiniの8Mhz品を使ってます。

これをさらに消費電力を落とすため、prescalerで4Mhzに落として駆動します。

 HX711とArduinoは、電源線(VCC, GND)に加えて、HX711のData線、Clock線の2本をそれぞれPIND6, PIND7につなぐだけで動作しました。

 今回のArduinoのソフトウェアはいつもの場所に置きました(余分はコードもいっぱいはいってますが)。

 ひずみゲージのゼロオフセット値やスロープ値をArduinoのEEPROMに保存し読出す関数は、こちらのサイトのものを使わせていただきました。ありがとうございます。
ttp://projectsbiotope.blogspot.com/2010/11/2-eeprom.html


◆昇圧DCDCコンバータ+REEDスイッチ+磁石+SPP-C 約700円

 今回は単四電池で駆動したため、1.2v->3.3vのDCコンバータを利用しました。

 角速度を算出するためにREEDスイッチを使用し、フレームには磁石を張り付けています。

 IMUは、信州MAKERS管理人様よりアドバイスはいただいておりますが、まだ実装できておりません。

 Bluetoothモジュールと置き換えでArduinoからのシリアルデータをもとに、ANT+規格でパワー値を送信するモジュールを別途製作中です。これを取り付ければ、ANT対応となります。


部品代の総額は1500円程度とお手頃価格に収まりました。

電子部品を3Dプリントしたオレンジのおにぎりの中収めます。
(イメージ図)


試作中で、ひずみゲージとその配線の整理ができておらず、実際はこんな小汚い状態です




基板類はすべておにぎりに収まり、また、おにぎりはこの位置だとペダリングに干渉することなく、取り扱いが楽です。

早速実験開始・・・結果・・・失敗。

ひずみゲージの配置/種類がNGでした。

同一負荷、同一ケイデンスで回しつつ、フラットペダルの踏位置を内側から外側にずらしていきます。

内側=155wで、外側=180w。

ダメダメです。

ペダルのより外側を踏むとより大きく生じる、クランクのねじれのひずみを大いに拾って、外側を踏むと大きなパワー値が表示されます。

しかし、ここまで派手にクランクのねじれに反応してくれると、むしろねじれの影響がよくデータとして見えるので、補正もしやすいのでは、と気づきました。

パワー測定用のひずみゲージの値を、クランクのねじれ測定ゲージの値で補正する、というのが簡単にできそうな予感です。


Tが真のパワー値とします。

ペダルの踏み位置が1から2へと外側にずれるに従い、パワー計測用のひずみゲージ(Gage1)の値が、クランクアームの捻じれにより大きく計測されてしまう(100wのはずが120w)、というのが今回の失敗です。

この誤った値に対して、ペダルの踏み位置計測用/クランクアームの捻じれ計測用のゲージ(Gage2)の値を利用すれば、補正係数を割りだし、真の値T(100w)に補正できるはず、というかそうすればいい、とPioneer, Shimano, および4iiiiの特許出願に書いてありました。

クランクアーム式ももう少し検討しますが、そもそも、ギアがインナーのときとアウターのときで、同一負荷でも見過ごせない誤差を生じるデータが出たりと問題山積です。

4iiiiのパワー計開発者の方のこちらのフォーラムでの発言もそれを裏付けています。

ttp://forum.slowtwitch.com/forum/Slowtwitch_Forums_C1/Triathlon_Forum_F1/4iiii_Precision_arrived_P5495248/

これを見て、市販のパワー計が表明している精度2%未満とかは、相当な量の前提条件をあれこれ置いたときの値なんだな、とわかりました。

2 件のコメント:

  1. 本日いただいたコメント:
    今日は走行会でお世話になりました。皆さんのレベルが高すぎて心が折れましたw ブログ、拝見致しました。こちらもレベル高すぎです。随所にウィットに富んだお言葉がちりばめられていて、センスの良さがうかがえます。 当方もパワーメーターには大変興味があります。よろしければいつでも実験台になりますので、お申し付けください。 まずは折れた心の修復ですが、、、

    返信削除
  2. 本日はお世話になりました。
    テスターの件、ぜひお願いいたします。
    そのためにもまずは、技術的に最安パワー計を完成させたいと思います。

    返信削除