この記事はSSSRC Advent calender 2023 4日目の記事として書かれています.

 

 こんにちは,修士2年のもっさです.

 今回は,一昨年のアドカレで書いた「蘇生」の続編として「Nucleoボードの故障原因と対策について書こうと思います.

 

 

  概要

 当団体では開発中にマイコンが破損してしまった場合,壊れた状況や症状を「破損報告書」により共有し,エラーケースを蓄積,同じミスの防止につなげています.その甲斐あって,破損件数は年々減ってきましたが,中には原因が分からず,有効な対策が講じられていない故障もあります.

 そこで,今回は集計された破損報告書をもとに,どのような原因で故障するかを分析し,対応策について考察します.

  Nucleoボードの破損個所

 以下に”NUCLEO-F303K8”の破損個所と件数をまとめました.

  • U2の破損:11件

    • 3V3とGNDの短絡:7件

    • I/Oピンの故障:4件

  • U5の破損:4件
  • C22/C25の短絡:7件

 U2はマイコンで,プログラム記述された動作を実行します.

 U5はデバッガ/プログラマで,プログラムの書き込みなどUSBとマイコンU2のやり取りを行っています.Nucleoボードでは特に”ST-Link”と呼ばれ,切り離しができる機種もあります.
 C22/C25は,3端子レギュレータU3についているパスコンです.U3は外部電源入力VINを5VのE5Vに降圧しています.

 それぞれの部品(+関係する部品)の配置を以下の図に示します.

  症状と故障原因

 故障時に参照しやすいよう,故障時の症状と原因をまとめます.
 ピン名などはSTMicroの技術資料33-34項を参照ください.
  • 症状:USBを接続しても電源LEDが点灯しない,U4が爆熱
    • 故障内容:U5の+3V3_ST_LINK-GND間が短絡
    • 原因:基板表面上にあるCN2ランドの4ピンに高電圧線が触れた※検証
    • 確認方法:CN2の2-4ピン間の抵抗値が数Ω程度
  • 症状:U1, U2, U3が発熱(主にU1が爆熱)
    • 故障内容:U2のVDD - GND間が短絡
    • 原因:+3V3に高電圧が印加された
    • 確認方法:+3V3-GND間の抵抗値が数Ω程度
  • 症状:U2のみがゆっくり発熱,書き込めない
    • 故障内容:U2内部でI/Oピンの配線が短絡
    • 原因:I/Oピンに高電圧(>5V)を印加した
    • 確認方法:U2表面のモールドが破損...してる時がある
  • 症状:裏側から煙が出る,C22, C25が焦げる,破裂する
    • 故障個所:C22,C25が短絡
    • 原因:VIN-GNDに電源を逆接した※検証
    • 確認方法:VIN-GND間の抵抗値が数Ω程度,見た目

  故障原因の検証

 上では破損報告書の内容を分析することで,故障に至るプロセスが判明しました.しかしながら,全項で※検証と付された内容に関しては,因果関係にいくつか疑問があります.

 そこで以下の2点の故障に関して,実機(Nucleo-F303K8)を用いて故障が再現ができるか,どのようなプロセスで故障に至るかを検証してみたいと思います.

  • U5の短絡
  • C22とC25の短絡

  検証 - U5の短絡

<疑問点>

 U5の3V3-GND短絡は,マイコンボード上のCN2に高電圧(>5V)の端子が触れたことが原因としている報告があります.確かに,CN2の1,3,4ピンにU5の電源及びI/Oピンが配置されており,外部の端子が触れて破損する可能性があります.しかしながら,そう何度も同じことが起こるのか(集計では4件),一瞬触れただけでU5が破損するのだろうかという疑問があります.

 

<検証>

 上記疑問を解消するために,実験を行います.

 方法は簡単で,安定化電源の+9VをCN2に印加し,流れる電流値と短絡の有無を観測します.一瞬触れただけで壊れるかどうかを検証したいので,下記画像のように,+9Vが接続されたジャンパピンでCN2をツンツンします.


