2017年7月23日日曜日

nRF52モジュール比較

nRF52モジュールを複数種入手しました。
ANTに対応できないものがあることが判明しています。



左から
ーRigado製
ーsparkfun製
ーebay large version
ーebay mini version
ーDynastream製

すべてプログラムの書き込み方法は一緒です。
VCC, GND, SWDCLK, SWDIOの4線をST-LinkかnRF52-DKにつなげば書き込めます。




ただし、RigadoとDynastreamのモジュールは、あらかじめfirmwareが書き込まれ、かつプログラムが読みだせないようプロテクトがかけられています。
これを、nRFgo Studioかコマンドラインで、erase allやRecoverしたり、mbedフォルダにfirmwareを上書きすることで、消去する必要があります。

ST-Linkでは、この消去を行う機能がないため、RigadoやDynastreamのモジュールを使う際は、誰かにプロテクトを解除してもらう必要があります。

ST-Linkをj-linkに変身させるファームもリリースされていますが、なぜかST Microのチップをターゲットとしてのみ使用可で、他のチップに使うことは禁止する、絶対禁止すると表示されます。
実際は、技術的にはnRF52をターゲットとして使用可能にもかかわらず「使用するなよ、絶対するなよ」と言われるとダチョウ倶楽部を思いだいし「絶対するな=すぐにやってよい」と解釈してしまいがちですが、やはりまずいと思います。

nRF52モジュールにnRF52-DKから書き込みを行う場合、以下のように配線します。

ポイントは、ピンヘッダのVTGにVDDをGND DctにGNDを接続することです。
これにより、書き込みチップが、外付けのnRF52モジュールに書き込みを行うよう設定変更され、オンボードのチップに書き込まれなくなります。

私は、ボードの真ん中にDIPスイッチを付け、書き込み先を外付けnRF52モジュールとするか、オンボードのチップとするか、選択できるようにしています。




nRF52モジュールがnRFgo Studioに認識されると、以下のように表示されます。

この例では、Region1にSoftdeviceが書き込まれていることがわかります。
Addressが0x1f000までがSoftdeviceなので、s132(BLE用)のSoftdeviceが書き込まれてるとわかります。
Softdeviceを書き換えるには、右欄のProgram Softdeviceのタブから任意のSoftdeviceファイル(ANTの場合はS212)を選択し、ProgramボタンをせばOKです。
S212のSoftdeviceはwww.thisisant.comからダウンロードできます。



つづいて、Softdevice上で動くアプリケーションをプログラムします。
Program Applicationタブから書き込みアプリの.hexファイルを選択し、Programボタンを押せばOKです。

話を戻しますと、RigadoとSparkfunのnRF52モジュールは、ANT対応ではありません。

どうやら32khzの発振子の精度が悪いようで、BLEはなんとかOKですが、シビアなANTには対応できてませんでした。

Sparkfunのものは、32khzの発振子のパターンをカットできます。
パターンカットのうえ、秋月で買った水晶発振子に付け替えたところANTもOKとなりました。





2017年7月21日金曜日

DuraAce9000で手作りパワーメーター

Tiagraに続き、Dura Ace 9000をパーワーメーター化してみました。

パワー計、量産体制です。

完成図



コンピュータ・ユニットのアップです

不器用臭さがプンプンします。

臭いものには蓋をします。

3D印刷に失敗して隙間だらけなので、やり直しです。

なんか不細工ですが、本ブログのurlは、
D Grade DIY(D級工作)なので合格です。

ひずみゲージ貼り付け位置です。
スパイダーアームがチェーンにより反時計回り方向に引かれる歪を計測してます。


モジュール構成は、いつも通り以下の3点セットぽっきりで、お手軽です。

1. ひずみゲージ付きクランク
 お手軽な1000Ωひずみゲージ2枚構成(上の写真のピンク矢印の位置)で、他の2つの抵抗はひずみゲージでなく固定抵抗(1000Ω)です。 
