新しいボードをどのように攻撃しますか?


24

PCBはメーカーから返されます。それは新しいデザインであり、もちろんすべての主要部品をブレッドボードに載せていますが、問題が発生することはわかっています。問題を引き起こす可能性のあるものが多すぎます。例:

  • 回路図のエラー
  • ERC / DRCで見つからないレイアウトのエラー
  • はんだ付け中の部品の置き忘れ
  • はんだ付け時のショートなど
  • 上記の任意の組み合わせ

最近、2つの比較的複雑なボードがありましたが、基本的には、エラーを特定するために、アセンブリ後にボード全体を実装解除する必要がありました。エラーを見つけましたが、ボードはスクラップでした。

最小限の部品と手はんだ付けできない部品から始めようとしました(ペースト、ステンシル、トースターを使用しています)。通常、これはMCU、JTAGコネクタ、およびいくつかのコンデンサです。その後、問題をチェックしながら、徐々に他の領域を埋めていきます。

このアプローチは機能しますが、本当に遅いです。また、特定のハードウェアの存在を前提とするコードでは、コメントアウト/コメント化する必要があります。

誰もが新しく設計されたPCBにアプローチする方法についてのヒント/提案を持っていますか?

編集:私は主に、隠された電源レールの短絡、またはMCUをブロックするものなど、ボードが死んでしまうような種類の問題について考えています。


2
バルクキャップとバイパスキャップを含む電源と配電を実装し、ボードに入力電力を印加することをお勧めします。タンタルキャップが後方にある場合、急いで知ることができます。次に、MCU(など)が正しいピンに正しい供給電圧を持っていることを確認してから、それらのデバイスを実装します。
ジャストジェフ

1
サイドコメントとして、あなたがしたようにコードを「モジュラー」に保つことは良い習慣だと思います(欠けている周辺機器の機能を削除します)。私は常に、不足している周辺機器を無視する「デモ」モードで機能するようにコードを記述しますが、周辺機器が正しくデバッグされるまでプログラムロジックを実行します。その後、プログラムが少なくとも実行されるので、プログラムされたかどうかを確認できます。
AngryEE

2
入力電力を適用するときは、低い電流制限から始めてください。
スターブルー

1
コミュニティwikiである必要があります。
ブライアンカールトン

1
@Morten-ああ、理にかなっています。あなたは正しい、キャップが問題を引き起こす可能性は低いです。
ケビンフェルメール

回答:


10

自分で測定する必要がある部品のパフォーマンスの側面がない限り、事前のブレッドボードは時間の無駄であると判断しました。

ボードをばらばらに構築するのは時間の無駄だとさえ思います。最初のハードウェアデバッグは1〜2日で完了します。いずれにせよ、微妙な問題はソフトウェア統合まで現れません。回路のいくつかのアドホックな縮小より​​も、1つの回路(完全な回路)をデバッグしたいです。

ただ構築するだけです!ボード全体を組み立てて、電源を入れます。供給電圧を見てください。何mAを消費しますか?どの部分が熱くなっていますか?どの部分が暖かいですか?次に、ボード上のマイクロコントローラーにファームウェアを焼き付けます。次に、ファームウェアの書き込みを開始します。時計を動かしてピンを切り替えます。シリアル(または何でも)通信を開始します。次に、各周辺機器のテストプログラムを作成します。次に、実稼働テストフィクスチャをビルドし、「実際の」ファームウェアの作成を開始します。


編集:

行き詰まったレールを見つける

電源レールがグランドに固定されている場合(オーム計で0オームを測定)、ベンチ電源で電源を入れます。通常は電圧を設定し、電流制限は数百mAに設定します。PCBデザインを紙に印刷し、マイクロボルトを測定するDMMを見つけます。電源端子で始まるマイクロボルトを測定し、PCBプリントアウトの電圧降下を書き留めます。マイクロボルトの違いを調べることで、PCBを過密化または細断することなく、電流がどこに向かっているかを正確に追跡できます。この手法は、通常のオーム計が供給するよりも多くの電流を回路に送り込むことができるため、オーム計を使用するよりも優れています。

