ラベル Eagle の投稿を表示しています。 すべての投稿を表示
ラベル Eagle の投稿を表示しています。 すべての投稿を表示

2020年7月27日月曜日

EagleでV-cutを指定してJLCPCBに注文する

*2020年07月29日 コピー手順を加筆しました。

V-cutは、端から端まで横断するV字の溝です。小さな基板を複数まとめて作り、実装が終わったところでポキンと折ります。スキージング回数は減るしpick&placeもまとめてできるし基板費用も安く済むので大変ありがたいです。

今までわたしは、Panel by JLCPCB、つまり1枚分の基板データを渡して、「あとは縦x枚、横y枚に割り付けてください」ってお願いするだけでした。

が、これだと同じ基板を複数作ることはできますが、異なった種類のものを同じ基板に割り付けるのは自分でやらないといけません。

ってことで、やってみました。

■コピー元のデータを用意する■

当然、Eagleを使って基板を設計します。今回は、秋月で売ってるGaN MOSFETブレイクアウト基板を2種類作りました。

■パネライズする■

出来上がったボードデータをそのままコピーしようとしても、部品番号が自動的にインクリメントされたりでうまくいきません。そこで、パネライズします。なお、パネライズしたあと、Saveしてはいけません。

パネライズはツールバーのオレンジ色の「Run ULPボタン」をクリックし、


検索欄にpaneと入力すると絞り込まれてpanelizeが残ります。panelizeをダブルクリックします。


これでtNames, bNamesが部品番号と切り離れた_tNames, _bNamesにコピーされます。

基板全体をGoup Copyし、SaveせずにWindowを閉じます(Panelizeした状態で上書きするとこの後の修正時などに掃除が大変)。

【追記07/29】全体のGroup Copyの際には 、以下の手順がオススメです。

  1. 表示LayerでShow Layersボタンを押して全レイヤーを選択
  2. 20 Dimensionだけを除外してOKボタン
  3. cmd+Aで全選択
  4. カーソル位置を原点にあわせて座標表示が0,0になるのを確かめてcmd+C
特に4番大事。これやるとペースト先で座標がずれません。え?知ってました? 私知らなかったです……。Windowsの方は適宜キーを読み替えてください。【追記終わり】


■新しいボードを作りペースト■

File->New->Boardで新しいbrdを作ります。回路schは不要です。

JLCPCBの場合、パネライズの最低サイズは70x70mmなのでこれ以上になるようにします。あまった部分に詰め込んでもいいですし、さくっとカットしてもいいです。

カーソルを原点に合わせてからcmd+Vでさっきコピーしたボード図をペーストし、正しい位置に置きます。同じものが複数必要ならば、正しい位置に必要な回数コピーします。saveします。複数の回路を組み込む場合は、パネライズとペーストを繰り返します。

基板の配置は、かならず碁盤の目のように縦横が並んでいないといけません。冒頭に書いたように、V-cutラインは端から端まで一直線に横切らないといけないからです。

■V-cutのラインを入れる■

アイコンからLineを選び、レイヤーとしてVscore、太さ0.5mmを指定します。太さは0でもいいですが、カットする幅が必要なのでカット幅がパターンやシルクをケズらないか確認する意味でも太さを指定した方が良いと思います。

端から端まで縦縦縦縦横横横……と線を入れていきます。なお、下の図で、下の方にやたらスキマが開いているのは、70x70mmというルールに後から気づいた(指摘された)からです……。 もともとの設計は60x50mmだったのですが、今回の基板、四隅の固定ネジの間隔は決まっているので、もったいないですが左右と下に余白を追加しました。なお、V-cutを依頼する場合、JLCPCBでは70x70mm、ALLPCBは80x80mmが最低外形寸法です。


■Gerber出力■

いつものCam processerを使ってGerberを出力しますが、いつもと違う点が2つ。processorによって違うかもしれないので、私がいつも使っているSystem Example -> Third Party -> OSH Park -> OSHPark_2_Layer.camを例に説明します。


