マイコン工作での安全策を考える

Featured image of the post

目次

まえがき

ここ最近の研究でRaspberry Pi Pico+αを壊しまくっています。

Image in a image block
骸の山

僕の手による僕のミスが原因です。パイ焼き職人になるべきでしょうか。

本当に申し訳なく思ったので生成AIに鎮魂歌(詩?)を作ってもらいました。
Raspberry Pi Picoのための鎮魂歌をお作りします。

メモリに刻まれし、電子の合唱。
精緻なクロック、鼓動が奏でる調べ。
微細な回路の道を、熱き情熱で駆け抜け、
プログラムされた命は、知識の種をまく。
だが、チップは閃光を放ち、かすかな煙とともに、
バイナリーのシンフォニー、今は静寂へと変わる。

静かに横たわる、小さき英雄たち、
シリコンと銅の微細な舞、もう動かない。
流れる電流はやがて逸れ、
行き場を失ったパルスは微睡む。

ああ、勇敢なるピコよ、
君たちは犠牲となり、我らの礎となった。
運命に散りゆく、壊れたピコたち。
光り輝くはずのLED、今は静かに眠る。
半導体の心臓が、静かに夢を見る。

二つの心(コア)つなぎ、知の海へ架けた橋。
ピコたちの使命は、これにて終わりなり。
だが、我々の記憶には生き続ける、
永遠に変わりゆく技術の道しるべとして。

さあ、涙を拭い、立ち上がれ学ぶ者よ。
次のチャレンジへと続く扉は、そこにある。
失われたピコよ、安らかに眠れ。
君たちの勇気が、未来への橋となる。


小さなRaspberry Pi Picoは、その身の半導体を通じて、テクノロジーと創造性の交差点で私たちに無限の可能性を提示してくれました。この詩は、そうした小さな英雄達の過酷な運命を称え、彼らが続けてきた仕事が決して終わらないことを敬意を込めて伝えています。

彼らは壊れてしまったかもしれませんが、その軌跡と影響は永続し、学びの炎を次世代に受け継いでいきます。

こういうの作らせたら一級品ですね。

“二つの心(コア)” なんて思いつきません。負けました。

12~36Vの電流を非絶縁型のシャント式電流測定モジュールで測定しているので、ショートすると一瞬でぶっ壊れます。

再注文してから到着を待つ間、ただでさえ雲行きの怪しい卒業が更に遠のいていくのが精神にダメージを与えてきます。

研究費で予備を多めに買っておけばいいんですが、刹那のミスによって1枚につきラーメン1杯分くらいする残機が簡単に減っていく感覚は非常に堪えるので原因と対策を考えます。

マイコンの死因

過電流

供給能(定格)を超えた電流を引き出そうとして電源が焼けます。Raspberry Pi Picoはリニアレギュレータでいいんですかね。

もし電流の供給を維持できたとしても、回路や部品が定格を超えたジュール熱に耐えられずに焼けます。

LEDを大量に繋ぐとか、モーターを直結で動かそうとするとなります。あと短絡。

僕が壊した個体は常時3.3V出す端子が1.6Vしか吐かなくなりました。(オシロスコープでは貧弱なパルス波を観測)

献血してたら真空ポンプで吸引されるみたいなもんですかね。想像したくありません。

短絡(ショート)

短絡は回路で想定されていない経路を意図せず接続してしまうことです。

過電流を引き起こします。場所によっては過電圧からの過電流になります。

僕が壊した原因は全部短絡です。不器用なのか横着なのか。

過電圧

Raspberry Pi Picoは基本的に3.3Vで動作しているため、5Vとか12Vの電圧を加えてしまうと壊れます。トレラント機能は使ったことないので知りません。

半導体が壊れやすいようです。

電流が流れなくなる壊れ方だったらマシなんですが、半導体の種類や壊れ方によっては電流が止まらなくなることがあるらしいので怖いですね。

また、過電圧は過電流を引き起こします。オームの法則です。

静電気

一瞬かつ高エネルギー版の過電圧という認識です。これは正直気にしたことないですね。

逆電圧

電源の極性間違いです。

マイコンだとジャンパ線でブレッドボードに引き出す時くらいしか気にならない印象ですね。

僕はUSB端子で給電と通信を行い、ドライバ回路はDCジャックを使っているので、物理的に極性を間違えることのない状況になっています。

このお陰でRaspberry Pi Picoでは逆電圧を掛けちゃったことはないはずです。

フル電動自転車のレース車両で電源が逆になるようにはんだ付けして30Aのヒューズ飛ばしたのはいい思い出です(よくない)。

機械的損傷

ピンの曲がりやUSB端子がもげるのがそうです。

Image in a image block

開発用ボードから引っこ抜くのが下手すぎて端のピンが曲がっています。

壊れた後で良かったなと思う気持ちと、そもそも壊したくなかったという気持ちが喧嘩しています。