2. コンピュータ(nRF52使用)モジュール
 ↓こちらで過去に公開したものです。
 https://dgradediy.blogspot.jp/2017/03/4999.html
3. 上記2.のソフトウェア
 ↓こちらで過去に公開したものです。
 https://dgradediy.blogspot.jp/2017/06/49-nrf-uart.html
 今回は、これをnRF5 SDKにあるANTパワーセンサーのサンプルコード(..\nRF5_SDK_12.1.0_0d23e2a\examples\ant\ant_plus\ant_bpwr\bpwr_tx
)に移植し、ANT+対応とし、ガーミンでパワー表示を可能にしてます。

以下、詳細です。
【①クランク】
 クランクにひずみゲージを貼る際、以前はクランクを耐水ペーパーで削り、アルミの地肌を出してましたが、面倒です。
今回は、お手軽に、脱脂してアルマイト加工?の上から100均の瞬間接着剤で貼り付けました。
これでも大丈夫そうです。
失敗しても、瞬間接着剤のはがし液で、きれいに剥がせます。
ひずみゲージは、以下のようにまずセロテープで貼り付け、位置決めをします。


次に、セロテープを半分剥がし、ピンクの矢印のひずみゲージ面に瞬間接着剤を適量付けます。









つけすぎるとクランクではなく、固形化した瞬間接着剤のひずみを拾うこととなるので、要注意です。

瞬間接着剤をつけたら、セロテープをもとの位置にもどし、むにゅー、と1分程度加圧します。
セロテープの半分はついたままなので、それがガイドとなり、元の位置にひずみゲージは張り付きます。こうして、面倒な位置決めを簡単にできます。

これは4iiiiのパワーメーターを開発されたエンジニアの方が、4iiiiと組む前に、個人のブログで公開して、教えてくれた方法です。


【②配線】
ひずみゲージ付きクランクとコンピュータモジュールは、以下の配線でVCC, GND, Sg+,Sg-を接続してます。



今回の電池はボタン電池CR2032を使用しました。
CR2032の最大連続放電電流は2mAなので、
消費電力を落とす必要があります。

マイコン(nRF52)とADコンバーター(AD7124)は余裕で2mAを下回りますが、
ひずみゲージ回路をつけると6mAを超えます。

どうするか・・・

ひずみゲージを読み取る時だけゲージ回路に通電し、読み取り終了後は直ちにスイッチを切ることにより、消費電力を2mA以下に落とします。

ADコンバータAD7124は、このひずみゲージ回路への通電を切るPSW(パワー・ダウン・スイッチ)が搭載されており、nRF52からソフトウェア・コマンドを発行することで、スイッチをON/Offできます。便利です。

これに伴い、ひずみゲージ回路のGNDをGNDから分離し、AD7124のPSWピンに接続します。

右下の紫色の線で示しています。



【②ソフトウェア】
上記のとおり、今回は、省電力化のため、PSW(パワーダウンスイッチ)をソフトでON/OFFします。

以下のプログラムでPSWを制御するも、ADCのデータをうまく読み取れないトラブル発生。
悩むこと2週間以上。
 m_tx_buf[0]=0x03;//アドレス3番地書き込み
 m_tx_buf[1]=0x00;
 m_tx_buf[2]=0x08;//PSWをONに設定
 m_tx_buf[3]=0x00;
          m_tx_buf[4]=0x42;//ADC読み取りコマンド発行
 m_tx_buf[5]=0xff;
 m_tx_buf[6]=0xff;
 m_tx_buf[7]=0xff;
 m_tx_buf[8]=0x03;//アドレス3番地に書き込み
 m_tx_buf[9]=0x00;
          m_tx_buf[10]=0x00;//PSWをOFFに設定
 m_tx_buf[11]=0x00;
    spi_xfer_done=false;
   nrf_drv_spi_transfer(&spi, m_tx_buf, 12, m_rx_buf, 12); // SPI経由でコマンド転送
       while (!spi_xfer_done)
        {
err_code = sd_app_evt_wait();
APP_ERROR_CHECK(err_code);
        }



