Cafe'Tec Yagiyu

のんびり気ままに技術進捗

Fusion360でパラメトリックパーツ作製(回路パーツ作製)

連日暑い日が続いていて夏バテがつらいですがなんとか生きてる今日この頃です。

 

さて今回は金欠ものづくり学生の味方のCADであるFusion360を使って、パラメトリックを用いたパーツ作製について書こうと思います。

エヴァンジェリストの方ほどの解説力はありません(どころか実力者でもないただの一般ユーザです)が、できるだけ丁寧に書こうと思います。

 

1.パラメトリックモデリングとは?

そもそもパラメトリックモデリングとは何のことなのか分からない方もいるかと思います。

 

要は設計するものの寸法値に変数を用いて、変数を変えることでモデリングするものの形状を作ろう!という設計手法です。Fusion360はデフォルトでパラメトリックです。

 

変数として式を入れることも出来るので、ある寸法を変更することで、その値を用いた式で決まる別の寸法も一気に変えるといった手法も可能です。

 

今回はその手法を用いて、できるだけ変える寸法パラメータを少なくしたモデルを作りました。これにより、新しく線を引いたり押し出したりすることなく、別の形状のモデルを簡単に(そして楽に)作ることができます。

 

作例は秋月電子通商を頻繁に使う人なら知っているであろうターミナルブロックと、種類がたくさんある電解コンデンサです。

http://akizukidenshi.com/catalog/g/gP-01306/

http://akizukidenshi.com/catalog/g/gP-11758/

 

2. 実際のモデリング

2.1. ターミナルブロック(秋月電子・5.08mmピッチ)

f:id:yagiyu-tec:20190811144957p:plain

こちらが作ったモデルです。パラメータにはピン数を用いて、数値を変更すれば、そのピン数だけターミナルブロックを生成します。

 

●設計の流れ

f:id:yagiyu-tec:20190813234552p:plain

(1) 2ピン分のターミナルブロックの形状を作る

...ピン2個分のターミナルブロックを、データシートを元に作ります。

 

f:id:yagiyu-tec:20190814000809p:plain

(2) 「パラメータを変更」からパラメータの変数を設定

...「修正」から一番下の「パラメータを変更」からパラメータを設定します。ユーザパラメータは自分で自由に設定できるパラメータです。モデルパラメータは、モデリングで設定した値が反映されています。今回はユーザパラメータとしてピン数を設定します。

 

f:id:yagiyu-tec:20190813235135p:plain

(3) 端を基準にスケッチを行う

...いろいろ方法はあると思いますが、今回はボックスの端からスケッチを入力してピン数に対応させる要素(ネジ穴、配線挿入穴、金具等)を作ります。この工程は式から実際のモデルを生成するときに重要になります。モデルの中心からスケッチを作成した方がいい場合もあると思います。適切な基準を考えてスケッチを作りましょう。

 

f:id:yagiyu-tec:20190814002509p:plain

(4)パラメータを使って各寸法に式を入力する

...変数であるピン数を使って、各寸法を表すことができる式を作ります。上では、矩形状パターンから「パターンタイプ」を「面」にして、ネジ穴と配線挿入穴をパターン複製しています。

「数量」はnomber、データシートから、5.08mm(0.2inch)の間隔でピンがあるため、増やす方向の「距離」の式は『(5.08*(nomber-1))*1 mm』としました。

端子数2の場合、『5.08mm』となり、数量は2なので、その距離の両端に端子ができます。

増やす対象がネジなら「パターンタイプ」はボディにし、同様に式を入力しました。

ターミナルブロックの横幅についても式を導入し、長さを『(5.08*nomber)*1 mm』としました。

 

f:id:yagiyu-tec:20190814005812p:plain

(5) 使いたいピン数に設定

...今回は2ピンのままで使ったので、変数を「2」としました。ここで3,4,5…と増やしていくと、各寸法が自動で変更され、対応する数のターミナルブロックが作成されます。

例えば端子が3つの場合は上の画像のようになります。

ここで想定していた増え方ではなかった場合、対象の「式」をダブルクリックして変更します。

 

f:id:yagiyu-tec:20190814010310p:plain

(6) 名前をつけて保存して対象のアセンブリで使用

