最安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%未満とかは、相当な量の前提条件をあれこれ置いたときの値なんだな、とわかりました。
本日いただいたコメント:
返信削除今日は走行会でお世話になりました。皆さんのレベルが高すぎて心が折れましたw ブログ、拝見致しました。こちらもレベル高すぎです。随所にウィットに富んだお言葉がちりばめられていて、センスの良さがうかがえます。 当方もパワーメーターには大変興味があります。よろしければいつでも実験台になりますので、お申し付けください。 まずは折れた心の修復ですが、、、
本日はお世話になりました。
返信削除テスターの件、ぜひお願いいたします。
そのためにもまずは、技術的に最安パワー計を完成させたいと思います。