正解は、こちらでした。
  m_tx_buf[0]=0x42;//読み取りコマンド発行
  m_tx_buf[1]=0xff;
  m_tx_buf[2]=0xff;
  m_tx_buf[3]=0xff;
   m_tx_buf[4]=0x42;//読み取りコマンド発行
  m_tx_buf[5]=0xff;
  m_tx_buf[6]=0xff;
  m_tx_buf[7]=0xff;
  m_tx_buf[8]=0x03;//アドレス3番地に書き込み
  m_tx_buf[9]=0x00;
   m_tx_buf[10]=0x00;//PSWをOFFに設定
  m_tx_buf[11]=0x00;
明示的にPSWをONにしなくとも、0x42で読み取りコマンドを発行すると自動的にONになるようです。0x03で強制的にONにすると、誤動作するようです。

最後に、ソーラーパネル&充電池で駆動できるヘンタイオリジナル仕様にしてみました。CR2032は万一のバックアップ電池とし、2系統電源で運用する予定です。

これで電池切れともおさらばできる・・・ハズ

昔つくった、手作りパワー計の試作1号機の写真を発掘しました。

これを作った当時は、DuraAceベースのパワー計は30万円ほどしてました。
今年は、中華ベンチャーが2万円程度でパワー計の販売を開始しました。
微妙な価格設定なので、すぐに値下げすると予想してます。
本自作パワー計とほぼ同じ構成のはずなので、ライセンス料を無視すれば、原価は、数千円と予想します。
販売価格が1万円程度まで下がれば、わざわざ自作するメリットはなくなるので、
自作パーワー計もそろそろ潮時かと思いました。



2017年6月8日木曜日

Tiagraで手作りパワーメーター

今まで公開した情報を利用して実際にパワーメーターを製作しました。

完成図




手作りパワー計は、配線がむき出しなのでチョッと・・・
という意見を踏まえて、$167で3Dプリンタを新規購入し、オレンジ色でマズそうな、おにぎりをプリントし電子部品を格納しました。

おにぎりが不細工ですが、不器用な人は3Dプリンタを使っても作品が不細工になるようです。

ひずみゲージも、むき出しにならないよう「自転車部品は、カーボン柄のシールを貼れば、それなりに見える法則」に従って、シールをはりました。
実際は、ケチって、レーザープリンタでカーボン柄を紙に印刷し、両面テープで張り付けたためか、これも不細工です・・・(汗)




モジュール構成は、いつも通り以下の3点セットぽっきりで、お手軽です。
1. ひずみゲージ付きクランク
  今回はお手軽なひずみゲージ2枚構成(上の写真のカーボン柄のシールの下に1枚と対称となる裏面の位置にもう1枚)で、他の2つの抵抗はひずみゲージでなく固定抵抗(200+120=320Ω)です。
2. コンピュータ(nRF52使用)モジュール
3. 上記2.のソフトウェア

上記1と2は、以下の配線でVCC, GND, Sg+,Sg-を接続してます。





nRF52のマイコンモジュールにソフトウェアを書き込む際は、開発ボード(ST-LinkやnRF52-DK)を使用します。

今回は、以下の開発ボードにnRF52(図の右側D52Q)を接続し、書き込みました。
nRF52は電源のVCCとGNDのほか、信号線2本を接続するだけで、勝手に認識してくれて、ソフトを書き込めてしまいます。
簡単です。


この開発ボード自体は、USBケーブルでPCと接続し、PC用のnRFgoというソフトウェアを使って、書き込み作業を行います。


つづく


2017年6月6日火曜日

$49パワー計(ソフトウェア編 - nRF UART版)

