プリント基板CADと3D-CADの連携(2)

前回、IDFデータでKiCadと3DCADを連携できたら良いなと書いたばかりですが、今回はもっと簡単な方法の紹介です。

同じくオープンソースのソフトウェアで「FreeCAD」という3DCADソフトがあります。これはソリッドモデルを扱える本格的なCADのようで(3DCADは私の専門外)、こちらも密かに動向をウォッチしていました。

久々に本家サイトを見に行くとバージョンが0.12から0.13に上がっているじゃないですか!!

早速ダウンロードして試してみると・・・「イイ!」前バージョンよりもGUI関係が簡素化されたのか、見た目がスッキリしています。

freecad_top

freecad_parts_design_example

試しにKiCadで設計した基板をVRML形式でエクスポートして、FreeCADで作成した簡単なケースデータを合成して、ビューを回転させて見ました。

 

オープンソースのコラボでコレだけできるって凄いですね。作成方法も追々紹介します。

 

プリント基板CADと3D-CADの連携(1)

KiCadは予め3Dの部品ライブラリを作っておくことで、VRML形式(.wrl)の3Dデータを出力できます。VRMLはもともとWeb上で手軽に確認するために開発されたフォーマットのようで、所謂3D-CADのソリッドデータのように複雑な情報は持っていないのですが(単位系の指定も無かったように思います)、ブラウザとプラグインがあれば見ることが出来るので、ちょっとした確認には便利です。

ただ、VRMLフォーマット自体があまり使用されなくなっていたり、上述の理由のため直接3D-CADで確認、干渉チェックするという用途には向きませんが、IDF形式のデータを作成できれば、多くの3D-CADと簡単に連携できる可能性があります。

IDF形式のデータとは、プリント基板CADと3D-CADのやり取りをするための中間フォーマットで、自由に使用することが出来ます。基板外形、板厚、部品座標、部品高さ、禁止領域などを設定できるTXT形式のデータです。

IDFデータは、プリント基板と同様に部品をライブラリファイルとして管理できるので、IDF用のライブラリファイルを作成(或いは抽出)できれば、あとは基板外形、板厚、部品座標、部品の搭載面などの情報を組み合わせて作成することが出来ます。

IDFデータは、SolidWorks、Pro-engineerの2つではやり取りをした事があります。その他の3D-CADについては不明ですが、コンバータさえあればIDFからIGESなどへ変換をかけることも可能と思います。

3D-Cadとプリント基板CADの連携が個人レベルで可能になれば、もっとモノづくりの可能性が広がりますね。

 

 

 

 

 

自宅でプリント基板リフロー(1)

プリント基板に実装する部品で、リードが無く、直接基板上において半田付けするものを、表面実装部品(SMD:サーフェイス マウント デバイス)と言います。

コンパクトで高密度化が可能、リードが無いのでリードのインダクタンスの影響が無いなど沢山のメリットがありますが、なにぶん小さいので、部品定数が読みづらく、またリードタイプの部品に比べて定格電力が小さい、など注意点もあります。

個人的にはリードを曲げて基板に挿す手間が要らないので、挿入部品より半田付けしやすいと感じますが、それでも数が多いと中々大変です。

そんなときに、役に立ちそうなものを見つけました。

リフロー制御基板

現在その効果を試すべく、クリーム半田など諸々手配中ですので、こちらも追々結果をまとめていきます。

 

 

基板関係のビューア、コンバータツール

プリント基板を設計していると、どうしても必要になってくるのが

  • ガーバービューア
  • DXF、その他フォーマットのインポート、エキスポートツール
  • 上記データやり取りが出来ない場合のデータコンバータ

です。 KiCadのエクスポート機能については、DXF、HPGL、Postscript、VRMLに対応しています。

また、KiCadには「Gerbview」というガーバーデータのビューワが含まれており、RS-274X形式のガーバーデータ、Exellonドリルフォーマットを読み込んで表示する機能、また読み込んだガーバー、ドリルデータを基板データとしてインポートする機能があります。

ですので、自身で吐き出したガーバーやドリルデータの確認は可能ですが、その他のデータのインポートはツールが必要になります。インポートツールも追って紹介していきます。