さすがにCPUのピンほどじゃないですが、壊れていないときにやったら落ち込みます。

高温

高温環境での使用や冷却が足りないと熱でやられます。

単に高温であるというだけでも劣化が促進され、半導体が壊れたりはんだが融けて部品が取れたり回路が短絡したりします。

僕は机の上に剥き出しで置いて使ってるので、気にしなきゃいけない室温であれば僕が先に壊れます。放熱が要るのはドライバ回路の方ですし、これも特段気にしていないです。

マイコン工作における安全策

PCの保護(最重要)

  1. PCとマイコンとの接続にはUSBアイソレータを使う
    • Raspberry Pi PicoをPCに接続した状態で短絡させて壊しまくっていますが、USBアイソレータで電源と信号を絶縁しているのでノートPCは無事です
    • ノートPCはマイコンとは比べ物にならない値段なので、USBアイソレータを使って直接接続を避けることをおすすめします
Image in a image block
PCとはType-B端子で接続
Image in a image block
USBが4ポートなので余裕がある

USBアイソレータ自体を剥き出しで使っているのは良くないのでいずれ外装を作ろうと考えています。

短絡(ショート)対策

僕がRaspberry Pi Picoを破壊したのは全て短絡です。

片側が既に刺さっているジャンパ線の先端を当てちゃダメなところに当てたり、オシロスコープのプローブで隣り合った2本のピンヘッダを繋げてしまったり、足を切らずに長いままピンソケットに刺していたコンデンサを倒したりして短絡させました。

  1. 端子を剥き出しにしない
    • 可能な限りピンヘッダではなくピンソケットを使用する
    • 僕はArduino Unoを焼いたことは無いんですが、全部ピンソケットで端子が剥き出しになってないのが理由にある気がします
  2. 剥き出しの端子は絶縁する
    • 絶縁ニス(ワニス)やエポキシ樹脂でコーティングする
    • なければせめてマスキングテープで覆う
      Image in a image block
      この赤い部分が危険域
  3. 通電時には配線を弄らない
    • 特に純正のRaspberry Pi Picoは、Micro USB Type-B端子が硬くて端子がもげそうなので挿しっぱなしにしがち
    • Type-A側はノートPCかUSBアイソレータの端子になるが、抜き差しが面倒なのでやはり挿しっぱなしにしがち
    • データ通信対応のスイッチ付きUSBケーブルで一時的に遮断してしまうのが楽
Image in a image block
梱包時にこうなってた
Image in a image block
スイッチ基準だとUSB Type-A端子がPCと上下逆 許されざる設計

過電流対策

  1. マイコンには消費電流が大きいものを繋がない
    • 少量のLEDくらいにしておく
    • 基本的に外部電源を使用するドライバ回路を使う
  2. マイコンの1ピンあたりの上限電流値程度まで電流を制限できる微小定電流源をマイコンの電源にする
    • 直流安定化電源をショートさせても、定電流モードになって焼けないのと原理は一緒
    • しかし、そんな便利に使えるものがあるのかどうか
    • そもそもマイコンが動かなくなるのでは?
  3. 出力ピンにはゲート抵抗をつける
    • MOSFETが焼けてGND直結となったとしても、ゲート抵抗が負荷になって焼けるほどの電流が流れないようにできる
  4. 電流制限抵抗を付ける
    • ゲート抵抗と実質同じ効果
  5. 極小のヒューズを使う
    • 20mAとか32mAのヒューズがあるみたい
    • 現実問題として、マイコンにヒューズなんていちいち使ってられるか!!!!とは思う

過電圧対策

  1. モーターや電磁石があるときはサージキラーを入れる
  2. フォトカプラ等を用いて絶縁

逆電圧

  1. 逆に繋ぐとマズいようなものは、物理的に逆に繋げられない端子を使う

機械的損傷

  1. 引っこ抜くときは丁寧に扱ってピンを曲げないようにする(対策とは???)
  2. もげそうな端子はエポキシで固める

現状のスタイル

PC-USB遮断スイッチケーブル-USBアイソレータ-各マイコンというようになっています。

Image in a image block

USB Type-Aの端子が上下逆だとノートPCに差し込む時にスイッチがひっくり返るのが許せないのでType-Cに変換するやつを付けました。

Image in a image block

あんまり使い心地は良くないです。ぐらつきます。

おまけ

チラリと写っていた遊舎工房で売っているRaspberry Pi Picoの互換品が便利でおすすめです。

安いしType-C端子で色々と上位互換です。ピン配置は同一で安心。

ブートスイッチに加えてリセットスイッチが実装済みなので、処理落ちでPCからの書き込みを受け付けなくなったときに、抜き差しせずにボタンの同時押しだけで「ブートスイッチ押しながら抜き差しして再接続」と同じことができます。

尚、

Image in a image block
ウソみたいだろ。死んでるんだぜ。それで…