$49パワー計に採用したNordic社のマイコン、nRF52は、内蔵するソフトウェアによって、スピードセンサ、心拍センサー、パワーセンサーと様々なものに変身させることができます。

nRF52を使ったパワー計には、それ用のソフトウェアが必要です。

今回、BLE(Bluetooth Low Energy)上で文字列を転送できる“nRF UART”という通信方式で、パワー計のデータを無線送信するソフトウェアを作成しました。

送信されたパワー計の情報は、Android/iOS上で動作するnRF UARTまたはnRF Toolboxというアプリで表示できます。
BLE上で強引に文字列を転送するためか、端末によってはかなり動作が不安定です。


ANT+対応のパワー計を作る前に、
製作したパワー計が正常動作しているか、必要なデータを取得して確認し、
個々のクランク毎に異なるゼロオフセット値、スロープ値を算出する必要があります。

この目的には、ANT+規格で送信できるデータだけでは不十分で、bluetoothで様々な値を転送し、PC/Smartphone上で表示・確認する必要があります。

こんな感じで表示されます。



ソースコードをまるごと公開しようとしましたが、
「SDKのサンプル部分を除いて、独自開発した部分のみを差分として公開せよ」
との権利元のNordic社がお達しを出してます。

逆らってもしかたがないので、こちらに差分を公開しました
ttps://sites.google.com/site/myfiles1138000
(20170606.cというファイル名です。実際にアクセスする場合、末尾の000を削除して1138で終わるようURLを修正する必要があります。ロボット除けのためで、お手数をお掛けします)

この差分をSDK内の
...\nRF5_SDK_12.1.0_0d23e2a\examples\ble_peripheral\ble_app_uart
BLE_UART内のmain.cと結合します。

具体的には、main.c内の“int Main(void)”から最後までを選択し、削除。
イメージ図



削除された部分に、上記差分ファイルをコピペします。
以上です。

なお、本ソースコードは、パワー計の基本アルゴリズムの理解のために作成してます。

わかり易さを優先しているので(本当にわかりやすいかは不明です。コンピュータのプログラムを学んだのは、子供の頃にベーマガ(マイコンBASICマガジン)を少し読んだ程度ですので。)、実際には、改変をして以下の機能を実装した方がよいです。
・精度向上のためのADコンバーター内蔵アンプの設定
・ボタン電池駆動用の省電力間欠動作設定
・ひずみゲージ回路の節電用の間欠動作設定
・温度補正
これらはなくとも最低限のパワー計としての動作はします。

基本的な動作は、
1.Mainルーチンが開始されると、ADコンバータからひずみゲージの値を読み取り、それを繰り返します。
2.クランクが一回転し(リード・スイッチがフレームに張り付けた磁石を通過し)リードスイッチがONになると、それまでに取得したひずみゲージ値と角速度をもとにパワー計算を行い、無線送信します。

基本は、この繰り返しです。


ANT+用のサンプル・ソースがNordicのSDKに含まれているので、このソースコードを移植すれば、簡単にANT+対応にできます。

また、本ソースコードは、ひずみゲージ回路が1回路であることが前提です。
従来通り、クランクアームの上下に4枚のひずみゲージを配置するほか他に、
以下の(赤丸ではなく)緑の矢印の面にそれぞれ1枚ひずみゲージを配置する方法に対応します。

この方法は、SRMと同じく、スパイダーアームがチェーンによりピンクの矢印方向に引っ張られる際のひずみを計測します。
条件付きながら、よいデータが得られています。

この方式では、選択しているリアのギアがトップの場合とローの場合で、計測誤差がでるハズですが、ほぼ無視できそうです(5%とかの差はなく、SRMもこの誤差は補正してないようです)。

メリットとしては、パワー値が安定しており、乗り手の感覚に近い値がでます。

パワータップハブは、クランクの回転とは無関係にパワー値を送信してきて、また同じパワーで回しているのに、今回は270w、次回は30wも下がって240wとか送信してくるため(勿論、平均を表示させれば正確です。)、やや使いづらいと感じます。
構造的には素晴らしいアイデアと技術のパワーメーターではありますが。

