自転車用ピトー管式対気速度計作り
0.はじめまして
- 出力=速さは間違い!
- 対地速度よりも対気速度
- そうだピトー管付けよう
- 思いつきと現実
- ピトー管購入
- 信州MAKERSとの出会い
- 鬼門のプログラミング
- 全てはデータシートに書いてある
- センサと念願のお喋り
- デバイス化
- 自転車へ実装
- 自転車で実走
- 今後の予定
0.はじめまして
はじめまして。シミズと申します。
信州MAKERSの開発内容に賛同する当ブログ読者です。
ピトー管式の対気速度計を製作するにあたって信州MAKERSのご助力を頂いたので、そのお返しとして私の製作物について記事を書きました。
使用マイコン:AVR
使用言語:C
となります。
『信州MAKERSが複数形なのは同好の士が集まる事を想定して』という話を聞き「見事に釣られた!」と1本取られた気持ちです。
これからも信州MAKERSに賛同され、共に開発される方が現れることを願っています。
1.出力=速さは間違い!
昨年9月に某タイムトライアルレースに出たのですが、結果は以下の通りでした。
順位:14位
タイム:7分25秒(top+22秒)
Average Power:317W
Normalized Power:336W
昨年にチーム員が表彰台に上った時と同じパワーを出したのですが、結果としては遠く及ばず悔しい思いをしました。
いつも仲良くさせて頂いている同郷チームにTTが強い人が居り、レース直後に話を聞いてみると、
「45㎞/hを出す出力と45km/hを維持し続ける出力は違う」
と言われました。
また、昨年表彰台に上ったチーム員からは
「頭の位置が高い。空気抵抗が大きいんじゃないか」
と言われました。
今までローラーでパワーと持続時間ばかり気にして練習していました。
このレース結果から、速く走るには空気抵抗と如何に戦うかを考える必要がある事を理解しました。
機材はプロ選手に遜色無い位に揃えてあり、何も言い訳ができない状態に追い込み済みです
やるべきはフォーム改善による空気抵抗削減です。
2.対地速度よりも対気速度
UCIワールドチームのように風洞実験が出来れば出力vs空気抵抗のバランス取りは簡単ですが、ホビーレーサーには現実的ではありません。
探せば風洞を貸してくれる企業もあるかと思いますが、気軽に実行できる術ではありません。
そこで思いついたのが『パワーメーター + 対気速度計』による実走テストです。
同じ対気速度で走行している時の出力が分かればそのフォームの良し悪しが判断できると考えたわけです。
追い風や向かい風で変動してしまう対地速度では指標に成り得ないため、対気速度を測定する事で自分の『速さ』を客観的に評価すればいいと考えました。
対気速度固定で走行すると逆に対地速度が安定しないため、走路抵抗が変わってしまう事が考えられますが、強風下での走行を避ければ影響は無視していい事として追及しない事とします。
3.そうだピトー管付けよう
対気速度を測る方法はいくつかありますが、私の中では選択肢は1択のみです。
航空機やF1マシンに使われているピトー管式の対気速度計を作る事に決めました。
なぜピトー管にしたかと言いますと、
「格好いいから」
これだけです。
「航空機やF1と同じものが自分の自転車に付いている!格好いい!」
これを味わいたいだけです。
単純構造故の省スペース、対候性や堅牢性といった長所もありますが、格好いいが第一です。
ここはモチベーション的にもとても大事な所でした。
4.思いつきと現実
早速ピトー管式速度計を作ろうと検討を始めました。
ベルヌーイの定理から必要な気圧差を求めます。
使用域はザックリ100km/hまでとし、センサで測定したい気圧差を計算すると約465[Pa]でした。
安直に手持ちの大気圧センサ2個で実現できないかと思いましたが、大気圧センサの測定レンジの広さに対して465[Pa]はとても小さく、マイコンの分解能から0km/h、22km/h、44km/h…という測定結果しか出せない事が分かりました。
適切なセンサを探さないといけません。
ピトー管自体もホームセンターで買えるパイプ材で自作できないかと思いましたが、それなりのクオリティを求めるととても工数が掛かりそうだったこと、加工手段を持たないことから購入する方向としました。
プログラム知識に乏しいので工数はそちらに振りたいのです。
5.ピトー管購入
探した中で私のイメージに一番近かった『SUREHOBBY』の『Pixhawk PX4 差動対気速度センサ キット ピトー管対気速度計』を購入しました。
約7千円でセンサとのセットです。
正直高いと思いましたが、自作手段を持たない以上致し方無し、として購入しました。
データシートが見当たらなかったので、付属のセンサは端から使わないものと割り切りました。
6.信州MAKERSとの出会い
丁度良いレンジのセンサは無いものかと探している時、この信州MAKERSに辿り着きました。
http://maru-yo.net/shinshu_makers/2016/07/12/%e3%80%907%e6%9c%8812%e6%97%a5%e3%80%91omron-dpf-ph%e5%b7%ae%e5%9c%a7%e3%82%bb%e3%83%b3%e3%82%b5%e3%83%bc%e7%99%ba%e6%b3%a8/
まさか自転車にピトー管を付けようという人が私の他にも居るとは思っていなかったのでとても驚きました。
この記事で紹介されているOMRONのD6FPHについて自分で調べ、レンジが合うことを確認した上で購入しました。
OMRONのオンラインストアから簡単に購入できます。
1個3千円くらいで納期は1ヶ月程でした。受注生産のため、納期は前後するそうです。
ここまでが10月中旬までの流れです。
ここから仕事が立て込んだりロングライドイベントに出たり環境の変化があったりと慌ただしく開発を中断していました。
再開したのは色々落ち着いた今年の1月からでした。
- プログラミングが鬼門
私がAVRの基礎を学んだのはニコニコ動画のJinさんの動画からでした。
【AVR】電子工作のススメ 第一回「マイコンのススメ」
全4回の動画ですが、
・電子工作を始めるために必要な準備物
・AVRマイコンの基本的な書き込み操作方法
・LCDの使い方
・A/D変換の使い方
が分かる初心者向けの素敵な動画です。
過去にこの動画を参考にA/D変換とLCD表示を覚えたので、今回のピトー管式対気速度計もセンサ出力をA/D変換して計算してLCDに表示すればいいと考えていました。
購入時点で薄々気付いてはいましたが、OMRON D6FPHはセンサ内でA/D変換まで済ませ、I2C通信によるデジタル出力をしてくれる代物でした。
的外れかもですがエッジコンピューティングという単語を初めて知りました。
精度が良い反面、マイコン素人の私にとってこれは困った事態です。
さて、デジタル通信のやり方を勉強しなければなりません。
8.全てはデータシートに書いてある
知識が無いのでI2Cのライブラリや作品例を探しました。
独学の辛いところで、情報の粒の大きさを判断できないためとても難航しました。
どうにも理解の糸口が掴めず、恥を忍んで信州MAKERSへ連絡を取り、ソースコードを頂きました。
頂いたコードはライブラリ部分が分からないため、すぐ使えるという訳ではありませんでしたが、このソースコードをヒントにする事で理解が進みました。
・ソースコードに書いてある⇒D6FPH固有のお約束
・ソースコードに書いてない⇒I2Cのお約束(ライブラリ化されてる)
という切り分けが出来たからです。
「頑張れば理解できる。やれる」という自信が付き、腰を据えてデータシートと向き合う覚悟が出来ました。
それまではライブラリをコピペして楽をしようとしていた自分が居ましたが、それを捨て、「全部理解するぞ」と腹を決めました。
データシートを読み、分からないところを調べて赤ペンを入れる作業を1週間ほど行いました。
本当に基本的な事ですが、16進数と2進数の表記の意味に始まり、各レジスタの意味、それぞれの関数の入れ子構造、センサ起動時のお約束などを理解できました。
赤ペンを入れ終わるころには「プログラムが読める」という快感を得る程でした。
急がば回れ、ですね。
I2Cのお約束の方はTWI機能に気づいた事で解決しました。
AVRマイコンにはI2C互換機能としてTWIという機能があります。
AVRを知っている方からしたら呆れられるかもしれませんが、AVRのI2C情報の少なさに絶望していた時にチラチラ視界に入っていたTWIという単語を見て「そういえば教科書に…」と思い出して気付きました。
教科書というのはCQ出版社『AVRマイコン・プログラミング入門』です。
TWIについて調べると今までが嘘のように解説とサンプルが出てきました。
『AVRマイコン・プログラミング入門』からTWIレジスタの働き、
『猫でもわかるC言語プログラミング』から演算子、配列、ポインタ、
の知識を補填してTWIの使い方が理解できました。
ここまで来て初めて「何だ、必要な事は全部データシートに書いてあるじゃないか」と理解しました。
OMRONのデータシートはとても丁寧で分かり易いです。
9.センサと念願のお喋り
・TWIのお約束
・D6FPHのお約束
の2点が理解できましたので、後はプログラムを書くだけです。
まぁ、そう上手くはいきませんでした。
関数宣言、関数の入れ子構造、引数の型などなどの間違いを訂正しながらデバッグを繰り返しました。
LCD表示がおかしくチップ故障を疑って追加でチップ買ったものの、原因は『LCDへの出力ピン設定を間違えていた』という間抜けで1週間を無駄にしましたが、何とか動作に成功しました。
5週間掛かってやっとOMRON D6FPHと会話することが出来ました。
書き込んだ瞬間にLCDに表示が浮かんだ時は軽い雄叫びとガッツポーズでした。
信州MAKERSのやり方を真似て格安風速計を購入して大体の精度が合っているか確認しました。
限られた工数の中で優先すべきはまず完成させることと考え、厳密な校正方法の検討や作業は後回しにします。
『自らの手で風速を可視化出来ている』
『流体で習ったベルヌーイの定理が目の前で工業製品として動作している』
などなどしばらく感慨に耽っていました。
10.デバイス化
基本動作が完成したので、自転車へ搭載するデバイスとして製作していきます。
ここまではロジック的思考ですが、ここからはレイアウト検討と実作業になるので気持ちを切り替えていきます。
ここで立ち止まるといつまでも『ブレッドボードでのテスト』状態から抜け出せなくなるため、『失敗したら作り直せばいい』という前向きな気持ちでガシガシ手を動かしていきます。
電源を考えておらず悩みました。
LCDは5Vが必要で、マイコンとセンサは3Vで駆動可能です。
単4電池2本を電源とし、LCD用に昇圧回路を入れることにしました。
昇圧回路は秋月電子で250円だったと思います。
これでUSB電源から切り離され、完全に独立して動作する状態になりました。
汎用基盤を加工して部品を載せ、配線していきます。
配線には初めてポリウレタン銅線を使用しましたが、かなり杜撰な配線になってしまいました。
配線後のスッキリ具合にはとても満足しています。
仕上がりについてはこれから練習していきます。
出来ました。
部品は以下の通りです。
微差圧センサ :OMRON D6FPH
ピトー管 :SUREHOBBY『Pixhawk PX4 差動対気速度センサ キット ピトー管対気速度計』
マイコン :AVR ATmega 88P-20PU
電源 :【M-08619】5V出力コイル一体型昇圧DCDCコンバーター
:【P-02670】電池ボックス 単4×1本 ピン
表示 :【P-01797】超小型LCDキャラクタディスプレイモジュール
(16×2行バックライト・オレンジ)
センサはOMRONオンラインストア、ピトー管はSUREHOBBY、それ以外は秋月電子通商より購入しました。
11.自転車へ実装
デバイスとしては出来たので、自転車への搭載方法を検討しました。
TTハンドルに元からあるボルト穴を利用してピトー管ステーを作ります。
材料は全てホームセンターを歩き回って手持ちの加工工具で何とかなる様に選んできました。
ピトー管自体は軽いので、鋼材ボルト固定のステーであればまず壊れる事はないだろうと安全寄りに作りました。
ハンドルはカーボン中空なので、割れ防止で締結をボルト軸力に頼らないようハードロックナットで留めました。
防水対策は考えるのが面倒でしたので秋月の購入部品が入っていたチャック袋です。
センサ部と表示部の固定はタイラップとガムテープです。
見た目は残念ですが、機械的締結では無いので振動が直接伝わらず、壊れずに済むだろうという目論見です。
12.自転車で実走
80kmほど実走してきましたが壊れず使用出来ました。
問題点は
・マイナス圧力による表示不良⇒プログラム改良要
・振動による圧力値の振り切れと固定⇒恐らく配線不良のため次作で改善
・速度のズレ⇒校正要
の3点です。
これらはタイミングを見て直していきます。
これにて『出力と対気速度を同時に見る』という目的が達成できました。
感無量です。
思い付きが2017年9月で完成が2018年2月と、6ヶ月も掛かってしまいました。
実働としてはプログラム1ヶ月、デバイス化1ヶ月です。
やれば出来たので、『毎日取り組む時間を作る』という事の大切さを実感しました。
年末の環境の変化がなければそのまま放置していたかもしれません。
13.今後の予定
今後の取り組みとしては
・3Dプリンタ導入
・ピトー管対気速度計の無線化(ANT+もしくはBLE)
・データロガー導入(WANT)
・クランクひずみ式のパワーメーター製作
です。
「レースは?ポジション改善は?」という話もまたいつか出来ればと思います。
3Dプリンタは自転車への実装用ステー製作のネック解消のためです。
無線化+3Dプリンタで使い易さと防水性を実現します。
今回、ケースや固定方法を妥協しましたが、早く完成させる事によるモチベーション維持のためと、無線化+3Dプリンタによる本仕様製作を見越しての事です。
そこまで到達した際はロード用も作ろうと思います。
クランクひずみ式のパワーメーターは4年ほど前に思いついて進めていたのですが、無線技術が無かったために放置していました。
思いついても実現に至るプロセスが組み立てられず、どこから手を付けていいか分からず、時間も作れず、モチベーションが維持出来ませんでした。
今は信州MAKERSという先人がいらっしゃる心強さとD6FPHを使えるようになった成功体験からモチベーションを維持していけると思います。
現状の考えを並べたてましたが、あくまで趣味でやっているため、進捗はとても遅いです。
何か報告出来るような進捗がありましたらこうして記事にしたいと思います。
初めにも書きましたが、同行の士が集まり、共に開発を進めていける事を願っています。
ありがとうございました。