この記事は自作キーボードアドベントカレンダー2018 その1 7日目の記事です。
昨日の記事は@zk_phiさんのキーキャップ設計のための OpenSCAD 入門でした。
こんばんは。hsgwです。みなさん、キーボード作ってますか?
私は設計中のキーボードが3台溜まってどれから製造するか悩むぐらい毎日作っています。
今回の記事では、
の2本立てでお送りします!
自作キーボードの設計において、人によって好みの分かれる部分のひとつで見た目にも大きく関わってくるのはキーレイアウトです。
ANSI配列、ISO配列、直行配列、(色々含めて)エルゴノミック配列と多々研究されている分野で、実際に作る前にある程度試行錯誤したい方も多いのではないでしょうか?
そこで、精度良く色々なキーレイアウトを簡単に作って試すためにkicadのpcbnewを使う方法を紹介します。
おなじみの回路図・基板CADのkicadに含まれる基板レイアウトエディタ 'pcbnew'に直接部品を置いて回路図を書かずにレイアウトを試行錯誤する。
試行錯誤したものを基板にするのに再利用しない。
ついでに3Dモデルも作って眺める。
例題として以下のキーボードのレイアウトを設計してみます。
kicadでレイアウト検討用のプロジェクトを作成して、ライブラリを追加します。
追加方法は適当にググって下さい。
もちろんこのライブラリではないものでも大丈夫です。
https://github.com/hsgw/SMKJP_kicad_components
早速、作ったプロジェクトからpcbnewを開きます。
最初はキーを配置するためにグリッドの設定をしましょう。
表示→グリッド設定→ユーザー定義グリッドを開いて、一般的なキーピッチ19mmを設定します。(19.05mmでもどっちでも)
設定後、pcbnewのグリッド切り替えでカスタムユーザーグリッドを選択します。
これでキースイッチを追加する準備ができました!
早速、左ツールバーのフットプリントを追加を選んで、ウインドウのどこかをクリックします。
フットプリントを選択するダイアログが表示されるのでブラウザーで選択から先程追加したsmkjpライブラリを見つけます。
このライブラリにはCherry MX互換のスタビライザーが必要ない大きさのキーが含まれています。
使用するものを選択してウインドウ上に置いていきます。
必要な数だけキースイッチをグリッドにそって配置しました。
あとはグリッドの設定を切り替えながらずらします。
もし、ANSIやJISのようにユニット単位でずらしたい場合はカスタムユーザーグリッドで19mm/4=4.75mmを設定してから移動させます。
小指で扱うキーを10mm下げて最下段のキーを1.5uに、親指キーを1つ右にずらしました。
もし、回転させたいキーがあるなら、設定→一般設定→回転角度に5など小さい値を設定して、フットプリントを選択して回転(R)・逆回転(shift+R)で任意の角度に回転します。
親指キーだけ回転させました。
通常の回転を使うと、フットプリントのアンカー位置を中心にして回転してしまうのでキーの角をきちんと揃えたいのなら回転後に0.001mmなど極端に小さい値をグリッドに設定して動かしてやると良いでしょう。
厳密に回転させたい場合はpythonスクリプトを使う方が賢明です。
次に外形を作図します。
外形はEdge.Cutsレイヤーに図形ラインを追加で記入します。
この段階で図面をプリンタで紙に印刷して確認してみます。
smkjpライブラリを使っているなら、スイッチのフットプリントのF.Fabレイヤーに19mmの枠が入っているので実際に指をおいてみたりキーキャップを並べたりできます。
この工程を何度も繰り返して最上のキーレイアウトを見つけ出しましょう。
最後に、pro microとTRRSジャックを追加して外形を調整してレイアウトの試作は完成です。
最後に、表示→3Dビューアー(alt+3)で3Dモデルを見てみましょう。
smkjpライブラリを使っているならキースイッチや部品が載った3Dモデルが表示されるはずです。
エクスポートして3DCADでケースの設計をしたり、イメージを膨らませるのに大変便利です。
ここで作成した基板データにはプレートのための穴も含まれています。
そのデータをdxfやsvgに変換して処理することでレーザーカッターを使ったプレートやケースを製造できます。
プレート用の穴データはDwgs.Userレイヤーにあるので外形データとあわせてエクスポートしましょう。
AtreusやTGR Aliceが欲しい気持ちだけで設計しています。
小指のキーを極端に下げることで小指上側のキーを押すときでも手首がなるべく動かないこと、ホームポジションからほとんど動かないことを目標にしています。
左右の角度はこだわりの40度です。(Atreusは多分30度ぐらい)
ちなみにマイコンは100ピンのSTM32F072でダイオードなし直結でホットスワップ対応の予定です。光らないです。
Planckを全部スルーホール部品で作ろうキットであるPlanck Throgh Hole KitのMCUをATMEGA328pというArduinoで昔からよく使われているものに変更してキースイッチ以外を省きました。
Planck thkが不安定らしいのでこっちはちゃんと動くようにしっかり設計しました。(つもり)
前述のキーボードよりもこちらの方が先にリリースできそうです。今年中にはテスター価格でパーツセットを売ろうと思っています。人柱わかっている人募集中。
これがうまく動けば次はレツプリTHKしかないなとも思ってます。
今年の春にnameless911くんに「最近自作キーボード流行ってんすよ~」とhelix見せてもらったところから私の自作キーボード道がはじまりました。それからちょこちょこQMKにコミットしたり楽しんでいます。
来年も色々リリースできれば良いなと思っています。お楽しみに!
そして、皆様の成果、楽しみにしています!
明日はシャカリキ!!鍵盤道★の@void_keysさんです。(いつも読んでます。 )
この記事はergoinuで書きました。