見てください,この,こういうように,最近ではマイコンが流行りですね
それもさわっちゃう♪
これもツンツンて、もうツンツン
ツンツン、ツンツンツ~ン
ツンツンツンツン! ツンツン!

 

パッ(CCに切り替わる安定化電源)

 

 CN2の4ピン(+3V3_ST_LINK)に触れた瞬間,大電流が流れU5が死にました.他のI/Oピンではほとんど電流が流れませんでしたが,電源ラインのピンは一瞬触れただけで2A(安定化電源の制限値)程度の電流が流れ,U5は昇天しました.

 

<結論>

 検証の結果,報告書に記載されていた通り,CN2の4ピンに高圧の電源端子が一瞬でも触れるとU5は短絡してしまいました.

 CN2の近くには外部電源入力端子VINがあり,新入生講習などでは9V乾電池を接続するのが一般的です.VINに接続されている配線が衝撃で抜けてCN2に触れたり,接続する際に誤ってCN2に触れる可能性は十分にあり,これらがU5を故障させる主要因だと考えられます.

  検証 - C22/C25の短絡

<疑問点>

 C22C25はタンタルコンデンサで,耐圧以上の電圧や逆電圧が印加されると短絡します.使用環境から耐圧以上(>12V)の電圧が加わることは考えにくく,また報告書の内容から,電源逆刺しによる逆電圧印加が故障の原因であるというのが有力です.

 しかしながら,逆電圧印加が原因とするのには疑問があります.下の図に示したように,C22はレギュレータU6入力側のパスコン,C25出力側のパスコンです.電池を逆接するとVIN-GND間に-9Vが加わるので,逆電圧に直接晒される入力側のC22が破損すると予想しました.しかし実際には,出力側のパスコンC25が破損しているものがほとんどで,C22が破損しているものは1件だけでした(そのケースではC25も破損していた).これらより,本当に逆電圧が短絡の原因なのか,なぜ入力側のC22は大丈夫な場合が多いのかという疑問が浮上しました.

<検証>

 上記疑問を解消するために実験を行います.

 検証方法は,安定化電源よりVIN-GND間に逆電圧-9Vを印加し,オシロスコープで各コンデンサに加わる電圧をモニターするという方法です.

 下図のようにレギュレータの足へ配線をはんだ付けし,オシロスコープへ接続しました.

 安定化電源の+9Vを逆接続しアウトプットを押すと,一瞬で2Aほどの電流が流れ,安定化電源のCC制御により出力電圧は3.0V程度に低下しました.この時,入力側C22には-3.0V程度,出力側C25には-2.0V程度がそれぞれ印加されていました.その後,3秒間ほどが経過したとき,出力側のC25が「パン!」と破裂したため,アウトプットをオフにしました.

 以下画像の左側は,C22/C25に加わる電圧の時間変化で,右側は破損したC25です(L1付近に電解液がこびりついているのが確認できます).

 興味深いことにより高い逆電圧が加わっていた入力側のC22破損していませんでした

 そこで,短絡してしまったC25を取り外し,C22を追い込んでみることにしました.

 C22だけがついた状態で逆電圧を印加すると,700ms程度耐えたのち,こちらも短絡してしまいました.その後も電圧をかけ続けましたが,C25のように破裂することは無く,黒く焦げる程度でした.実験後,取り外したC22の抵抗値を計測定してみると,まだ30Ωほどの抵抗値があり,完全には短絡していないようです.

 検証実験の結果をまとめると、

  • 逆電圧印加後,即座にC25が短絡し,大電流が流れる.
  • C25が無い場合,750ms程度でC22が短絡し,大電流が流れる.

