以前この記事でDMM.makeに発注したドローンのフレームが届いたのですが,フレームがふにゃふにゃである等,いくつか改善すべき点がありました.それらを以下に列挙します.
- モータとモーターブラケットの間隔が広い(モータがぶかぶかになっている)
- 全体としてもう少し小さくできそうなので,小さくする
- 45 x 45 mmの基板に回路を乗せるため,それ用に寸法を合わせる
- 脚をつけるためのねじ穴を用意する
- filletはいらない(あまりfilletがあることによるメリットを感じなかった)
- 機体フレームの剛性が弱くてふにゃふにゃ
特に機体フレームがふにゃふにゃなのは,直さないと間違いなく飛ばなそうだなーと思いました.飛行中に機体が振動してぶれて制御が効かなくなりそう..
そこで,今回は設計のFEM解析をFreeCAD上で行い,設計を変えたら(厚さを変えたら)どれくらい剛性が改善するかを見てみたいと思います.FEM解析とはFinite Element Method(有限要素法)のことで,剛性解析等に用いられる手法です.
以下の手順で進めました.
- 物性の設定
- 境界条件の設定
- メッシュ生成
- 計算
FreeCADでFEM解析を行う際の詳しい手順に関しては,この記事の末尾に参考サイトを紹介しているので,そちらを見てもらえればと思います.
この記事では,以下の形状のドローンのフレームのFEM解析を行っていきます.
物性の設定
物性ですが,発注した部品の素材は以下のようになっています.
機体 | PA12GB(ポリアミドにガラスビーンズを混ぜた素材) |
プロペラガード | ナイロン |
詳しくはこの記事を参照してください.
今回は,機体の厚みによってたわみがどれくらい変化するかにフォーカスしたいので,機体の物性をAcrylic-Glass-Genericと仮定してシミュレーションします.詳しい物性値についてはここが参考になるかと思いました.
境界条件の設定
固定する部分の設定
上の図の赤い部分(Pad)を固定部としています.この赤い部分は回路と機体をネジ止めする部分なので,ここを拘束とするのが妥当かと思います.
加える力の設定
たわみに関係する力は2つあり,一つはプロペラガードが機体にかける力,もう一つはモータが機体にかける力です.プロペラガードは2 [g],モータは5 [g]なので,力 [N] はそれぞれ以下のようになります.
- プロペラガード:2 x 10^(-3) x 9.8 [N] ≒ 0.02 [N]
- モータ:5 x 10^(-3) x 9.8 [N] ≒ 0.05 [N]
わかりづらいですが,力は以下の図の下向き矢印(赤色)でかかっています.
メッシュ生成
メッシュはNetgenのメッシャーを用いて,Max sizeを5と指定してメッシュを生成しました.
Max sizeはメッシュの最大長さ [mm] を表しているみたいです.最大5 mmくらいでちょうど良さそうですね.
The main setting to edit is the Max Size which defines the maximum size (in millimeters) of each piece of the mesh.
https://wiki.freecadweb.org/Manual:Creating_FEM_analyses
シミュレーション結果
SoverCcxTools -> Write .inp file -> Run CalculiXを押して1分くらい待っていると,CCX_Resultsに結果が出力されます.
結果,最大で2.85 mmほど変形しているみたいです.下図の赤い部分が特に変位の大きい箇所です.
荷重を加えるとこれだけ変形するよっていうのを少しわかりやすく表現してみました.↓(わかりやすいように変形量は2倍として図示しています.)
実際の写真は以下です.たしかに実際の写真でも2.85 mmくらい変形していそうですね(まあ厳密にはわからないけど…).
機体の厚さを変更したときのシミュレーション結果
機体フレームの厚さとDisplacement Magnitude(変位量)の関係をまとめます.
フレームの厚さ | 変位量 |
1 mm | 2.85 mm |
1.5 mm | 0.88 mm |
1.8 mm | 0.53 mm |
2 mm | 0.39 mm |
たわみ量は0.5 mmに抑えたいなと思うので,厚さは2 mmにしようかと思います.
理論的考察
最大変位量は,以下の式で計算できます.
最大変位量 [m] = 荷重 [N] x 長さ [m]^3 x 12 / (3 x ヤング率 [Pa] x 幅 [m] x 高さ [m]^3)
ドローンの場合だと,機体フレームの厚さの3乗に反比例して最大変位量が小さくなる計算になります.ここで,フレームの厚さが1 mmから2 mmになったときに最大変位量は1/8倍になると予想されますが,確かに2.85/8 = 0.36 ≒0.39となっているので,上記シミュレーション結果は理論的にも整合性のある結果だと捉えることができます.
つまづいたポイント
メッシュが生成できない
この記事でFreeCADのインストール方法を紹介しましたが,ここで紹介した方法でインストールしたFreeCADだとメッシュがうまく作成できないという問題が発生しました.
調べてみると,以下のサイトで紹介されているようにこれはFreeCADのバージョンの問題のようでした.0.19_preだとうまくいくとのことだったので,このバージョンのソフトで試したらうまくいきました.
netgen seems to be still not supported via daily ppa. You can use the appimage as an alternitive.
https://github.com/FreeCAD/FreeCAD/releases -> 0.19_pre -> assets -> *.AppImage
https://forum.freecadweb.org/viewtopic.php?t=28243
たわみ量の計算(SoverCcxTools)でエラーする
以下のようなエラーメッセージが出力されて,たわみ量の計算ができないことがありました(厚さ1.8 mmと2.0 mmで計算したとき).メッシュ生成時にFinenessをFineにしたらうまくいきました.メッシュ生成時の計算精度が低かったようですね.
p, li { white-space: pre-wrap; } *ERROR in e_c3d: nonpositive jacobian determinant in element 25962 *ERROR in e_c3d: nonpositive jacobian determinant in element 25992 *ERROR in e_c3d: nonpositive jacobian determinant in element 39666 *ERROR in e_c3d: nonpositive jacobian determinant in element 50237 *ERROR in e_c3d: nonpositive jacobian determinant in element 52758 3.5: CalculiX execute error: 3.5: Loading result sets... CalculiX returned an error due to nonpositive jacobian determinant in at least one element Use the run button on selected solver to get a better error output. 19:55:49 Error()
コメント