差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
tech:boarddesign:eagle:sch [2022/08/02 13:53] matsuhachitech:boarddesign:eagle:sch [2025/02/14 20:53] (現在) – [ポイント] matsuhachi
行 1: 行 1:
 {{indexmenu_n>1}} {{indexmenu_n>1}}
 ====== 回路図 ====== ====== 回路図 ======
 +===== 概要 =====
 +  * まずは実装図を書かず回路図だけを引く。
 +  * パーツを集め、部品を追加して、配線する
 +===== ポイント =====
 +[[tech:boarddesign:select|IC選定も見てね]]
 +  * 電源やすべてのGNDはつなぎましょう。正しく電位差を維持するため!
 +  *  振動が多い場面はGHなどの強ロックタイプ(挿抜力ゼロ)のほうがテーピングなど不要になるのでよい
 +    * 特に配線が長いところは振動や衝撃でゆるむリスクが高そう
 +  * ソルダジャンパを使うときは、autoをnormally onのものにしておくと人的ミスが防げる
 +  * 電源シンボルは名前変更しない・コピーしないこと(同じ電源シンボルなのに導通しないことや、名前は変わっているのに導通していることもある)
 ===== パーツ集め ===== ===== パーツ集め =====
 ==== パーツライブラリ検索 ==== ==== パーツライブラリ検索 ====
行 13: 行 23:
   * 回路図記号   * 回路図記号
   * >NAME、>VALUEを必ず入れる   * >NAME、>VALUEを必ず入れる
 +  * ピンのVisibleはbothにしておく。
 +    * 他のデバイスで使いまわす可能性もあるし、情報いらんかったら、フットプリントや基板上で消せばよいので。
 +    * {{:tech:boarddesign:eagle:pasted:20220802-060557.png}}
 +  * 箱型のシンボルを自作するときはこの形がよさそう
 +    * Length(ピンの長さ):short、Function(終端の処理):none
 +    * {{:tech:boarddesign:eagle:pasted:20220802-060305.png}}
 === フットプリント === === フットプリント ===
   * SO4など、パッケージサイズが規格化されているものは、使いまわせる   * SO4など、パッケージサイズが規格化されているものは、使いまわせる
行 19: 行 35:
     * ただし原点出しできないのでそこは詰み…     * ただし原点出しできないのでそこは詰み…
   * >NAME、>VALUEを入れる   * >NAME、>VALUEを入れる
-  * valueはvalueレイヤーにいると表示されないので、board図でtplaceに置くこと+  * valueはvalueレイヤーにいると表示されないので、board図でtPlaceに置くこと(本当は表示されるらしいが…) 
 +  * 面倒でも、PAD上で名前を事前につけておく(アノードカソードとか)と、デバイス作成時にミスは減るが、フットプリントの再利用性は下がる
 === デバイス === === デバイス ===
   * シンボルとフットプリントを紐づける部分   * シンボルとフットプリントを紐づける部分
   * 紐づけミスに注意   * 紐づけミスに注意
-  * プレフィックスを設定できる。(IC1、のICの部分。接頭文字)+  * プレフィックスを設定できる。(IC1、のICの部分。接頭文字)これを設定しないとRenameできない。
   * value offをonにすることで、valueの変更が後からできる。(Arduinoのような固有のものではなく、抵抗のような素子の数値が変わるものの変更が可能になる)   * value offをonにすることで、valueの変更が後からできる。(Arduinoのような固有のものではなく、抵抗のような素子の数値が変わるものの変更が可能になる)
 == プレフィックスおすすめ == == プレフィックスおすすめ ==
 +  * Prefixの反映はTools>renumber partsでできる
  
 ^ 素子            ^ プレフィックス  ^ ^ 素子            ^ プレフィックス  ^
行 44: 行 62:
   * 必ず別でデータを作る   * 必ず別でデータを作る
   * (データに不備があるらしくできなかった)STLで出してアップロードしてSTEPに変換がいいかも   * (データに不備があるらしくできなかった)STLで出してアップロードしてSTEPに変換がいいかも
 +  * フォルダごとにライブラリの共有メンバーを変えられるので、フォルダを分ける
 == 手順 == == 手順 ==
   * ライブラリの詳細画面>Library>Create New Version &update latest version(?)   * ライブラリの詳細画面>Library>Create New Version &update latest version(?)
行 49: 行 68:
   * 最新のバージョンになってることを確認したら、閉じるボタンを押す   * 最新のバージョンになってることを確認したら、閉じるボタンを押す
   * 3DModelsタグをクリック   * 3DModelsタグをクリック