(注)他の基板設計ソフトで作成したガーバーデータについてGerbviewで何処までコードに対応しているかは未検証です。

あれから20年も・・・この先何年も

気がつけばKiCadのGUI翻訳を開始して2年が過ぎました。
現職場の業務改善に使えないか、と試しに始めた翻訳に入り込み、年明けにはソフトとハードの交差点のyonekenさんと知り合い、翻訳データの交換、そこからkicad.jpとメーリングリストの開設、トランジスタ技術誌でのチュートリアル記事掲載、有志の皆さんによる数百ページにも上るチュートリアル、ヘルプファイル群の翻訳、またML参加者さん主催の勉強会開催など、作業を始めたときには想像もつかなかった展開に、「決心すること」「何かを始めること」「人の縁の大切さ」をつくづく感じます。
有難いことです。
まだ高校生の頃、周囲が皆大学へ行く事を目標にしていた頃、どうしても大学やその先に目標が描けず、音楽や楽器が好きだったので音響建築やスタジオレコーディング、楽器リペアやピアノ調律師になる事をただ「夢見て」いました。
「オーディオをやりたい」と電子系の短大に進み、オーディオメーカーに勤務したものの、オーディオ以外の部門に配属、その後、社内出向でプリント基板設計の部門に入り、その身を憂いていましたが、ある日の深夜の職場の帰り道、同僚に「本当はピアノ調律師になりたかったんだよね」と漏らしたところ、普段はしょうもないことばかり言い合っている同僚が

「そ~れは○○が悪いじゃーん」

とサラっと言った時に目が覚め、人生が変わりました。
「全くその通りだ、道を選ばなかったのは自分だ」
素直にそう思いました。
そこから先は「人生何倍速?今何度目の人生?」という感じです。
その週末には本屋で専門学校や音大の一覧本や楽典の本をごっそり買って、勉強を始めました。その数ヵ月後、短大の同窓会に顔を出すと、サークルの友達が
「私、いまピアノの調律を習ってるんだよね」
すぐに調律学校を紹介してもらって電話をしたところ、土曜日に一コマだけ空き時間があるとの事。体験レッスン後に年間授業料を一括払いして、アップライトコース、そしてグランドピアノコースも取って何とか卒業できました。
仕事、バンド、ヤマハやスタインウェイなどピアノメーカーの勉強会への参加など、色々詰め込んでうつ病になったり、Nifty(パソコン通信)の掲示板繋がりで調律学校に入学した今の妻と知り合い、瞑想を教える人生の師に出会い、基板設計の師に出会い・・・
結局、何度ピアノ調律の道に入ろうとしても叶わず、基板設計者としては何度辞めようとしてもオファーがかかり、1000枚近くの基板を描いてきて、「お前は基板設計をしなさい」と神様に言われてるんだな、この道で生きていくか!と思ったところにリーマンショック。
地元に戻って、基板描きのいない会社に入り、それが今こういったKiCadという形で花開いているというのは、不思議なものです。
初めて基板を描き始めてから20年、ふとそんな事を思いました。
脱線しましたが、そろそろ次期バージョンのKiCadの翻訳見直しに入るため、ソースを拾ってきました。また地道な作業が始まります。これからKiCadがどのように成長していくか楽しみです。
最後にピアノ調律の師匠の言葉
「未来に夢を見るな!」「大人であれば今この瞬間に実現のための行動を起こしなさい」
かっこいいです。

KiCad 回路図用ライブラリ作成 No.2

KiCadのコンポーネント(回路図のシンボル)ライブラリは雑然としていて、回路図入力時に複数のライブラリを行ったり来たりする事になります。ライブラリの構築方法については個人の好みや会社の運用方法によるので一概には言えません。そこで複数のコンポーネントを束ねる「ライブラリファイル」を自作してみます。

※現在、KiCadのDeveloperのMLでは、ライブラリ構築について見直しの議論が上がっています。次期バージョンでどうなるか分かりませんが、自分用ライブラリを作っておくのが無難と思います。

作成方法

1.KiCadを起動し(下図)、Eeschemaを実行します。

KiCADメインパネル
2.Eeschemaにてコンポーネントエディタのアイコン(ノートと鉛筆のアイコン)をクリックします。