クランクアーム式もスパイダーアーム式と比べると・・・












2017年5月4日木曜日

ANT+対応サイコンの自作(ソフトウェア編)

昔、ANT+対応のサイクル・コンピュータを自作してました。

パワー、心拍、速度とケイデンスをANTセンサーから受信して表示できました。

本人的に一番の売りは、速度とケイデンスから、何枚目のギアを使ってるか算出して表示できたことでした。
10年くらい前のカンパのサイコンも同様なギア表示をしていたことがヒントでした。

こんな感じで1.8インチTFTにカラー&グラフィカル表示。

しかしこのTFT液晶は太陽光の下では視認性が悪く、
「がんばれ、もっと明るくなーれ、明るくなーれ」
と駆動電圧を上げていったところ、壊れました(汗)。
結果、上の写真のように薄暗くしか映りません。

その後、Stravaにはまってしまい、Garmin以外使わなくなっていました。

最近、お手軽パワーメータには、お手軽サイコンが欲しいな、
という妄想が湧いてきました。

以下は、キャットアイの不朽の名作(と私が勝手に思ってる)RD200。

このサイコンは有線式で、ケイデンス用の線を100回/分のペースでOn・Offすると画面に100と表示され、同様に200回/分ペースなら200と表示される。

ANTの信号を受信して、その数値に合わせて速度/ケイデンス用の線をOn/Offすれば、パワーに限らず、様々な数値を表示できる。
メリットはボタン電池で数年動作すること。
Garminは頻繁に充電が必要で、普段乗りには面倒です。

とりあえず、昔作った、Arduino Uno+nRF24(BC-ANT-Serial)用のANT対応サイコン・ソースコードを動作させてみました。
ArduinoUnoは通常5v動作ですが3.3v動作に改造しており、nRF24と接続するのにレベル・シフタは不要です。

配線は、
Arduinoの2番ピンを入力PINとして、nRF24のTXピンに接続、
Arduinoの3番ピンを出力PINとして、nRF24のRXピンに接続
nRF24の裏面のBR2をショートして、通信速度を9600bpsに設定。




PCのシリアルモニタで見ると、以下のように正常に各ANTセンサーからの情報を受信し、PCへシリアル送信しています。


「パワーが700wで心拍が70は正常でないだろ」
と思われてしまいそうですが、これはANTシミュレータ
を使っています。

このシミュレータを使うと、パワーメータ等のセンサーの出力をシミュレートして電波を送信したり、市販のANT対応センサーの電波を受信して、ログをとったりできます。
(ZWIFTで使うようなUSBのANTドングルが必要です。)

こちらのANTのサイトでフリーで入手しましたが、最新版は、あれこれ変更されてるかもしれません。
ttps://www.thisisant.com/

今回のArduino+nRF24用のANT受信サンプルのソースコードを以下のサイトに置きました(本日の日付をファイル名としています)。
(実際にアクセスする場合、末尾の000を削除して1138で終わるようURLを修正する必要があります。ロボット除けのためで、お手数をお掛けします)
ttps://sites.google.com/site/myfiles1138000

あと、このサンプルのソースコードを動作させるには、
#define NETWORKKEY {0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55}
となっている箇所を正しいNETWORKKEYに置き換える必要があります。

www.thisisant.comからANTの仕様とNETWORKKEYを入手する際、NETWORKKEYを公開しないことを約束している(させられている)ためです。
無視して、公開してる方もいるようですが・・・












2017年4月25日火曜日

$49パワー計のひずみゲージ考(2)

前回のグループ分けに沿って、実験をしてみました。

■グループ2:パワー算出用のトルク検出用とは別に、余計な力成分の検出用ひずみゲージを設けてパワー値の補正をしている。
 Shimano、Quarq Cinqo、4iii