...今回は両電源モジュールに使いました。同じアセンブリで同様のモデルが必要な場合、作ったパラメトリックモデルを名前をつけて保存し、目的のピン数に設定して使用すれば上のように楽に複製できます。

 

2.2. 電解コンデンサの作製

f:id:yagiyu-tec:20190811153232p:plain

こちらが作ったモデルです。パラメータには円筒直径、円筒高さ、ピン幅を用いています。コンデンサ表面の外観を変えれば、様々な色のコンデンサも作製できます。

 

●設計の流れ

f:id:yagiyu-tec:20190814010830p:plain

(1) 基礎となる電解コンデンサを作製

...量産するコンデンサの基準となる適当な電解コンデンサをまず作ります。値はノギスで測った値から設定しました。

円筒上の凹みの形状は上のようなスケッチとフィレットで作りました。

 

f:id:yagiyu-tec:20190814012601p:plain

(2) 直径、高さ、ピン幅から各寸法の式を作製

...「式」から実際に寸法のパラメータや式中の値を変更し、関係性から最適な式を導いて入力します。関係性がわからない場合でも、設計に問題ない箇所(見た目など)なら、感覚で決めた式でも大丈夫だと思います。

 

(3) 用いる電解コンデンサのサイズに合わせてパラメータを設定

...使用する電解コンデンサに合わせてパラメータ(作例ではピン幅、直径、高さ)を設定します。

 

f:id:yagiyu-tec:20190814013434p:plain

(4) 名前をつけて保存し、対象のアセンブリに追加する

...今回は両電源モジュールに使いました.大きさだけでなく,色が違うコンデンサでも簡単に複製することができます.

 

 

3.パラメトリックパーツを使ってみよう

ターミナルブロックと電解コンデンサを用いて設計した両電源モジュールがこちらです。

f:id:yagiyu-tec:20190811154449p:plain

1度パラメトリックで細かなパーツを作ってしまうことで、筐体作製に力を注ぐことができました。

 

 

質問や指摘があったり自分で気付いたりしたら修正しようと思います。

ではでは。

CNCで基板を作れるようになった話

お久しぶりです。

久しくしている間に通う学校が変わったので、うどんの国から愛知に引っ越しました。
今いるのは愛知は豊橋なんですが、やっぱ本州から隔絶された四国よりは都会ですね。四国には新幹線通ってないので近くの駅に新幹線が通っているって時点で都会判定入ります。

通っている大学は学問環境的にも作業環境的にも利便性が高いところなので、進学してよかったと思っています。作業のためにいろいろと環境構築しているうちに、入っているサークルのCNCをお借りして基板を切削できるようになりました。

Eagleでちょちょいっと試作基板を作って、
f:id:yagiyu-tec:20190530025709p:plain


PCB-Gcode ULPでGコードを生成して、切削。ULPのGコード生成に関してのパラメータの調整はこのブログ記事を参考にしました。
martyworkshopdiary.blogspot.com

(2019.5.30 追記) Revolution Includeさんの記事にGコード生成の設定について詳しく書いていたので、こっちも参考にするといいと思います。
blog.livedoor.jp



こんな感じにできました。パターンと穴で少しずれてたりするのは、途中でCNCとの接続が切れて初期位置を再設定したからです。
f:id:yagiyu-tec:20190530030034j:plain


エンドミルはこちらのを使いました。安くて細かいパターンも彫れるのでいい感じです。
https://www.amazon.co.jp/gp/product/B016M3P0VW/ref=ppx_yo_dt_b_asin_title_o04_s00?ie=UTF8&psc=1www.amazon.co.jp


いろいろと製作途中のものがあったりするので、しばらくはプロト基板作りはこの方法でやっていこうと思います。最終は中国の業者に投げる感じで。

今回はこれだけです。ではでは。



投げ銭していただければ、めちゃくちゃ喜ぶのでよかったらよろしくお願いします。
↓えさを投げる(Ofuseのサイトに飛びます)↓

MbedStudioでNucleo-F446REのLチカした話

お久し振りです。
Mbedの公式オフライン環境が出たと聞いて試してみました。ミーハーなので。
正直めんどくさかったですw (2019.03.07現在)
これからもしかしたら改善があるかもしれません。簡単な方法を知ってる方はぜひ教えてください。

