11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【電子工作 / PCB】RGB LEDを内蔵したキーホルダー型メカニカルキーテスター(Cherry MX互換)の製作①

電子工作で自作基板の製作を始めて1年ほどが経ちました。
自作キーボードやキーパッドといったものの製作にも興味を持っていることから、まずは1キーや4キーといった規模の小さなものの製作からチャレンジしています。

【電子工作/ PCB】1キーのみの可愛い自作キーボード(1Key Keyboard)の製作!
【電子工作 / PCB】シンプルな自作キーパッドの製作を考えています!

そして自作キーボードの世界にはメカニカルキーの打鍵感をチェックするためのキーテスターなるものがあるようで、いろんなタイプのものが販売されているみたいですね。

調べていると1キーのみのキーホルダータイプのものもあるようです。
単色(または複数色)のLEDが内蔵されたもので見た目も可愛く、カチカチとキーを押せる小さなキーホルダータイプのもので人気もあるようです!

電子工作を普段趣味として楽しんでいる身としては、これはもう自分で作ってみたいところ・・・

自分で製作するなら電子工作的にはマイコンを搭載して市販品には無い付加機能など付けたいところです。
何かしらマイコンを搭載することが出来れば、単色LEDではなくRGB LEDによりカラフルに点灯させたりすることも出来そうです。

しかしキーホルダーサイズでマイコンを搭載した基板設計が果たして出来るのか?
そして市販品のような可愛い透明ケースも自分で設計して製作してみたくもなります。

ちょうどJLCPCBさんに3Dプリントサービスを試させて頂く機会があったので、透明レジンを使えばこのようなケースも製作出来そうです。

面白そうな題材となり、自分の現時点でのPCB製作およびCAD設計でどこまで小なものを製作することが出来るのかチャレンジしてみることにしました!

RGB LEDを内蔵したキーホルダー型メカニカルキーテスター(Cherry MX互換)の製作

ホットスワップに対応しCherry MX互換キーのキーテスターとして使える小型のキーチェーンとして、どこまで小さく設計し製作することが出来るのか?
これが今回の課題でありチャレンジでもあります。

RGB LEDを使いカラフルに点灯もさせてみたいので、それを制御するためのMCU(マイコンチップ)も必要となってきます。
マイコンチップとRGB LED、そしてホットスワップに必要なソケットや駆動用電池が必要で、これらを実装する基板をどこまで小さく作れるかがポイントになってきそうです。

Cherry MXキースイッチのサイズ

まずCherry MXキースイッチの採寸です。
公式サイトにも記載がありますが、15.6mm角以上の基板サイズが必要となりそうです。(もう少し小さくも出来ますが)

市販されている単色LED(または複数色)で点灯させるタイプと同様のものなら、おそらくこの基板寸法があれば設計することは可能で、壁厚を2mmとすればケースサイズは19.6mm角のサイズで作れそうです。

今回はRGB LEDを点灯させたいので、それを制御するためのマイコンチップやLEDを実装するにはもう少し基板サイズを大きくする必要があります。

基板サイズの選定

まず基板サイズの選定です。
ホットスワップに対応させるためにソケットを実装すると最低でも17mm角の基板サイズを確保する必要があり、この空いたスペースにマイコン等を実装するのが理想的となります。

できるだけ小さなサイズで作りたいので極力シンプルな回路構成にしてパーツ点数を少なくする必要があり、そしてマイコンチップもできるだけ小さなものが望ましくなります。

マイコンチップに必要なI/Oピンは、キーが押された判定をするピンとRGB LEDを制御するためのピンの最低2本のGPIOピンが必要となります。

またこれは後のブレッドボードでのテストで分かったのですが、使用したWS2812B RGB LEDは消灯している時でも約0.5mA程の電力を消費するようです。
これでは小さなボタン電池で駆動させる場合、マイコンをスリープ状態にしていても数日(数時間かな?)で電池が空になってしまう計算になります。

そのため、マイコンがスリープ状態にある時にRGB LEDの電源をカットする必要が出てきます。
その制御に1本I/Oピンが必要となるので、合計で最低3本以上のGPIOピンが使える小さなマイコンチップが必要となってきます。

このようなプロジェクトでは、AVRマイコンのATtinyが選択できる種類も豊富で便利に使えそうです。
3本のGPIOピンが使えるATtinyには米粒サイズのATtiny10という非常に小さなチップがありこのプロジェクトには理想的なんですが・・・

ATtiny10ではプログラムを書き込むために6ピンのISP端子を用意する必要があり最終的な基板サイズが他のATtinyチップを使う場合とあまり変わらなくなることから、今回はATtiny202を使うことにしました。