以下、パイオニア特許図面です。

ペダルの外側を踏むと、赤の矢印方向に捻じれがより大きく生じ、ひずみゲージ369a8は伸びて、369b8は縮む。
これを利用すると、どの程度ペダルの外側を踏んでいるか把握できるので、このデータを利用してパワー値を修正する。

4iiiの米国特許出願でも同様の記載があります。

試しにやってみた。
結果は・・・キャリブレーションが面倒。

パワー測定用のひずみゲージ回路とは別に、補正用ゲージのキャリブレーションも緻密に行う必要がある。
お手軽パワーメータを目指す今回の目的には合致しないので、どうするか悩み中です。
ただ、この方式を実装すれば、設計が甘い潔い市販品よりも正確なパワーメーターを作れます。


■グループ3:上記グループ2のような補正はないが、構造上、余計な力成分の影響をあまり受けない。

 SRMを見習ってスパイダーアームの以下の赤丸位置にひずみゲージを張って、ペダリング。

結果は・・・ひずみの変化量が足りない。
剛性がなく柔らかめのTiagraクランクでテストしましたが、あまり歪の変化がない。
ひずみゲージを張る位置を見直して再度トライする予定です。

もう一つ、正確なpowertapハブのように、円柱の軸にひずみゲージを張り、トルクを測定する方法。
以下のように、クランクシャフトの中にひずみゲージを張ってペダリング。


これは、正直、一番期待していました。
構造はpowertapと同じに思えたし、ひずみゲージ、充電池、電子回路をすべてシャフト内に収納できる。
見た目が以下のようにすっきりするし(写真はボケてますが)、失敗してもクランクの外観に傷がつかない。


結果は・・・ペダルの外側を踏むとパワー値が小さくなる。
「またまた冗談でしょ」
と再度ペダルの踏位置を外側に。
結果は同じ。ガックシ。

円柱にひずみゲージを張る場合、以下のOMEGA社の解説の図Fのように張る。
Powertapハブも同じ。


しかし、クランクシャフトの場合、左のクランクアームがボルトで固定されるため、ペダルの外側を踏むと、クランクシャフトが外側に引っ張られて、すべてのひずみゲージが横み引っ張られて縮んでしまう。
この結果、パワー値が小さくでてしまうと推測。

では、この方式を採用しているRotorのINPowerは大丈夫なのか?
ある記事に「INPowerは、大きなトルクで低回転で踏んだ場合、またスプリントで800w以上出した場合に、パワー値が低く出る」とのコメントが。
要は、大きなトルクでシャフトが外側に引っ張られて、パワー値が小さく計測されるような。
私の実験結果と同じ?

この方式の最大の欠点は、ひずみゲージの張りにくさ。
ゲージの接着に2回ほど失敗して、心が折れました(不器用なので)。
とてもお手軽とは言えません。


■グループ4:パワー算出用のトルク検出は行うが、補正は行わない(潔い)。少なくともホビーレーサーのFTP領域以下では、補正を行う必要はなく、正確。

結局、現時点で、一番お手軽なのは従来通りクランクアームの上下に4枚ひずみゲージを配置する方法かと思います。
でも、クランクのねじりに対する補正はありません。
したがって、動物園で、象さんに
「ペダルの外側を踏んで、パワー値が大きく出るか見てくれる?」とお願いして
「分かったゾウ」(寒)
と了解してもらえば、すぐに影響が出るとは思いますが、人力の場合は不明です。

以下の左のゲージは、eBayでよく販売されている幅広のもの。
右のゲージは某国産の曲げ測定用のもの。


左の幅広タイプのゲージは、右のタイプに比べて、ペダルの外側を踏んだ際に生じる捻じれによく反応してしまう。
ネット上に、この幅広タイプのゲージをクランクアームに付けて「簡単にパワーメータを作れた」という記事もありますが、おそらく、ペダルの外側を踏むと、問題にぶつかると推測してます。

