徒然かえる日記

気になった技術を徒然と。

KRー63の紹介【自作キーボード初設計記録】

きっかけ

KBDFanで売っているDZ60というPCBがあります。このキーボードは筆者お気に入りのスプリットスペースの配列ができるため長年利用してきました。
ところが、最近になって販売しなくなり入手困難となりました。
これをきっかけに、DZ60のスプリットスペースを再現しつつ、自分好みにカスタマイズしたキーボードを作りたいと思いました。

筆者のDZ60。スペース部分がファンクション、スペース、エンターに割かれている。

構想

最初のキーボード設計となるので、あまり欲望を詰め込まず以下を実現することにしました。

  • スプリットスペース(親指で押せる修飾キーがたくさん)
  • ロウスタッガード(オーソリニアやカラムスタッガードはNとVの位置がどうしても馴染めず筆者には日用使いできません)
  • スタビライザーを利用しない2u未満のキーのみで構成(重要。スタビライザーで地獄を見たため。以下過去記事参照。)

それらを反映したレイアウトがこちらです。親指で押すキーは1.25uにして窮屈にならないように、その他は1uでまとめました。

みごとな平行四辺形が生まれました。

個人的には右下のMenu/Ctrl/L3/Shiftあたりは全く使わないのですが、レイアウトが平行四辺形になって面白そうということでとりあえずつけてみました。
最終的にキー数が63ということで、KR63と名付けました。(わたしがカエルが好きなのでKaeRuです。それ以外に特に意味はない)

設計

一番難関と思われる設計作業ですが、先人のレクチャー本などなどによって簡単に行うことができました。以下紹介するまでもない有名本ですが私が参照した本です。これから作られる方はぜひご参照ください。

全般の説明はそれらの本や他のWebページにお委ねして、ここでは自分が気にした点を中心に記載します。とりわけPCB設計は奥が深すぎて気にすれば気にするほど先が見えなくなってきます。ある程度の割り切りは必要そうだと思いました。。。

線幅