-  * 各ライブラリからアップロードするわけではない+    * 各ライブラリからアップロードするわけではない
   * モデルをアップロードしたらPackageで連結していく   * モデルをアップロードしたらPackageで連結していく
   * SAVEボタンが見えないと思うがCtrl+Sでいける    * SAVEボタンが見えないと思うがCtrl+Sでいける 
  
  
-==== 回路図 ====+===== 書き方 =====
   * Add Pardで部品追加   * Add Pardで部品追加
   * Netで配線する   * Netで配線する
     * 適当につなげると黒ポチ(ジャンクション)が出るが、Netで配線すれば消せる     * 適当につなげると黒ポチ(ジャンクション)が出るが、Netで配線すれば消せる
 +      * 全体的に、部品の足でnetを分岐させるのは●がなくて可読性が落ちるので、あえて●を入れるか、足で分岐させないのがいいかも。
   * move中に右クリックで回転   * move中に右クリックで回転
   * 物理的に配線するほか、Net配線をピンから出して、Place labelにチェックを入れてNameを変更することで、エア配線可能   * 物理的に配線するほか、Net配線をピンから出して、Place labelにチェックを入れてNameを変更することで、エア配線可能
 +    * この配線ラベル、トラベルタグみたいな枠線がつくやつはXrefという
     * label作って配線するとその配線もうあるエラーが出るので使わない     * label作って配線するとその配線もうあるエラーが出るので使わない
     * labelはただのlabelでどこかに接続・導通するわけではない     * labelはただのlabelでどこかに接続・導通するわけではない
行 65: 行 86:
   * infoでつながってるかどうかも確認できる   * infoでつながってるかどうかも確認できる
   * Replaceで配線そのまま、良しなに部品を入れ替えられることもある   * Replaceで配線そのまま、良しなに部品を入れ替えられることもある
-=== ライブラリ ===+    * Replaceしたものが本当に置き換わっているかどうかは、schファイル 
 +  * **最後に必ずERCをする** 
 +==== ライブラリ ====
   * rclはよく使う   * rclはよく使う
     * EUでもUSでも。抵抗などの、汎用データはここ。     * EUでもUSでも。抵抗などの、汎用データはここ。
 +    * EUとUSは統一してほしいです(USは古いイメージ)
     * R-US_0204/7だとどっちも大きめのも小さめのも刺さるらしい     * R-US_0204/7だとどっちも大きめのも小さめのも刺さるらしい
 +    * C0603は手実装、C0603Kは手実装じゃないもので、すこしKeepout等の範囲が狭くてエラーが出にくい
   * wirepad   * wirepad
     * 汎用パッドはここ(スルーホールなど)     * 汎用パッドはここ(スルーホールなど)
