West Gate Laboratory

人生を少しでも,面白く便利にするモノづくり

EagleとFusion360を連携させて回路設計から筐体設計まで一気通貫で行う

概要

回路設計ソフトウェアであるEagleと、3DCADソフトウェアのFusion360を連携させる方法について。
特に、Eagle-Fusion360間の部品の3Dパッケージの連携方法について述べる。

背景

今や、ホビーユースであればEagleも、Fusion360も無料で利用することができる。とてもいい時代だ。(Autodeskありがとう)
特に、EagleがAutodeskに吸収されてから、EagleとFusion360の連携機能が強化されてきた。
今では簡単にEagleで設計した回路を3Dの状態でFusion360にエクスポートし、自分の基板専用の筐体をそのまま設計することができる。
さらに、3Dプリンタが家にあれば、その場で筐体を印刷することも可能だ。

例えば、こんなものができる。
先日記事にしたピアノ演奏可視化装置の回路を例に取ってみる。

westgate-lab.hatenablog.com

Eagleで回路設計をし、

f:id:kaname_m:20200509170524p:plain

それをFusion360に取り込み、

f:id:kaname_m:20200509170533p:plain

f:id:kaname_m:20200509170539p:plain

それに合わせて筐体を設計できてしまう。

f:id:kaname_m:20200509170551p:plain

筐体のモデリングができたら、3Dプリンタで専用ケースも作れてしまう。

f:id:kaname_m:20200606190641j:plain

フタも印刷すれば専用デバイスの出来上がりだ。

f:id:kaname_m:20200606190644j:plain

ただ、3Dの情報を含めきちんと両者を連携させるには、3DパッケージをEagleのライブラリに正しく取り込む必要がある。
この記事では、Eagleに3Dパッケージを取り込み、Fusion360と連携させる方法について述べる。

Eagleで3Dパッケージを扱う場合、既存の3Dパッケージをダウンロードして使う方法と、自分で3DCADを使って3Dパッケージを作成し、それをEagleに取り込む方法がある。

既存の3Dパッケージをダウンロードして使う場合

Eagleにも一部の表面実装コンデンサなど、デフォルトで3Dパッケージが入っているデバイスもあるが、大半は3Dパッケージが存在しない。そのため、自分で用意する必要がある

今回は、ピアノ演奏可視化でも使っているESP32-DevkitCボードを題材にする。

まず最初に3Dパッケージをインターネットからダウンロードするか、自分で作成するかの分岐がある。
ESP32-DevkitCのようなメジャーなモジュールはたいてい誰かが3Dパッケージを作ってくれているので、それを探して使わせてもらうことにする。

3Dパッケージを探す

3Dパッケージの検索には、以下のサイトが便利だ。

www.snapeda.com

grabcad.com

まずは、既存の3Dパッケージが存在しないか、上のようなサイトを使って検索することになる。
ESP32-DevkitCボードについては、例えば「ESP32」と検索してつらつら見ていくと、ESP32-DEVKITC-32Dのパッケージが存在する。

www.snapeda.com

上のページを見ていただくとわかるように、ありがたいことにシンボルとフットプリント(.lbr)・3Dモデル(.step)の全てがダウンロードできる。
SnapEDAはアカウントが必要なので、アカウント登録後、シンボル・フットプリント・3Dモデルをダウンロードする。

f:id:kaname_m:20200509170556p:plain
ESP32-DEVKITC-32Dの2Dデータ(SnapEDAより)

f:id:kaname_m:20200509170559p:plain
ESP32-DEVKITC-32Dの3Dデータ(SnapEDAより)

なお、今回はシンボル・フットプリントもない状態から始めたため、運良く見つかった上のライブラリを使わせてもらったが、3Dモデルはあってもライブラリがない、という場合もある。(GrabCADは3Dモデルのみ)
そうした場合は自分でシンボルやフットプリントをEagleで新規作成する必要がある。
Eagleの詳しい使い方は、以下の書籍が詳しい。
Eagleを使って回路設計する人は1冊持っておくと便利である。

EAGLEによるプリント基板製作の素

EAGLEによるプリント基板製作の素

  • 作者:後閑 哲也
  • 発売日: 2009/11/27
  • メディア: 単行本(ソフトカバー)

シンボル・フットプリントをEagleに読み込む

まずは、Eagleに2Dデータ(シンボル・フットプリント)、つまりダウンロードした.lbrファイルを読み込む

EagleとFusion360を連携させる場合、シンボルや3Dパッケージなどの部品データは全てAutodeskのクラウドLIBRARY.IO)上に保存する必要がある。(ローカルにあるライブラリは連携に使えない)
まずは、EagleのControl Panel上のLibrariesにあるアカウント名のフォルダを右クリックすると、"View on web"とあるので、これを選択し、LIBRARY.IOの自分のアカウントページを開く。

f:id:kaname_m:20200509173846p:plain

LIBRARY.IOのマイページ上に”Import Library”があり、”Upload File”とあるので、そこから先程ダウンロードした.lbrファイルを選択する。