「0.1mmとか0.3mmってすごい細くない?」なんか細すぎて切れると嫌だと思い、初心者のビビリ発動でとありえず全部0.5mmにしました。このあたり発注する企業によって最小幅が変わるそうなので、あらかじめ調べておいたほうが良いです。Elecrowなら0.15mmでした。この辺り、後述のデザインルールで最初からKiCADに設定しておいたほうが良さそうです。
(後ほど調べたところ、デジタル回路の信号線は0.15-0.2mm程度で行けるとのことです。次からそうしよう。参考:【基板設計】パターン幅とビア径の決め方 | アナデジ太郎の回路設計

切れても嫌だし0.5mm。根拠はない。

配線

30mm以上のパターンは曲げを入れる | ノイズ対策.com」によれば、一直線の長い配線は断線の観点から避けた方が良いとのことでした。ということで、うねうねさせました。が、いろいろなPCBを見ているとまっすぐな配線してるものもあるしあんまり気にしなくても良いんですかね。。。一応できることはやっておきましょう。

ベタのグランドもやる方とそうでない方がいらっしゃるみたいですが、ノイズの観点ではやっておくに越したことはなさそうなので、入れてみました。「配置→塗りつぶしゾーンを追加、編集→すべてのゾーンを塗りつぶし」

ティアドロップも同様です。「ツール→ティアドロップの追加」。いずれもKiCADは自動でやってくれて感動しました。

うねうねさせて、ベタグラウンドをいれ、さらにティアドロップを追加!

部品位置

これは組立時に発覚した改善点です。ダイオードとスイッチのソケットの位置ですが、垂直方向で配置するとハンダ付けがちょっと面倒でした。。。どっちかをつけようとするとどっちかが邪魔になります。そこまで問題になるほどではないですが、並行方向が良いと思いました。が、これはこれで配線が面倒そう。。。

ソケットとダイオードで近づくところ付近のはんだ付けが大変でした。

シルク(フットプリント)

Gitで配布されているスイッチソケットのフットプリントを使うと「ハンダマスクでシルクスクリーンが切り取られる」という警告が大量発生します。シルクが重なっているということだけなので問題はなさそうです。ただ、私はシルクするほどでも無いのかなということでとりあえずフットプリントを編集してシルクをすべて削除しました。

元々のフットプリント。配布に感謝。

シルクをなくしたフットプリント。

「フットプリントのプロパティ」から、「フットプリントを編集」編集画面でシルクスクリーンをすべて削除します。

フットプリントの編集からフットプリント自体を編集できました。

シルク(基盤文字入れ)

Elecrowの最小の文字高さが0.8mmです。小さめな文字は案外違反しがちなので気をつけましょう。
KiCADではこういった制約を「ファイル→基盤の設定→デザインルール」から設定できることを設計後に知りました。。。プロジェクト作成直後に配線幅とか色々設定しておいたほうが良さそうですね。

この設定を後から知って泣いた。。。

発注前確認

発注前にすべてのファイルをチェックして、穴位置や外形がズレていないか確認すると安心できます。

ガーバービューアーを起動して、とりあえずガーバーデータをすべて投げ込む。

Drillをレイヤー切り替えしつつ穴があってるか確認。

ドリルのガーバーデータだけは別に出力するので放り込み忘れに注意でした。

発注

Elecrowで発注します。後述のアクリルカットも利用したかったため。
私の発注時は発注画面のプレビューがぶっ壊れて表示されて少し不安でしたが、結果はオーライでした。あくまでもプレビューなのでしょう。

基本はデフォルトですが、「HASL」だけ「HASL Lead Free(無鉛はんだ)」を選びました。国によっては鉛など使ってはいけないらしいという情報を入手し初心者なりに気をつけて見ました(日本以外で使う予定ないけど)

アクリルは小さいこともあり材料費より安いんじゃないかという脅威の価格でした。アクリル発注後、KiCADで出したデータが壊れていたからPDFでデータを送ってほしい旨の連絡がありました。こちらの環境では正常表示されていたこともあり、環境依存かもしれません。はじめからPDFで送った方が問題なさそうです。

ShippingはOCS/ANAにしました。価格的には低価格帯の一番上といった感じです。ロストが怖いのであまり安いのは避けたほうがよさそうというのと、やはり日系安心だよねということで。PCBやアクリルすべてカートに入れて一括で配送です。配送費低減。

発注してから10日ほどでやってきました。 

PCB。設計したものが形になっていると嬉しいですね。

トッププレート。ちょっと縁取りしてみた。ボトムプレートは面白くないので割愛。

シルクのテキストもバッチリ。1mmの高さです。

Pro Microを保護するアクリルプレート。

組み立て・完成

KR-63向けのファームを作成します。
シンプルなキーボードのため、不要な機能はすべてOFFにして、ROW, COLUMの定義をいれるだけです。

DZ60を参考にしたようなしなかったような。。。

その他、若干Layoutの書き方が難しいと思いました。
謎の入れ子構造と、(公式によると、複数レイアウトを定義できるようです) 

山程参考がある割にやけにハマった部分。

最下段の1.25uをwで指定しつつ、その分xを増やしていく点です。

ここも出来てみれば大した事ないがハマった部分。

後はpromicroにファームを焼いて、はんだ付けするのみです。
初めての配線ミス等々で動かないことを危惧していましたが、問題なく無事動作できました!

無事動いたキーボード。初めての作品ということもあり達成感もひとしおです。

台形のような形も問題なく各プレートを合わせることが出来ました。

届いて気づいたのですが、アクリルを「Matte Transparent (P422)」で発注したのですが思ったより透明じゃなかった。。。(今更発注画面の下に色見本があるのに気づきました。注文する方は事前確認を!)
が、Pro Microが光っているとクリオネみたいに見えて頑張って動いてる感が出て良いかなと思いました。

白っぽいので赤い点灯がクリオネみたいに見える。

次回に向けて

今回初めて作ったものをrev.0としたので今年はrev.1を作れるようさらなる沼にハマっていきたいと思います。rev.1では以下のいずれかでも実施できればと思っています。

  • アクリル加工にびびって、なるべく細いパーツを作らないようにしてみましたが、もう少し細かく細部までカバーできるようにする。
  • レイアウトで少し使いにくいと思った点を改善。「!」を左手のShiftと左手の中指で入力するくせがあり、その時だけ左Shiftが1uだとスカるとか、バックスペースと左右の矢印は修飾キー無しで使いたいとか。。。
  • PCBAでチップを基盤実装と言う夢。
  • LowProfileに対応してさらに薄く。
  • ケースを何とかして作ってみたい。
  • G、Hにむけてキーボード全体が山となるような傾斜をつけたい。一体型だと厳しそうなので、分割してフラットケーブルで繋いでみるのも面白そう。(TRRSケーブルは食わず嫌い)

データ

稚拙ながらKiCADのデータ、QMKの設定をGithubにおいておきます。少しでも参考になれば幸いです!

ハンダ後にスタビライザーの静音化をして微妙な結果を得た

標題の件、DZ60キーボードのキーキャップを新しいものに取り替えるついでに、前々から気になっていたスタビライザーのカチャカチャ音を低減することを試みたので記録に残す。

要約

ハンダ付したスイッチを外したく無いがため独自の静音化を試みた。そして失敗した! やはり静穏化は組み立て前にするのが絶対いい。 究極的な解決策はスタビライザー使わない。

スタビライザー静音化とは

キーボードの長めのキーにはキーの押下が均一となるよう通常棒状の金属パーツ、スタビライザーが付与されている。このパーツがないと、キーの端を押さえた際に片側だけ沈み込んでうまくスイッチが押し込めない事になるので重要なパーツであるのだが、意図してか部品同士の遊びが多く、プラスチックや金属が接触してカチャカチャと不快な音を立てる。感触的にもキーを押し込む前にカチャっとひっかかるためよくない。
そこで、なんとかしてノイズを低減、できるなら押下時の感触も向上したいというのが作業の目的となる。

一般的なスタビライザー
一般的なMXスタビライザー

通常この手の作業はキーボード組み立て時に行うのだが、なにぶん私が素人であったことや組み立て時に参考にした記事に記載がなかったことからできていなかった。
では、分解すればいいじゃんと思うかもしれないのだが、スタビライザーはPCBとキーを固定するためのプレートにサンドイッチされ、そこをハンダ付けされたスイッチがカスガイのごとくガッチリホールドしているため、ハンダをとって、スイッチを取らなければ取り外しや分解ができない。
ハンダが苦手な私には時間がかかる上、ともすればPCB破損のリスクもあり、その上面倒でやりたくはないのだった。海外にも同じ境遇の同志がいるようで"mod stabilizer without desoldering"でググると沢山悲鳴が聞こえてくる。が、いまいちこれといった解決策がないので自分で考えて試してみた。ところ撃沈した。悲しみ。。。

ノイズの発生源

おそらくノイズの発生源は以下三つが存在する。結局、スタビライザーの稼働部分と固定部分全てだ。
今回は1と2を想定してそれぞれ対策した。3は今回対策後に気づいた最も重要な原因。そして、今回は対策できてない。。。

  1. 基板とスタビライザーの土台部分のガタつき
  2. スタビライザーの土台部分と稼働部分のガタつき
  3. スタビライザーの稼働部分と金属パーツのガタつき

ノイズの発生源
ノイズの発生源(①のツメでPCBに固定されている)

基板側の対策

スタビライザーとPCBにできる隙間を塞いでノイズ対策をする。ネジで固定するスクリューインタイプのスタビライザーを使うのがベストだが、そうでないスタビライザーには隙間を絆創膏や、専用のフィルムで塞ぐ対策が知られている。

スクリューインタイプのスタビライザー
GMK Screw-in Stabilizers 104 kitshop.yushakobo.jp

専用のフィルム
KBDfans Stabilizers foam sticker (20Pcs)shop.yushakobo.jp

今回はPCBとスタビライザーを分解することができないので、基板下から抑え込むことにした。使用する道具はこちら。
エポキシパテ!模型とかで使われる硬化材だ。粘土をこねこねして成形後、およそ1日でプラスチックのようにもしくはそれ以上に硬くなる。

www.cemedine.co.jp

で、これをおもむろにスタビライザーのツメの部分に押し込んでペタペタする。スクリューインタイプのスタビライザーを再現と言われるとそんな感じがするが、それとは違い恐らくもうスタビライザーの取り外しは不可能だ!

エポキシパテによる施工例
エポキシパテでスタビライザーの根本を固定した

で、硬化後、PCBとスタビライザーは完全に一体となった!
土台部分のガタつきはなくなり目的を達成出来た!こころなしかキーを押した時の不快な感触が減ったような。。。プラシーボレベルで。。。
しかしこの時点でも、やはりカチャカチャいうのに変わりない。次なる対策に向かう。

スタビライザー側の対策

スタビライザーの稼働部分に大きな隙間があるので、稼働部分にテフロンテープを貼り、隙間を埋めつつスムーズにするという対策がある。*1 しかしスタビライザーが分解できてこその技。今回は使えないので、何とか隙間を埋められないか考えた。

対策したい隙間
ここの隙間

そこで編み出したのがクリアファイル差し込み。
クリアファイルを稼働部分と土台部分との接触面と同じサイズに切り、片側に接着剤をつけて差し込んで固定する。

  接着剤をつけずに手元のスタビライザーでやったところ、かなり良好な動き具合。若干遊びはあるものの、クリアファイルの柔らかさにより部品同士が接触してもカチャカチャしない!
ということで、早速接着。

クリアファイルの施工例
クリアファイルなので見えないかもしれないが接着されている。。。

で、接着後にキーをはめて試したところ、キーが戻らない!スタビライザーが接着剤で固まったとかではなく、スタビライザーの左右が窮屈な感じ。推測だが、土台部分、稼働部分、キーの接続部分が全て平行ならスムーズに動いたのだろうが、それぞれ曲がっている上、遊びがないため動きを阻害することになっているようだ。。。

こちらの対策は完全失敗。PCB側の対策をしていなければ、こちらの方が効き目があったかもしれないが。。。
泣く泣く切り刻んだクリアファイルの残骸をスタビライザーから剥がして、稼働部分に少し残った接着剤を綺麗に清掃した*2。細く切ったクリアファイルくんを差し込んでゴシゴシ。切り刻まれた上役にも立たず、その上後始末をさせられるクリアファイルがなんだか不憫に思えてきた。。。

本当に必要だった対策

PCB側だけスタビライザーを固定してなおもカチャカチャ言ってるキーボードを見ながら気づいた。カチャカチャ言ってるのは、スタビライザーの稼働部分と金属の接触部分だよな。。。なんか周辺ばっかり対策してたわ。。。
こちらは正直ルブを塗るくらいしか対策が思いつかない、が恐らくそれが最も効果が高いはず!*3ということで今回の対策を終わった。カチャカチャしないほどにルブを塗るのはかなりルブを使う事になりそう。今回はルブもないし先送りに。。。 *4

おまけ

PCBをケースから取り外す際に、ケースに破損を発見!
ケースとPCBを固定するための台座でナットを固定している部分が全て壊れている。。。状況から見るに経年劣化か、はたまた私が気づかずにアルコールで拭いたからかによるクラック様の破損だった。スタビライザーの固定でも使ったエポキシパテで修復&補強!

破損修理
PCB固定のためのナットがついている部分の破損を修理

元々はこんなんでした。。。
60% プラスチックケースshop.yushakobo.jp

エポキシパテのおかげでがっちり固まった。クリアなケースにパテ跡が何だかみすぼらしい。。。
しかしながら今回買ったキーキャップをセットすれば見えません!小さいことは気にしない!

修理の後
いろいろ修理した後、外が良ければ全て良し!

以上。
何ヶ月後になるかは分からないが、今度はラズパイでキーボードの原型を作る記事を書こうと思います。

*1: 実施されてる方 【自作キーボード】スタビライザーがうるさいので静かにする | ONION BLOG

*2: 瞬間接着剤だったら終わっていた。そうでなくて良かった。。。

*3: すごく丁寧に解説されてる方 スタビライザーのルブの話 - 自作キーボード温泉街の歩き方

*4: ワセリン使う例が海外では多い。オリーブオイル使う記事も見かけたが流石にそれは抵抗があるな。。。