寿命の長い回路の設計


11

私はpicマイクロコントローラーについて一定期間学び、デジタル電子機器の取り扱いについてかなりの知識を持っています。私は基本的な電子プロジェクトに取り組んできましたが、今ではいくつかの商用アプリケーションに取り組む必要があります。

私の質問は、信頼性が高く長持ちする回路を設計および構築する方法についてです。LDRから入力を取得し、7セグメントパネルにアナログ読み取り値を表示する自動照明コントローラー回路を構築しました。次に、いくつかの計算を行い、リレーを介してライトを制御します。この回路は常時オンにする必要があります(24時間)。最初の数ヶ月間、回路は完全に機能しましたが、約6か月後には誤動作し始めました。7セグメントディスプレイに無意味なものを表示し(数字の一部のみを表示)、インジケータLEDの電球を点灯しますが、リレーはオンになりません。これは予想された動作ではありません。問題は、常にそのように機能するとは限らないということです。時にはそれは完全に動作します。その後、再び誤動作を開始します。正確な順序はありません。

さて、私の質問は、これらの回路がこのように動作する理由です。これは、間隔を空けずに終日機能するためだと思います。この種のアプリケーションは、終日機能する必要があります。PICのみを知っているので、PICを使用します。picよりもatmalの方が信頼性がありますか?(写真が使用されるよりも頻繁にatmalがほとんどのオートメーションアプリケーションで使用されるため、私は尋ねました)デジタルエレクトロニクスの専門家からいくつかのアドバイスが必要です。この種の産業用アプリケーションはどのように構築されますか?従うべき特別なルールはありますか?より信頼性の高い回路を設計する方法は?専門家からのアドバイスやガイダンスは大歓迎です。ありがとうございました...

編集

回答で示唆されているように、デザインのバグを把握するのに役立つ追加のリソースを提供して、回答を編集します。

以下は、構築後の回路の様子を説明する画像です。回路に電力を供給する12Vのセンタータップトランスで、半波整流器を使用して整流し、次に7805 ICを使用して調整します。

ここに画像の説明を入力してください

以下は回路図設計です。

ここに画像の説明を入力してください

追加情報が必要な場合は、必要なものをすべて提供します。プログラムが必要な場合は追加します。プログラムはやや長く、割り込みを使用します。


6
指定された定格(データシートを参照)内でICを使用する場合、ほぼすべてのメーカーが10年の寿命を保証します。そして、それは高温です。コンポーネントのせいにすることはできますが、問題はデザインに予期しないことが起こっていることだと思います。または、チップの1つがESD放電に悩まされていて、それが今しか浮上していないのかもしれません。有用なアドバイスを提供する前に、まず障害のあるコンポーネントを見つける必要があります。
Bimpelrekkie

2
FakeMoustacheが言ったことに加えて、私はPICが失敗の原因だとは思わない。おそらく、ディスクリートコンポーネントであるか、回路設計に関連しています。
DigitalNinja

1
私は多くの荒れた場所でいつも働いているPICがいます。問題ありません。私が抱えていた唯一の問題は、プラグの腐食とピンが破損した物理的に強制された電気TFTコンデンサーでした。
シジドール

1
ところで、「atmal」ではなくAtmelを意味すると思います。また、PICはMicroChipのmicroCです(MicroChipはそれらを作成します)。AtmelはmicroCメーカーでもあり、Atmega microControllersを製造しています。どちらも、同様の製造プロセスで作成され、同様の信頼性を備えた単なるデジタルICです。一方が他方よりも多少信頼できる場合、誰もそれらを(彼らと同じ価格で)購入しません。
Bimpelrekkie

3
回路図、理想的には問題のあるシステムの写真を投稿する必要があります。また、あなたの問題は「寿命」であるとは思いませんが、電源の清浄度やEMIなどの基本的なものが欠けています。
Techydude

回答:


17

切り替えを検討する前に、しっかりとしたしっかりとしたデザインがあることを確認してください。デザインで問題が発生する可能性のあるすべての方法について考え始める必要があります。これを行うための良い方法は、マイクロプロセッサをコードを入れる「魔法の箱」と考えるのをやめて、ゲートレベルとシステムレベルで機能を考えることから始めます。マイクロプロセッサを幸せに保つ必要があります。

  1. 電源-マイクロプロセッサの電源が汚れていると、正しく機能しません。つまり、PCB設計を見て、電源からの良好な低インダクタンス経路を確保し、チップの近くに適切な電力上限があることを確認することを意味します。オシロスコープと電圧計では動作しないことがわかっているデザインの電力を監視および測定します。それは電力ですか?パワーにスパイクまたはディップがある場合に問題が発生するのを見ますか?Vccラインにスパイクまたはディップがありますか?
  2. Code \ Clock-コードにエラーがあり、正しく機能していませんか?断続的な単位でコードを見ましたか?現在持っているコードを検証(一致)しますか?フラッシュが劣化していますか?時計はどうですか?実際、電力は時間とともにクロックを低下させる可能性があります。あなたの時計は必要なものですか?クロックを遅くすると、コードは機能しなくなりますか?
  3. 環境を守ること。マイクロプロセッサは、設計された仕様で動作していますか?故障したユニットの温度は一定ですか?ほこり、EMI、ESD、温度など、環境要因が原因で故障する可能性があります。あなたの入力は外の世界に対して保護されていますか?熱は、時間の経過とともに電子機器に悪い影響を与えます。サーマルカメラを入手して、すべてが正常かどうかを確認します