すると、その下の”Library from (アカウント名)”のところにアップロードしたライブラリが表示されるはずだ。

f:id:kaname_m:20200509174033p:plain

次に、LIBRARY.IOにアップロードしたライブラリを、Eagleにダウンロードする。

EagleのControl Panelの左ペインにあるLibrariesを右クリック、Open Library Managerを選択すると以下の画面になるので、AvailableタブでESP32などと検索すると、先程アップロードしたライブラリが現れる。(以下の画像ではローカルに保存した別のESP32のライブラリが出ているが、ここでは無視する)

f:id:kaname_m:20200509170612p:plain

ダウンロードマークがついているライブラリを選択、右下のUseを押すとライブラリがダウンロードされ、Control Panel上でも確認できるようになる。

f:id:kaname_m:20200509170616p:plain

3Dデータ(STEPファイル)をライブラリに取り込む

次に、先程ダウンロードしたSTEPファイルをこのライブラリに関連付ける。
ダウンロードした"ESP32-DECKITC-32.lbr"を開くと、ライブラリのデバイス一覧が開ける。
フットプリントやシンボルは正しく表示されるが、3Dパッケージはまだ取り込んでいないため、ただの四角い板のようなモデルになっている。

f:id:kaname_m:20200509170620p:plain

それでは、ここに先程のSTEPファイルを取り込む。

関連付けたい3Dパッケージ名を右クリック、Editを選ぶと以下のパッケージ編集画面が開く。

f:id:kaname_m:20200509170625p:plain

f:id:kaname_m:20200509170628p:plain

まだ3Dパッケージが反映されていないので、板状のモデルが配置されている。
ここで、上の”Upload”から先程のStepファイルを選ぶ。するとLIBRARY.IOのマイアカウント上にStepファイルが取り込まれ、編集中のライブラリにも自動で取り込まれる。
(すでにStepファイルがアップロード済みの場合は、”Remove 3D Model"で板状モデルを削除し、”Add"からモデルを選択しても良い)

f:id:kaname_m:20200509170633p:plain
UploadしたSTEPファイルが取り込まれた状態

3Dパッケージの位置・向きの調整

さて、向きや位置をここから調整する。

3Dモデルをクリックすると向きや位置を調整できる。
まずは向きを90度変更し、Z軸で高さを調整する。

(2020年6月6日追記)
ピアノ演奏可視化装置で使ったESP-WROOM-32の基板厚さが1.6mmなのに対し、今回使ったモデルは基板厚みが0.9mmだった。
そのためZ軸をぴったり合わせると0.7mmZ方向にずれてしまい、後の筐体設計のときにUSBコネクタ位置がずれてしまう。
そのため、このモデルを使ってESP-WROOM-32を模擬する際は、0.7mmオフセットさせるのが良い。

f:id:kaname_m:20200509170638p:plain

下から見てピン位置がぴったりになるようXY軸を調整。

f:id:kaname_m:20200509170642p:plain

位置調整が完了したら、OKをクリックし、保存する。

f:id:kaname_m:20200509170647p:plain

EagleのLibrary画面に戻るので、Ctrl+Sで保存。すると、「Managed Libraryが更新されたからLibraryメニューのCreate New Versionを選択してね」と出る。
忠告に従いLibrary→Create New Versionを選択。するとここの変更内容がLIBRARY.IOにアップロードされる。
(このとき、3Dパッケージのプレビュー画面が歯車マークのままの場合があるが、Fusion360では正しく反映されるので、そのまま進んで構わない)

実際に基板を設計してみる

さて、ここまでで作成した3Dパッケージ入のESP32-DEVKITCボードを使って回路を設計してみる。
といってもFusion360との連携の試しなので、まずは回路上にただESP32-DEVKITCを置いただけだ。

f:id:kaname_m:20200509170651p:plain
Eagleで基板上に1つだけESP32-DEVKITCを配置する

基板設計が終わったら、Eagleの基板設計エディタの右端に「FUSION 360」というボタンがあるので、それをクリックすると、Fusion360との同期画面がポップアップされる。

f:id:kaname_m:20200509170704p:plain

一番下に"Push to Fusion..."とあるので、これをクリック。どうやら内部ではGitのようなバージョン管理が行われているようだ。
すると既存のモデルにリンクさせるか?と聞かれる。今回は新しいモデルなので、”Create new Fusion 360 design”を選択する。次にPush先のプロジェクトを選択し、Pushする。(これが少し時間がかかる)

f:id:kaname_m:20200509170654p:plain

Pushが終了したら、Fusion360に移る。
Pushしたプロジェクトを見てみると、先程Pushした基板の3Dモデルがあるはずだ。

f:id:kaname_m:20200509172006p:plain

3Dモデルも正しく反映されている。良い良い。

Fusion360へ基板をPushした後、連携が切れてしまった場合