<結論>

 検証実験の結果より,電源を逆接した場合には出力側のパスコンC25が一瞬で短絡して破壊することが確認されました.

 入力側のC22が先に破損しなかった要因としては,C22の方が逆耐圧が大きく,C25が瞬時的に短絡したおかげで,C22に加わる逆電圧が低下したことが考えられます.C22は入力側に設置されているため,逆耐圧やサージに強い物を使っているのかもしれません(実際にサイズや耐圧はC22の方が大きい).

 C22も破損したケースについては,C25が開放モードで壊れたり,電源の電流容量が大きかったりして,C22にも十分大きな逆耐圧が加わったことが原因だと考えられます.

  対策

 上述した故障原因に対して、どのように対策すればよいか考えます.

 まず全体を通して言えることは,”電源の接続ミス”が大半の要因を占めているということです.接続ミスを防止するために,以下のような対策が考えられます.

  • 配線色のルールを決める
    • 配線ミスに直感的に気付ける
    • 12Vは,5Vは,3.3Vは,GNDはなど
  • スイッチ付電池ボックスを用いる
    • スイッチをOFFにしてから抜き差しを行う
    • 差込み時や未使用時に他の端子に触れても大丈夫
  • 正しい方向にしか差し込めない端子を利用する
    • XHコネクタなどを利用
    • ブレッドボードに装備するのは面倒か
 上記のような対策に加え,電源接続時には再確認を行うように注意喚起をすれば,破損するマイコンを減らすことができるでしょう.ただ,いくら注意していたとしても
じこはおこるさ
というのが世の常なので,ミスをしても大丈夫なようマイコン側にできる”処置”はないか考えてみます(ホンネ:ただ改造してみたいだけ).

  対策 - U5の短絡

 報告書と検証の結果から,U5の電源ラインが短絡する原因は「CN2に電源線が触れる」ことでした.CN2は基板上にむき出しのパッドとなっているので,外部端子と接触しないようにカプトンテープで保護しました.本団体ではCN2を使うことがほとんどないので,このような対策としましたが,使用する場合はピンソケットを実装するのでも同様の効果が得られると思います(ただ上側にだいぶ出っ張るのでイマイチ)

  対策 - C22/C25の短絡①保護ダイオード追加

 C22/C25はタンタルコンデンサで,耐圧以上の逆電圧が加わると短絡してしまいます.そこで,以下の図ようにVIN-GND間にダイオードとバイパス抵抗を挿入し,コンデンサに逆電圧が加わらないようにします.

 ダイオードを挿入するためには配線パターンのカットが必要なのですが,VINラインがピンヘッダ近くを通っていたり,部品がキツキツに実装してあったりするため,なかなか配置できるところがありませんでした.最終的には,3端子レギュレータU6付近のレジストをはがして,パターンカットおよび部品の設置を行いました.

 

 部品実装後,安定化電源で逆電圧-9Vを印可し,電流値とC22/C25の電圧を観測しました.逆電流は1.5uA程度,C25にかかる電圧はほぼ0V,C22も-5mV程度となり,破壊することはなくなりました.もちろん,順方向に電圧をかけたときは問題なく動作します.

  対策 - C22/C25の短絡②積セラ化

 対策①の保護ダイオード追加は強力に逆電流を防げますが,細かい作業が多く面倒くさいです.またパターンカットという不可逆的な改造をするので,あまり気分がいいものではありません.そこで,パスコンC22/C25を極性がない積層セラミックコンデンサ(MLCC:Multilayer Ceramic Capacitors)に置き換え可能か検証してみます.

 一昨年の記事でも積セラに置き換えよう考えたのですが,発振の恐れがあることと,知識が十分ではなかったので断念しました.しかし,記事公開後にレジェンド的存在のF先輩から連絡があり,いろいろな助言をいただきました.その中でも置き換えに関する2点を抜粋すると,

  1. 経験上,1117(レギュレータ)は積セラを使っても発振しない
  2. MLCCのDCバイアス特性に注意せよ
