DesignSpark Electrical Logolinkedin
Menu 検索
フォーラムで質問

Flowcode 7とDesignSpark Mechanical でメカトロニクスシミュレーションを簡単に実現!

titletitle

PCによる組込み機器の動作シミュレーションは、開発をスムーズに進める上で大変強力なツールであるといえます。なぜなら、その機器の挙動を実際に試作を行う前に確認できるようになるからです。これは、試作コストがネックとなる研究・学習やや開発スピードが求められる製品開発の現場の両方で有益であるといえます。

Flowcode 7をお薦めする5つの理由

LEDやスイッチといった電子部品のシミュレーション機能は、何年も前からFlowcodeの機能として搭載されていました。しかし、メカトロニクスのシミュレーションには対応しておらず、2次元の設計環境にも適合しているとは言えません。3年前のFlowcode 6で初めて3次元設計環境に対応し、より複雑なメカトロニクスシステムをシミュレートできるようになりました。3次元データの活用によって、ステッピングモータ、サーボモータ、スイッチ、リニアモータ、ソレノイドバルブなどの部品のより高度なシミュレーションが可能になります。これらの部品を組み合わせることで、XYプロッタや風力タービン、ロボットアームなどハードウェア製作前にシミュレーションが必要とされる3次元構造を持った複雑なシステムが設計できるようになりました。一般に多くシミュレータは、あらかじめ想定されたシナリオ上でしか動作を確認することができませんでした。これに対しFlowcodeでは、あらゆるエンジニアの様々な要求に柔軟に対応できるレベルで独自の設計ができるツールとなることを狙っています。

そして今回リリースされた Flowcode 7によって、より高いレベルで3次元オブジェクトをインポートして扱えるようになりました。一般的に3次元機械設計では、大まかに言って「パーツ」と「アセンブリ」という2つのファイルが存在します。パーツとは、3次元で設計された物体単体のことです。これには、物体の機械的な寸法、素材など様々なプロパティが含まれています。アセンブリは、これら個別のパーツの集まりで、それぞれが組み合わさって1つのシステムを構成しています。3次元製図ツールでは、物体の位置関係を設定するため、特定のツールを実行していました。Flowcode 6では、手動で個別のパーツをインポートして、シミュレーションパネルでパーツを正しく並ぶよう動かさなければなりませんでした。複雑なシステムになってくると、これは非常に困難な作業となります。Flowcode 7では、アセンブリファイルを読み込めるようになりました。オブジェクトの位置と関係を保持した完全な3次元データをインポートできるようになったのです。一度、インポートしてしまえば、好みによって複数のオブジェクトをグループとしてくっつけるか、個々のまま動かすかして扱うことができます。

この記事では、基本的なスイッチアセンブリをFlowcodeに取り込む様子についてご紹介し、このスイッチからなる3次元システムを動かしてみたいと思います。Flowcodeは、基本的な3次元製図ツールが搭載されていますが、複雑なシステムの場合、専用の3次元設計ソフトウェアのご利用をお勧めします。DesignSpark Mechanical は、そのようなソフトウェアの1つであり、Flowcodeで完全にサポートされています。DesignSpark Mechanicalは、ソフトウェアが無料なだけでなく8万点を超える3次元モデルをRSコンポーネンツからダウンロードできます。これにより、あらかじめ出来たメカトロニクス部品を設計でインポートして活用する可能です。

記事では、シンプルなスイッチ部品によるアセンブリファイルを取り込むことができることも確認します。この部品は小さな個別のパーツですが、同じ原理でさきほど述べたような、より大きな3次元システムのデータの場合でもスケールアップして利用することができます。Flowcode 7へのより詳しい3次元アセンブリの取り込みについては、こちらをご覧ください

この記事で選択したスイッチは、RSウェブサイトのRS品番103-6252。です。CADファイルは、DesignSpark Mechanicalでダウンロードし、開くことができます。このパーツは6つの個別パーツから成るアセンブリです。

title