同様の手法は、他の場所に実装されたボード上の短絡トレースを見つけるために機能します。ボードを実行し、スコープを使用して、中間の電圧範囲にある「デジタル」トレースを見つけます。


同じアプローチを使用しました。通常は機能しますが、何度か戻ってきて、かなりひどく噛みつきました。前回は、製造中にめっきされ、グランドプレーンと電源プレーンを短絡させた、コネクタの下にある一見無害なスロットでした。私自身の欠点ですが、それはイライラさせられ、見つけにくいエラーでした。
モーテン

1
「Just build the thing」アプローチを使用するには、複数のPCBを注文する必要があると思います。
モーテン

同様の目的で使用される「きしみ」プローブを見てきました-ショートにゼロに。悲しいことに、製品へのリンクが見つかりません。
トイビルダー


20

最初に最小限のボードをボードに実装し、最初に電源を入れてからMCUを動作させ、次にさまざまなサブシステムを1つずつ追加し、必要に応じてテストソフトウェアを作成して続行する前にテストします。プロセスがまったく遅いとは思いません。

ベアボードでテストされた複雑なボードがあります。追加料金がかかりますが、それだけの価値はあります。


3
この方法で見つかった1つの主要なバグだけで、はるかに高速になります
-Kortuk

11

私は非常に小さな回路だけをブレッドボードします。次に、小さな回路をプロトボードにはんだ付けします。SMDチップを使用する場合、SMD-> Thru-holeアダプターを入手するのに役立ちます。

これは基本的に「ビルディングブロック」を提供します。次に、これらの回路ブロックを開発キット、または使用しようとしているMCUを備えた古いPCBにはんだ付けします。4つまたは5つの異なる小さなPCBが大きなPCBからぶら下がっているというのは、ひどく見えますが、動作します。

開発ボードで動作するビルディングブロックができたら、PCBに移動します。PCBの作成中に回路図がまったく変更された場合は、戻ってビルディングブロックを作り直し、開発ボード上で再度テストします。


副次的に、コードをコメントアウトする代わりに、#defineおよび#ifdefプリプロセッサディレクティブの使用を検討する必要があります。MCU内のコードの機能ブロックを追加および削除することが非常に簡単になります。


デザインを進化させるための非常に良い方法であると感じている私がそれを行う方法のように聞こえます。また、後で部品を再利用することもできます。
トリグヴェLaugstøl

9

どんな複雑なボードでも、テスト計画を作成することは、ボード自体を開発することと同じくらい重要です。ボードを設計する最初の段階でさえ、実装がまだ存在していなくても、何をテストするのかを知っておくことをお勧めします。彼らが言うように「テストのための設計」。必ずテストポイントパッドに重要な信号を送ってください。個々のサブシステムを独立して、または可能な限り独立して起動できるように、設計を分割してください。


うーん、素晴らしい提案!何らかの理由で、私はこれまでこのコンテキストで「テスト用の設計」について実際に考えたことがありません。
モーテン

2
セルフテスト機能を設計することにより、次のレベルに進めることができます。ボードの複雑さが増しますが、設計検証が容易になり、フィールド製品にパワーオンセルフテストを含めることもできます。
ジャストジェフ

8

重要な質問の1つは、ボードを実稼働環境にリリースする前のプリフライトチェックリストとは何でしょうか。私のプリフライトリストは次のとおりです。

  1. 回路図設計レビュー
    1. ネット名とオフシートポート
    2. 電源ピンが接続されています
  2. 回路図DRC
  3. フットプリントスクラブ
    1. 完全なメーカー部品番号
    2. 部品番号はPCB上のフットプリントと回路図のピン配置に一致
    3. フットプリントのピン番号は「右側」で正しい
    4. 穴のサイズ、クリアランス、キープアウトなどのフットプリント寸法をダブルチェック
    5. 嵌合コネクタの向きが正しい。ピン1対1、2対2など
  4. PCBの寸法と穴
  5. PCB DRC
  6. Fab Drawingsにはすべてのレイヤーとコールアウトがあります。

この回答コミュニティはwiki'dです。