componenteditor_0
3.コンポーネントエディタのウィンドウが開くので、上部ツールバーの左から2番目の「作業ライブラリの選択」アイコン(上図)をクリックし、コピーしたいコンポーネントがあるライブラリを選択します。
componenteditor1
4.左から5番目のFETのアイコンをクリックします。
componenteditor3
5.これから作成するライブラリに入れたい(コピーしたい)ファイルを選択します。ここでは”R”を選択しています。
componenteditor4
6.コンポーネント”R”が読み込まれますので、

componenteditor5
7.左から10番目のアイコン「新しいライブラリへ現在のコンポーネントを保存」をクリックします。
component_editor_7.png
8.ライブラリ保存のダイアログが開くので、ここでは「register.lib」として保存します。
componenteditor8
9.ウォーニングが出るのでOKを押してからコンポーネントエディタを閉じます。
component_editor_9.png
10.ライブラリを回路図で使用できるようにするには、まずEeschemaのメニューバーより「設定」→「ライブラリ」をクリックします。
library_setting.png
11.回路図で使用するライブラリと、その優先順位を定義するダイアログが開くので、図中1、2の順で右のボタンからファイルパスを追加して、回路図に関連付けます。回路図への関連付けはプロジェクト毎に都度確認を行います。
librarysetting2
これで新しいコンポーネントライブラリファイルの作成と回路図への関連付けができました。このライブラリにその他の良く使うコンポーネントをコピーするには、2から8の手順を繰り返します。
次回はコピーしたコンポーネントの編集をしてみます。

KiCad.jpメンバーのミーティング

気がつけば2週間ほど更新が止まっていました。何もしていなかった訳ではなく、ただ今様々な計画の青写真を作成中です。

KiCad.jpとしても、昨週末に管理GPの2名が都内で打ち合わせをして、今KiCadに足りないものは何なのか、KiCad.jpの今後の活動について、ほぼ半日かけて議論をしました。
勉強会などのイベントの開催や、将来的にKiCad.jpとしても機能を追加してリリースしていくという方向性を確認しました。

「私もこの活動に参加したい!」という方は是非 KiCad.jpのメーリングリスト にご登録ください。また本ブログのメールフォームからお問い合わせ頂いても構いません。

KiCadは本当に業務で使えるのか? TXTデータのメリット

最近会社にキャリア採用で入った方が、いつの間にか?KiCadを試用してくれていました。

もともと真っ当なCADシステムを入れていなかった会社に紹介して、ワンステージ上がって貰う足がかりにしようと、休日にGUIの翻訳を始めたのですが、何処に行っても「変わりたくない人」「認めたくない人」というのはいるもので、一向に普及が進んでいませんでした。

この方は以前ORCADを使っていたそうで、Kicadを紹介したら
「結構クセがあるねぇ、大変ですよ」
と言いながらも、Eeschemaでコンポーネントを作成し、回路図を描き上げていました。

描き上げた回路図の定数その他、確認、修正する段階に入り、
「バックアノテーションというか、画面上で一括で定数とか変更できないの?」
と質問を受けました。商用のCADにはスプレッドシート風の画面で、Ref番号や定数その他を変更できる機能を持つものがありますが、KiCadにはありません。

私「私も欲しいと思ってるんですけど、今のところ無いですねぇ・・」

Uさん「これってデータはtxtですよね?」

私「はい、フォーマットも公開されてますよ!」
(とKicad.jp上のヘルプファイル翻訳URLを連絡。ヘルプファイル翻訳者の方々に感謝です)

Uさん「じゃ、作ろうか」

私「えっ?!」

というわけで、その方は半日ほどでEEschemaの.schファイルを編集するプログラムをC++で作ってしまいました。パラメータファイルを指定して、そこに書き込まれている内容で修正を掛ける、というもので、Ref番号や定数のフォントサイズなど一括で修正をかけたそうです。

回路図、基板、ライブラリなど全て ASCII形式 TXTデータで、しかもフォーマットのドキュメントが公開されているというメリットを最大限に感じた瞬間でした。

KiCadは有料のCADに比べると見劣りする部分は色々ありますが、そこは「オープンソースソフトウェア」「TXTデータ形式」という2大メリットをフル活用し、「無いものは作ってしまえ!」の精神でどんどんカスタマイズしていけば良いことです。