次のステップでは、Flowcode互換のファイル形式としてアセンブリを保存します。Flowcodeでは4種類のファイル形式に対応しています。

1)      STEP
2)      IGES
3)      OBJ
4)      STL (注: STLフォーマットは、アセンブリをネイティブではサポートしていません。)

名前をつけて保存を選択して、スイッチ部品を.OBJ形式で保存します。これでスイッチをFlowcodeに取り込む準備ができました。

参考:このケースでは、6つのパーツのUnnamed01, 02,…となっていた名前を手動で変更しました。Flowcode7に取り込んだ後に意味が分かるようにしておきます。

Flowcodeを立ち上げて、新しいプロジェクトを作成します。3Dシステムパネルがオンになっていることを確認してください。インポートした後にスイッチアセンブリが見えるようになります。File>Import Objectから、スイッチの.OBJファイルを指定します。Flowcodeによって、下記のダイアログボックスが表示されます。今回は設定を変えずそのまま先に進みます。

title

インポートプロセスでは、Flowcodeは.OBJファイルをネイティブ形式の.MESHファイルに変換し、保存場所が必要になります。もし、アセンブリファイルをインポートする場合、同じようにFlowcodeが6つの.MESHファイルを生成します。スイッチ部品が読み込まれると、次のように表示されるはずです。個別の部品を選択し、システムパネルで動かすこともできるはずです。ただ、この時点では正しくスイッチが配置されているので、動かさないことをお勧めします。

title

スイッチコンポーネントについて、この3次元システムに合わせて、特性を設定する必要があります。シンプルなスイッチなので、ボタンの部分を押して、スイッチを入れることができるようにしたいと思います。つまり、たとえばここでは、動作部品はボタンの押し込む部品になり、残りの5つの部品はすべて静的な部品になります。Flowcodeにアセンブリをインポートすると、自動的にグループ化されます。そこで、まず、下のアイコンをクリックして、スイッチを選択し、グループ化を解除します。

title

左 – グループ化解除
右 – グループ化

ここで新たに本体の静的な5つの部品だけを含む新たなグループを作成します。グループを作成するには、オブジェクトの周辺をドラッグして枠で囲みます。上で説明したグループ化ボタンを押します。もし、ハイライトされた部品を削除したい場合は、SHIFTキーを押しながら、オブジェクトを左クリックしてください。

3次元のアセンブリを機能するスイッチとするには、Flowcodeにある‘Switch Template(スイッチテンプレート)’コンポーネントを利用しなければなりません。これにより、インポートしたアセンブリで動作するスイッチを作成することができます。Switch Templateコンポーネントは、下の図のようにサーチバーから見つけることができ、シミュレーションパネルに追加されます。

title

Switch Templateが追加されたら、下の図のように設定をしてください。主に設定する必要のあるプロパティは、Simulation category以下にある、Moving Part、Type、Operation、Axis、Movementです。表示されているようにこれらのプロパティを変更しました。

title

最後に、スイッチの動作をテストするシンプルなフローチャートを作ります。下の図は、これを行うための簡単なフローチャートです。単純に、スイッチの状態を読んで、もしスイッチが押されていればLEDを光らせ、その反対の場合にも対応します。

title

シミュレーションの様子ですが、ボタンが押されるとスイッチが動作して、期待通りに動いていることが確認できます。

title

今説明したスイッチの例は、非常に簡単なものでしたが、これがより複雑な3次元のメカトロニクスシステム作成に対してもスケールアップ可能だということがお分かりかと思います。下にいくつか、Flowcodeで何が作成可能かというスクリーンショットを用意しました。こちらで Flowcode 7にアセンブリファイルをインポートする方法をご確認いただけます。

何か質問がございましたら、コメント欄にご記入いただくかこちらから無料お試し版のFlowcode 7を入手し実際にシミュレーションの動作をお試しください。 実際にFlowcode 7(スタンダード版かプロフェッショナル版)を導入されたい場合はこちらのRSオンラインにて ご購入頂けます。

title

title

title