ロードヒポキシス

可憐、無意識

キーボードとUSBについて

この記事はキーボード #1 Advent Calendar 2021 16日目の記事です。 このブログ一年の締めくくりだけ更新される感じになっちゃってますね。

adventar.org

今回は内容的にはあんまりキーボード関係ないけどみんな使ってるUSBについて書いてみました。

USBってご存知ですか

正式名称はユニバーサル・シリアル・バスUniversal Serial Bus)、その名前の通り汎用的なシリアルバス規格として1996年に誕生しました。それ以来四半世紀に渡って高機能化し、身の回りの周辺機器デバイスでは一般的なものになりました。

そんなUSBはみなさんがお使いのキーボードにも使われています。「Bluetooth専用です!」とかケチつけなければ大抵USBで接続されるはずです。さてUSBとキーボードはとても相性が良いです。コネクタのサイズも丁度いいし、通信速度もそんなに必要ないし、消費電力も大きくないからおあつらえ向きです。

しかしながら近年自作キーボードが一般家庭に普及した[要出典]結果、やたらとLEDで光らせるような治安の悪いキーボードが目立ってきました。

↑治安がやや悪い例

これはお気持ちですが、キーボードに限らず世の中はUSBを「なんか5Vの電圧を簡単に取れるいい感じの電源」扱いしてるんじゃないかと思っています。自作キーボードで電子工作始めた方とかはあまりにカジュアルに電源入れてるのであんまり気にしてないかもしれません。

しかし一歩間違えるとキーボード壊すどころか根本のパソコンまで壊しちゃう可能性が無いこともないので、今回はUSBの「電源」について書いてみました。あんまり技術詳しくなくても明日からあなたの身の回りのUSBポートをいたわる気持ちになって貰えればと思います。

USBが扱える電力

USBはコネクタ、通信、電源に分けてもそれはそれで巨大な規格の集合になっているので全部書いていたら本ができてしまうし実際分厚い本は既に存在します。

そこからUSBの電源について至極ざっくり言うと、今でも多くのパソコンに付いていて四角くて向きがわからないことで有名なUSB Type-Aと呼ばれるタイプのUSBポートは、USB2.0で電圧が5Vで最大500mA(ミリアンペア)、USB3.0でも900mAです。

f:id:kou014:20211215232448p:plain

ほぼすべての自作キーボードはUSB2.0で動いているので規格通りであればキーボードとして動いているそれは最大5V/500mAまでしか流すことが出来ません。

あまりピンとこないと思うので自作キーボードでよく使われるRGB LEDを見ると、実測で1個あたり消費電流は最大50mAです。単純計算でたった10個でいっぱいですし、キーボード分の消費電流もあるのでこれを考慮したら10個もつけられないです。

akizukidenshi.com

ここで「USB Type-Cってやつはパソコンも充電できるしこれよりもいっぱい光らせられるんだよね!」と思った奇っ怪な人もいるかも知れません。ちょっと丸くて上下の向きが関係なくて最近のパソコンは大抵ついているUSB Type-Cと呼ばれるコネクタ(USBポート)は、電源周りが拡張されてType-C Currentという規格で最大5V/3A(3000mA)まで流せるようになりました。

f:id:kou014:20211216000035p:plain

ここで注意してほしいのは、Type-C Currentはあくまでポートの両側(パソコン側とキーボード側)がどちらもType-Cであることが条件です。これはより大きい電力を安全に使うために「ちゃんとType-Cでつながっているよね?」と確認する仕組みが入っているからであり、例えばType-A → Type-Cなケーブルを使った場合は普通にUSB2.0の最大500mAになります。

でも動いてるけど?

上記の消費電流の測定はRGBすべての色を最大の明るさで光らせたとき(=白色)なので、実際はみなさん思い思いの色で光らせているのでそれよりも低いですし、QMK Firmwareの中を見ると、RGBLIGHT_LIMIT_VALで最大の明るさを制限していたりする場合もあるので実使用上は問題ないことが多いです。

また、USBポートを搭載しているパソコン側も治安の悪い周辺機器が使われることを前提として電源周りを強力にしているパターンも多いです。結構前のAppleMacBook Pro光学ドライブが搭載されなくなった頃、外付け光学ドライブをケーブル一本で使えるようにするため数A流せるようになっているとかなっていないとか。

実際超えるとどうなるの

大抵の場合、パソコン側で設計以上の電流が流れた場合は保護回路によって遮断されてOSに通知がいく仕組みになっています。Windowsだと「USBポートの電力サージ」というポップアップが出てきたりします。

どちらかというとこれに引っかからないけどギリギリな電流を消費しているパターンが厄介かもしれません。パソコンメーカー各社もそういったことを考えて設計していないわけでも無いですが、あまり質の良くない設計だと余計な発熱をして無理に電流を流し続けた結果、じわじわと電源回路が劣化してある日突然キーボードを認識しなくなる…ことも。

そうでなくてもドッカンドッカン電力を食っていると挙動が不安定になり、切断と認識を繰り返してOSも不安定になっちゃったりするパターンもあるのでできるなら省電力であるべきです。

じゃあ壊れるのか壊れないのかはっきりしてよ

まとめると、今どき壊れることもそんな無いけど自作キーボードで消費する電流は大きくても500mAに収めたほうがいいよという感じの話でした。

今回は電流値の話をしましたが、LEDの光らせすぎとか関係なく自作キーボードの組み立て途中でうっかり金属の机に置いてショートさせちゃったとか、コネクタのはんだ付け微妙にミスってわずかにショートしてるとか自作ならではのトラブルも考えられます。

気になる人は「USBテスター」とかで検索して出てくるようなUSBポートに挟んで使うテスターで自分のキーボードがどれだけ電力を食うのか見てみるのも良いかもしれません。

なんかUSBハブついたキーボード作ってたじゃん(今年のまとめ)

正直現在進行系で忙しいせいで今年はキーボードあんまり作ってない感じの1年でした。そんなかちまちま作ってたのが「Tabula TKL」という名前のキーボードです。

kou014.hateblo.jp

アルミ削り出しテンキーレスキーボードというこれまで(自分が)作ったことなかったキーボードを作ってみたかったのと、あんまり自作キーボードでもついてないUSBハブを付けました。

f:id:kou014:20210131160014j:plain
Tabula-TKL(最終版)

f:id:kou014:20210131150217j:plain
上の方にあるのがUSB2.0ハブの回路

個人的にはわりとよく出来たとは思ってましたが、正直余り面白くなかったのと、半導体不足でUSBの保護回路のICが無くなり、USBハブICも値段が5倍ぐらいになってしまったのでこのままお蔵入りです。かなしい。

来年こそはちゃんと面白いのが出せるといいなと思っていますがあまり出せるネタが無いのでUSBの話をしてしまいました。おわり

この記事はFortitude Pro Prototypeで書きました。