本当に必要なのは、失敗のメカニズムを見つけることです。失敗の理由を知る必要があります。失敗の理由がわかったら、問題に対処できます。それが見つからない場合は、問題の発生を防ぐために設計を無敵にする必要があります。そうしないと、マイクロプロセッサを切り替えても同じ問題が発生する可能性があります。切り替えたい場合、STは産業用アプリケーションにより適した優れたマイクロプロセッサを製造します。


2
環境要因のリストに放射線を追加します。ほとんどの種類(原子、フォトニックなど)の電離放射線は、電子機器にSEUまたはシングルイベントアップセットを引き起こし、その結果出力が文字化けする可能性があります。
rdtsc

uが示唆したように、追加のリソースを追加して回答を更新しました。回路図と回路の画像。デザインのバグを見つけてください。
danial weaber

どうもありがとう。より信頼性の高い回路の設計についてのアイデアと知識を得ました。商用アプリケーションの構築を開始する前に、さらに学ぶ必要があります。どうもありがとう。答えとして受け入れられました。
ダニアルウィーバー16

放射線は要因ではないと思いますが、これらのことを原子力発電所や他の放射線源の近くで(または宇宙で)実行すると、週に数個のSEUがあり、ラドであっても、商用MCUで深刻な問題になりますハードプロセッサにはSEUがあります)。通常のMCUにはSEUがありますが、通常の環境ではその可能性は数年程度になると思います。
電圧スパイク

@danial weaber a 7805は、あなたが持っているキャップでパワードロップアウトを止めるつもりはありません。5V regからの消費電力は最大100mA(実際の最大電流を測定すればこれらの計算を実行できます)、つまり50Ohmの負荷のようになります。上限は10ufなので、tau = RC-> tau = 50 * 10uf = 0.5msecです。それはあなたが問題を抱えるのにかかる時間とほぼ同じです。AC電源からのドロップアウトに耐えられる数ドルの安価な中国の「壁war贅」を購入することもできます。または、より耐性のあるDC-DCコンバーターを使用することもできます。PCB上での接地はどのように見えますか?
電圧スパイク

7

あなたが言わないので、私は問題のある回路が物理的にどのように構築されているのか疑問です-これは、はんだ付けしない人が一時的な「押して接続」ブレッドボードと葉の上に回路を構築するときによく見られるタイプの問題のように聞こえるので数ヶ月間。

これがあなたのケースに似ている場合、あなたの問題があります。そうでない場合でも、接続不良が疑われますが、それは「はんだ付けの失敗」の問題よりも「はんだ付けのスキル」の問題になります。


3
この不適切なはんだ付け技術を追加すると、機械的強度が低いジョイントや、非常に短い時間でジョイントが機能しなくなる他の問題が発生する可能性があります。
古典的な

どうもありがとう。私は答えを更新し、もしあなたが非常にありがたいデザインのバグを見つけられるかどうか。
danial weaber

はんだ付けは良好に見えますが、はんだ付けに影響はありません。プログラムに関連した問題になる可能性があります。しかし、その後どのようにそれが一度に良い仕事ん
danial weaber

...はんだ面の写真を提供しますか?時には機能する、時には機能しないプログラミングの問題については、質問に対するコメントでさまざまなオプションがすでに言及されています。また、ICがはんだ付けされない潜在的な障害ポイント(ソケットとICピンの間)として存在するソケットがあります。ソケットは時々良いアイデアですが、問題を引き起こす可能性があります。ICを取り外して交換すると、しばらく問題が改善する場合、それが問題の一部である可能性があります。...また、電源フィルターコンデンサは小さな側面に見えます-ブリッジとレギュレータ入力間の33 pFのすべて?本当に?
-Ecnerwal

5

PIC電源にはデカップリングコンデンサはありませんが、このような小さなボードではおそらくそれで十分です。電圧がしきい値を下回った場合にPICがリセットされるように、ブラウンアウト保護を追加することもできます。

しかし、私はあなたのコードを見ています。

