静電容量自作キーボード使ってみた
Posted on Feb 5, 2021
2 年くらい前にキーボード作り始めてからこれまで、5 ~ 6 個ほどメカニカルキーボード作ってきました。今は、去年組み立てた Polaris がメイン機。Polalris、非常に使い勝手が良く、ここ 1 年くらいは新しいのは作ってませんでした。
久々に何かちょっと作りたいなぁ、ってことで、初めて静電容量式の自作キーボードに挑戦。静電容量式のキーボード使ったこともなかったですし。
crkbd-ecwl
今のところ(2021 年 2 月時点)、入手可能な静電容量式の自作キーボードは、crkbd と Helix の 2 種類ほど。
今回は前者の crkbd を選択。このキーボード、自作キーボードとしては非常にメジャーだと思うんですが、私一度も作ったことも使ったこともなくて。
入手方法などは下記を参照。
製作
マニュアルにしたがってパーツを実装するだけで完成。
。。。
とはならず大苦戦。マニュアル通り作ったのに動かない!
参考書(この本、静電容量キーボード作るんなら必携)で仕組みを勉強しつつ、回路図と睨めっこし、テスターでチェックしまくる羽目に。
2 - 3 日くらい彷徨った後、キーボード設計者のせきごん氏に問い合わせして無事解決。
つまるところ、QMK のファームウェアにキーマップを設定し忘れていただけ、という凡ミス。すでに GitHub の作成ガイドには反映されていますが、組み立てた後は、QMK Toolbox などを使って出力のチェックをしましょう!
あと、小さな表面実装パーツのはんだ付け、肉眼にはちょっとつらい作業なので、ルーペとか顕微鏡の御利用をおススメします。わたしは顕微鏡かってみました。
スイッチ
今これを書いてる時点だと、スイッチの選択肢は 2 つ。
2 つには大きな違いがあって、前者はメカニカルキーボード用のスイッチと同じサイズ(14.0 mm * 14.0 mm)なんですが、後者は少し大きめ(14.1 mm * 14.6 mm)。今回買った crkbd_ecwl のスイッチプレートは、前者にしか対応してないため、3D プリンタで後者用のスイッチプレートを自作し、両方試してみました。
1 枚目が NIZ、2 枚目が BTO。
結論から言うと、NIZ の方をおススメします。
BTOのスイッチは、スイッチのカバーとステムとの間の隙間が大きくガバガバで、非常に打ちにくい。Gateron の一番安いモデルのスイッチの比じゃないくらいガバガバ。
使ってみて
キースイッチの感じは、サイレントなタクタイル。使っているシリコン(BTO で入手)の影響でしょうが、結構重め。タクタイルも結構強め。もう少し軽くてもいいかな、と思っているので、軽めのシリコンゴムシート入手したら、試してみようと思って います。
スイッチとかバネは、基板と基板で挟んで固定しているだけなので、はんだ外したりする必要なく、スイッチ交換可能(オプションそんなにないけど)。ルブも後から塗り放題。
あと、面白いと思ったことは、動作点を調整できる点。私の場合、バネの具合なんかで反応しないキーなんかがありましたんで、動作点を少し低めにしてあります(300 -> 275)。値は、QMK Toolbox で値を確認しいて決めました。こんな感じで、各キーの値が確認できます。押さえているところだけ、値が 300 超えてます。
トラブルシューティング・メモ
最後に、いくつかトラブったのでまとめておきます。
トラブル1:何も入力されない
上にも書いてますが、Pro Micro や Elite C を使う場合、標準のファームウェアにはキーマップが設定されていないため、ファームウェア入れただけでは何も入力されません。キーマップ設定するか、QMK Toolbox で吐き出されるログを確認しましょう。
トラブル2:一部のキーだけ入力されない
なぜか一部のキーがうまく反応せず、強く押さないと入力されない、みたいな状態になりました。バネと基板がつくるキャパシタが容量不足なわけで、最初は、バネを交換することで対応してたのですが、キリがなく。
前述のとおり、結局動作点を下げる(デフォルトの 300 から 275 へ変更)ことでサクッと解決しました。これも、QMK Toolbox のログをきちんとみてればもっと早く解決できてたのかもしれません。
トラブル3:スレイブ側だけチャタリングが起きる
なぜか、スレイブ側の入力が安定しない。頻繁にチャタる。
今回のキーボード、左右どちらの Pro Micro につないでもちゃんと動作するファームウェアになってる(こちらの “Handedness by EPPROM” あたりを参照)ので、接続先を左右切り替えてタイプすると、毎回スレイブ側がチャたる。左右の接続の問題なのか、ファームウェアとかの問題なのか。。。
おなじみ Debounce あたりのパラメーターをいぢくっても、一向に改善されず。
結局、こちらも製作者にお問合せ。「左右の通信がうまくいってないっぽいので、ERROR_DISCONNECT_COUNT 関連のところでエラーが発生してないか確認の上、設定値を 5 から 20 くらいに変えてください」と回答をもらい、その通り試したらサクッと治りました。
同様のトラブルに遭遇された方は、matrix.c を覗いてみてくださいまし。
という感じで、今この文章も作ったキーボードで書いてます。パームレストは、Thingiverse に転がってたやつ。
正直、静電容量キーボードの良さはまだよくわかってません(笑)。
もう少し使ってみて判断しようかと思います。
comments powered by Disqus