5

他の人が言ったことはすべて有効ですが、2セントの価値を追加したいと思います。

絶対に最善のことは、そもそも間違いを犯さないことです。これに言及するのは馬鹿げているようですが、これは見過ごされがちです。回路図とPCB設計のレビューを行います。初心者のエンジニアも含め、複数の人にデザインを見てもらいます。ソフトウェアでデザインルールチェックを使用します。使用可能なリソースを使用して、設計が適切であることを確認してください。優れたエンジニアリングプラクティスを実施して、バグを発見する確率を高めてください。

過去20年間で、数十と数十のPCB(14層と2,000のコンポーネントを含む)を設計してきましたが、プロトタイプの最初のラウンドでは使用できなかったPCBが2つしかありませんでした。もちろんバグはありましたが、「ブリック」されたボードは2つだけです。

いずれの場合も、プロトタイプをデバッグする前にプロトタイプが完全に実装されていました。電源レールをオームアウトして、短絡がないことを確認します。次に、顕微鏡を使用して目視検査を行います。次に、電源を入れます。その後、系統的なテストとデバッグセッションを開始します。すべてがテストされて動作するまで、回路の小さな部分を一度に処理します。ほとんどの場合、私はいくつかの変更を行い、PCBの次のリビジョンで量産に入ります。

これを前もってバグを減らすための大きな努力なしには不可能でした。


一部のメーカー(4pcbなど)では、ガーバーに対して無料のDFMテストを提供しています。これらの無料のテストは、PCBツールのDRCへの素晴らしい追加です。
ajs410

4

まったく新しいデザインでは、通常、分割統治アプローチを採用しています。

主要なアーキテクチャブロックを分離し、スイッチ/ DC電源/ポテンショメータなどを使用して各セクションを個別に起動して、回路を実行するために必要な依存関係をシミュレートします。

電源を扱う場合、このアプローチは一般に難しくありません-ほとんどのコンバータは、入力とおそらくいくつかのロジック信号だけで切り替えを開始できます(そして、うまくいけば、故障の魔法の煙を放さない)。

2回目/ 3回目のスピン(クリーンアップ)であるボードは、通常、そのような勤勉を必要としません。回路の変更された部分のみを分離し、それらを個別にテストし、オールインパワーアップのために残りの回路のテストを保存することができます。

個人用保護具を忘れないでください。安全ゴーグル(場合によっては耳栓)を使用せずに、露出したコンポーネントで何かに電力を供給するのは非常に不快です


1
目/耳の保護のために+1!ラボ全体で爆発するDACを聞いたことがあります-それに取り組んでいる人は、約5分間、視界に一時的な盲点がありました!
トイビルダー

3

そもそも、短絡したネットが最初に発生するのを防ぐための最初のステップの1つは、ボードソフトウェアのデザインルールチェックをうまく利用することです。回路図レベルの両方で、ネットが接続されるべきではないときに不注意に接続されないようにします。また、PCBレベルで、ネット間の十分なクリアランスを確保します。

1つのボードでまったく新しいデザインに取り組むのではなく、テストされていないデザイン要素がある場合は、安価なプロトPCB(Advanced CircuitのBareBonesPCBサービスなど)で概念実証および性能実証テストボードを構築しようとします層、はんだマスクなし、24時間で約80ドル)。

第一世代のボードで完全なボードを作成する場合でも、たくさんのブレイクアウトヘッダーを挿入するのが好きです。場合によっては、2つの同一のPCBに「安定した」部分があり、上部に出ているヘッダーピンを挿入できます。もう1つは、「テスト」部分があり、下部エントリピンレセプタクルがあります。すべてが正常にテストされた場合、両方のボードへのデータ入力を完了できます。または、「テスト」回路の新しいバージョンをスピンして、所定の位置に交換できます。


ヘッダーは、特に機能を後から修正したり追加したりする必要がある場合や、即興のデバッグ出力が必要な場合に特に便利です。私も小さなPROTOSのための必要最小限を行うためのアイデアのような...ただ自分自身ことを行う可能性があります
ajs410
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.