まず、マイクロでウォッチドッグを有効にする必要があります。コードが正常に機能しなくなると、ウォッチドッグはコードを再起動します。

ただし、おそらくどこかにバグがあります。職業別の組み込みソフトウェアエンジニアとして、私はそれが割り込みに関連していると思います。なぜなら、それは初心者が最もよくミスをする場所だからです。しかし、初心者として、コードで犯す可能性のある大きなミスがありますので、それは私が最初に見る場所です。(気分を害することはありません-私が本当にもっとよく知っているべきだったときを含めて、私はそれらの多くの間違いを自分でしました;-)


+1ありがとう。今、私はいくつかの間違いをしたことを理解しています。商用アプリケーションの構築を開始する前に、さらに多くを学ぶ必要があります。
ダニアルウィーバー16

3

私は、7805の両側に素敵な太いコンデンサが必要だというコメントに同意します。特にそこにリレーがあります。これが根本的な問題だと思います。PICの電源ラインにもデカップリングコンデンサを追加します。

乾いたジョイントも探しています。

また、プログラムを徹底的にチェックし、そこにあるウォッチドッグ機能を使用します。

しかし、あなたの質問からいくつかの興味深いビットがあります:

7セグメントディスプレイに意味のないものを表示しました(数字の一部だけを表示しました)

私は何が起こったのかを解決しようとしています。たとえば、PICはクラッシュしましたか?

回路図を正しく読んだ場合、7つのセグメントディスプレイのそれぞれが何かを表示し、少なくとも2つで異なる一定の何かを表示するには、Q1、Q2、Q3のそれぞれがまだオンになっている必要があります順番にオンになり、セグメントへの出力が正しい必要があります。これにより、PICのコードの少なくとも一部がまだ実行されていることがわかりますが、どういうわけか数字の出力がスクランブルされています。たとえば、表示する数字0〜9ではなく、数字17または同様の数字(ランダムなメモリ位置から数字レイアウトを取得する)が与えられている可能性があります。

あなたは言う:

インジケータLEDの電球を点灯しますが、リレーはオンになりません

回路図を見ると、PIC出力が脈動しているか何か(タイマー出力ポートでもないので不可能ではない)でない限り、これは電気的障害(ドライジョイントなど)、PSUの問題(上記のコンデンサを参照)のいずれかである必要がありますまたは、Q4トランジスタが(おそらく)完全に飽和していない。PICデータシートを読んでいませんが、BC547の最大I Cは100mA(リレーとLEDを駆動するのに十分であることを希望)、およびそのようなレベルで120のhFEがあるため、約1mAが必要ですそのため、10kは少し大きいかもしれません。3k3を試すかもしれません。

さらに、有用なデバッグ手段もありません。ディスプレイは常にオンになっているため、すべてが正常であることを示すために、1秒に1回(または同様の)最終小数点ドットを点滅させることができます。

私が暗闇の中で野生の刺しをしなければならなかった場合、私は特にリレーがオンのとき、回路が大きな電流を引いていると推測します。なぜならAC電圧がゼロと交差7805の入力側に大きな容量の欠如、の、7805は、任意の出力電流を供給されない(実際コンデンサ自体を排出することができる) - 7805データシートから「ザ・入力電圧は、入力リップル電圧の低いポイントの間でも、出力電圧よりも標準で2.0 V高く維持する必要があります。したがって、PICの電圧は低下し、おそらくクラッシュするのに十分です。5VラインのスコープをPICの隣に置きます。5Vラインがきれいな5Vライン以外に表示されない場合は、問題があることがわかります。


+1ありがとう。この答えは、回路の設計方法と私がやったいくつかの間違いについて良いアイデアを与えてくれました。コンデンサのアドインをチェックし、結果を伝えます。
danial weaber

3

マイクロプロセッサで不安定な動作が発生する場合は常に、問題の主な原因が2つあります。1)「バイパス」コンデンサが欠落しているか不十分である、2)マイクロプロセッサのピンが「浮いている」。
すべての「チップ」には、Vcc(+ 5v)に接続されたチップピンにバイパスキャップが必要です。
使用しないピンは、ハイまたはローに接続する必要ありますが、「フローティング」のままにしないでください。

Q4で「十分に」運転していないことに同意します。R12には1Kをお勧めします。


答えに+1ありがとう。バイパスコンデンサを追加してみます。デザインで使用していないピンに値を割り当てることは必要ですか?
danial weaber

正しい言葉は「バイパス」ではなく「デカップリング」コンデンサです。また、フローティングピンが面白いことをすることができることに同意しました。3つ目の主なソースを追加します-電圧低下または同様の危険なリセット条件 しかし、それでも、このケースでは、初心者が割り込みで複雑なことをしているとき、私のお金は常にソフトウェア上にあります。
グラハム
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.