プログラミング素人のはてなブログ

プログラミングも電気回路も専門外の技術屋の末端が勉強したことや作品をアウトプットするブログ。コードに間違いなど見つけられたら、気軽にコメントください。 C#、Python3、ラズパイなど。

DeskHop基板を常時起動できるようにする

基本的には2つのPCから電源が供給されていないと動かない

s51517765.hatenadiary.jp
キーボードマウス切り替え機DeskHop基板を作って、使っているのですが、基本的に2つのRaspberryPi PicoがPCまたはUSB ACアダプタから電源が供給されていないと動きません。
2台のPCが電源ONであれば問題ないのですが、必ずしも2台を同時に使っているわけではないので、起動していないPC側のUSBをACアダプタから電源を供給するためにつなぎ変える必要がある場合があります。
起動していないPCでもUSBの電源が供給される場合もありますが、ノートPCを移動したりするときに切断すると、再度接続しても起動しない、という場合もあります。

そこで、ノートPC側のRaspberryPi Picoに常に電源を供給する方法を検討しました。
デスクトップ側は常に接続していて、外すことは無いので起動しっぱなしとなっています。

RaspberriPi PicoはVsys端子に3.3V以上を供給して起動することもできるのですが、この方法ではキーボードやマウスへの5Vが供給されない、ということが分かりました。
つまり、USB Microの端子のVbusに5Vを供給しなければならない、ということになります。

ノートPCが繋がっているときと、繋がっていないときでスイッチで切り替えたり、トランジスタで切り替えるような方法も検討しましたが、手動ではミスが発生しそうだし、トランジスタでは信号の供給源とドライブ側が同じになるので簡単には上手くいかなそう、と考えました。

結果考えた回路が以下のようなものです。

このようなパーツを使うことで、ノートPC側のRaspberriPi PicoはPCからのVbus供給は行わず、常にUSB ACアダプタから電源を取るようにして起動します。

テープを巻いて雑に絶縁しています。

ノートPC側のVbusがつながった状態にすると、ノートPCへUSB ACアダプタから電圧を印加してしまうことになるので、これは行わないようにしているのがポイントです。
上手くいっていそうです。

まとめ

常に起動していないPCがある場合のDeskHopの運用方法を考案しました。
デスクトップ側も同様なものを作って起動することももちろん可能です。
ただし、USB技術の専門家ではないのでUSBの規約違反ではないかどうかなどは断言できません。
回路的には問題ないように思っていますが。