この記事はSSSRC Advent calender 2021 4日目の記事として書かれています。
こんばんは、4年生のもっさです.
いつもはふざけているので,たまには真面目な話を...。
当団体では,開発に必要な基礎知識を養成してもらうため,新入生教育なるものを実施しています.
その一環で模擬人工衛星(CANSAT)の開発を行ってもらうのですが,,,電子工作の経験が少ない人が多いためか,マイコンが頻繁に壊れます.
マイコンを壊してしまう原因は電池の逆接続や配線間違いなど大体同じなので,昨年度からは壊れた状況や回路を報告してもらう仕組みを導入し,エラーケースを蓄積,同じミスの防止につなげています.(このシステムを導入した新入生教育委員はスバラシイ)
自分はジャンク修理が好きなので,たまに壊れたマイコンを借りてきて修理するのですが,今回はその過程で得られた知見を共有し,開発に役立てばいいなと思っています.
今回修理するのはこちらのNucleo F303K8というマイコン2台です.
この記事では,それぞれのマイコンについて修理の報告を書いていこうかなと思います.
<右側のマイコン>
報告書を見ると,外部給電で動作させている際に,マイコンが発熱し,確認すると,C25が膨らんでいたと書いてありました.確かに赤枠で囲んだコンデンサC25が膨らんでいます.
STMicroの技術資料によると,C25は外部給電VIN(7~12V)を5V系列に入るE5V(5V)に降圧するレギュレータに接続された出力コンデンサのようです.
このコンデンサの抵抗値をテスタで測ったところ,0Vと表示され,短絡していました.
ここが短絡していたためにレギュレータに大電流が流れ,発熱したのだと思われます.
ちなみにE5VはUSBからの5V給電が起源であるU5V_ST_LINKとは並列に接続された系列なので,外部給電ではなくUSBからの給電では正常に動作しました.(コンデンサ後段には破損がないことが確認できました.)
ほかの死んでしまったマイコンからC25のコンデンサを移植し,VINから給電をすると正常に動作しました.
C25が破損した原因についてですが,回路図を見る限り,E5Vは3.3Vを生成するレギュレータU3とU4にしか接続されておらず,外部から異常な高電圧が印加される可能性は少ないです.そのため,電源の逆接や配線の接触,サージなどでGNDレベルが変化し,C25に逆電圧が加わったことが原因であると自分は思います.
また,破損していたC25は表面実装のタンタルコンデンサでした.タンタルコンデンサはアルミ電解よりも逆耐圧が低いうえに,短絡モードで壊れます.発熱しているほかのマイコンも大体がこのコンデンサの短絡が原因でした.こんな厄介なコンデンサを使っているのは,積層セラミックコンデンサ(MLCC)の容量が大きくできなかった頃の名残だと思うのですが,現在では村田製作所などが数百uFとか大容量のものを出しているので,わざわざタンタルコンデンサを電源周りで使うのはやめましょうという風潮になっています(という記事を読んだ).なので,この際にMLCCに交換しようかと思ったのですが,手元にちょうど良いものがなかったのと,あまりにESRが低いものを使用すると,異常発振してしまうので注意という記事を見かけたので今回はおとなしく元々ついていたものを使用しました.
<左側のマイコン>
続いて,最初の画像の左側にあったマイコンについてです.
結論から言うと,これはチップ本体が死んでいたので修復不能でした.
以下,原因特定に至った経緯を示します.
報告書によると,こちらもマイコンが発熱するとのことでしたが,右側のマイコンの時とは違い,C25は短絡しておりませんでした.(これを右側のマイコンに移植した.)
まず,どこが発熱しているか調べるために,調べる必要がありました.
使う道具はこちら...
GOLD FINGER'99 (指)です.やはり最終的に信頼できるのは,己の五体のみということですね.
マイコンに電源を投入して,ボード全体を触ってていき,発熱箇所を捜索します.
アーチーチーアーチー! 燃えてるんだろうかーァ...アッッッッッツ!!!!!
全治2週間の火傷を負いました.(大嘘)
さて,尊い犠牲のおかげで,発熱箇所が分かりました.USBからの5V給電U5VとU5V_ST_LINKの間に入っているスイッチU1でした.OUTピン(6,7ピン)とGNDの間には適正な抵抗値があったので,どうやらこれより後段に入っている素子が短絡して大電流が流れているようです.
U5V_ST_LINKは右側のマイコンの際にも登場した,U3が接続されています.そしてもれなく発熱していました.
上で述べた通り,U5V_ST_LINKの系列はGNDに落ちていないので,下の図から分かるように,U3よりもさらに後段でショートしていると考えられました.そこで,まずC9の抵抗値をはかってみたところ,0Ωでした.
これで原因特定!...というわけにはいきません.C9には並列にC10が接続されています.これではどちらがショートしている(GNDに落ちている)か分かりません.また,VDDの先は以下の2枚の画像のように接続されており,VDDとGNDの間のパスコンC7とC23,AVDDとGNDの間のパスコンC24のどれかひとつでも短絡していた場合,VDDのとGNDはショートしていると出てしまいます.
このように並列に接続されている素子がショートしている場合,それを特定するのは至難の業です.修理をしているとこういう場面に頻繁に出くわしますが,ジャンク修理専門の人などは,サーモグラフィを使って発熱箇所を特定したり,面白いものでは,以下の動画のように冷却スプレーで凍結させ,電源を投入,溶けたところを見て短絡箇所を特定するものなどあります.
まあ僕はそんなもの使わなくても最強の相棒(指)がいますから...
というわけで,
悟〇「もってくれよ!オラのカラダ!!!」
うわあああああぁぁぁぁぁぁぁ................
...あれ?熱くないぞ....?
どうやらVDDの系列に接続されているコンデンサはどれも短絡していないようでした.
となると,あとはマイコンチップ本体のVDD3(1ピン)かVDD2(17ピン)がGNDに落ちている可能性だけが残りました.
それでも現実(チップ本体の死)を直視できない自分は,マイコンを切り離して電源を投入してみました.
先ほども示したU3の図右側にJP1というジャンパがあります.これは3.3Vの電源ラインとマイコン本体の電源ライン(VDD)を切り離すことができるもので,マイコンの消費電流計測などに使えるよう,ソルダリングジャンパではなくジャンパピンで接続されています.ここを切り離してUSBから給電してみると...
....発熱することなく起動できました.
はい,残念ながらマイコンチップ本体がお亡くなりになっていることが確定しました.
そうと分かれば容赦はいりません.チップをマイコンボードからはがしてみたいと思います.
使うのは皆さん大好きヒートガン.
こちらのヒートガンを使ってマイコンボードを加熱し,表面についているマイコンチップを取り外します.
何も関係ないですが,表面実装の電解コンデンサをとるときにヒートガンを使うのはおすすめしません.爆発して顔面にクリーンヒットした思い出があります.シャ〇「メガネが無ければ即死だった.」
取れました.早速テスターで計測してみると,やはり1ピンとGNDがチップ内部でショートしていました.
希望的観測で後回しにしましたが,結局お前だったのか...無念.
というわけで,今回はテキトーに好きなことをしゃべらせてもらいました.
オチはありません.(許してくれ...時間がないんだ....at23:58)
この記事が誰かの役に立ってくれることを祈るばかりです.
それでは!
<今回の記事に関係ありそうなサイト>