昔の話ですが(今もそうなのかな?)私も永く使っていた某商用のCADは、バージョンアップの度にバイナリデータのフォーマットを変更し、他社のCADが持っているデータインポート(コンバート)機能を使えないようにしていたと聞いたことがあります。

そんな事をするより、もっと実際の機能を改善するために時間を割いて欲しいと思います。これからの時代、どちらのスタンスが生き残るんでしょうか。

(2012-12-27 追記: ASCII→TXTに訂正)

 

 

オープンCAE勉強会

先日、ネット上でFreeCAD(3D-CAD)についての情報を調べていたら、
オープンCAEコンサルタント
という方のサイトにたどり着き、同じオープンソースのソフトを推進しているという事でメールをしてみたところ、
オープンCAE勉強会というのをやっているので、宜しかったら参加してください」
とお誘いを受け、コレはチャンス!とばかりに参加してきました。

初参加者は自己紹介ということで(少し期待してましたが)流れでKiCadの紹介が出来ました。プロジェクタを使って20分程度、実際にKiCadを動かして、回路図作成からLTSpiceへのデータ渡しと解析(ここはCAEの分野ですからね)、基板設計や3D画面など駆け足で説明をし、3D-CADと基板CADの連携などの話にも大変興味を持って頂く事が出来ました。

今回のオープンCAE勉強会では、中間部で太さの変わるパイプ内の流体の静圧、動圧、火災の煙のシミュレーションなど、殆ど私のわからない内容でした。。メッシュ解析というんでしょうか、そういった分野のCAEの事例発表が多くを占めて、電気系ましてCADというのは初めてだったそうです。

CAEとCADは近いようでいてなかなかシームレスに使っている現場に遭遇したことが無いので、今回のようなことがきっかけでオープンソース界?の相互交流が深まったら、コレは楽しいなと思いました。

「また関東方面など別の機会にも是非お願いしたい」
と言ってくださったので、それまでにまた勉強が続きます。(笑)

 

 

KiCad 回路図用ライブラリ作成 No.1

検索エンジンでこのブログに来て下さる方の多くがKiCadのライブラリについての情報を求めていらっしゃるようですので、これから少しずつ書いていきます。

KiCadの「ライブラリ」の概念は下図のようなイメージです。
(※下図は回路図用のライブラリです。部品のランド形状「フットプリント」については別途まとめます 2012/09/17 追記)

 

 

KiCad_Library_1
同属の部品を1ファイルにまとめたものが「ライブラリファイル」(黒枠)で、この中に部品がたくさん登録されています。

1個1個の部品に相当するものはコンポーネントといい、青枠で示されているものです。コンポーネントには回路図上のシンボル図形(図柄)ピンの電気的属性(I-O、電源など)、部品の説明、検索時のキーワード、基板上で使うフットプリントなどを予め登録できます。

また、コンポーネントに対し、データシートなどのドキュメントを指定できます。回路図からデータシートなどのドキュメントにアクセスできます。このドキュメント指定は、ローカルのPDFやその他のファイルはもちろん、URL指定も可能ですので、うまく使えば社内部品データベースとのリンクもスムーズにできると思います。

ゲートICやOPアンプのように、内部に複数のユニットを持つ部品は、「ユニットの数」を指定してゲート単位の絵柄で登録できます。基板設計時に、パターンの引き回しの都合でゲートを交換することがあります。そういったときに便利な機能です。

NANDゲートやインバータのように、一つのゲートに複数の記述方法がある場合、ド・モルガン変換シンボルも一緒に登録することが出来ます。

また、同じ回路記号を幾つも登録しないですむように「エイリアス」機能があります。

図で言うと74LS00にエイリアスコンポーネントとして7400を登録し、個別登録の手間を省いています。さらに、エイリアスのコンポーネントには個別にドキュメントの指定が出来ます。

KiCadインストール時にもライブラリが付属していますが、自分流、自社流にカスタマイズする事で非常に便利に使うことが出来るはずです。

どんなCADでもライブラリの管理、運用方法で使い勝手が大きく変わるので、とても重要なポイントだと思います。