Fusion360やEagleを再起動すると、デザイン同士のリンクが切れてしまうようである。
一度Pushして3DモデルをFusion360に取り込んだのに、Eagle基板設計エディタのFUSION 360をクリックすると以下の画面が出てくる場合がある。

f:id:kaname_m:20200510231351p:plain

このときは、すでにあるデザインに再度リンクすれば良いので、上の"Link to an existing Fusion 360 design"を選択し、リンクしたい既存のデザインを選択する。すると再度Pushできるようになる。

回路の修正を反映する

一発で設計終了すればいいが、実際には回路を何度も修正することになるだろう。
その場合、Fusion360に反映させるにはその度に先程のPushをすれば良い。

例えば、ボードの位置が気に食わなかったので、基板の左側に移動したとする。

f:id:kaname_m:20200509170716p:plain

すると、画面右の”FUSION 360"が緑色になり、要Pushのステータスになるので、先程と同様の手順でPushする。
同期画面では、修正がFusion360の3Dモデルに未反映のため”OUT OF SYNC”となっている。

f:id:kaname_m:20200509170719p:plain

再度Push to Fusionし、Fusion360に戻ると「モデルが更新されました」と出るので”更新”をクリック(これがない場合でも、一度スケッチを閉じて再度開けば更新される)。

f:id:kaname_m:20200509170519p:plain

ボードが基板左側に正しく移動したことが反映された。素晴らしい。

今回は例として1デバイスのみの場合を示したが、同じ作業を抵抗やコンデンサ、その他の部品に対して行うことで頭に示したような回路の3Dモデルが作成できる。

自前で3Dモデルを作成する場合

マイナーな部品の場合はネット上に3Dモデルがないため、自分でモデルを作る必要がある。
シンボルやフットプリントがない場合はそこから自分で作る必要があるが、それはすでにあるものとする。

今回は、秋月電子で売っているこのブザー(PB04-SE12HPR)を例にとってみる。

f:id:kaname_m:20200510231406j:plain
PB04-SE12HPR(秋月電子HPより)

電子ブザー 14mm PB04−SE12HPR: パーツ一般 秋月電子通商-電子部品・ネット通販

流れとしては、以下の通り。

  • データシートに合わせて3DモデルをFusion360で作成する。
  • STEPファイル形式でエクスポートする。

以降は上述したダウンロードして使う場合の、LIBRARY.IOにインポートするとこから同じである。

データシートを入手する

上で述べた3Dモデルのサイトを散々探してどうにも見つからない、となれば、外形の情報を得るため、データシートを入手する。
秋月電子の商品ページから飛べるデータシートの中に、パッケージの情報が含まれている。

f:id:kaname_m:20200510231412p:plain
ブザーのパッケージ図(データシートより)

この情報に従い、Fusion360でモデルを作成する。
どこまで詳細にモデリングするかは好みだが、最低限端子部分の寸法と縦横高さが合っていれば問題ないだろう。今回はボディの色と端子の色はざっくり合わせてみた。

f:id:kaname_m:20200510231415p:plain

f:id:kaname_m:20200510231341p:plain

STEPファイル形式でエクスポートする

さて、モデルができあがったらそれをエクスポートする
Fusion360のデザイン画面からファイル→エクスポートで.stepを選択し任意の場所にエクスポートする。

ここから先は上述の”3Dデータ(STEPファイル)をライブラリに取り込む”以降と同じだ。

f:id:kaname_m:20200510231355p:plain

ライブラリをアップデートする場合

ライブラリそのもの、例えばシンボルやフットプリント、3Dモデルの位置調整などを行った場合はライブラリをアップデートし、それを反映する必要がある。

例えば、先程作成した3Dパッケージの位置を微修正する場合は、まず該当する3Dパッケージが含まれるライブラリをEagleで開き、 3Dパッケージ→Editでパッケージの編集画面に入る。
編集画面で先程と同様に位置・向きを修正し、終わったらOKで保存。
Eagleのライブラリ画面に戻ると3Dパッケージを登録したときと同様に「ライブラリが更新されたから”Create new version”してね」と出るので、Library→Create new versionでライブラリのバージョンを上げる。

ライブラリのアップデートが終わったら、次にこの変更をEagleの設計に反映する必要がある。 Eagleの回路または基板エディタでLibrary→Update allで使用しているライブラリを含めてアップデートする。

f:id:kaname_m:20200510231403p:plain

アップデートが正しく完了すると、またFusion360に反映しなさいということでエディタ右側のFUSION360ボタンが緑色になるので、同様にPushする。

f:id:kaname_m:20200510231400p:plain

Fusion360に戻り、デザインを更新すると、修正されたモデルが反映されているはずだ。(デザインが開かれている場合は、一度閉じて再度開くこと)

まとめ

回路設計ソフトウェアのEagleと3DCADソフトウェアのFusion360を連携させて回路基板の3Dモデルを作成する方法を述べた。
これを使うと回路設計をEagleで行い、Fusion360で取り込んでその基板に合わせた筐体設計が可能になる3Dプリンタを持っていればその場で専用の筐体を印刷することも可能である。