行 79: 行 104:
     * LEDのライブラリ     * LEDのライブラリ
   * [[http://xn--48jaa0d.jp/make/eagle_parts.html|よく使うパーツリスト]]   * [[http://xn--48jaa0d.jp/make/eagle_parts.html|よく使うパーツリスト]]
-==== ボード図(実装図) ==== +==== Tips ==== 
-=== はじめに === +  * 存在するけど使わないンはバイからいておくとい。(ERCともつながってないよ!って言われるしな) 
-  * NAMEやVALUEがボード図で出てこないとき、自作パーツに>NAME、>VALUEを描いていないことが考えられる +  * クトッチ、同信号同士短絡しておくと、パドモゲは強くなる 
-    * 更新後、ライブラリをバージョアップしてもボード図に反映されないことがある。その場合一度ボード図を破棄するとうまくいくことがある +  * ルシフの使ってないチャネルルアップおくとよい
-    * ボード図に出てきても、ガーーデータに出てきてない場合は、tValues等見せないレヤーに来ている可能性がある +
-    * Prefixはあとから設定されても回路図にも実装図にも反映されなので、自力で置き換える必要がある…? +
-    * →Tools>renumber partsでOK。prefixの反映もここで自動で行われる +
-    * File>design rules>Layers>coreで基板の厚みを変えられる。 +
-=== 配線 === +
-  * 手動で配線する +
-    * 配線パズルが解けない場合は、ビア打って逃げる +
-      *   * {{:tech:elec:pasted:20220105-194458.png?200}} +
-  * Edit→NET CLASSで電源ライン、GNDとかは設定しておく +
-  * 配線の太さは手動で決める +
-    * POWERは1.0〜1.5mmくらい +
-    * 信号線は0.3〜0.5mmくらい +
-    * {{:tech:elec:pasted:20220105-142135.png?600|}} +
-  * change width 0.3などで配線の太さを指定でき、このコマンドを実行してから配線をクリックするその太さに変更できる +
-  * infoの上のLayer Settingsで見たレイヤーを切り替えられる +
-    * OK押さないと反映されないので注意 +
-  * 信号線は鋭角を避けるエッチング時に失敗するため +
-  * パスコンはまっすぐ通す +
-  * 配線の電流容量1mm / 1A、via0.5φ x 3個 / 1A) +
-  * PADを出す場合は回路図側ら配置すること +
-    * **調べるとポリゴンツールを使う方法出てくるが、回路図的にはつながってない子ができ、シルクの位置も自力で打つ必要があため、絶対やめろ** +
-  * ピンヘッダはわざわざ長穴にしなくていいので、ライブラリ使う場合は直す→**ライブラリ絶対使うな。ピッチが合わない。他のピンヘッダ使ってる基板から流用せよ。** +
-  * 回路は左から右に、電圧の高いものが上から下に書く(回路の素101からだったかも) +
-  * 寸法入力はMeasuresへ。寸法の真ん中ダブルリックで行ける +
-  * 予めショーさせておきたいpadはtCream等で指定 +
-  * 使ったdrcファルも緒にリポジトリに入れる +
-  * TOPとBOTTOMそれぞれ表示してチェク +
-=== GND === +
-  * GNDはベタにするので割適当でいい +
-  * TOPとBOTTOMのベタGNDになるべく電位差が発生しないようにビアを打つ +
-  * ベタGNDISOLATEは0.3くらいにする 広めにしないとエッチング不足を引き起こす +
-  * 使われてないGNDをむやみに延長しない(アンテナになって悪さする) +
-  * GNDを強くする +
-=== 配置 === +
-  * mirrorで部品の位置の反転。配線などは反転できない +
-  * パスコンはICの近くに、パスコンを通してICに電源供給 +
-  * ユニバーサ基板のスルーホール穴の間隔が0.1インチ (2.54mm)=100mil +
-  * モーターの大電流の経路とマイクンプ回路のような増幅回路をオーバーラップさせない +
-  * 部品外形をシルクで描い干渉を防ぐ +
-  * ネジ頭部品の干渉、銅箔の導通に注意 +
-  * ものにっては、配線不可領域がある +
-  * tStopなどにシルクが被ってると印刷されないので注意 +
-  * tKeepoutで部品重なり配置禁止範囲の指定.  +
-  * change size 1.0などで文字サイズを修正 +
-  * Altキー押しながらならgrid無視で配置できる +
-  * [[https://fujisannoblog.com/post-3026/|NAMEが出てこない場合はReposition Attributesで復活できる]]+
  
-=== コマンド === +===== ULP =====
-  * 横のアイコンをクリックする方法と、検索バーっぽいところにコマンドを打ち込むことで、コマンドを指定できる +
-    * 上ボタンで過去のコマンドに戻れる +
-  * ripup で配線カット +
-  * delete でそれ以外の削除(名前、部品、など) +
-  * move でパーツの移動 +
-    * 複数を移動したい場合は、Groupで選択してから適当なところで右クリックすると、move Groupが選択できる +
-    * パーツの中心がない場合は、tOrigin系を可視化すると出てくる +
-  * 関連するものを一気に消したい場合は、Shift押しながらDelete +
-  * ratsnest で配線最適化(unRoutedな配線が一番短い線で結ばれる状態)&ベタGND配置 +
-    * ベタGND配置時、infoでisolateを0.3に設定しないとただの真っ赤になる +
-    * 見え方を変えるだけなので、ctrl+Zとかは使えない。注意。ベタGNDのISOLATEは0.3くらいにする +
-  * TopとBottomで配線が被っている場合は配線をクリックして右クリックで切り替えられる +
- +
-=== ULP ===+
   * [[https://ameblo.jp/circuit-design/entry-11592526773.html|EAGLE tips1 ULP(User Language Program)]]   * [[https://ameblo.jp/circuit-design/entry-11592526773.html|EAGLE tips1 ULP(User Language Program)]]
   * 部品番号を振りなおす   * 部品番号を振りなおす
行 151: 行 116:
       * 変な日付が入ったらRenumber parts without package       * 変な日付が入ったらRenumber parts without package
       * Board and schematic are not consistent!エラーが起きることがある。今の変更を破棄し、回路図だけを開いてもう一回実行して様子見。       * Board and schematic are not consistent!エラーが起きることがある。今の変更を破棄し、回路図だけを開いてもう一回実行して様子見。
 +      * [[https://forums.autodesk.com/t5/eagle-forum/error-with-renumber-parts-function/td-p/9196183|変な英語が出ても諦めず連打すると直る]]
     * ボード図で振りなおす場合,cmd-renumber.ulp     * ボード図で振りなおす場合,cmd-renumber.ulp
   * 部品番号を開始番号から振りなおす   * 部品番号を開始番号から振りなおす
行 174: 行 140:
     * exp-project-lbr.ulp     * exp-project-lbr.ulp
     * 個人的にはあまり使わないかも。EAGLEのexport機能でいける     * 個人的にはあまり使わないかも。EAGLEのexport機能でいける
- 
-=== 固定 === 
-  * 配線固定用の穴はあけておくとよい 
-  * φ3.0にすると[[https://www.monotaro.com/p/3955/0052/?t.q=%8C%8B%91%A9%83o%83%93%83h%202mm|この結束バンド]]が入る 
- 
-=== 自動配線 === 
-  * Net classを設定(POWER 1mm、そのほか0.5mmくらい) 
-  * Autoroute 
-  * 配線全消しはripup →GOボタン 
-=== 面付け === 
-  * [[https://www.p-ban.com/htmlmail_qanda/2015/11/|面付けのほうが安いらしい]] 
-  * [[https://jiwashin.blogspot.com/2020/07/v-cut-line-by-eagle-for-jlcpcb.html|面付けの仕方]] 
-  * width0.5でLINEを引いてVscoreレイヤーに貼り付けることでできる 
-  * [[https://community.element14.com/products/eagle/f/eagle-user-support-english/28948/vscore-layer-not-visible-in-eagle-7-4-0|レイヤーがなかったら      layer 102 vscore ]]で出せる 
-==== 設計フロー ==== 
-  - 平面図や三面図上で大まかな配置を検討 
-  - ratsnestをもとにパーツ配置(電源を考慮、unroutedが短くなることを考慮) 
-  - 高さチェック(高さがシビアなら) 
-  - 配置調整 
-  - route, polygon 
-  - DRC DRCパラメータは製造場所に合わせておく。例)#attach(bocco.dru:1073919281) 
-  - net整合性確認 
-    - 恐らく以下3つのANDでOKのはず。 
-    - schとbrdそれぞれからnetlistを生成し、差異がないことを確認 File -> export -> netlist。これでどの足にもついていない浮きパターンによる短絡以外は確認できる。 
-    - Unroutedが無いことを確認(後述)。schにあり、brdにない、引き忘れがないことを確認できる。 
-  - DRCでoverlapがないことを確認。浮きパターンによる短絡を検知できる。 
-    - シルク記入 
-    - まずsmashとmoveで部品ごとにtNames, bNames層の部品名の位置を調節。レジスト開口とかぶらないように。 
-  - レジスト開口とのクリアランスチェック:tStop, bStopを表示した状態でDRC。 
-    - 危ないところがないか目視確認。銅箔は一層ずつONにして個々に+銅箔全層をONにして+unroutedが無いことを確認。 
-  - unroutedはlength.ulpやstatistic-brd.ulpで確認可能。 
-  - (気になるなら念のため)全パーツ寸法が間違っていないか確認 
-  - 画像認識マークをつける(必要なら) 
-  - 面付け、ミシン目作成(必要なら) 
-  - . brdファイルのみ別名でコピーを作成し、開く。schがないという警告が出る。 
-    - コピーしたい層すべてを表示 
-    - group all; cut (> 0 0) でクリップボードにコピー、pasteで貼り付け 
-    - Vカットを入れるには:Dimension層に0.2mm幅の線を端から端まで入れると(P板やJETPCBは)Vカットとみなしてくれます 
-      - 心配なら VScore層に描画後、gerberで.vscなどの拡張子で出力、READMEに.vscはv-scoreですと書けばまず大丈夫でしょう。 
-    - ミシン目を入れるには:Milling層に2mm幅の線でルーターカットを書き込み、0.6などのドリルを連ねてミシン目を作成。 
-      - Milling層は、gerberで.milなどの拡張子で出力、READMEに.milは直径2mmのミルのセンターラインですと書いてください。 
-  - 寸法記入(Measuring層)→基板発注時に少なくとも外寸は必要なので。 
-  - ガーバー出力 
-    - 好きな.camファイルを使ってガーバーを出力 例)#attach(boccov2_01.cam:1073919280) 
-    - gerbvなどのビューワで最終確認 
-      - ドリルと銅箔の位置関係(スルーホール)が正しいか 
-      - シルクがレジスト開口に被ってないか(かぶっている場合は製造業者に「シルクをレジスト開口でカット」を明示するほうが無難) 
-      - パッド/ランドのレジスト開口と他の信号線が近接しすぎていないこと 
-      - 必要なパッドにメタルマスク開口があること 
-      - 不要な部分にメタルマスク開口がないこと 
-    - READMEファイルにファイル名とファイルの内容を記述 例)#attach(README.txt:1073919279) 
-  - 基板発注 
-  - 実装屋さんにパターン図および実装資料を提出 
-    - パーツリスト: bom.ulpを走らせて、valueでグループすると員数なども数えてくれます。csvファイルが";"区切りなので、適宜","に置換してからexcelで編集するとgood。カラムを追加(実装の有無、支給の有無、必要数、支給数)。 
-    - マウンタ情報: mountsmd.ulpを走らせると出力される。mnt, mnb 
-    - シルク図: tPlaceとDimensionをONにしてprint pdf。bPlaceとDimensionをONにしてprint mirrorチェックしてpdf。 
-    - メタルマスクガーバー: cam processing時にtCream, bCreamを出力するようにしとけばOK。 
-    - 外形ガーバー: out 
-    - シルクガーバー: plc, pls 
-=== 小技 === 
-主にやたら入り組んだ部品のパターンを作るときの座標入力を手動ではなく一括でやると便利という話。 
-座標入力が (x y) というコマンドで行えるのと、パッドの寸法を w x h というコマンドで行えるのを利用して、 
-エクセルなどの上でパッドサイズと座標を一覧化し、concatenateで整形してコマンド欄に貼り付けるとコピペ一回でパッド作成が終わって便利 
- 
-==== ガーバーデータ出力 ==== 
-=== エラー === 
-  * This job contains a mix of legacy and new cam outputs which may result in layer misalignment. このジョブにはレガシーと新しいカム出力が混在しているため、レイヤーの位置ずれが発生する可能性があります。 
-    * 全項目を出力してないときに出るエラー。legacyになにか残らないようにしよう 
- 
- 
-===== レビューのポイント ===== 
-==== すべての部品が定格内で動く ==== 
-絶対最大定格は壊れはじめる限界なので、これで設計してはいけません。 想定されるすべてのユースケース(たとえば電源なら、充電中、電池が満充電、電池が放電終止、など含め)で動作範囲を満足するように設計しましょう。 
-  * ピンの入力電圧範囲 
-  * ピンの出力電流範囲 
-  * キャパシタの耐圧(2〜3倍みておく) 
-  * 抵抗の電力 
-  * インダクタの電流 
-など 
- 
-==== パターンレビュー ==== 
-=== Cのパッケージサイズが小さすぎないか === 
-Cは小さいと耐圧が下がります。かかる電圧の2倍以上の耐圧をとっておくべきとされています。 
-パッケージ、耐圧、容量、温度特性、入手性の全条件を満たす製品が存在することを必ず確認しましょう。 
- 
-=== Rはのパッケージサイズが小さすぎないか  === 
-Rは小さいと許容電力が下がります。 
-特に以下は注意: 
-  * LEDの電流制限抵抗 
-  * 電源ラインに入れるシャント抵抗的なもの 
- 
-=== レジスト開口とパターンのクリアランス === 
-レジストと銅箔がずれると開口から他の信号が覗いてしまって、最悪短絡する。 
-0.2mm程度は開いているといい。 
- 
- 
-=== パスコンを通ってからICに供給する ===  
-ICで出たノイズはパスコンを関門にして外(他のデバイスと共有しているベタGNDや電源ライン)に出さないようにします。 
- 
- 
-=== DCDC回路の設計 ===  
-周辺部品の選定と、レイアウトについて細かく指示があるので、必ず仕様書を守るように。 
-レイアウト例が載っている場合はそれに則っておくと無難。 周辺部品についても選定例が載っている場合はそれに則っておくと無難。 
- 
-=== 高速信号 === 
-クリスタルは短く配線 
-USB1.1、SPIなど10MHz前後以上の信号は反射を気にする 
-USB2.0、RAM、などは等長配線やテーパーが必要で、eagleのキャパオーバー。 
- 
-=== 電源が弱い === 
-GND内やVCC内で電位が異なる場所ができてしまうと、アナログノイズや通信不良などいろいろ問題がおきます。 
-配線が細いと抵抗値が大きくなって電流の増減がそのまま電位の上下に変換されるので、電源ノイズが大きくなります。 
- 
-  * 電源はなるべく短く太く供給する 
-  * 両面ベタGNDに対してviaを打って電位差を防ぐ