YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

Helix 4行アクリルプレートを作った #Helix祭り

はじめに

こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。先日Helixの5行ステンレスプレートを作りました。

ymotongpoo.hatenablog.com

この他に、foobarとLet's Splitも作りました。

ymotongpoo.hatenablog.com

ymotongpoo.hatenablog.com

これらは何度か触れている、発掘した積みキーボードの材料から作っているわけですが、進捗を整理すると

  1. Helix 5行のステンレスプレートのフルキットとKailh Low Profile白軸とキーキャップが必要個数分 → 完成
  2. Helix PCB 1セット(予備)→ これから
  3. foobarのPCBと上下プレート 2セット → 1つ完成
  4. MinidoxのPCB 1セット → 手つかず
  5. Let's Splitの作りかけ(はんだ付けミスで動かなくなったまま)→ 2つのうち1つ完成

7個中3個が完成しました。今日はこの2番に取り組みます。今回は以前作ったステンレスプレートのときと違って、自分で調達する必要があったものもあるので、それに関してもメモしておきます。

品名 個数 備考
PCB 1セット GBで購入
上下プレート 1セット 遊舎工房で購入
SMDダイオード 50個 GBで購入
OLED 2個 GBで購入
スプリングピンヘッダ 2個 GBで購入
ProMicro 2個 GBで購入
Kailh Low Profileスイッチ 50個 赤軸をGBで購入
Kailh Low Profile用キーキャップ 1セット GBで購入
LEDチップ (SK6812mini) 70個 予備込でGBで購入
タクトスイッチ 2個 秋月電子通商で購入
TRRSジャック 2個 秋月電子通商で購入
TRRSケーブル 1本 なんでもよい
microUSB-USB-Aケーブル 1本 なんでもよい
M2x5mmスペーサー 12個 西川電子部品で購入
M2x4mm ネジ 24個 西川電子部品で購入
ロープロファイルピンソケット 1個 OLED用に秋月電子通商で購入
1x4 ピンヘッダ 2個 家に余ってたものを使った

ビルドログ

これまでのビルドログと同様に、実装中の写真はこちらのGoogle Photosのアルバムで公開しています。

photos.app.goo.gl

バックライト用LED(SK6812mini)の表面実装以外はHelix 5行ステンレスプレートでやったことと変わらないので、流れは公式ビルドガイド先に作ったHelixのビルドログを参照のこと。

本記事では5行ステンレスプレート版では行わなかったバックライトLEDの表面実装で苦労したことなどを書きます。

SK6812miniのはんだ付けがとにかくきつい

これまで作ってきたキーボードではLEDはアンダーグロー用のテープLED(WS2812B)も含めてLEDの実装は一切行ってませんでした。*1さらにいうと、既製品も含めてLEDがついたキーボードを使ったことがありませんでした。そういう背景もあって今回のHelix 4行でバックライトLEDの実装をするというのはなにげに初めてで、LEDに起因するトラブルもそうですしLEDの制御をQMKで行うのも不慣れだったので少し手間取りました。

以下、起きたトラブルと対応を簡単にメモしておこうと思います。

テスターでの検証

なにはともあれテスターでの検証ができるようになれば不具合の原因が早く判断できるのでテスターの使い方を調べます。HelixではSK6812miniはLEDテープと同様のことが基板上で行われていて、すべてのLEDがつながっています。(下図はこちらのブログより転載)

f:id:ymotongpoo:20200824010006p:plain

よく起こりがちな状況はあるLEDを境にそこから先のLEDが点灯しない、もしくは色や明るさがおかしくなる、という状況なので、その場合はその境になっているLED自体、もしくはその一つ前のLEDのはんだ付けに不備があることが多いです。(SK6812miniのデータシートを参照)

f:id:ymotongpoo:20200824103942p:plain

隣り合うLED同士は前のLEDのDOUTと次のLEDのDINがつながっているので、その導通を確認するとはんだ付け不良が見つけられました。他にもLED自体がはんだ付け中に壊れてしまったりというのはVSSとVDDの抵抗値を見たりして確認できました。壊れてしまったものは粘っても仕方ないのですぐに新しいものに替えて解決しました。

アニメーションで確認すると不良箇所がわかりやすい

QMKでバックライトLEDをオンにしただけでは、デフォルトの赤色しか点灯しないので、LEDテスト用のファームウェアを焼くか、自分でアニメーションの設定(RGBLIGHT_EFFECT_RAINBOW_MOOD とか)をすると、接触不良のLEDがわかりやすかったです。

f:id:ymotongpoo:20200823095653j:plain

上の写真は点灯しないLEDがなくなって喜んでたら、アニメーションを設定した途端にAの位置のLEDの接触不良がわかったときの図です。

ジャンプしたランドが導通しているか確認する

はんだ付けし直してきちんと導通しているかは先のテスターでの確認もそうですし、そのLEDのハンダ付け箇所単体で基板側のランドとLED側のランドにプローブを当てることでも確認できました。

使ってるうちに点かなくなったりする

これが本当にきつくて、一旦はちゃんと点灯することを確認して、いろいろ制御したりして使えていたのに、1日~3日くらいしたら点灯しなくなるみたいなことが作り終わってからもう3回くらいあって、「ハンダのジャンプで部品を固定するのとか冗談としか思えない!」とかブツブツ言いつつ、テスターでデバッグするのがちょっと楽しかったりもしました。

参照したブログにも紹介されていた、ジャンパ線で最後の点灯したLEDのDINと未点灯のDINをつないでみたり、点灯している任意のLEDのDOUTを未点灯になり始めたLEDより向こうのDINにつないでみたりといろいろしてみたのですが、これらは全然反応がなかったので、何回か試してやめました。

テスターで前後のLEDでDINとDOUTをつないでみたり、GNDやVCC同士をつないでみたりして導通確認は取れてるので、もはやLEDが壊れてるとしか思えないものは、時間ももったいないので新しいものに交換しました。

結果これを書いているいまは安定しているので良いのですが、またいつトラブルが起きるかわからないので、やはりチップLEDはYS-SK6812MINI-Eみたいにピンがでているものではんだ付けしたい....

とか書いてたらまた不安定なLEDがいくつか出てきた...

QMK FirmwareでのバックライトLEDの制御

これは別途エントリとしてまとめるので、まとめたらそのリンクを貼ります。

完成

というわけで紆余曲折ありましたが、無事にHelix 4行のアクリルプレート版が完成しました。

f:id:ymotongpoo:20200827111221j:plain

これで家にあったHelixのGB時に買った2セットがともに完成しました。GB時は家と会社用に両方とも5行で使う予定で2セット買って、アクリルプレートは会社の工作室で切ればいいと思い買ってなかったのですが、いまとなっては40%をメインで使っているので5行用のアクリルプレートを買わなくて正解でした。

残る積みキーボードはfoobar 1セット、Minidox 1セット、Helixの作りかけ1セットです。次はまだ作ったことのないMinidoxを作ろうかな。

参照

www.sho-k.co.uk

本記事を書きながらデバッグをする上での調べ物をしていたら、上のブログを見て、そのサムネイルにもある「千住金属工業鉛フリー 低温やに入りはんだ エコソルダーLEO」が欲しくなりました。鉛フリーなのに融点が約140度なので、200度ではんだ付けしても余裕とのこと。ただ値段が一巻きで3700円とかなので、ちょっと腰が引ける...

marksard.github.io

kankodori-blog.com

*1:行うつもりが無いわけではなく、後付が可能なことと、AliExpressの配送時間が長すぎて後回しにしてきた