まず、Gerber下のBoard Outlineには、Edit Layersのボタンから「Vscore」を追加します。これをしないとV-cut用に書いた線がgerberに出力されません。


Vscoreを追加すると、右の窓にgerber線が追加されます。


次に、Top Silkscreenでは、同様にEdit LayersボタンからもともとのtNamesを除外し、_tNamesを選びます。裏面にもシルクがある場合も同様にbNamesを除外して_bNamesを選びます。

あとは、Process Jobをクリックすれば、.zipが出来上がります。

■発注時の注意■

JLCPCBに注文を入力する際に、何種類のデザインが混在しているか、を忘れずに選びます。Different Designを2以上にすると自動的にDelivery Formatが「panel by Customer」に切り替わります。


あとは、いつものように発注しましょう。

あ、パネライズ初体験の場合は、チェックアウトの3.Submit Orderのところで「Review Before Payment」を選んだほうが良いと思います。私もやらかしてキャンセル→再注文になってしまいましたので……。

2019年3月23日土曜日

EagleのFanout機能


小さいパッケージに太いGNDを接続する場合や込み入った配線があるとき、今までは手で細いRouteを引いてやる必要があったんですが、新機能(でもないか)のFanoutは、

  • チップ単位または配線単位
  • 全部外側、全部内側、中外交互などのオプション
を指定すると、例えばチップを選べば自動的に細い線を引っ張り出して適当なviaを近くに打ってくれます。基板設計ものすごく楽。特に自動配線と相性が良いようで、バスを引っ張り回すような回路だと自動で打たれるvia数が半減したりします。

基板設計もだいぶ省力化できるんですが……ピンごとに対応したviaがあるので、わざわざテストピンを設けなくても良い、ってことに最近気づきましたw テストピン立てようと思えば立てられますし…いや便利便利。

2019年1月26日土曜日

Eagle 9.2の怖い現象

■追記 : 原因がわかりました! : 追記終わり■


上の回路図はUSBコネクタ付近です。図の通り、VCCには何も配線していません。



が、ボード図を見ると、他のデバイスのVCCと接続されています。



で、回路図にダミーの配線を付けてダミーのNAMEをつけると



意図した通り、何も配線が生成されなくなります。

つながっているところは全部チェックしますが、つないでいないところはチェックから漏れやすいものです。今回たまたまAutoRouteをかけたらAirwireとして残ったので気づけたのですが…この基板の標準電圧は+3V3なのでUSBのVccが接続されていたら無事ではすまなかったでしょうね…。

気をつけましょう…。


2019年1月23日水曜日

Eagleのライブラリにパッケージ生成機能が!


いつからあったんですか?この機能。

パッケージのタイプ(SOICとかSOT)を選択して、ピン間隔などを入力すると3Dデータとフットプリントが生成されてしまう。

今までライブラリ探しに費やした時間は何だったんや…これなら確実に探すより早いです。

ライブラリのデバイス一覧画面、3D Packageの一番下にある「Impoprt 3D Package」をクリックするとプルダウンが出て、その中の「Create with Package Generator」を選択すれば出てきます。


いやー、今まで3Dデータなんて無縁って考えていたので、ぜんぜん気づきませんでした。

2016年10月10日月曜日

EAGLEで表面実装部品に太い線

今、モータドライバの基板を設計しています。最近のチップは表面実装でピン間隔20milしかないのに1A流せたりして凄いです。

が。プリント基板設計には「1A=1mm幅」という原則があります。EAGLE上で正直に「5VラインとGNDは40mil」なんてクラスを定義すると、自動配線は見事に無視してくれます。テーパーでつないでくれる機能とかあると良いんだけどねぇ。

試行錯誤の末、安易な方法を見つけたので、メモしておきます。

  1. ピンから10-12mil程度のラインを手動で引っ張り出す。隣と干渉しないように、適当に扇形に引っ張り出す。wire bend style 2などそのまま斜線を引けるようにするのがコツ。
  2. auto