右側の細長のゲージをフルブリッジ(ゲージ4枚構成)で、クランクアームのペダル軸に近い場所に配置したところ、700w(私がペダルの端っこを踏んで安定出力できた最大値)程度では、ペダルの外側を踏むことによる影響はでていません。

以下のサイトでは、FEAによる分析で、クランクの捻じれがどのように出るか、CG化されています。ひずみゲージの位置決めの参考になります。
ttps://hackaday.io/project/2314/logs

実際に、どの程度のトルクから影響が出るは、ペダル軸の長さ(TIME製は短く、フラぺは長い)、クランクの剛性によると思います。

パワートレーニング本にあるトレーニングメニューでは、FTPの200%までしか使っていません。
とすれば、700wを正確に計測できれば、FTP350wまでは対応できることとなります。
FTP300wを切って久しい私には十分で、もう、この方法でいいじゃん、という誘惑と格闘中です。



2017年4月19日水曜日

$49パワー計のひずみゲージ考

以下はshimanoの特許図面。
パワーメータのトルク(図18のFΘ)算出には、他の3つの方向の力(図19のFz、図20のFrおよび図21のMから生じる捻じれ方向の力)をすべて測定したうえで、FΘの値を補正する必要があると知る。



上記図21の捻じれ方向の力はわかりにくいが、以下のパイオニア特許の図6(b)の通り、ペダル103を踏んだ時に、クランクアームには、rzの捻じれ方向の力が発生する。




パワー計測には、FΘの力だけを検出したい。しかし、ペダリング時には、Fr、Fzおよびrzの力がかかる。
シマノ特許の図18にある、上側のひずみゲージ138,178は、FΘの力がかかると伸びる。
しかし、Fz、Frおよびrzの力にも影響されて、実際には更に伸びてしまう。
その結果、乗り手にわかる現象として、ペダルの外側を踏むと、パワー値が実際よりも大きく出てしまう。
これを除去するには、rz、Fz、Frも測定してFΘから余分な力成分(rz、Fz,Frの影響度)を算出して除去する必要があるとのこと。

では、市販のパワーメータはどうなっているか。

以下、独断と偏見で、市販のパワーメータが、ひずみゲージが拾ってしまう余分な力成分をどのように処理しているか、分類してみた。
ちなみに私は、理工系の教育を一切受けていない、ド素人ですので、以下の内容は、勝手な妄想と思ってください。

■グループ1:余計な力成分を拾わないようメカ設計されている
 Powertap, InfoCrank

■グループ2:パワー算出用のトルク検出用とは別に、余計な力成分の検出用ひずみゲージを設けてパワー値の補正をしている。
 Shimano、Quarq Cinqo、4iii

■グループ3:上記グループ2のような補正はないが、構造上、余計な力成分の影響をあまり受けない。
 SRM。
 SRMは、ローギアのときは左に、トップギアのときは右にスパイダーアームが引っ張られ、余計なひずみが生じるが、この影響を補正する構造が見当たらない(少なくとも2ゲージのモデルでは)

■グループ4:パワー算出用のトルク検出は行うが、補正は行わない(潔い)。少なくともホビーレーサーのFTP領域以下では、補正を行う必要はなく、正確。
 R社INPower(たぶん)

■グループ5:ホビーレーサーのFTP領域ですら、トルクが不正確で補正なし。パワーメータとして機能しない。
 PowerCal、先日、自分で作った失敗パワーメータ。

$49.99の手作りパワーメーターはどのグループを目指すか。
今回は、お手軽お手頃に誰でも付けられるパワーメーターを目指したい。
「パワーメーターは欲しいが奥方の承認を得られない」という方でも、$49.99ならば「役員に飲み会に誘われて付いていったら、しょぼい居酒屋だった挙句、代金も均等負担だったつもり貯金」で賄える。

グループ1は論外。

只今、グループ2、3,4に属するものを実験中。