【電子工作 / Arduino】ATtiny202をArduino IDEで使う環境メモ!

ATtiny202ではUPDIでの書き込みに対応しているので、3ピン(VCC/GND/UPDI)端子を用意出来ればプログラムの書き込みや書き換えが行えます。
これなら少しサイズが大きくなってしまいますが、20mm角の基板に収めることが出来そうです。

ATtiny202は最低1.8V以上の電圧があれば駆動出来るのですが、RGB LED(WS2812Bを使う予定です)の点灯のこともあるので3Vはほしいところ。
3Vタイプのボタン電池で電池ボックスも含めこの基板サイズに収まるもので考えるとCR1220あたりが良さそうです。

ブレッドボードでテスト回路を組む

話が少し前後しますが、ブレッドボードでテスト回路を組んだ際に先述のように大きな問題があることが分かりました。

使用しない時にキーを長押ししてATtiny202をディープスリープに移行するように考えているのですが、ATtinyは非常に優秀でスリープ時の電流値は0.1μAほどと非常に小さな値になります。

しかしRGB LED(WS2812B)を接続し同様にスリープ時のテストをしたところ、WS2812Bは消灯している時でも約0.5mAと比較的大きな電流が流れてしまうようです。

今回使用を考えているCR1220ボタン電池の容量は約40mAh程しかないので、スリープさせている状態でも上記電流が流れてしまうので実質数時間~数日程度で電池が空になってしまうため、これでは現実的ではありません。

極力パーツ点数を少なくして、できるだけ基板サイズを小さくしたいのですが・・・
Pch MOS_FETをハイサイドスイッチとして使いATtiny202がスリープに移行する際にWS2012Bの電源をカットすることにしました。
これでスリープ時の全体の電流量を12μAほどに抑えることが出来そうで、より現実的です。

全体の構成

ATtiny202を使った非常にシンプルな回路構成にしました。
この構成で20mm角の基板サイズに何とか実装することが出来そうですが、もうこれ以上パーツを増やすことは厳しそうです!

ブレッドボードで組んだ上記テスト回路を使い一週間ほどスリープ状態で放置して確認してみましたが、ほぼ電圧低下は無さそうでした。
シンプルに回路を作りましたが、問題は無さそうですね!

これでATtinyが乗ったメイン基板とCR1220ボタン電池をマウントする基板の2枚構成で製作出来そうです。

PCBの接続も通常のピンヘッダーでパーツが干渉することも無さそうです。(LEDの点灯が遮られないか心配ですが!)

プログラムの書き込みや書き換えも底面のUPDI端子から出来るので、基板をバラす必要なく行えます。

キーを押すごとにLEDの点灯色が切り替わり、数秒無操作状態になるとレインボーカラーでカラフルに点灯、そしてキーの長押しでスリープモードに入るプログラムを考えています。

ケースのCADモデリング

基板のサイズと設計方針が固まったので、次にケースのモデリングです。
透明レジンで3Dプリントパーツとしてケースを作る予定です。

内蔵電池(CR1220)を交換出来るようにケースは2分割する必要があります。
上下ケースをビス固定するのがシンプルですが、ビス固定だと強度のことを考えると3Dプリントパーツではある程度壁厚を太くする必要が出てきます。
M2サイズのビスを使うことを想定すると倍の4mm程度の厚みは確保しておきたいところです。

ビス固定にすると壁厚をある程度太くする必要があるので、今回はネオジム磁石(2mm×1mm)で固定するようにし壁厚は3mmで設計しました。

これでケースを含めた全体サイズは約26.5mm×26.5mm×18mmになる予定です。
パーツの選定でもう少し小さく製作することも出来そうですが、これでも十分小さいので試作1号をこれで製作してみようと考えています。

最後に!

CAD上ではケースの3Dモデルと基板の設計は出来たのですが・・・
自宅にある3Dプリンタ(FDM方式)でケースを試作しCADデータの調整を行いましたが、実際に製造されたPCBと上手く設計通りに仕上げることが出来るでしょうか?

JLCPCBではPCBの製作以外に3Dプリントサービス(JLC3DP)もやっています。
この3Dプリントサービスの利用は今回初めてなので、そのテストも兼ねて基板と透明レジンケースを現在JLCPCBに発注しています。

今回テスト的に製作しているのですが、アクリルパネルでは作れない形状のものを作ることが出来れば、自作基板のケースやパネルといったものの製作にも活用出来そうですよね!
そうなると自作基板製作で出来ることの幅も広がってきそうなので、楽しみではあります。

発注している基板と3Dプリントパーツが届いたら、また詳しくご紹介出来ればと考えています。

コメントを残す