とりあえずARMからMbedStudioをダウンロード&インストール。
os.mbed.com


開くとこんな感じ。
f:id:yagiyu-tec:20190307215350p:plain
(左側のActive programとTargetは初めは何も選択されていません)

この赤色で囲んだところにプログラムを入れていきます。
f:id:yagiyu-tec:20190307215754j:plain

以前Mbed OSでプログラムを作ってたので、とりあえず"File">"Import Program..."でARMの自分のページから、公開リポジトリのプログラムをインポート。
f:id:yagiyu-tec:20190307234327j:plain
ここのTestのURLを、
f:id:yagiyu-tec:20190307220723p:plain
こんな感じでAdd。

中身を見ると...あれ?なにも入ってない。
どうやらダウンロードして突っ込んだほうが速そうです。

ARMの公開リポジトリからDownload repositoryでzipをダウンロードして、中身をMbedStudio上のTestに突っ込む。
Active programで選択できるのかと思ったら、
またない。

調べながらいじってみると、どうやら"File">"Add Library to Active Program..."からmbed-os libraryを入れなきゃいけないみたいです。
最初からMbedStudioに入ってるんじゃなかったのか...

github.com
ここのURLを、
f:id:yagiyu-tec:20190307222032p:plain
"File">"Add Library to Active Program..."に貼り付け。

Nextすると、osバージョンの選択画面に。
f:id:yagiyu-tec:20190307222422p:plain
こんなに必要あるのか?ってくらいたくさん選択肢が出てきますが、"mbed_lib_rev(最新版の数字)"を選択。

しかしだめだった。Active programとして認識されていないようです。

そこでmbed-osのサンプルプログラムをダウンロード。
os.mbed.com
ここからzipダウンロード。
できたらMbedStudioでファイルを作って、放り込む。
すると中に"mbed-os.lib"というファイルがあるので、Testフォルダにコピーする。
f:id:yagiyu-tec:20190307224515p:plain
不思議なことに、これでActive programとして認識されました。
f:id:yagiyu-tec:20190307224535p:plain
すかさず、"File">"Add Library to Active Program..."からmbed-osを入れる。
ここはめちゃ時間がかかる。しばらく待ち。

ライブラリが入ったら、接続するボードをUSBでPCに接続。
ドライバが入ってなかったので、
STSW-LINK009 - ST-LINK, ST-LINK/V2, ST-LINK/V2-1 USB driver signed for Windows7, Windows8, Windows10 - STMicroelectronics
ここからダウンロード&インストール。

するとこんな感じでTargetのところに接続したボードが表示される。
f:id:yagiyu-tec:20190307225704p:plain
今回はNucleo-F446REを使ったので、このボード名をクリック。
Build profileをDevelopにしても、ハンマー(Buildボタン)も三角(Runボタン)も光りませんが、フォルダ名のところで右クリックして、"Set Active Program"で再度書き込むファイルをアクティブにしてみましょう。
f:id:yagiyu-tec:20190307231148p:plain
はい勝ち。
ハンマーでビルド。めtttっちゃ長い。短くなる方法知ってる人募集。
完了したら三角のRunボタンで動作。
こんな感じ。

コードは以下。

#include "mbed.h"

DigitalOut myled(LED1);

int main() {
    while(1) {
        myled = 1; // LED is ON
        wait(0.1); // 100 ms
        myled = 0; // LED is OFF
        wait(0.1); // 100 ms
    }
}

というわけでMbedStudioでLチカでした。
長い。
こっちでやるほうがメリットがあるって人以外はゆーくりっどさんが紹介してるHALでやったほうが楽だと思います。
yuqlid.hatenablog.com

ちなみに公式のOverviewによるとMbedStudioがサポートしているボードは150あるらしいのですが、手持ちのNucleo-F303K8でもやってみたらできませんでした。シリーズというよりボードによるみたいです。

指摘質問等あればコメントででもお願いします。
ちょくちょく修正しようとは思ってます。


投げ銭していただければ、めちゃくちゃ喜ぶのでよかったらよろしくお願いします。
↓えさを投げる(Ofuseのサイトに飛びます)↓