はじめに
こんにちは、StackdriverあらためGoogle Cloud Operations担当者です。先日Helixの5行ステンレスプレートを作りました。
この他に、foobarとLet's Splitも作りました。
これらは何度か触れている、発掘した積みキーボードの材料から作っているわけですが、進捗を整理すると
- Helix 5行のステンレスプレートのフルキットとKailh Low Profile白軸とキーキャップが必要個数分 → 完成
- Helix PCB 1セット(予備)→ これから
- foobarのPCBと上下プレート 2セット → 1つ完成
- MinidoxのPCB 1セット → 手つかず
- 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のアルバムで公開しています。
バックライト用LED(SK6812mini)の表面実装以外はHelix 5行ステンレスプレートでやったことと変わらないので、流れは公式ビルドガイドや先に作ったHelixのビルドログを参照のこと。
本記事では5行ステンレスプレート版では行わなかったバックライトLEDの表面実装で苦労したことなどを書きます。
SK6812miniのはんだ付けがとにかくきつい
これまで作ってきたキーボードではLEDはアンダーグロー用のテープLED(WS2812B)も含めてLEDの実装は一切行ってませんでした。*1さらにいうと、既製品も含めてLEDがついたキーボードを使ったことがありませんでした。そういう背景もあって今回のHelix 4行でバックライトLEDの実装をするというのはなにげに初めてで、LEDに起因するトラブルもそうですしLEDの制御をQMKで行うのも不慣れだったので少し手間取りました。
以下、起きたトラブルと対応を簡単にメモしておこうと思います。
テスターでの検証
なにはともあれテスターでの検証ができるようになれば不具合の原因が早く判断できるのでテスターの使い方を調べます。HelixではSK6812miniはLEDテープと同様のことが基板上で行われていて、すべてのLEDがつながっています。(下図はこちらのブログより転載)
よく起こりがちな状況はあるLEDを境にそこから先のLEDが点灯しない、もしくは色や明るさがおかしくなる、という状況なので、その場合はその境になっているLED自体、もしくはその一つ前のLEDのはんだ付けに不備があることが多いです。(SK6812miniのデータシートを参照)
隣り合うLED同士は前のLEDのDOUTと次のLEDのDINがつながっているので、その導通を確認するとはんだ付け不良が見つけられました。他にもLED自体がはんだ付け中に壊れてしまったりというのはVSSとVDDの抵抗値を見たりして確認できました。壊れてしまったものは粘っても仕方ないのですぐに新しいものに替えて解決しました。
アニメーションで確認すると不良箇所がわかりやすい
QMKでバックライトLEDをオンにしただけでは、デフォルトの赤色しか点灯しないので、LEDテスト用のファームウェアを焼くか、自分でアニメーションの設定(RGBLIGHT_EFFECT_RAINBOW_MOOD
とか)をすると、接触不良のLEDがわかりやすかったです。
上の写真は点灯しないLEDがなくなって喜んでたら、アニメーションを設定した途端にAの位置のLEDの接触不良がわかったときの図です。
ジャンプしたランドが導通しているか確認する
はんだ付けし直してきちんと導通しているかは先のテスターでの確認もそうですし、そのLEDのハンダ付け箇所単体で基板側のランドとLED側のランドにプローブを当てることでも確認できました。
使ってるうちに点かなくなったりする
これが本当にきつくて、一旦はちゃんと点灯することを確認して、いろいろ制御したりして使えていたのに、1日~3日くらいしたら点灯しなくなるみたいなことが作り終わってからもう3回くらいあって、「ハンダのジャンプで部品を固定するのとか冗談としか思えない!」とかブツブツ言いつつ、テスターでデバッグするのがちょっと楽しかったりもしました。
参照したブログにも紹介されていた、ジャンパ線で最後の点灯したLEDのDINと未点灯のDINをつないでみたり、点灯している任意のLEDのDOUTを未点灯になり始めたLEDより向こうのDINにつないでみたりといろいろしてみたのですが、これらは全然反応がなかったので、何回か試してやめました。
#Helix祭り
— m.tei / ishii (@mtei) 2018年3月4日
Helix のバックライトLED(SK6812mini)が点灯しない時
チェックポイント2:信号の確認
HelixをUSB接続して、点灯LEDのDINと未点灯LEDのDIN と繋いでみる。
未点灯LEDが点灯したら、点灯LED のDOUT が壊れている。そうでなければ、未点灯LEDが壊れている。 pic.twitter.com/BSHWBIxeuk
テスターで前後のLEDでDINとDOUTをつないでみたり、GNDやVCC同士をつないでみたりして導通確認は取れてるので、もはやLEDが壊れてるとしか思えないものは、時間ももったいないので新しいものに交換しました。
結果これを書いているいまは安定しているので良いのですが、またいつトラブルが起きるかわからないので、やはりチップLEDはYS-SK6812MINI-Eみたいにピンがでているものではんだ付けしたい....
とか書いてたらまた不安定なLEDがいくつか出てきた...
QMK FirmwareでのバックライトLEDの制御
これは別途エントリとしてまとめるので、まとめたらそのリンクを貼ります。
完成
というわけで紆余曲折ありましたが、無事にHelix 4行のアクリルプレート版が完成しました。
これで家にあったHelixのGB時に買った2セットがともに完成しました。GB時は家と会社用に両方とも5行で使う予定で2セット買って、アクリルプレートは会社の工作室で切ればいいと思い買ってなかったのですが、いまとなっては40%をメインで使っているので5行用のアクリルプレートを買わなくて正解でした。
残る積みキーボードはfoobar 1セット、Minidox 1セット、Helixの作りかけ1セットです。次はまだ作ったことのないMinidoxを作ろうかな。
参照
本記事を書きながらデバッグをする上での調べ物をしていたら、上のブログを見て、そのサムネイルにもある「千住金属工業鉛フリー 低温やに入りはんだ エコソルダーLEO」が欲しくなりました。鉛フリーなのに融点が約140度なので、200度ではんだ付けしても余裕とのこと。ただ値段が一巻きで3700円とかなので、ちょっと腰が引ける...
*1:行うつもりが無いわけではなく、後付が可能なことと、AliExpressの配送時間が長すぎて後回しにしてきた