とのこと.これらアドバイスをもとに,再挑戦することにしました.
<1について>
 ロードロップアウトレギュレータ(LDO)のパスコンに低ESRのコンデンサ(積セラなど)を使用すると発振してしまうことがあります.これはLDOが負帰還システムであり,出力に低ESRのコンデンサがあると位相余裕が確保できなくなってしまうからです(詳細).
 LDOによっては,発振しないESRの範囲(○○mΩ以上など)がデータシートに書かれている場合もありますが,今回の対象であるU6(LD1117S50TR)のデータシートには記述がありません(登場時は大容量の積セラが普及してなかったので,そもそも想定されてない).なので,発振を防ぐために1Ω程度の抵抗を直列に入れて,ESRを上げる必要があります(参考)...と思ったのですが,F先輩は「案外いけるで」と仰っているので,まずは単純に積セラに置き換えてみます.
<2について>
 MLCCは電圧が印可されると容量が変化(減少)します.「そんなこと言っても数%くらいでしょ」と思ったそこのあなた!こちらをご覧ください.
データシートより)
 これは村田製作所製35V-10uF(温度特性X5R)品のDCバイアス特性です.電圧が加わると無慈悲にも容量が減少していき,10V印可されると20%程度の容量になってしまいます.今回,置き換えを行うC22/C25は電源ラインのパスコンであり,それぞれ12V/5VのDC電圧が加わることになります.必要な容量は10uFですが,DCバイアス特性による減少量を考慮して大きめの容量を使う必要があります.秋月電子で探すと,C22とC25には以下の製品が要件を満たします.

注1:高誘電率系のX5RやX7Rではなく温度補償用のC0GはDCバイアス特性はありません.ただし,大きい容量が無く(0.1uF以下)サイズも大きいので,今回は使用できませんでした.

注2:F先輩曰く,1117は10uFでも問題なく動くらしいですが,一応元の容量に合わせます.

<検証>

 では,実際に積セラに置き換えて問題なく動作するか試験してみましょう.ただ,前述した部品は手元になかったので,今回は衛星部屋に転がっていたもので使用します.

 C22(左)は6.3V-47uFを2直列,C25(右)は25V-22uFを実装しました(C22は耐圧的にアウトですが,手持ちがなかったのでユルシテ...).

 実装後,まずはVIN-GND間に+9Vを加え,出力波形をオシロスコープで観測しました.無負荷時,最大出力電流時(500mA)それぞれにおいて発振することなく動作しました拍手

 次に,電源逆差しの再現として-9Vを印可すると,100mA程度の電流が流れました.これはレギュレータを経由して流れる電流で,レギュレータ本体が発熱していました.10秒ほどシバイてみましたが問題ないようで,順方向に繋ぎなすと普通に動作しました.

<オマケ>

 対策②の積セラ化は問題なく動作しましたが,やはりレギュレータに逆電流が流れ続けるのは良くありません.逆接の発生を使用者に気付かせる必要があります.そこで,マイコンボード表面のVIN-GND間に逆接を知らせるLEDを追加しました.LEDは再生品なので汚いですが,ちゃんと動作します.こんなところにも当団体のSDGsへの高い意識が垣間見えますね(笑).

 電源を正しく接続した場合(左)は電源インジケータが点滅するだけですが,逆方向に接続してしまった場合(右)は激しい光線がマイコンから放たれます.

 

 つまり接続ミスをすると,

 このように滅びの呪文が発動し,使用者は目を破壊されます

 もう二度と逆接できないねぇグラサン

注3:は既に電源インジケータで使用されているので,紛らわしくないを選びました.や白などでもいいと思います.

  まとめ

  • 症状と原因の対応をまとめた
    • 故障原因が不明な場合に補助としてどうぞ
  • 故障原因の大半は電源の接続ミス
    • 接続ミスに対する注意喚起やミスが起きない構造が必要
  • 電源逆接への対策にはC22/C25の積セラ化がお手軽で効果的
 お読みいただきありがとうございました.早いもので,自分も今年度で卒業予定となりました.残り少なくなってしまいましが,先輩から教わったこと,開発中に得た知識などを少しでも引き継げるようにブログに書いていければと思います(建前).僕がジャンク品ばかり買ってるのにも意味があるんだぞ!セコイわけじゃないぞ!(本音).
 それでは,明日のアドカレもお楽しみください!