配布url(xlsxファイル):http://db.tt/F3LzFUP
配布url(xlsファイル):http://db.tt/IfiIKOZ
一般運動量理論と翼素理論による最適プロペラ設計ツール
※右側の任意の空力特性の部分がバクがありそうです。かなりパワーと推力が大きな値が出ます。1週間のうちに直します。ご迷惑おかけします。
※[追記]空力特性の部分の計算間違いだった部分は直しました。しかし空力テーブルの部分の数字が実際と異なるために出力パワーも推力もかなり変な値が出ます。空力特性の部分の数字は当てにしないで下さい。時間ができ次第大きく修正します。
すごく簡単な説明
入力パワー[W]もしくは推力[N]と飛行速度、プロペラの半径などを入れるだけで
その条件下で、一番性能が良いプロペラの形が出てくる。
その最適プロペラを他の飛行状態のときの必要入力パワー[W]、推力[N]、プロペラ効率も計算可能。
前置き
ツイッターでプロペラ設計の話で出ていて興味をもったのが始まり。
人力飛行機を設計していた当時からやってみたいと思いつつ、人に任せていたプロペラ設計。
気象条件や飛行状態を変えたときに推力や必要パワーがどの程度になるかの資料もソフトウェアも手元になくて、ちょっと気になったときに調べる手段がないということに不便を感じた。
簡易なものなら世の中にソフトとして落ちてるものかと思いきや、全然無い。
すぐ見つかるものとしてはJAVAPROPとかXRoter(連絡すれば貰えるらしい)がある。しかしかゆいところに手が届かない。拡張性もなく不便。
世の中に無いなら作ればいいじゃん!と思い立ち、プロペラ設計ツールとしてエクセルシートを作ってみた。
設計ツールとしてのコンセプト
- 基本的に自分が使いやすいように
- その上で誰でも使えて、改変、拡張がしやすいようにわかりやすい構成にした
- 計算方法は参考にした本の通り
- 誰でも理解できるように+拡張しやすいようにマクロ・VBAを使用しない
- 揚力係数、抗力係数の読み取りに欠点があるが、一手間かければプリセットのレイノルズ数やDAE51以外の翼型でも設計できるようにした
もし人に見てもらう用途でなく完全に自分用だったら
エクセルなんて使わずに何かプログラミング言語で書いてたはず。
Matlabやその派生のScilab,Octaveでプログラム書く方が早く便利で良い設計ツールが作れる。
もしくは製作日数が少し増えるが、C系やPythonなどのプログラミング言語で書く方が夢が広がる。
エクセルだとしてもVBA使わないとやりたいことができなさすぎる。
あんまり時間もないのに作りたい衝動にかられて急ぎで作ってみたというのが本音。
本を読んで理解0.5日。エクセルシート作成1.5日、このブログ記事とエクセルシートに説明を書く1.5日ぐらいの作業量でした。
愚痴はいいとして、あえてエクセル初心者でも使えるようにしてあります。
欠点
- プロペラ開始点が固定されていて変更できない
- プロペラの途中での翼型変更ができない
- エクセル表を簡単にするために揚力係数、抗力係数を滑らかに読み込めないので微妙に最適じゃない
- プリセットはDAE51という翼型の解析データを入れている。他の翼型を使いたい場合解析データを入れないといけない。
- あくまで近似計算なので、この方法だとこういう結果になるってだけで、他の近似方法や計算方法だと結果は異なる。この計算が簡単な部類みたい
じゃあこれ使えるのか?
実際のプロペラの設計での問題点を列挙する
- プロペラにはスパーを通す必要がある
途中で翼型を変更することに対応していないので
根本だけ翼厚の厚い翼型を使いたいというニーズには対応できない。
対策としては根本付近の揚力も抗力も小さいので適当(良い感じという意味)な翼型(GEMINIとか)を使ってスパーが入るように翼型を変えてやるなどがある。
- プロペラのハブ部分の大きさとプロペラの始まる位置を好きなように変えたい
プロペラの始まる位置も半径の10%の部分からと固定してしまっている。
したがって変更はできない
- DAE51以外の翼型で設計したい
DAE51Cl,DAE51Cdの表を更新すれば他の翼型で設計できる
- プロペラ端が無い
Betzの条件からペラ端は丸くすれば良いことがわかっているらしい
- 模型飛行機用のプロペラに使えない
- 条件を大きく変えるとすぐに#N/Aが出てくる
レイノルズ数が対応していないために#N/Aが出てきてしまうのでDAE51Cl,DAE51Cdの表のレイノルズ数の部分を幅広く置いてやれば計算できるようになる。例えば、低レイノルズ数側は10000から始めているが、もっと低い5000とか1000に変えて、翼型解析ソフトからの値を元の値から置き換えてやると良い。
条件によっては様々な変数がスパン方向に対してガタガタになるが、これもDAE51Cl,DAE51Cdの表のレイノルズ数の部分を使っているレイノルズ数のところで細かく刻むように表に置くと改善する。
実際の設計になると不便なところがある。したがって必要な部分は自分で拡張してもらうか、これを参考に新しく作り直す必要がある。プロペラの特性を調べるための技術・知識の閾値を下げるために作っているので、そのつもりで使って下さい。
原理的なもの
プロペラの損失エネルギーを最小にするのはプロペラによって作られるねじ状の渦面が変形しないというBetzの条件が満たされるとき、つまり固定翼の場合の楕円翼のときと同じ条件。
ここまでが一般運動量理論。もしくは揚力線理論ともいうかも。
これに翼素理論という大げさな名前のついた、揚抗比最大になるように迎え角を調整すると良いよっていう理論を合わせたものが原理。
このエクセルシートは欠陥品でこの翼素理論部分の情報(つまり迎え角)を手動で入れないといけない。
以下やっつけ文章なこのエクセルシートの使い方(気が向いたら丁寧に書き直す)
シート構成
- インターフェース
- グラフ
- 最適形状
- 空力特性
- DAE51Cl
- DAR51Cd
- DAE51LDratio
- DAE5151optDLratio
- 0.1
- 0.3
- ・・・以下数字が続く
シート説明
インターフェイス
値を変更して良い場所はインプットのところと定数のところ
右のペラ半径とブレード数は変更もできるが、初めは左と同じになるようにしている。
動粘性係数は空気密度と粘性係数から計算されるようになっている。
[一番重要なところ]
左側の無次元移流速度ζの値変更
パワーを決めたらパワー係数のところを見て、右側の値と左側の値が一致させる
すると最適プロペラでの推力がアウトプットに出てくる
推力を決めたら推力係数のところを見て、右側の値と左側の値が一致させる
すると最適プロペラでのパワーがアウトプットに出てくる
一致させたら最適なプロペラが設計されたことになる。
最適形状
※迎角αだけは手動で入力しないといけない!
コード長、ピッチ角を出力する
αはインプットのところで入力した揚力係数から表引きで読み込まれるか、もしくはその位置での局所レイノルズ数から最大揚抗比になる迎角を自動で入力されると形状抗力に関しても最適なプロペラが得られる。しかし、揚抗比の表から補間しなくてはならず、エクセルでVBA使わず実装すると少しだけ複雑になる。
ここでは自分の勉強用+誰でも理解できるようにする目的で作成したので簡単な構造になるようにここでは排除した。
本当に自分用に設計ソフト作るなら絶対にエクセルのでは作らないし、エクセル縛りがあってもマクロ・VBAを使う。しかしマクロやVBAを使うと誰でも理解できるという目的と合致しない。
そのため手動で値を入力する。
抗力の表から中途半端な値を補間せずに表引きで抗力係数を出している。したがって抗力係数の値がなめらかにならない。
ここで誤差がでる。
空力特性
最適形状のシートからコード長、ピッチ角の値を受け取って、
インターフェイスのところの条件で空力特性を出力する。
具体的には干渉係数を計算して、その干渉係数を元に回転面に対する角度φとブレードに当たる流速Wと無次元化した移流速度ζを出力。そのφ・W・ζを元に干渉係数を再計算する。この再計算を5回繰り返す。
最初に入力するζ(ゼータ)の値によって収束するか決まる。
0~0.5程度に収まるはず。
ゼータのグラフを見てそこに近い値を入れると1回目~5回目の値がそろってくるのでだいたいそろったらOK
5回収束計算させたのち、単位長さ当たりの推力とトルクを出力する。
これはインターフェイスシートの一番下にグラフで置いている。
DAE51Cl
レイノルズ数と迎角それぞれパラメータを振って揚力係数を表にしたもの
XFLR5などで出力させた値を貼り付けて表にしたもの
表の大きさ(A1:P32)を変えずにここのレイノルズ数の振り分けを変えても動く。
Reの分布が均等である必要はない。
ペラ根のレイノルズ数以下の値を作っておかないと計算されないので注意
上限は別にどうでもいい。
使われるところで細かく表があると正確になる。
DAE51Cd
clと同じ
DAE51LDratio
うえの二つの表から揚抗比を表にしたもの
この表自体の値はどこでも使用していない
インターフェイスの揚力係数はここで最大揚抗比になる迎角での揚力係数になるようにし、迎角もそれに合わせると最適プロペラになる
色づけは最大揚抗比のところを便宜上つけただけ。
DAE51optLDratio
各レイノルズ数で最大の揚抗比になる迎角をまとめたもの
これも特に使っていない。自分が見やすいように置いておいただけ
0.1,0.3,0.5,,,etc
XFLR5から出力された各レイノルズ数での出力をした
他の場所で使用しているものではない。
このように表を出しておいて使っているという参考までに。
拡張するならなにをするか?
- エクセルのソルバを使って最適なプロペラは何かがわかるようにする
- 翼型解析のデータの表を大きくして、低レイノルズ数側から刻み幅を細かくする
- DAE51以外の翼型解析データの表を作って翼型をインターフェイスの部分から変えれるようにする
- Reと迎角αから揚力係数Clなどが補間されて正確な値になるようにする
- アドバンスなこととしてαが自動的に選ばれるように簡単な収束計算を入れる
参考文献
小池勝 『流体機械工学』 (機械系教科書シリーズ) コロナ社 2009年
計算方法は全て上記の参考文献を元にした。
原理から途中式、設計手順まで詳しく書いてあるので、何度か読めばすぐに理解できるはず。
具体例まで載っているので自分で組んでから検算も可能で非常に有用な本である。
本の特徴として揚力の発生原理を複素速度ポテンシャルの説明からブラジウスの公式、クッタ・ジューコフスキーの定理まで丁寧に解説されている。逆に言えば流体力学や航空力学の基礎を他の本である程度理解していないと読み始めるのが難しいかもしれない。
他の特徴として、珍しく低レイノルズ数領域での翼の空力特性の実験データの説明がある。
プロペラ以外も風車も同様に設計できるように書いてあるので風車の設計にも使えるだろう。
しかし3次元翼の揚力線理論の計算部分はプラントルの積分公式を解くのが難しいとしている。対象とする読者のレベルを考えてのことだと思うが、数値計算する場合は収束計算で解くと説明されているのは個人的には残念。プラントルの積分公式を解こうと思うとフーリエ級数展開と行列計算が入ってくるのでしょうがないかなとも思う。
小木曽 望, 内海 智仁, 室津 義定: “低レイノルズ数域で作動するプロペラブレードの形状最適化”, 日本航空宇宙学会論文集, Vol. 50 (2002), pp.458-465
http://www.jstage.jst.go.jp/article/jjsass/50/586/50_458/_article/-char/ja
原理などはこの論文の緒論の部分も参考になる。配布のエクセルシートはここでいうAdkins とLiebeckの方法になる。
この論文は3次元パネル法を使って必要パワーが最小になるようなプロペラを設計しようとしている。
3次元パネル法を使うことによって効率が良くなったとあるが、迎角の調整を気合いでがんばれば十分エクセルシートの手法でも戦えるはず。
原田正志:“低レイノルズ数プロペラの設計法”,宇宙航空研究開発機構研究開発報告 JAXA-RR-06-032, 1-13, 2007-03
http://ci.nii.ac.jp/naid/110006946798
渦法と言われる方法での設計方法。配布エクセルシートの方法だと循環の分布は最適になっていて誘導抗力に相当するものは最小になっているが、必要パワー最小になるようにはなっていない。渦法だと必要パワー最小になるように設計できるのが特徴。プロペラの根本が太くなりがちなので製品を見れば設計方法の違いがわかる。
非線形の最適化問題になるので製作しにくいプロペラが出力されるのが問題とか書かれるけど、どうなんでしょう。
根本はどうせペラスパーが入らないから翼型を変えるか
↓ここのサイトが原田さんの渦法に関しては詳しいです。
高沢金吾, 外立政隆, 野中修:”低レイノルズ数域のプロペラ風洞試験”,航空宇宙技術研究所報告 TR-1071, 1990-06, pp.29-
http://airex.tksc.jaxa.jp/pl/dr/NALTR1071000
JAXAが統合する前の航空研(NAL)だったころの論文。BASICでAdkinsとLiebeckの方法でのプロペラ設計を実装している付録で載っているのが貴重。その方法での設計法の説明が載っているので読む価値あり。おそらく『流体機械工学』に載っている設計法の元ネタはこれ。個人的には必見だと思う。
あとは日本語の論文を元に参考文献にのっている英語論文を当たってみるといいのかも。
リンク
風車はプロペラの一種なので計算方法についてはほぼ同じ。風車についての理論的概略がすばらしい形でまとまっていた
Hiroshi Imamura Web Page~風車ノート~
http://homepage3.nifty.com/chacocham/Wind_Note/note/note_004.htm
神はここにおったんや!
参考文献はどこですか
ina111さんのエクセル使わせて頂きました。
が、僕の頭が固くて、どうしても理解できない部分がひとつありました・・・
インターフェースで揚力係数を設定するとき、
「揚抗比最大のときの揚力係数を入れると良い」 とありました。
例えばプロペラの根本付近ではCL=0.4で揚抗比最大になりますが
プロペラの先端付近ではCL=1で揚抗比最大になったりしますよね。
ここで、どっちのCLを選べばいいのかなーと、悩んでしまいました。
最も揚力が発生する箇所で揚抗比最大にしてやるのがいいのでしょうか?
shunさん
コメントありがとうございます。
「揚抗比最大のときの揚力係数を入れると良い」と書いたのですが、それは厳密に入力した飛行条件でのみです。揚力係数を決めるにはいくつかポイントがあると思っています。
飛行機の種類によってポイントは変わってきますが、ここでは人力飛行機だとしておきます。
1.飛行条件の範囲(Flight envelope)の決定
最適なプロペラを作って運用しようとしても、飛行条件(プロペラに関係するものだと機体速度や回転数、必要推力)は一定ではありません。プロペラだけではなく飛行機全体の運用として機体速度はどのくらいの範囲で変動しうるのか、回転数はどのくらい落ちることがあるのか、旋回時や推力はどの程度まで必要になることがあるのかetc…
この範囲を決める必要があります。
2.どの飛行条件になったら失速するか
限られた条件では、先端付近ではCL=1で揚抗比最大になり揚力発生箇所でのCLにするのが良いです。
ただし、飛行条件が変わって回転数が上がったり機体速度が遅くなったりします。そのような条件を「任意の空力特性」の部分の値に入れると「グラフ」シートでの迎え角が変わるのがわかります。思ったより迎え角が急激に変わるのがわかると思います。
回転数上昇or機速減少時にプロペラ(の2次元翼型)が失速しないような取り付け角にする必要があります。
するとCL=1には”できなく”なると思います。
一定条件での性能最大のプロペラではなく、運用するにあたってロバスト(条件変わっても使える)なプロペラが最適なプロペラだという考え方です。
3.レイノルズ数を下げすぎないようにする
飛行条件の変化だけではなく、人力飛行機ではプロペラも低レイノルズ数だということも考慮しています。
揚力係数をなるべく上げる、つまり迎え角を大きくすると設計されるものはコード長が短くなります。
するとレイノルズ数が下がって2次元翼型の性能が下がるので
揚抗比を改善する(取り付け角を上げて、コード長が短くなる)
よりも
レイノルズ数をあげる(取り付け角を下げて、コード長を長くする)
方が有利になることがあります。
機速やペラ半径、回転数などによって異なりますが。
こんなことを考えて揚力係数を考えると良いと思います。
ピンバック: C#で渦法のプロペラ設計プログラム作ってみた | ina111's blog