tl;dr
- 電子工作でよく使うマイコンボードにはUSBがついていて、よくそこから電源をとって、ブレッドボードの電源としてよく使うよ
- マイコンボードにリセットボタンはあるけれど、周辺回路を含めてリセットしたいとき、USBを抜き差しして、リセットを行うよ
- このUSB電源断によるリセットを、メカニカルスイッチで軽い力で行えるUSB Switch Adapterを作ったよ
- マイコンCH32V003搭載で、ボタン長押しで電源断を継続する機能を付けたよ
USBポート付きマイコンボードを使った開発のリセットに、USB抜き差しが面倒くさい
電子工作では、Raspberry Pi PicoなどのUSBポートの付いたマイコン開発ボードをよく使います。 私自身の設計するマイコン開発ボードにも、USB機能のないマイコンに対しても、必ずUSBポートを付けていて、電源として利用します。
ブレッドボードで繋げたデバイスに対してもリセットしたいことがよくあります。 この場合、USBを抜き差しして行います。 しかし、USBを逐一抜き差しするのは面倒くさいです。
USB Switch Adapterを作った
以前USB電源を定期的にリセットするアダプタUSB Rebooterを、CH217をパワースイッチとして、CH32V003でタイミング制御を行うマイコンとして使って、作成しました。
こちらを購入いただいた方に、スイッチで手動でスイッチオフができないか相談が来ました。 確かにそのような使い方も良いと思い、スイッチ基板をCH217に手配線して、可能にできると話していました。
これをちゃんとまとまった作品化できないかと思い、今回USB Switch Adapterを作りました。
USB Rebooterと同様に、スイッチ機能のあるUSB電源保護ICであるCH217のスイッチピンを操作して、電源の遮断を実現しています。
CH217については過去に記事にしています。
回路つなぎ替え時に便利な長押しで電源を切れる機能をつけた
ブレッドボードで実験中、回路をつなぎ替える時には、電源を遮断しておくのが常識です。 この長い時間の電源遮断も、このアダプタでできると良いと思いました。
ボタンとCH217のスイッチピンの操作を、マイコンCH32V003を介して行うことにしました。CH32V003は、本ブログでも何度も登場している、秋月でも40円で買える安価なマイコンです。安価なため簡易な要素にもじゃんじゃん組み込めます。
通常はボタンを押して通電している間電源を遮断するようになっていますが、ボタンを一定以上長押しした場合、遮断の状態を続けるようにしました。この動きはTwitter上に動画で上げています。
押しやすいスイッチで電源断するアダプタ、アイディア聞いて作ってみたくなり製作、動作した。電源スイッチにはCH217を使い、短いプッシュでの電源断だけでなく、長押しすると電源断を保つ機能をCH32V003で実現。CH217のフューズが働いている時にLED点滅する機能付けたけど、それは夜動作確認しよう。 pic.twitter.com/NnYETbc3CY
— 74th (@74th) August 12, 2024
過電流を表示する機能
CH217には過電流が発生すると遮断するポリフューズとして使える機能が含まれています。
CH217は、過電流時による遮断が発生しているとき、FLAG#
ピンがLowになります。
これを読んで、LEDを点滅して人間に伝える機能を追加しました。
動画だと点滅がわかりにくいが、電流1A超えるとリセッタブルフューズが動作して(CH217の機能)、CH32V003で電流制限中の信号からLEDを点滅させられるのを確認できた!
— 74th (@74th) August 13, 2024
(めっちゃ5Vから電圧落ちてるけど、適当につないだケーブルのせい) https://t.co/SbRHKr3zFP pic.twitter.com/5VSozNAJox
今のところ、このアダプタを使って、電子工作を行っていて、これが点滅する事態になったことはありません。
USB-Cプラグ
部品に、USB-Cプラグを使っています。 以前USB Rebooterを作ったときには、秋月で売られている 00402-UCAM002-X を使いました。
これはピンの上に屋根が付いており、はんだごてでは非常に実装が難しい部品となっていました。
今回LCSCで購入した SHOU HAN TYPE-C 24P-GTJB 040 を使いました。 こちらは 00402-UCAM002-X と比べると実装しやすいですが、簡単とは言いがたいとは思います。
実際便利かどうか
実際に、私の電子工作では非常に便利に使っているツールとなります。
直近で使ったのは、販売用モジュールの製作時の、テスト工程です。 StickPointVという自作キーボード用モジュールを作っているのですが、RP2040を積んだテスト基板のGroveポートに接続し、RP2040に書き込まれたQMK Firmware上で動作するかどうかを確認しています。 この接続後にRP2040をリセットする必要があるのですが、このリセットにUSB Switch Adapterを使いました。
Boothにて販売中
USB-Cプラグの実装の難易度が高いため、本ツールはキットではなく完成品ツールとしてBoothで販売することにしました。 以下で販売しています。
販売開始1週間で7つ販売し、わりと好評です!
OSHWとして、回路図、KiCadファイル等は公開中
こちらは、74thのOpen Source Hardwareプロジェクトの1つとしています。 以下のリポジトリで回路図やKiCadファイル、CH32V003のファームウェアを公開しております。
ご自身で基板を発注して利用も可能です。 日本国内での販売はご遠慮いただけると助かります。