こんだけです。

なお、「電源じゃなくてただのVcc直結プルアップなのに、クラスが同じなので極太配線が通ってしまって生きているのが辛い」という場合もこの手が使えますが、ゼロΩ抵抗を通して抵抗の前後を別クラスにしてしまうという方法も思い付きました。

さすがにそれはダメだろうと思って却下しましたが(笑)。

2016年9月3日土曜日

Eagleで角の丸い基板を設計する


スイッチサイエンスさんの基板は四隅が丸くてカッコイイ! 私も真似しよう!!

…というわけではなく、製作したいのはラズパイの上に乗っける基板なので、同じ半径で隅を丸くしないとケースに入らなくなっちゃうんですよね。

しかし方法がわからず、日本語でググってもググっても出て来ませんでした。

が、ふと思い立って「eagle cad round rect outer」でググったら出てきました!

ってことで、半径nミリで角を丸くする手順は以下の通りです。
  1. すでにある外形線はそのまま
  2. Wireを選び、レイヤ:20 Dimension、Wire Bend Style 5、Width:0、Style: Continuousを選びます。
  3. 左下角からnミリ離れたところをクリック、上にマウスポインタを移動します。
  4. 左上角のnミリ下をクリックし、右上角の方にマウスポインタを移動すると、左上角がいい感じに丸くなっていると思います。
  5. 右上角のnミリ左をクリックします。あとは同じような感じで始点まで戻ります。
  6. 四隅の半径を調整したい場合には、Moveアイコンを選んでから曲がり始めの付近をクリックしてマウスポインタを移動すると半径が変わります。
こんだけでした…。簡単すぎるから誰も書いていないのでしょうか…。

ついでに長穴に関しては、いろいろ方法が紹介されているのですが、一番わかりやすくて確実なのは以下の記事だと思います。

これで長円が空くのですが、ベタグラウンドを使ったり基板の真ん中に穴を開けていたりすると平気で配線が穴を横切ったりしますw レジストも銅箔もそのまま塗られてしまうのは気持ちが悪いので、長穴を46 millingで作ったら、
  1. それを4つコピーする
  2. Inspectorで29 tStop、30 bStop、41 tRestrict、42 bRestrictにし、WidthをtStop/bStopは0.2mm大きく、tRestrictとbRestrictは0.4mm大きくします。
  3. millingの上にぴったり重ねます
こうすると、穴が空いてその0.1mm外までレジストが塗られ、さらにその0.1mm外までしか銅箔が来ません。

ってことでelecrowに発注、出来上がってきたのがトップの写真です。ちょっと左上にバリが残ってるしシルクかすれているけど、いい感じです。

シルクがかぶっているのは私のミス…ってか気づけよorz

2016年8月11日木曜日

Eagleライブラリで多角形のPADは無理?

■プリント基板設計は楽しいけれど■

部品のLibraryを探したり作るのが面倒なんですよね。

今回もルネサスの妙に特性の良いパワーMOSFETを使ってみようと思ったのはいいですが、パッケージがヘン。なんすかHWSON-8って。

仕様書より

ってことでEagleで久しぶりに部品を作りましたが、今まで丸いスルーホールか四角いパッドしか使ったことがないので、単純にSMDを8個置いて、上のSMDと接するように放熱パッドをWidth=0のPolygonで作ってみました。

すると…Deviceとして回路図と結合しようとしたら上のパッド部分が接続できません…。正確な寸法をEagleの座標系に移して作るのは結構たいへんだったのにムダ手間かよorz

と思ったのですが、ぐぐったら、「polygonをsmdに変更する方法はないけど、tStopとtRestrict書いて重ねれば良いよ」というQ&Aが見つかりました。

ということで、こんな感じにコピーしてtStopとtCreamに変更し、tStopはWidthを0.127(mm)にして少し外に広げます(右下)。Widthを変更する前は全体がグレイで塗りつぶされた感じなのですが(右上)、いい感じにハッチングが入ります。creamはpadと同サイズなのでWidthは0のまま。


これを重ねあわせてできたのがコレ。純正SMDパッドの部分とPolygonのtStopとに段差ができてしまいましたが、まぁ良いやw


で、これを実際の回路に置いてみました。一応使えるのですが、上の放熱パッド部分がベタVとつながってくれません。

ので、結局、でっかいパッドをどーんと置くことにしました。

わお、シンプル。


で、最後にTextで「>NAME」「>VALUE」を追加。


これで何とか目的のパターンが出来上がりました。



のですが…このままだと表面張力に引っ張られて上にズレて行くような気がします。チップの仕様書で横に飛び出している箇所ってそれを防止するためにあるんじゃないだろうか。

ということで、SMDパッドを大雑把な形にして貼り付けました。ライブラリ上ではただ置いただけ。


出来上がったパターンを見ると、臙脂色の通りにマスクから銅箔が露出してクリームハンダが塗られるようです。これで「表面張力水泳」が止まってくれればいいのですが。

何だかんだで合計5時間くらい作業してたと思います。試行錯誤(右往左往ともいう)を除き、パッド置いておしまい、なら30分程度だと思うんですけど…ああしんどい(笑顔)。

なお、今回、このライブラリを作る際にはEagle Librariesで公開されていたP-ch MOSFETの回路図記号を使わせていただいたのですが、再配布に関するライセンス条件がわからないので今回はとりあえずパッケージだけ公開します。

2016年7月10日日曜日

はい撤収

1年ぐらい前から、LPC1114FN28と200円の8x8マトリクスLEDを1枚の基板に乗っけて、I2Cで並列接続して大きなLEDマトリクスを安く簡単に作るような「部品」を売り出す…というのを進めていたんですが、量産しないと値段が下がらない、量産しても果たして売れるのかそんなもの…というところでウダウダしてました。世間様にお披露目したのは去年のmbed祭りだっけか。


ウダウダしているうちに出ちゃいました。

しかも、私はただのディスプレイで考えていましたが、ゲームにするなんて考えてもいませんでした。
IchigoDotS(イチゴドットS) 小型ワンキーゲーム機

価格も私のルートで量産した場合の原価とほぼ同じ。

アイディアも価格も完敗(笑)。

Eagleの設計データはここに公開します。ガーバーファイルも入れておきますので、Elecrowにzipそのまま送ればちゃんと基板になって出来上がってきます。

上のデモを動かしているプログラムはこちら。

さあ次行こう、次。次は「他人の褌」で相撲を取る(w

2016年3月30日水曜日

Eagle自動配線の小ネタ

最初に書いておきますが、アマチュアの戯れ言です。

中学生の頃にも方眼紙とレタリングテープと塩化第二鉄でプリント基板を作っていました。その後長いブランクを経て、Eagleで設計+Elecrowに発注というタッグで再度基板を作るようになってからのお話。

2014年10月、最初の基板

初めての基板はスッカスカでした。それから約1年半が経過して、密度は大分向上しました。そうするとEagle自動配線一発では100%にはならず、混雑しているところをひっくり返したり優先したい配線を先に通したりして、何とかします。

で、以前はベタアースも全部設定してから自動配線していたんですが、ベタアースと同時に配線すると自動配線失敗する確率が高くなります。

なので、私は:

  1. 優先して扱うべき信号ラインがあれば再優先で最短距離を引く
  2. ここで一度gitに保存
  3. 電力系、スイッチング系があるときには1点に電源/アースを集中して手配線
  4. ここでまたgitに保存
  5. その他の配線が地下鉄大江戸線状態にならないようにレイアウトなどいじりながら様子を見る。どうにもならないときには2や1やその前に戻る
  6. いい感じになってからベタアースを施す

って感じで作業しています。gitにはsource treeというアプリを使ってます。Eagleはgitなど外部からのファイル操作に対応しているわけではないので、
  • 一度Eagleのwindowを閉じる
  • commitして保存するか、revertで過去に戻る。source treeだとどっちも直感的に操作できるので良です。
  • 再度Eagleで開く

という操作を入れてます。まぁコーヒーブレイクに丁度良いですね。

今は両面びっしり。吸着ピンセット欲しい

…冷静に考えてみると、基板設計技術が向上したわけではなくて、自動設計依存の設計フローが改善しただけですね…orz

プロの方は、どの程度自動設計を使っているんでしょう?

2014年11月30日日曜日

小ねた

ウォーキング用ライト、自分で使ってみた。

小さなじわじわネタってことで最初「小じわ」にしたんだけど、とある年齢層の女性から不評を買いそうなので改題。

■Arduinoデジタル時計改良■

「夜中は時計なんか気にしないで寝ろ」ってことで、23-4時まではLEDの輝度を1/10に下げて時計と温度の表示も時計2秒+温度1秒の繰り返しに変更。

高齢者たる私は夜中にふと目覚めた時に時計を見て「ああ2時か。もうひと寝入りしよう」と考えただけで目が覚めてしまうので、「時計を見る→暗い→寝直す」というフローにすれば改善するのではないかと。

■リチウムポリマーバッテリーの端子を固定■

某デバイスのリチウムポリマーバッテリー端子は1.27mmしか離れておらず、もし断線してショートしようものなら大炎上を免れない。ソレが怖くて今までまじめに使っていなかったんだけど…大掃除の準備をしていたらホットグルーガンが出てきたので、早速端子を固めてみた。まぁ絶対大丈夫ってことはないけれど、とりあえず取り回し→金属疲労→断線→短絡→炎上…という路線は防げるかな。

しかし、まだ、使い道を思いつかない。組み込まれているファームが条件設定などのできない単なるBLE中継ソフトで、例えば「離れたらLEDを点灯する」という当初目論んでいた処理に使えないため。ファームを消して「リチウムポリマーバッテリー付属切手サイズのnRFボード」として使おうにも端子が小さすぎて私には無理orz

さて、どうしたもんか。

■乱視用時計を再設計■

以前も書きましたが、私は「プロトタイプが機能を満たしてしまうと、そのまま使い続けてしまって製品化(笑)へ進まない」という悪癖がありまして。

乱視用時計もその1つなんですが…さすがに年が開けてしまうのはイカンと思うので、プリント基板の設計始めました。いやー、部品ライブラリが揃っているとEagleってホント快適に作業が進みますw まぁ「コマンドを選んでから操作する」というイカニモCADっていうUIへの違和感は未だ消えないのですが、とりあえず慣れた。

このまま1週間ほど寝かせておいて、来週あたりElecrowに発注しようと思います。

■読書灯ボードの変更■

ボードを設計した時、「LEDを2セットつなげられれば、電球色と昼白色LEDを組み合わせて色温度を調節できるな」と考えていたんですが、結局昼白色しか使ってません。本が読みやすいので。

ただ、よーく考えたら3本あればRGBが可能になり色の調整がものすごく幅広くなります。

ということでドライブをもう1系統増やそう…と思ったのですが:


…見事に隙間がありません。前回発注したボードはスカスカだったんですが、その後、RTCとバックアップ用の電池スペースを追加したもんで。左上のスペースはバッテリ、右下はDCジャック用です。RTCとDCジャックは秋月の変換基板対応。RTCはSMDチップが小さすぎてハンダ付けする自信ないっす。

となれば、あとはDCジャックを何とかしないといけないですね。先日、「電子工作部」で普通の丸穴で使えるDCジャックを教えていただいたので、ソレを手に入れて何とかしないと。

というわけで、今度はこれが先送りの言い訳に…あああああ。

少しはアンジェリカたんの豪腕っぷりを見習わないといかん。

楽園追放、面白かった。

いや、無理だけど。